Repository navigation
fix: dashboards never lose or duplicate accounts - #149
Merged
Merged
Conversation
builtbyproxy
added this pull request to stack #150
October 7, 2026 11:50
This was referenced Oct 7, 2026
builtbyproxy
force-pushed
the
audit/stack-06-dashboard-safety
branch
from
October 8, 2026 02:15
d1696d1 to
3877898
Compare
builtbyproxy
force-pushed
the
audit/stack-06-dashboard-safety
branch
3 times, most recently
from
October 8, 2026 02:22
bef89b3 to
bd55cc7
Compare
builtbyproxy
force-pushed
the
audit/stack-06-dashboard-safety
branch
from
October 8, 2026 02:22
bd55cc7 to
85868e4
Compare
builtbyproxy
force-pushed
the
audit/stack-06-dashboard-safety
branch
3 times, most recently
from
October 8, 2026 02:30
273bbb3 to
faa173f
Compare
builtbyproxy
force-pushed
the
audit/stack-06-dashboard-safety
branch
from
October 8, 2026 02:32
faa173f to
10b0bf8
Compare
builtbyproxy
force-pushed
the
audit/stack-06-dashboard-safety
branch
from
October 8, 2026 02:33
10b0bf8 to
5761160
Compare
…hed, by scoping its lookups and opening the settings page instead
…ng, instead of failing
…ess, verify and review failures, and offer Review only where it works
…syncs for every user, label the overview as the admin's own, and report every failure
…eep the rating title plain, refuse a non-finite rating, and let Retry call only the loaders
…p words apart in a rating title, scope the disabled-button style, and pin the dashboard's task keys
builtbyproxy
force-pushed
the
audit/stack-06-dashboard-safety
branch
from
October 8, 2026 02:36
5761160 to
7ab2aae
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Layer 6 of the audit fix stack (releases 2.10.9). Fixes audit findings UI-1 to UI-11, UI-13, UI-21 to UI-25, UI-28 (with COR-14); the full audit is tracked privately. Stacked on #148.
Includes two commits by @WouterStulp from his fork (load/save failure reporting and the Integrations save result).
Release notes
The Jellyscribe dashboards now keep your accounts safe when something goes wrong. If your accounts or activity can't be loaded, the page says so and offers Retry instead of showing an empty list or zeros, so a save can no longer wipe your linked diaries. A failed or repeated Save never adds an account twice, and Remove now asks you to confirm in the page and only removes the account once the server has. Every save, sync, login check and review now tells you when it fails and why, rather than hanging on "Saving…" or claiming everything was up to date, and a sync whose progress can't be read stops with a clear message. A review with only a star rating now sets your Letterboxd rating instead of always failing. A review that lands on some of your accounts says which ones it missed. Review is no longer offered on rows that can't be reviewed. The rewatch date defaults to your own local date, and selecting text in a modal no longer closes it. On the admin dashboard, saving settings no longer undoes account changes your users made in the meantime, Sync all now also runs the TV sync for every user, and the overview is labelled as your own activity. Opening Jellyscribe from the sidebar while the admin settings page is still loaded now works. Thanks to Wouter Stulp, whose fixes for showing load and save failures and for reporting the Integrations save result are included.
What's broken
Why it happens
.catch(() => ({ accounts: [] })),.catch(function () {})).userPage.htmllooks everything up withdocument.getElementById, so a cached admin page's elements win.SyncNowendpoint.What this PR does
POST Review: with stars only, it sets the film rating (SetFilmRatingAsync) and records it likeRatingSyncHandler. Review errors come back as one short line.sidebar.jsopens the settings page when the admin page is cached;userPage.htmlscopes every lookup to its own root.How it was tested
dotnet test -c Release --filter "FullyQualifiedName!~Integration": 1261 passed.ReviewRatingOnlyTests:DashboardTaskKeysTests: pins the admin page's task keys to the registered tasks. Mutation checks fail both test classes.Screenshots
Taken on throwaway Jellyfin test servers with placeholder users and data.
Before: accounts failed to load, empty list invites a new link
After: error with Retry
Before: failed save stuck on Saving and sent twice
After: reason shown, sent once
Before: Remove with no confirmation
After: in-page confirm step
Before: overview failure shows zeros and 'No activity yet'
After: error with Retry
Before: rating-only review fails
After: rating saved to Letterboxd
After: in-app route with the admin page cached falls back to a working dashboard