Skip to content

sentry: make more available + allow user opt-in

Harald Sitter requested to merge work/sitter/sentry6 into master

this sees some restructuring how the sentry support works.

previously as a stop-gap it was contingent on both being a git build and having userfeedback enabled, now it's a standalone setting that is always available albeit opt-in. when this setting is opted into we always try to send the sentry crash event automatically. when the setting is not opted into we only send the crash event (sentry) upon bug report submission (bugzilla)

to that end the way the application lifetime is managed has changed. instead of quitting when the last window closes we now always route closing conditions through a bespoke helper function aboutToQuit which will then call quit when appropriate. most notably it will wait for crash event sending before quitting. to facilitate this behavior the SNI is now deleting itself to disappear when the user clicks hide.

as an intended side effect backtracing will now start right away if sentry mode is enabled.

the way this works in the various scenarios is as follows:

settings->sentry == false: nothing changes, the user has to manually file bug reports. additionally the crash event is sent to sentry when the user clicks submit for the report

user toggles setting: after some seconds the setting sticks and will try to submit the current crash to sentry

settings->sentry == true: the user gets a notification with status notifier as per usual. in addition reportinterface will start backtracing and sentry submission.

user discards SNI: the SNI gets deleted to execute the visual action. drkonqi keeps running in the background until sentry submission is done or a safety timeout is reached

user clicks on SNI to activate dialog: nothing changes for the user, while they are writing the bug report we are already creating a trace and potentially submitting to sentry

Merge request reports