Skip to content

Conversation

@wxxsfxyzm
Copy link
Owner

A persistent "Ready" notification would remain on screen throughout the installation process.

This was caused by a race condition in InstallerRepoImpl.getOrCreate(null). Concurrent calls could each generate a separate installer instance with a new random ID before the other was properly cached. This resulted in an "orphan" instance whose initial notification was never updated or cancelled, while a second "live" instance proceeded with the installation.

The getOrCreate logic is now hardened to be fully thread-safe for anonymous (null-ID) requests. It now tracks the active anonymous instance ID to enforce a true singleton pattern for these initializations, ensuring any subsequent concurrent calls correctly return the one existing instance. This guarantees a single InstallerRepo and Notification ID per active installation, resolving the orphaned notification bug.

@wxxsfxyzm wxxsfxyzm merged commit 73341c8 into main Jun 7, 2025
@wxxsfxyzm wxxsfxyzm deleted the notification-fix branch June 7, 2025 13:10
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.

2 participants