Skip to content

docs(apple): Fix correctness issues and add missing options#16683

Merged
philprime merged 8 commits into
masterfrom
docs/fix-apple-sdk-docs-correctness
May 5, 2026
Merged

docs(apple): Fix correctness issues and add missing options#16683
philprime merged 8 commits into
masterfrom
docs/fix-apple-sdk-docs-correctness

Conversation

@philprime
Copy link
Copy Markdown
Member

@philprime philprime commented Mar 4, 2026

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

  • Fix idleTimeout: documented as int with default 3000 (ms); SDK has TimeInterval with default 3.0 seconds. Corrected type, default, and description.
  • Fix inAppIncludeinAppIncludes: SDK property is plural, read-only. Document the add(inAppInclude:) method with Swift/Obj-C examples.
  • Add onLastRunStatusDetermined (previously undocumented): full Swift/Obj-C examples for the non-deprecated replacement of onCrashedLastRun.
  • Mark onCrashedLastRun as Deprecated with pointer to the replacement.
  • Add missing configureUserFeedback option.
  • Add missing session replay options: sessionSampleRate, onErrorSampleRate, maskAllText, maskAllImages, quality, maskedViewClasses, unmaskedViewClasses, excludeViewTypeFromSubtreeTraversal, includeViewTypeInSubtreeTraversal, enableViewRendererV2.
  • Add missing profiling options: lifecycle, sessionSampleRate, and fuller docs for profileAppStarts, plus a top-level configureProfiling example.
  • Add missing experimental options: enableUnhandledCPPExceptionsV2, enableWatchdogTerminationsV2, enableSessionReplayInUnreliableEnvironment.
  • Fix beforeCaptureScreenshot / beforeCaptureViewHierarchy / onCrashedLastRun callback signatures to include the missing event parameter.
  • Add missing defaultValues: attachScreenshot, attachViewHierarchy, sendClientReports, enableSigtermReporting, environment (production).
  • Add availableSince="8.40.0" to enableUncaughtNSExceptionReporting and remove duplicate "(New in X)" paragraphs already surfaced by SdkOption availableSince.
  • Fix 4 broken /session-replay/privacy/ links to point at the Apple SDK's actual page /session-replay/customredact/.
  • Clarify dsn env-var fallback: only applies on macOS.

user-feedback configuration

  • Fix closure-assignment syntax (missing =) across all examples.
  • Fix wrong property names: isRequiredTextisRequiredLabel, titleformTitle, themeconfigureTheme, darkThemeconfigureDarkTheme.
  • Remove nonexistent successMessageText.
  • Note that customButton lives on SentryUserFeedbackConfiguration, not SentryUserFeedbackWidgetConfiguration.
  • Update SDK-API example to use attachments: [Attachment(...)] instead of the removed screenshot: parameter.

Other pages

  • tracing/trace-propagation/index.mdx: document enablePropagateTraceparent and the W3C traceparent header.
  • tracing/instrumentation/automatic-instrumentation.mdx: update #inAppInclude anchor to #inAppIncludes; correct idleTimeout default wording from "3000 milliseconds" to "3.0 seconds".
  • features/experimental-features.mdx: document enableWatchdogTerminationsV2 and beforeSendMetric.
  • session-replay/*: fix maskView/unmaskView Swift syntax and fix typo (aligendaligned).
  • 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 nonexistent enableSessionReplay option and document actual options.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.mdx and other platform-includes: fix Sentry.loggerSentrySDK.logger, messagebody for 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.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

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
@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
develop-docs Ready Ready Preview, Comment May 5, 2026 8:03am
sentry-docs Ready Ready Preview, Comment May 5, 2026 8:03am

Request Review

…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>
Comment thread docs/platforms/apple/common/configuration/options.mdx
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>
Comment thread docs/platforms/apple/common/user-feedback/configuration/index.mdx Outdated
Comment thread docs/platforms/apple/common/troubleshooting/index.mdx Outdated
Comment thread docs/platforms/apple/common/configuration/options.mdx Outdated
Comment thread docs/platforms/apple/common/configuration/options.mdx Outdated
- 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.
Copy link
Copy Markdown
Contributor

@sfanahata sfanahata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks for updating so much. 🚢

Copy link
Copy Markdown
Contributor

@itaybre itaybre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@codeowner-assignment codeowner-assignment Bot requested a review from a team May 5, 2026 07:51
@philprime philprime merged commit 91ea774 into master May 5, 2026
18 checks passed
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.

3 participants