refactor(orbit): switch share link to psysonic2- magic string format

Aligns orbit invites with the existing magic-string family (psysonic1- for
server invites, psysonic2- for library shares) by folding orbit into the
psysonic2- payload as a new k:'orbit' variant. The JSON body is
intentionally extendable so future layers (passwords, permissions,
invite expiry) can be added without a format migration.

- SharePayloadV1 split into EntitySharePayloadV1 + OrbitSharePayloadV1
- decodeSharePayloadFromText filters orbit out; orbit has its own decoder
- applySharePastePayload param narrowed to EntitySharePayloadV1
- buildOrbitShareLink / parseOrbitShareLink kept as thin wrappers
- slug parameter dropped (magic string is opaque, so the slug was
  cosmetic-only in the old URL form); slugifyOrbitName removed as dead code
- joinModalLinkPlaceholder updated in all 8 locales

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Psychotoxical
2026-04-24 23:59:37 +02:00
parent 682fe99bba
commit 0d18d5dfa9
12 changed files with 84 additions and 79 deletions
+1 -1
View File
@@ -1501,7 +1501,7 @@ export const deTranslation = {
joinModalTitle: 'Einer Orbit-Session beitreten',
joinModalSub: 'Füge den Einladungslink ein, den dir der Host geschickt hat.',
joinModalLinkLabel: 'Einladungslink',
joinModalLinkPlaceholder: 'psysonic2://orbit/…',
joinModalLinkPlaceholder: 'psysonic2-…',
joinModalLinkHelper: 'Akzeptiert jeden gültigen Orbit-Link. Der Link muss zu dem Server gehören, auf dem du gerade angemeldet bist.',
joinModalPasteTooltip: 'Aus Zwischenablage einfügen',
joinModalSubmit: 'Beitreten',