Skip to content

History / Server Migration

Revisions

  • The wiki describes 5.0.0 as the build Latest points at, and the 4.3 line in a note [#1817] Since 2026-09-21 the Latest mark is 5.0.0-JF12-stable, and seven pages still opened with a note calling the one-page 4.3 settings the Latest build. I turned each of those round: the body now names the five tabs where it says where a setting is, and a note carries what differs on the 4.3 line. The same flip covers the behaviour notes that named Latest or described 5.0 only in a note: the test-connection result shape, the refusal words, the self-revoke refusal, the link-import answer, the refusal event, the unreadable-file recovery and the rollback audit lines. I checked each of those against the 4.3.0-stable and 5.0.0-JF12-stable tags before writing it. Installation now lists the stable URL first and the beta URL beside it, the way the README on 5.1 does, and carries the tab layout under "Where the settings are", which the other notes link to. Releasing and Rollback lose the retired-channel notes and say what manifest-release serves, with both publication dates. Rollback lost its tab note because its body is the same on both lines. Home says Full Release. The server-migration export note used to put both files on the Server tab; at 5.0.0-JF12-stable the account-link export is on Accounts, so the page says that now. scripts/wiki-lint.py at c5d9b50f reports clean on this tree, and it goes red with five findings when the new heading is renamed. Contributes to Flowfin/jellyfin-plugin-sso#1817

    @iderex iderex committed Sep 21, 2026
  • Mark the three passages of this morning as the 5.0 line, which is the only line that has them [#1540, #1553, #1744] The link-import counts on Server-Migration, the Notifications section on Troubleshooting and the last-link refusal on Login-Flow landed earlier today unmarked, on the reading that the build Latest points at carries them. That reading was wrong. It read the tree of the tag 4.3.0-beta.72, and that tag was created at the head of the default branch, 5.0, while the package it names was built from main at df44f000: the asset is community-sso-for-jellyfin_4.3.0.72. Read at the commits that were actually built, the 4.3 package has none of the three behaviours and 5.0.0-JF12-beta.85 has all of them: df44f000 (4.3): role-mapping-denied no, LinkImportResultDocument no, link.delete_refused_would_strand no c0acaf51 (JF12): role-mapping-denied yes, LinkImportResultDocument yes, link.delete_refused_would_strand yes So each passage now says which line it describes, in the shape the rest of the wiki already uses, and the 4.3 reader is told what their build does instead: the three Server-Migration lines about the audit line come back ahead of the 5.0 block, the Notifications heading names its line, and the Login-Flow and Security-Model sentences say the refusal is the 5.0 line's. These are the reworks drafted on #1540 and #1553 on 2026-09-12, which were right.

    @iderex iderex committed Sep 15, 2026
  • Say that a link import answers its counts, and what an empty one means [#1540] The migration page told an operator to read the per-provider counts off the audit line. Since #1520 the import answers them: a 200 with Restored and a per-provider list, printed by the settings page, so step 4 no longer needs the server log. This is the text approved on the issue on 2026-09-09, in its original shape. It was held for the release that carries #1520. Both published lines carry it now: 4.3.0-beta.72, which Latest points at, and every JF12 beta since 5.0.0-JF12-beta.80. That also removes the reason for the marked 4.3 and 5.0 block of the 2026-09-12 rework, so the rework is not what lands.

    @iderex iderex committed Sep 15, 2026
  • Say on every page that names the settings surface that the 5.0 line has five tabs [#1574]

    @iderex iderex committed Sep 13, 2026
  • Say that the fix has landed rather than that it is waiting [#1135] The line was written while the change was open and stopped being true when it merged. What an operator acts on is unchanged: no published build carries it, so step 4 still restores nothing on everything installable today. Signed-off-by: iderex <30603423+iderex@users.noreply.github.com>

    @iderex iderex committed Sep 4, 2026
  • Say that the migration's last step restores nothing on every published build [#1135] Walking this page end to end against a scratch server rebuild is what #1135 asks for, and the walk found that step 4 does not work: the account-link import answers "Imported" and restores none of the links, on every beta from 4.3.0-beta.43 to 4.3.0-beta.61. A server migrated on one of those has an empty link table and was never told, so the warning goes at the top of the page rather than into a footnote. The page no longer says it has not been walked, because it has. Two things it claimed are corrected against the run rather than against the source: rolling back a successful import is not the pair of files it promised - the import adds and overwrites but never removes, so a wrong file's entries block the correct one and there is no bulk unlink - and a refused import really does leave the link table untouched, which the walk checked after each of the four refusals. Signed-off-by: iderex <30603423+iderex@users.noreply.github.com>

    @iderex iderex committed Sep 4, 2026
  • Give an operator the migration order on the wiki [#1135] The runbook landed in the repository with #1423 and the wiki, which is where an operator looks first, said nothing about moving a server. Installation covers getting the plugin onto one and Rollback covers reversing a bad release; between them there was no answer to "I am rebuilding this server and I do not want everybody to link their account again". This is the reader-facing half and it deliberately carries less than the repository page: the two files, the four ordered steps with the refusal that forces each one, what never comes back, and the three failures a migration actually hits. Every code line, and the full refusal table, stay on the repository pages and are linked rather than copied, so there is one home for each fact and the wiki cannot drift into contradicting the source it was read from. The two consequences worth planning around are pulled out of the omission list rather than left inside it, because they change what an operator has to do: the secrets have to be re-entered or every migrated provider fails closed, and a role-mapped access deadline comes back absent, so a time-limited account is restored unlimited. The page carries the same admission the repository page carries: nobody has walked this against a scratch rebuild, and the refusals are quoted from the code rather than from a run. That is what #1135 stays open for, and the note says so where a reader meets it rather than in the issue only.

    @iderex iderex committed Aug 26, 2026