Skip to content

Restructure DEVELOPMENT.md to match internal SDK documentation template#967

Draft
Copilot wants to merge 3 commits into
nextfrom
copilot/add-markdown-documentation
Draft

Restructure DEVELOPMENT.md to match internal SDK documentation template#967
Copilot wants to merge 3 commits into
nextfrom
copilot/add-markdown-documentation

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 9, 2026

Rewrites DEVELOPMENT.md from a contributor how-to into an internal technical reference aligned with the standard Bugsnag SDK documentation structure.

Structure changes

  • Replaces repo-layout/build-system/CI sections with template-driven sections: Initialization, Error Handling, Stacktrace Capture, Handled Events, Callbacks, Breadcrumbs, Metadata, Feature Flags, Launch Crashes, Network Errors, Session Tracking, Payload Serialisation, Delivery and Persistence, Symbolication, Related SDKs
  • [Performance] sections omitted (error-only SDK)

Content added

  • Initialization: Start() sequence, BugsnagAutoInit mechanism, SDK state before start, what runs on background threads
  • Error handling: per-type breakdown — BugsnagLogHandler for C# exceptions, Android JVM/NDK, iOS/macOS native layer, app hangs, ANRs
  • Stacktrace capture: C# regex parsing formats, IL2CPP il2cpp_native_stack_trace() P/Invoke, SendThreads/MaxReportedThreads behaviour
  • Callbacks: OnError/OnSendError/OnSession — storage, invocation order, silent exception swallowing, .ToList() copy-before-iterate pattern
  • Breadcrumbs: LinkedList FIFO storage, all automatic trigger types, native forwarding caveat
  • Metadata: dictionary-of-dictionaries structure, reference-merge concurrency caveat (by-design, avoid concurrent mutation with Notify()), key redaction
  • Feature flags: OrderedDictionary storage, snapshot copy taken at event-build time
  • Delivery and persistence: full flow, HTTP status → action table, disk cache limits (Events/ 32 max, Sessions/ 128 max, 60-day TTL), 1 MB truncation algorithm
  • Symbolication: Android .so + IL2CPP mapping upload, iOS/macOS dSYM injection into Xcode build phase, Bugsnag CLI auto-download, build identifiers used per platform
  • Configuration options: table of non-obvious/platform-specific options (ReportExceptionLogsAsHandled, SendLaunchCrashesSynchronously, AppHangThresholdMillis, MaximumTypePerTimePeriod as Dictionary<LogType, int>, etc.)

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: richardelms <5124583+richardelms@users.noreply.github.com>
Copilot AI changed the title [WIP] Add markdown document for repository overview Add DEVELOPMENT.md — medium-level repository overview Mar 9, 2026
Co-authored-by: richardelms <5124583+richardelms@users.noreply.github.com>
Copilot AI changed the title Add DEVELOPMENT.md — medium-level repository overview Restructure DEVELOPMENT.md to match internal SDK documentation template Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants