Skip to content

Known Limitations

These limits apply to the current release.

TopicCurrent boundary
Single-nodeSupported and recommended for initial production
Multi-replicaSupported, but requires shared PostgreSQL, Redis, and consistent secrets
PostgreSQLRequired durable business data store
RedisOptional for simple single-node, recommended in production, required for multi-replica
Automatic migrationsEmbedded SQLx migrations run at service startup
management gRPCOperations control plane, not for normal clients or public exposure
TopicCurrent boundary
proxy slice cacheCaches only Range slices; no full-body cache
multi-replica slice cacheFile backend has no cross-process shared index or distributed lock
header forwardingProxy only uses Provider-provided headers
direct playbackRequires the client to access the URL and set required headers
upstream availabilitySyncTV cannot guarantee third-party Provider, CDN, or media stability
BilibiliUpstream policy, cookies, Referer, User-Agent, and Range behavior can change
TopicCurrent boundary
WebSocket observationsNot preserved across disconnect; reconnect must rebuild them
Observation countPer-connection limit applies; merge or unobserve views
Transaction consistencyDatabase-backed changes fan out after commit; some runtime state is best-effort
Cluster catch-upCovers short disconnect windows, not long offline sync
Rolling updateLong connections need drain time; not all connections move instantly
TopicCurrent boundary
2FALocal 2FA uses password, passkey, verified email; OAuth2 is not a local factor
JWT revocationStrong revocation depends on Redis token blacklist and token lifetime
OPAQUE secretLong-term binding to password records; not for routine rotation
Provider encryptionDepends on credential encryption key; losing it affects decryption
OpenAPI UIOnly exposed when built with the openapi feature

SyncTV is still in an early release stage. Its protobuf, HTTP fields, and Realtime messages may change between versions. Read the release notes before upgrading the server and clients, and include every dependent client in upgrade validation.

  • Media storage: External object storage, network drives, or media libraries retain media; SyncTV aggregates and proxies it.
  • Content delivery: A CDN handles large-scale distribution; proxy and slice cache optimize controlled forwarding and Range requests.
  • Transcoding: The Provider or upstream media system supplies transcoding.
  • Management access: management gRPC and metrics are accessed through a Unix socket, private network, VPN, or controlled cluster entry point.