Add optional (opt-in) project_name to Sentry

Needed for automatic Issue handling in the future

Contributes to CURA-11482
This commit is contained in:
Jelle Spijker 2024-01-15 10:44:43 +01:00
parent e91322d070
commit 7738059631
No known key found for this signature in database
GPG key ID: 034D1C0527888B65
3 changed files with 8 additions and 2 deletions

View file

@ -35,6 +35,7 @@ message Slice
repeated EnginePlugin engine_plugins = 5; repeated EnginePlugin engine_plugins = 5;
string sentry_id = 6; // The anonymized Sentry user id that requested the slice string sentry_id = 6; // The anonymized Sentry user id that requested the slice
string cura_version = 7; // The version of Cura that requested the slice string cura_version = 7; // The version of Cura that requested the slice
optional string project_name = 8; // The name of the project that requested the slice
} }
message Extruder message Extruder

View file

@ -340,6 +340,11 @@ class StartSliceJob(Job):
self._slice_message.sentry_id = f"{user_id}" self._slice_message.sentry_id = f"{user_id}"
self._slice_message.cura_version = CuraVersion self._slice_message.cura_version = CuraVersion
# Add the project name to the message if the user allows for non-anonymous crash data collection.
account = CuraApplication.getInstance().getCuraAPI().account
if account and account.isLoggedIn and not CuraApplication.getInstance().getPreferences().getValue("info/anonymous_engine_crash_report"):
self._slice_message.project_name = CuraApplication.getInstance().getPrintInformation().baseName
# Build messages for extruder stacks # Build messages for extruder stacks
for extruder_stack in global_stack.extruderList: for extruder_stack in global_stack.extruderList:
self._buildExtruderMessage(extruder_stack) self._buildExtruderMessage(extruder_stack)

View file

@ -906,13 +906,13 @@ UM.PreferencesPage
width: childrenRect.width width: childrenRect.width
height: visible ? childrenRect.height : 0 height: visible ? childrenRect.height : 0
visible: Cura.API.account.isLoggedIn visible: Cura.API.account.isLoggedIn
text: catalog.i18nc("@info:tooltip", "Send crash reports with your registered UltiMaker account email adress to UltiMaker. No model data is being send.") text: catalog.i18nc("@info:tooltip", "Send crash reports with your registered UltiMaker account name and the project name to UltiMaker Sentry. No actual model data is being send.")
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width anchors.leftMargin: UM.Theme.getSize("default_margin").width
Cura.RadioButton Cura.RadioButton
{ {
id: sendEngineCrashCheckboxUser id: sendEngineCrashCheckboxUser
text: catalog.i18nc("@option:radio", "Crash reports with email adress") text: catalog.i18nc("@option:radio", "Send crash reports with UltiMaker account name")
enabled: sendEngineCrashCheckbox.checked enabled: sendEngineCrashCheckbox.checked
checked: !boolCheck(UM.Preferences.getValue("info/anonymous_engine_crash_report")) && Cura.API.account.isLoggedIn checked: !boolCheck(UM.Preferences.getValue("info/anonymous_engine_crash_report")) && Cura.API.account.isLoggedIn
onClicked: UM.Preferences.setValue("info/anonymous_engine_crash_report", false) onClicked: UM.Preferences.setValue("info/anonymous_engine_crash_report", false)