From 1516604d5c8b28bc7b4ba86bfb9c2b80a5f0b6c2 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Wed, 24 Dec 2025 09:08:17 +0800 Subject: [PATCH 1/3] fix(sentry): adjust event flush order in Integration Move SentrySdk client flush to after Logs and TraceMetrics flush to ensure proper event ordering during shutdown sequence. --- src/sentry/src/Integration.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sentry/src/Integration.php b/src/sentry/src/Integration.php index 4dff02b2e..776ccd165 100644 --- a/src/sentry/src/Integration.php +++ b/src/sentry/src/Integration.php @@ -106,9 +106,9 @@ public static function setTransaction(?string $transaction): void */ public static function flushEvents(): void { - SentrySdk::getCurrentHub()->getClient()?->flush(); Logs::getInstance()->flush(); TraceMetrics::getInstance()->flush(); + SentrySdk::getCurrentHub()->getClient()?->flush(); } /** From 40dc81f5901b851f3e4a9a3d3a3ac863928226fe Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Wed, 24 Dec 2025 09:17:56 +0800 Subject: [PATCH 2/3] fix(sentry): adjust event flush order for IntegrationRegistry in SingletonAspect --- src/sentry/src/Aspect/SingletonAspect.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sentry/src/Aspect/SingletonAspect.php b/src/sentry/src/Aspect/SingletonAspect.php index aa7c6c841..47fb6860d 100644 --- a/src/sentry/src/Aspect/SingletonAspect.php +++ b/src/sentry/src/Aspect/SingletonAspect.php @@ -47,7 +47,6 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) return match ($className) { // Singleton Classes \Sentry\State\HubAdapter::class, - \Sentry\Integration\IntegrationRegistry::class, \Sentry\Logs\Logs::class => Context::getOrSet($key, function () use ($className) { return Closure::bind(fn () => new $className(), null, $className)(); }), @@ -55,6 +54,9 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) return new $className(); }), + // !!! + \Sentry\Integration\IntegrationRegistry::class => $proceedingJoinPoint->process(), + // Enums // \Sentry\CheckInStatus::class, // \Sentry\EventType::class, From 0a7d65ec32727880345c167669769f43757d0d91 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Wed, 24 Dec 2025 09:33:55 +0800 Subject: [PATCH 3/3] fix(sentry): disable IntegrationRegistry instance creation to prevent unexpected issues --- src/sentry/src/Aspect/SingletonAspect.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sentry/src/Aspect/SingletonAspect.php b/src/sentry/src/Aspect/SingletonAspect.php index 47fb6860d..79db18f07 100644 --- a/src/sentry/src/Aspect/SingletonAspect.php +++ b/src/sentry/src/Aspect/SingletonAspect.php @@ -21,9 +21,10 @@ class SingletonAspect extends AbstractAspect public array $classes = [ // Singleton Classes \Sentry\State\HubAdapter::class . '::getInstance', - \Sentry\Integration\IntegrationRegistry::class . '::getInstance', \Sentry\Logs\Logs::class . '::getInstance', \Sentry\Metrics\TraceMetrics::class . '::getInstance', + // !!! Don't enable this for now, it may cause some unexpected issues !!! + // \Sentry\Integration\IntegrationRegistry::class . '::getInstance', // Enums // \Sentry\CheckInStatus::class . '::getInstance', // \Sentry\EventType::class . '::getInstance', @@ -54,8 +55,8 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) return new $className(); }), - // !!! - \Sentry\Integration\IntegrationRegistry::class => $proceedingJoinPoint->process(), + // !!! Don't enable this for now, it may cause some unexpected issues !!! + // \Sentry\Integration\IntegrationRegistry::class => $proceedingJoinPoint->process(), // Enums // \Sentry\CheckInStatus::class,