Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions src/main/java/com/odoo/odools/forms/CrashReportForm.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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!
}
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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(
Expand All @@ -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)
);
}

Expand Down
3 changes: 2 additions & 1 deletion src/main/kotlin/com/odoo/odools/OdooCustomLsp4jClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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()
}
}
})
Expand Down
10 changes: 10 additions & 0 deletions src/main/kotlin/com/odoo/odools/OdooLSPathConfigurable.kt
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -44,13 +46,21 @@ class OdooLSPathConfigurable : Configurable {
<html>
<body style='width: 500px; color: gray;'>
The plugin will use this path to install needed resources and logs.<br>
OdooLS is configures through configuration files. To create one, please refer to our wiki:
</body>
</html>
""".trimIndent()
)
description.font = description.font.deriveFont(description.font.size2D - 1f)
description.foreground = JBColor.GRAY
container.add(description, gbc)
val externalLink = ActionLink("The configuration wiki") {
BrowserUtil.browse("https://github.com/odoo/odoo-ls/wiki/3.-Configuration-files")
}.apply {
setContextHelpIcon()
}
gbc.gridy = 3
container.add(externalLink, gbc)

//outerPanel to keep everything at top of the window
val outerPanel = JPanel(BorderLayout())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,18 @@ class DisplayCrashNotificationParams {

private var crashInfo: String
private var pid: Long
private var recentMessages: String

constructor() {
crashInfo = String()
pid = 0
recentMessages = String()
}

constructor(@NonNull crashInfo: String, @NonNull pid: Long) {
constructor(@NonNull crashInfo: String, @NonNull pid: Long, @NonNull recentMessages: String) {
this.crashInfo = Preconditions.checkNotNull<String>(crashInfo, "crashInfo")
this.pid = Preconditions.checkNotNull(pid, "pid")
this.recentMessages = Preconditions.checkNotNull<String>(crashInfo, "recentMessages")
}

@NonNull
Expand All @@ -33,10 +36,19 @@ class DisplayCrashNotificationParams {
return this.crashInfo
}

fun setCrashInfo(@NonNull configFile: List<Map<String, Any>>) {
fun setCrashInfo(@NonNull crashInfo: String) {
this.crashInfo = Preconditions.checkNotNull<String>(crashInfo, "crashInfo")
}

@NonNull
fun getRecentMessages(): String {
return this.recentMessages
}

fun setRecentMessages(@NonNull recentMessages: String) {
this.recentMessages = Preconditions.checkNotNull<String>(recentMessages, "recentMessages")
}

override fun toString(): String {
val b = ToStringBuilder(this)
b.add("configFile", this.crashInfo)
Expand Down