Skip to content

[pull] main from getsentry:main - #412

Merged
pull[bot] merged 4 commits into
NOUIY:mainfrom
getsentry:main
Jul 30, 2026
Merged

[pull] main from getsentry:main#412
pull[bot] merged 4 commits into
NOUIY:mainfrom
getsentry:main

Conversation

@pull

@pull pull Bot commented Jul 30, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

runningcode and others added 4 commits July 30, 2026 14:47
* fix(core): Report no-op executor tasks as cancelled (JAVA-628)

NoOpSentryExecutorService returned a FutureTask that is never run and
never cancelled, so a caller had no way to tell a dropped task from a
queued one: isCancelled() and isDone() both stay false forever, and get()
blocks until it times out.

Return an already-cancelled Future instead, matching what
SentryExecutorService already does when its work queue is full, and state
the requirement on ISentryExecutorService so future implementations honour
it. CancelledFuture moves out of SentryExecutorService so both services
share one implementation.

An ActivityLifecycleIntegration test asserted a freshly scheduled ttfd
timeout was not cancelled while running on the no-op executor, so it was
really pinning the old pending-forever behaviour rather than the
scheduling it names. It now uses DeferredExecutorService, which queues.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* changelog

* Update sentry/src/main/java/io/sentry/ISentryExecutorService.java

Co-authored-by: arb <adam.brown@sentry.io>

* Apply suggestions from code review

Co-authored-by: arb <adam.brown@sentry.io>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: arb <adam.brown@sentry.io>
* perf(core): Use build-time class availability

Consult class availability data injected by build tooling before falling back to reflection. Keep the map nullable so consumers without supporting tooling preserve current behavior.

Refs JAVA-654
Co-Authored-By: Codex <noreply@openai.com>

* ref(core): Make class availability package-private

Allow package-local tests to set class availability without reflection.

Refs LINEAR-JAVA-654

Co-Authored-By: Codex <noreply@openai.com>

---------

Co-authored-by: Codex <noreply@openai.com>
* fix(replay): Prevent concurrent PixelCopy frame access

Keep PixelCopy, masking, compositing, and cleanup from accessing the shared bitmap concurrently.

Fixes GH-5340

Co-Authored-By: Codex <noreply@openai.com>

* fix(android-replay): Preserve pending PixelCopy capture

Re-arm the recorder's content-change gate when a capture is skipped because another frame is still in flight. This ensures the latest UI state is retried on the next capture interval.

Refs GH-5340
Co-Authored-By: OpenAI Codex <noreply@openai.com>

* perf(android-replay): Use RGB_565 when alpha is unnecessary

Reduce replay screenshot memory while retaining ARGB_8888 for SurfaceView compositing.

Refs GH-5340
Co-Authored-By: Codex <noreply@openai.com>

* perf(screenshot): Use RGB_565 for screenshot capture bitmaps

Screen content is always opaque so the alpha channel in ARGB_8888 is wasted.
RGB_565 halves the per-screenshot bitmap memory (~2B/px vs 4B/px).

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

* fix(replay): Remove duplicate test methods from rebase

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

* changelog

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

* fix: Move changelog entry to Unreleased section

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

* fix(screenshot): Log PixelCopy result code on failure

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

* Format code

---------

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Sentry Github Bot <bot+github-bot@sentry.io>
…#5872)

Relay currently rejects ANR profiles with a single sample, even though they're still useful to customers. (Relay's policy was developed with continuous profiles in mind, before ANR profiles were a thing.) Commit updates our StackTraceConverter to add a second, synthetic sample whenever an ANR profile would otherwise only contain one.

The synthetic sample duplicates the original, save for a minor offset to its timestamp (to avoid misleading the user about the ANRs cause or duration).
@pull pull Bot locked and limited conversation to collaborators Jul 30, 2026
@pull pull Bot added the ⤵️ pull label Jul 30, 2026
@pull
pull Bot merged commit 934244e into NOUIY:main Jul 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants