fix: support SetNativeDescription on iOS, macOS, and Android via attribute promotion - #219
Open
bobbyg603 wants to merge 1 commit into
Open
fix: support SetNativeDescription on iOS, macOS, and Android via attribute promotion#219bobbyg603 wants to merge 1 commit into
bobbyg603 wants to merge 1 commit into
Conversation
…ibute promotion The BugSplat backend promotes an attribute named BugSplatDescription to the report's description field, so platforms without a dedicated native description API route through the same attribute interop the sibling setters use: the bugsplat-apple attribute call on iOS and macOS, and BugSplatBridge.setAttribute on Android. The Windows path is unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR extends BugSplat.SetNativeDescription so that description values reach native crash reports on iOS, macOS, and Android by setting the reserved BugSplatDescription attribute via existing per-platform interop (Windows behavior remains unchanged).
Changes:
- Updated
SetNativeDescriptionto call_setNativeAttributeIos/_setNativeAttributeMacwithBugSplatDescriptionon Apple platforms. - Updated
SetNativeDescriptionto callBugSplatBridge.setAttribute("BugSplatDescription", ...)on Android. - Updated the XML doc comment to remove the “Windows only” claim.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+655
to
+656
| var javaClass = new AndroidJavaClass("com.bugsplat.android.BugSplatBridge"); | ||
| javaClass.CallStatic("setAttribute", "BugSplatDescription", description); |
daveplunkett
approved these changes
Aug 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #139. Replaces #146, which cannot be merged — see below.
Why this PR exists
#146 was branched off
feat/windows-native-crash-reportingwhile #123 was still open. #123 was squash-merged, somainnow holds all of that work as a single commit (f6adbf4) with no shared history with #146's branch. The merge base between #146 andmainis therefore a commit from before #123 landed, and #146's diff againstmainshows 57 files — all of #123 replayed, plus its own change.That is not merely cosmetic. A test merge of #146 into
mainfails:and the content conflicts would revert #126's sample work — #146's branch predates it, so its copy of
CrashScenarios.csstill carries the oldKNOWN GAP: appears in Player.log but produces no reporttext and would overwrite what is now onmain.This branch is the same commit (
1509206) cherry-picked ontomain, so the diff is only the change itself.What it does
SetNativeDescriptionwas Windows-only (BugSplat_SetUserDescription); on iOS, macOS, and Android it fell through to thenativeCrashReportingEnabledguard and did nothing, sobugsplat.Description = ...never reached native crash reports on those platforms.It now sets the reserved attribute
BugSplatDescriptionthrough the same per-platform interop the sibling setters already use —_setNativeAttributeIos/_setNativeAttributeMacon Apple,BugSplatBridge.setAttributeon Android. The backend promotes that attribute into the report's description field. Windows is unchanged.Note
Backend dependency. The promotion ships in BugSplat-Git/src-backend#617 (fixes BugSplat-Git/src-backend#616). Until that deploys, the value still arrives with the crash report — it just shows as a plain visible attribute named
BugSplatDescriptioninstead of populating the description field. Harmless, and not silent data loss; once the backend deploys, promotion applies with no client change. Merge order does not matter; deploy order does.Verification
dotnet buildofRuntime/**+Tests/Runtime/**against Unity 6000.5.6f1 assemblies, compiled once per platform define so every branch of the touched#ifchain was actually built:UNITY_IOS,UNITY_STANDALONE_OSX,UNITY_ANDROID,UNITY_STANDALONE_WIN— 0 errors each, plus the no-defines editor case.Not verified: no Unity run, and no crash reported from a real device on any of the three newly-wired platforms. That is deferred to the release smoke test (#200), which covers
Descriptionon iOS, macOS, and Android.🤖 Generated with Claude Code