diff --git a/src/main/java/com/odoo/odools/forms/CrashReportForm.java b/src/main/java/com/odoo/odools/forms/CrashReportForm.java index 52677af..b663db5 100644 --- a/src/main/java/com/odoo/odools/forms/CrashReportForm.java +++ b/src/main/java/com/odoo/odools/forms/CrashReportForm.java @@ -42,8 +42,9 @@ public class CrashReportForm extends DialogWrapper { private String logContent; private String crashInfo; private String currentConfig; + private final String recentMessages; - public CrashReportForm(Project project, VirtualFile currentFile, String crash_info, String currentConfig, String logs_path) { + public CrashReportForm(Project project, VirtualFile currentFile, String crash_info, String currentConfig, String logs_path, String recentMessages) { super(project); this.currentFile = currentFile; this.logsPath = logs_path; @@ -52,6 +53,7 @@ public CrashReportForm(Project project, VirtualFile currentFile, String crash_in if (currentConfig == null) { this.currentConfig = "Config not found"; } + this.recentMessages = recentMessages; setTitle("OdooLS Crash Report"); init(); // required! } @@ -107,7 +109,7 @@ public void actionPerformed(ActionEvent e) { } private void sendReport(VirtualFile currentFile, String currentFileContent, String logsPath) { - String url = "https://iap-services.odoo.com/api/odools/vscode/2/crash_report"; + String url = "https://iap-services.odoo.com/api/odools/vscode/3/crash_report"; String json = buildJson(currentFile, currentFileContent, logsPath); try (HttpClient client = HttpClient.newHttpClient()) { HttpRequest request = HttpRequest.newBuilder() @@ -155,7 +157,8 @@ private String buildJson(VirtualFile currentFile, String currentFileContent, Str "additional_info": "%s", "version": "%s", "python_version": "%s", - "configuration": "%s" + "configuration": "%s", + "recent_messages": "%s" } } """.formatted( @@ -168,7 +171,8 @@ private String buildJson(VirtualFile currentFile, String currentFileContent, Str escapeForJson(this.tDescr.getText()), pluginVersion, "See configuration", - escapeForJson(this.currentConfig) + escapeForJson(this.currentConfig), + escapeForJson(this.recentMessages) ); } diff --git a/src/main/kotlin/com/odoo/odools/OdooCustomLsp4jClient.kt b/src/main/kotlin/com/odoo/odools/OdooCustomLsp4jClient.kt index 1edee5b..77fbc98 100644 --- a/src/main/kotlin/com/odoo/odools/OdooCustomLsp4jClient.kt +++ b/src/main/kotlin/com/odoo/odools/OdooCustomLsp4jClient.kt @@ -80,7 +80,8 @@ class OdooCustomLsp4jClient(val project: Project, handler: LspServerNotification val widget = statusBar?.getWidget("OdooLspStatusWidget") as? OdooLspStatusWidget val currentConfig = widget?.getCurrentConfiguration()?.second if (logs != null) { - CrashReportForm(project, currentFile, params.getCrashInfo(), currentConfig, logs).show() + CrashReportForm(project, currentFile, params.getCrashInfo(), currentConfig, + logs, params.getRecentMessages()).show() } } }) diff --git a/src/main/kotlin/com/odoo/odools/OdooLSPathConfigurable.kt b/src/main/kotlin/com/odoo/odools/OdooLSPathConfigurable.kt index d935358..a7c5e9f 100644 --- a/src/main/kotlin/com/odoo/odools/OdooLSPathConfigurable.kt +++ b/src/main/kotlin/com/odoo/odools/OdooLSPathConfigurable.kt @@ -1,9 +1,11 @@ package com.odoo.odools +import com.intellij.ide.BrowserUtil import com.intellij.openapi.fileChooser.FileChooserDescriptor import com.intellij.openapi.options.Configurable import com.intellij.openapi.ui.TextFieldWithBrowseButton import com.intellij.ui.JBColor +import com.intellij.ui.components.ActionLink import com.intellij.ui.components.JBLabel import javax.swing.JComponent import javax.swing.JPanel @@ -44,6 +46,7 @@ class OdooLSPathConfigurable : Configurable {
The plugin will use this path to install needed resources and logs.