Skip to content

Commit 9ff7aeb

Browse files
committed
ui error handling
1 parent f62b152 commit 9ff7aeb

File tree

3 files changed

+20
-25
lines changed

3 files changed

+20
-25
lines changed

ide-common/src/main/kotlin/org/digma/intellij/plugin/errorreporting/ErrorReporter.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -116,22 +116,24 @@ open class ErrorReporter {
116116
)
117117
}
118118

119-
private fun isTooFrequent(message: String, stackTrace: String ?): Boolean{
120-
if(!stackTrace.isNullOrEmpty()){
119+
private fun isTooFrequent(message: String, stackTrace: String?): Boolean {
120+
if (!stackTrace.isNullOrEmpty()) {
121121
return frequencyDetector.isTooFrequentStackTrace(message, stackTrace);
122122
}
123-
return frequencyDetector.isTooFrequentError(message,"");
123+
return frequencyDetector.isTooFrequentError(message, "");
124124
}
125-
open fun reportError(message: String, stackTrace: String ?, details: Map<String, Any>, project: Project?, useFrequencyDetector: Boolean = true) {
126-
if(message.isNullOrEmpty() && stackTrace.isNullOrEmpty())
127-
{
128-
reportError(project, "At least one of the following properties must be set: [message] or [stackTrace].","reportError",
125+
126+
open fun reportError(message: String, stackTrace: String?, details: Map<String, Any>, project: Project?, useFrequencyDetector: Boolean = true) {
127+
if (message.isNullOrEmpty() && stackTrace.isNullOrEmpty()) {
128+
reportError(
129+
project, "At least one of the following properties must be set: [message] or [stackTrace].", "reportError",
129130
mapOf(
130131
SEVERITY_PROP_NAME to SEVERITY_HIGH_TRY_FIX
131-
))
132+
)
133+
)
132134
return
133135
}
134-
if(useFrequencyDetector && isTooFrequent(message, stackTrace)) {
136+
if (useFrequencyDetector && isTooFrequent(message, stackTrace)) {
135137
return
136138
}
137139
val projectToUse = project ?: findActiveProject()
@@ -141,7 +143,8 @@ open class ErrorReporter {
141143
ActivityMonitor.getInstance(it).registerError(null, message, details)
142144
}
143145
}
144-
//this method is used to report an error that is not an exception. it should contain some details to say what the error is
146+
147+
//this method is used to report an error that is not an exception. it should contain some details to say what the error is
145148
open fun reportError(project: Project?, message: String, action: String, details: Map<String, String>) {
146149

147150

@@ -203,7 +206,6 @@ open class ErrorReporter {
203206
}
204207

205208

206-
207209
open fun reportAnalyticsServiceError(
208210
project: Project,
209211
message: String,

ide-common/src/main/kotlin/org/digma/intellij/plugin/posthog/ActivityMonitor.kt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,6 @@ class ActivityMonitor(private val project: Project) : Disposable {
128128
}
129129

130130

131-
132-
133131
override fun dispose() {
134132
//nothing to do, used as parent disposable
135133
}
@@ -327,7 +325,7 @@ class ActivityMonitor(private val project: Project) : Disposable {
327325

328326
//Don't call directly, use ErrorReporter.reportError
329327

330-
val details = mutableMapOf<String,Any>(
328+
val details = mutableMapOf<String, Any>(
331329
"error.source" to "plugin",
332330
"action" to "unknown",
333331
"message" to message,
@@ -644,8 +642,6 @@ class ActivityMonitor(private val project: Project) : Disposable {
644642
}
645643

646644

647-
648-
649645
//todo: remove at some point
650646
fun registerFirstTimePluginLoaded() {
651647
postHog?.capture(userId, "plugin first-loaded")
@@ -822,7 +818,6 @@ class ActivityMonitor(private val project: Project) : Disposable {
822818
}
823819

824820

825-
826821
private fun registerSessionDetails() {
827822

828823
SessionMetadataProperties.getInstance().put(CURRENT_INSTALL_STATUS_KEY, InstallStatus.Active)
@@ -925,7 +920,6 @@ class ActivityMonitor(private val project: Project) : Disposable {
925920
}
926921

927922

928-
929923
fun registerJiraFieldCopied(eventName: String, details: Map<String, Any>) {
930924

931925
PersistenceService.getInstance().setJiraFieldCopiedTimestamp()
@@ -991,7 +985,7 @@ class ActivityMonitor(private val project: Project) : Disposable {
991985

992986
fun reportApiPerformanceIssue(details: MutableMap<String, Any>) {
993987
capture(
994-
"api-performance-issue",details
988+
"api-performance-issue", details
995989
)
996990
}
997991

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/BaseMessageRouterHandler.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,14 +146,13 @@ abstract class BaseMessageRouterHandler(protected val project: Project) : Common
146146
val trackingRequest = jsonToObject(request, SendTrackingEventRequest::class.java)
147147
trackingRequest.let {
148148
it.payload?.let { pl ->
149-
if(pl.eventName == "error"){
149+
if (pl.eventName == "error") {
150150
pl.data?.let {
151-
val stackTrace = pl.data["exception.stack-trace"] as String ?
152-
val message = pl.data["message"]as String
153-
ErrorReporter.getInstance().reportError(message,stackTrace,pl.data, project, false)
151+
val stackTrace = pl.data["exception.stack-trace"] as String?
152+
val message = pl.data["message"] as String
153+
ErrorReporter.getInstance().reportError(message, stackTrace, pl.data, project, false)
154154
}
155-
}
156-
else{
155+
} else {
157156
if (pl.data == null) {
158157
ActivityMonitor.getInstance(project).registerCustomEvent(pl.eventName)
159158
} else {

0 commit comments

Comments
 (0)