Skip to content

feat(crashpad): consent-aware offline caching#1650

Draft
jpnurmi wants to merge 1 commit intojpnurmi/feat/cache-consentfrom
jpnurmi/feat/crashpad-cache-consent
Draft

feat(crashpad): consent-aware offline caching#1650
jpnurmi wants to merge 1 commit intojpnurmi/feat/cache-consentfrom
jpnurmi/feat/crashpad-cache-consent

Conversation

@jpnurmi
Copy link
Copy Markdown
Collaborator

@jpnurmi jpnurmi commented Apr 15, 2026

This PR implements consent-aware offline caching for the Crashpad backend.

Note

Depends on
getsentry/crashpad#147

Wires UploadsPaused alongside UploadsEnabled from the consent handler: when consent is revoked and cache_keep or http_retry is enabled, pause Crashpad uploads so pending reports are retained rather than skipped to completed. On consent transitions that re-enable uploads, call RequestRetry() so the handler wakes immediately instead of waiting for its next periodic scan.

The crashpad submodule bump pulls in the matching UploadsPaused setting and RequestRetry IPC additions on the handler side.

An integration test exercises the full flow: a crash captured while consent is revoked stays in crashpad's pending queue (no upload, not moved to completed), and giving consent in a subsequent run drains the pending report to the server.

See also:

#skip-changelog (in #1542)

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 15, 2026

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against ec97ffe

@jpnurmi jpnurmi force-pushed the jpnurmi/feat/cache-consent branch from 4dcc514 to a1bd38b Compare April 15, 2026 12:58
@jpnurmi jpnurmi force-pushed the jpnurmi/feat/crashpad-cache-consent branch from c90479c to c43b14d Compare April 15, 2026 12:59
@jpnurmi jpnurmi force-pushed the jpnurmi/feat/crashpad-cache-consent branch from c43b14d to 4aed4b0 Compare April 15, 2026 14:31
@jpnurmi jpnurmi force-pushed the jpnurmi/feat/crashpad-cache-consent branch from 4aed4b0 to 4813ada Compare April 15, 2026 14:54
@jpnurmi jpnurmi force-pushed the jpnurmi/feat/cache-consent branch from a1bd38b to 9c2a6df Compare April 16, 2026 12:03
Wires UploadsPaused alongside UploadsEnabled from the consent handler:
when consent is revoked and cache_keep or http_retry is enabled, pause
crashpad uploads so pending reports are retained rather than skipped to
completed. On consent transitions that re-enable uploads, call
RequestRetry() so the handler wakes immediately instead of waiting for
its next periodic scan.

The crashpad submodule bump pulls in the matching UploadsPaused setting
and RequestRetry IPC additions on the handler side.

An integration test exercises the full flow: a crash captured while
consent is revoked stays in crashpad's pending queue (no upload, not
moved to completed), and giving consent in a subsequent run drains the
pending report to the server.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant