All SDK Options are documented in user facing docs
Description
Ensure that all options in Options.swift are also documented in the user-facing Options doc, including SentryExperimentalOptions.
@philprime, I think you already did some work here. Can you please link some related PRs and maybe write a short update what is still missing?
These are my recent contributions to the sentry-docs:
- https://github.com/getsentry/sentry-docs/pull/15667
- https://github.com/getsentry/sentry-docs/pull/15658
- https://github.com/getsentry/sentry-docs/pull/15657
- https://github.com/getsentry/sentry-docs/pull/15638
- https://github.com/getsentry/sentry-docs/pull/15669
At this point it is necessary to perform an (LLM-assisted) analysis to figure out a list of changes which are missing.
I performed a quick analysis using the following prompt:
I need you to perform an analysis of the documentation for the Apple SDK/Cocoa SDK for Apple platforms. Specifically we need to check if the documented options are complete.
Find the relevant files in the docs/platforms/apple/configuration and compare it to the options available in /Volumes/Developer/getsentry/sentry-cocoa/Sources/Swift/Options.swift and related files. Then create me a markdown todo list so I can add it to an existing GitHub issue as sub issues.
As a reference, we already have an open PR for screenshot options https://github.com/getsentry/sentry-docs/pull/15658
A similar prompt can also be used to automate this process.
Result
Reference: Comparison between sentry-docs/docs/platforms/apple/common/configuration/ and getsentry/sentry-cocoa/Sources/Swift/Options.swift
Core Options
-
[ ] Document
enabledoption in mainoptions.mdx- Controls whether SDK should send events to Sentry (default:true)
Note: Only mentioned inmigration/index.mdx, should be in main options page -
[ ] Document
shutdownTimeIntervaloption - Controls flush duration when callingSentrySDK.close()(default:2.0seconds)
Status: NOT FOUND in any docs -
[ ] Document
enableCrashHandleroption in mainoptions.mdx- When enabled, SDK sends crashes to Sentry (default:true)
Note: Mentioned inwatchdog-terminations.mdxbut should be in main options page -
[ ] Document
beforeSendSpancallback - Callback to drop or modify a span before sending to Sentry
Status: NOT FOUND in Apple docs (only documented in JavaScript docs) -
[ ] Document
enableLogsoption in mainoptions.mdx- When enabled, SDK sends logs to Sentry (default:false)
Note: Mentioned inmigration/index.mdxbut should be in main options page -
[ ] Document
beforeSendLogcallback - Callback to drop or modify a log before sending to Sentry
Status: NOT FOUND in any docs -
[ ] Document
beforeCaptureScreenshotcallback - Callback to decide if SDK should capture a screenshot
Status: NOT FOUND in Apple docs (only documented in Flutter docs) -
[ ] Document
beforeCaptureViewHierarchycallback - Callback to decide if SDK should capture a view hierarchy
Status: NOT FOUND in Apple docs (only documented in Flutter docs) -
[ ] Document
onCrashedLastRuncallback - Block called after SDK initialization when last execution terminated with a crash
Status: NOT FOUND in any docs -
[ ] Document
enableWatchdogTerminationTrackingoption in mainoptions.mdx- Whether to enable Watchdog Termination tracking (default:true)
Note: Has dedicated page (watchdog-terminations.mdx) but should be referenced in mainoptions.mdx -
[ ] Document
sessionTrackingIntervalMillisoption in mainoptions.mdx- Interval to end a session after app goes to background (default:30000ms)
Note: Has dedicated page but should be referenced in mainoptions.mdx -
[ ] Expand documentation for
enablePersistingTracesWhenCrashingoption - Experimental: Links ongoing transactions to crash events (default:false)
Note: Already mentioned but needs full documentation
UIKit-Specific Options
- [ ] Document
enableReportNonFullyBlockingAppHangsoption in mainoptions.mdx- When enabled, SDK reports non-fully-blocking app hangs (default:true)
Note: Mentioned inapp-hangs.mdxbut not in mainoptions.mdx
Screenshot Options (options.screenshot)
- [ ] Verify PR #15658 is merged and screenshot options documentation is complete
- [ ] Add screenshot options to main
options.mdxwith link to detailed screenshot documentation page
Options to document:maskAllText,maskAllImages,maskedViewClasses,unmaskedViewClasses,enableViewRendererV2,enableFastViewRendering
Session Replay Options (options.sessionReplay)
- [ ] Document
sessionReplay.enableFastViewRenderingoption - Enables faster but incomplete view rendering (default:false)
Status: NOT FOUND in any docs
Note:enableViewRendererV2is documented insession-replay/performance-overhead.mdx
Profiling Options (options.configureProfiling)
- [ ] Document
profiling.profileAppStartsoption - Start profiler as early as possible during app lifecycle (default:false)
Status: NOT FOUND in any docs
Network & Performance Options
-
[ ] Document
isTracingEnabledread-only property - Indicates if tracing is enabled (read-only)
Status: NOT FOUND in any docs -
[ ] Document
urlSessionDelegateoption - Set as delegate on URLSession used for network tasks
Status: NOT FOUND in any docs -
[ ] Document
urlSessionoption - Use custom URLSession with your configuration for sending requests
Status: NOT FOUND in any docs
Other Options
-
[ ] Document
cacheDirectoryPathoption - Path to store SDK data (events, transactions, profiles, etc.) (default:NSCachesDirectory)
Status: NOT FOUND in Apple docs (only documented in Android docs) -
[ ] Document
enableSpotlightoption - Whether to enable Spotlight for local development (default:false)
Status: NOT FOUND in Apple docs (only mentioned in React Native migration docs) -
[ ] Document
spotlightUrloption - The Spotlight URL (default:"http://localhost:8969/stream")
Status: NOT FOUND in Apple docs (only mentioned in React Native migration docs)
Documentation Structure Improvements
- [ ] Add comprehensive reference table in
options.mdxlinking to feature-specific documentation pages - [ ] Ensure all options mentioned in feature-specific pages are also referenced in main
options.mdx:enableCrashHandler(mentioned inwatchdog-terminations.mdx)enableLogs(mentioned inmigration/index.mdx)enableWatchdogTerminationTracking(has dedicated page)sessionTrackingIntervalMillis(has dedicated page)enableReportNonFullyBlockingAppHangs(mentioned inapp-hangs.mdx)
- [ ] Review and consolidate documentation for options that appear in multiple places
- [ ] Add missing callbacks to hooks section in
options.mdx:beforeSendSpanbeforeSendLogbeforeCaptureScreenshotbeforeCaptureViewHierarchyonCrashedLastRun
Summary
Total options checked: 35
Actually missing: 18
Documented elsewhere (needs main options.mdx reference): 7
Verified as documented: 10