Skip to content

Support long filenames and URLs (#800) - #801

Open
Et0h wants to merge 7 commits into
masterfrom
long-filename-and-path-support
Open

Support long filenames and URLs (#800)#801
Et0h wants to merge 7 commits into
masterfrom
long-filename-and-path-support

Conversation

@Et0h

@Et0h Et0h commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Support long filenames and URLs without losing identity

Addresses #764 and #800 by supporting long filenames and URLs while increasing the readable filename metadata limit from 250 to 2,000 characters. Longer values remain supported by representing their identity using Syncplay's existing filename hashes.

Increasing the readable filename limit raises the chance of serialized JSON messages exceeding LineReceiver's 16,384-byte limit when the server sends state for many users together in a single line. Where necessary, Syncplay therefore falls back to filename hashes while retaining existing hash-aware filename matching.

Change summary

  • Raise readable filename metadata from 250 to a strict 2,000-character limit, with longer filenames represented by their existing 12-character hash.
  • Fix Unicode hashing for surrogate-containing filenames without changing hashes for normal filenames.
  • Use the existing filename hash instead of prefix truncation above the negotiated readable limit.
  • If a complete server List would exceed the protocol line limit, progressively hash only enough filenames in the outgoing copy to make the serialized line fit.
  • Prefer retaining readable filenames for the last playlist editor, room controllers and the last playlist-index changer; within each priority tier, hash filenames offering the largest wire-size saving first.
  • Limit media-player OSD filenames to 250 characters after removing URL credentials, avoiding excessively long or potentially sensitive OSD text.
  • Preserve mixed-version compatibility, except that older clients still apply their existing 250-character limit to their initial filename send before receiving the server's advertised limit.

@Et0h Et0h changed the title Support 2000 character filenames/paths (#800) Support long filenames and URLs (#800) Aug 22, 2026
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.

1 participant