docs(apple): Fix correctness issues and add missing options#16683
Merged
Conversation
Cross-reference all Apple/Cocoa SDK docs against the SDK source code to fix incorrect API names, wrong defaults, missing options, broken Swift syntax, and outdated information for v9. Key fixes: - Add missing session replay options (sessionSampleRate, onErrorSampleRate, quality, masking, excludeViewTypeFromSubtreeTraversal) - Add missing profiling options (lifecycle, sessionSampleRate) with examples - Add profileAppStarts to profiling setup page - Add configureUserFeedback option - Add experimental options (enableUnhandledCPPExceptionsV2, enableWatchdogTerminationsV2, enableSessionReplayInUnreliableEnvironment) - Fix user feedback config: closure assignment syntax (missing =), wrong property names (isRequiredText->isRequiredLabel, title->formTitle, theme->configureTheme), remove non-existent successMessageText - Fix maskView/unmaskView Swift syntax across replay, screenshots docs - Fix deprecated enableExperimentalViewRenderer -> enableViewRendererV2 - Fix ObjC syntax errors (missing @ prefixes, semicolons, wrong initializer names, incorrect casing) - Fix tracePropagationTarget typo, add enablePropagateTraceparent docs - Update enableLogs from experimental to stable for v9 - Correct beforeCaptureScreenshot/beforeCaptureViewHierarchy/ onCrashedLastRun callback signatures to include event parameter - Fix environment default, SentryLog body property name, various typos
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…docs-correctness # Conflicts: # docs/platforms/apple/common/migration/index.mdx
Move the user feedback example to the correct configuration object. The previous snippet set form-specific properties on the top-level configuration, which does not match the current Cocoa API. Co-Authored-By: Claude <noreply@anthropic.com>
The Apple SDK docs don't have a /session-replay/privacy/ page. Point these links to /session-replay/customredact/, which is the Apple SDK's equivalent masking/privacy documentation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Cross-checked every page under docs/platforms/apple against the sentry-cocoa source (Options.swift, SentryReplayOptions, SentryExperimentalOptions, SentryProfileOptions, SentryViewScreenshotOptions, integration files) and fixed mismatches. Key fixes in configuration/options.mdx: - idleTimeout: was documented as int 3000 ms; SDK has TimeInterval 3.0 seconds. Fix type and description. - inAppInclude: not a settable property. Document inAppIncludes (read-only) with add(inAppInclude:) method and Swift/ObjC examples. - onCrashedLastRun: add Deprecated note pointing to the replacement. - onLastRunStatusDetermined: new callback, previously undocumented; add Swift/ObjC examples. - Missing defaultValue attributes: attachScreenshot, attachViewHierarchy, sendClientReports, enableSigtermReporting. - enableUncaughtNSExceptionReporting: add availableSince="8.40.0". - Remove duplicate "(New in X)" paragraphs already surfaced by the SdkOption availableSince attribute. Other pages: - watchdog-terminations.mdx: add visionOS to supported platforms. - session-replay/troubleshooting.mdx: fix "aligend" typo. - migration/v8-to-v9.mdx: fix stray markdown bold marker. - tracing/instrumentation/automatic-instrumentation.mdx: update #inAppInclude anchor to #inAppIncludes and correct idleTimeout default text to "3.0 seconds". - guides/ios/features/index.mdx: remove reference to nonexistent enableSessionReplay option; document actual sessionReplay sample rate config. - guides/ios/manual-setup.mdx: bump stated min iOS 11.0 → 15.0 for Sentry Cocoa 9.x with guidance on 8.x for iOS 11-14. - guides/macos/features/index.mdx: bump stated min macOS 10.10 → 10.14. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
itaybre
reviewed
Apr 27, 2026
- Move customButton to General table in user-feedback configuration, since it lives on SentryUserFeedbackConfiguration not the widget configuration. - Use `_ in` instead of `event in` in Swift closures where the event parameter is unused, to avoid unused-parameter warnings. - Drop the environment-based DSN injection note in troubleshooting, since environment-based config isn't a focus for the Cocoa SDK.
sfanahata
approved these changes
May 4, 2026
Contributor
sfanahata
left a comment
There was a problem hiding this comment.
Looks good! Thanks for updating so much. 🚢
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.
DESCRIBE YOUR PR
Cross-reference every Apple/Cocoa SDK doc page against the sentry-cocoa source (Options.swift, SentryReplayOptions, SentryExperimentalOptions, SentryProfileOptions, SentryViewScreenshotOptions, SentryUserFeedbackConfiguration, and the underlying integrations) and fix incorrect API names, wrong types/defaults, missing options, broken Swift/Objective-C syntax, and outdated v9 information.
configuration/options.mdx
idleTimeout: documented asintwith default3000(ms); SDK hasTimeIntervalwith default3.0seconds. Corrected type, default, and description.inAppInclude→inAppIncludes: SDK property is plural, read-only. Document theadd(inAppInclude:)method with Swift/Obj-C examples.onLastRunStatusDetermined(previously undocumented): full Swift/Obj-C examples for the non-deprecated replacement ofonCrashedLastRun.onCrashedLastRunas Deprecated with pointer to the replacement.configureUserFeedbackoption.sessionSampleRate,onErrorSampleRate,maskAllText,maskAllImages,quality,maskedViewClasses,unmaskedViewClasses,excludeViewTypeFromSubtreeTraversal,includeViewTypeInSubtreeTraversal,enableViewRendererV2.lifecycle,sessionSampleRate, and fuller docs forprofileAppStarts, plus a top-levelconfigureProfilingexample.enableUnhandledCPPExceptionsV2,enableWatchdogTerminationsV2,enableSessionReplayInUnreliableEnvironment.beforeCaptureScreenshot/beforeCaptureViewHierarchy/onCrashedLastRuncallback signatures to include the missingeventparameter.defaultValues:attachScreenshot,attachViewHierarchy,sendClientReports,enableSigtermReporting,environment(production).availableSince="8.40.0"toenableUncaughtNSExceptionReportingand remove duplicate "(New in X)" paragraphs already surfaced bySdkOption availableSince./session-replay/privacy/links to point at the Apple SDK's actual page/session-replay/customredact/.dsnenv-var fallback: only applies on macOS.user-feedback configuration
=) across all examples.isRequiredText→isRequiredLabel,title→formTitle,theme→configureTheme,darkTheme→configureDarkTheme.successMessageText.customButtonlives onSentryUserFeedbackConfiguration, notSentryUserFeedbackWidgetConfiguration.attachments: [Attachment(...)]instead of the removedscreenshot:parameter.Other pages
tracing/trace-propagation/index.mdx: documentenablePropagateTraceparentand the W3Ctraceparentheader.tracing/instrumentation/automatic-instrumentation.mdx: update#inAppIncludeanchor to#inAppIncludes; correctidleTimeoutdefault wording from "3000 milliseconds" to "3.0 seconds".features/experimental-features.mdx: documentenableWatchdogTerminationsV2andbeforeSendMetric.session-replay/*: fixmaskView/unmaskViewSwift syntax and fix typo (aligend→aligned).enriching-events/screenshots/index.mdx: align with stable masking APIs.configuration/watchdog-terminations.mdx: include visionOS in supported platforms.configuration/app-hangs.mdx,configuration/out-of-memory.mdx,troubleshooting/index.mdx: minor copy fixes.migration/v8-to-v9.mdx: fix stray markdown bold marker.guides/ios/features/index.mdx: remove reference to a nonexistentenableSessionReplayoption and document actualoptions.sessionReplay.sessionSampleRate/onErrorSampleRate.guides/ios/manual-setup.mdx: bump stated min iOS from 11.0 → 15.0 for Sentry Cocoa 9.x, with a note pointing 11–14 users at 8.x.guides/macos/features/index.mdx: bump stated min macOS from 10.10 → 10.14.includes/apple-platform-getting-started.mdxand other platform-includes: fixSentry.logger→SentrySDK.logger,message→bodyfor log object, and small syntax issues in before-send / attachments / tracing snippets.Analyzed using Cursor in a workspace with sentry-cocoa, then a second pass using Claude Code against the local sentry-cocoa checkout.
IS YOUR CHANGE URGENT?
Help us prioritize incoming PRs by letting us know when the change needs to go live.
SLA
Thanks in advance for your help!
PRE-MERGE CHECKLIST
Make sure you've checked the following before merging your changes: