feat(library): add ALL_UNLOCKED sync change for last achievement
Build, Test & Push Core Service / quality-check (push) Successful in 2m30s
Build, Test & Push Core Service / docker (push) Successful in 1m35s

A sync that unlocks the last achievement of a game not COMPLETED
adds an ALL_UNLOCKED change. The overview hides it once the game is
COMPLETED, hidden or removed. Refs #21
This commit is contained in:
lobo committed 2026-10-11 16:22:49 +02:00
1 parent 1de8acef2e
commit 0f56f5bb0f
7 files changed
+96 -9

No files matched your search

+3 -1
View File
@@ -426,6 +426,8 @@ and `WISHLIST` rows of `sync_change`) and the hand changes since the cursor. Kin
are left out, and the cursor moves anyway. A job every 10 minutes reports the hand changes alone once a user was quiet for 10
minutes; it never takes a sync result, which may still wait for its achievements.
`ALL_UNLOCKED`: the sync unlocked the last Steam achievement of a game that is not COMPLETED; Core never sets COMPLETED itself, the user confirms it in the sync details.
```mermaid
sequenceDiagram
participant W as LibrarySyncWorker
@@ -438,7 +440,7 @@ sequenceDiagram
P-->>W: ADDED, PLAYTIME, ACHIEVEMENTS (trophy gains)
W->>D: sync_result, sync_change (ADDED, STATUS, WISHLIST, PSN changes)
W-->>A: LibrarySyncedEvent
A->>D: sync_change (ACHIEVEMENTS)
A->>D: sync_change (ACHIEVEMENTS, ALL_UNLOCKED)
A-->>F: LibraryActivityEvent
F->>D: lock follow_digest, count sync + hand changes
F->>D: inbox_note per follower (public, not blocked, not deleted)