Commit Graph

42 Commits (dependabot/cargo/cargo-non-breaking-e9e0dbbed0)

Author SHA1 Message Date
zijiren dd6428ebca
feat(livestream): add WebRTC ingest and playback (#454)
## Summary

- add WHIP publishing and WHEP playback backed by the xiu StreamHub
- support external WHEP live proxy sources and expose WebRTC playback
through the live/RTMP provider APIs
- relay RTP and WebRTC session lifecycle across cluster nodes with
generation and lease fencing
- add WebRTC configuration, environment variables, CLI output, Helm
values, OpenAPI definitions, and bilingual documentation
- keep frame and RTP relay liveness deadlines independent so a stalled
path triggers relay recovery

## Validation

- `cargo fmt --all -- --check`
- `cargo clippy -p synctv-livestream --all-targets -- -D warnings`
- `cargo test -p synctv-livestream` (239 passed, 20 ignored)
- `git diff --check`
3 weeks ago
zijiren c7d885c4d8
chore: finalize web UI root coverage and docs (#438)
## Summary

- verify that the embedded Web UI serves the SPA entrypoint directly at
the root path without a redirect
- use idiomatic Option handling in the embedded asset response path
- remove outdated setup sections from the English and Chinese project
READMEs

## Validation

- cargo test -p synctv-api-http --features web-ui
root_serves_spa_entrypoint_without_redirect
- make clippy-check
- cargo fmt --check
- git diff --check
1 month ago
zijiren 63c370876d
feat(web): add client-aware playback and reproducible UI (#433)
## Summary

- add a versioned playback client profile for browser/runtime protocol,
container, codec, header, proxy, insecure-media, and P2P-loader
capabilities
- generate compatible direct and proxy resources inside each provider
and return a structured incompatibility error when route policy leaves
no viable result
- force provider proxy delivery for browser-forbidden headers, including
affected Bilibili variants, while preserving explicit direct-only
failures
- keep legacy clients compatible and isolate capability-aware playback
cache entries
- serve `/oauth2/callback` through the same Flutter SPA entry point and
keep public discovery anonymous

## Reproducible Web UI

- move Flutter acquisition/build, source configuration, asset manifests,
Brotli/gzip compression, and compile-time embedding into the independent
`synctv-web-ui` crate
- support prebuilt distributions, local projects, and Git sources pinned
to an immutable full commit, with an ignored local override
- fingerprint source, Flutter version, build arguments, dart-defines,
builder generation, output, and compression settings
- validate cached Git repository/revision/commit identity, support
offline cache reuse, and rebuild only when relevant inputs change
- pin and checksum the Flutter SDK in the Docker Web asset stage;
backend-only builds require no Flutter, Git fetch, or network
- serve embedded assets with ETags, compression negotiation, CSP, cache
policy, Origin/CORS handling, and SPA fallback outside API/media routes

## Verification

- `cargo fmt --all -- --check`
- workspace `cargo check`, test/doc-test, and all-targets Clippy with
warnings denied
- provider tests: 200 passed, 1 ignored
- OAuth core/API tests: 72 + 16 passed
- `synctv-web-ui`: 10 passed
- `synctv-api-http --features web-ui`: 12 passed
- default Git source cold build from the pinned App commit, followed by
offline hot-cache reuse in about 1.1 seconds
- `cargo check -p synctv --features web-ui` and `docker buildx build
--check .`
- real Chrome playback, P2P, OAuth/Casdoor, multi-user sync, chat,
media, playlist, upload, settings, and playback-history flows

Companion frontend PR: https://github.com/synctv-org/synctv-app/pull/52

Release pin validation:
https://github.com/synctv-org/synctv-release/pull/9
1 month ago
zijiren 9e0e0c280e
chore(dev): remove background server targets (#407)
## Summary

- remove the `dev-start` and `dev-stop` Makefile targets and related
documentation
- keep `dev-serve` as the foreground development server entry point
- make the provider smoke test own and clean up its server process
- keep `dev-down` and `dev-clean` scoped to Compose services

## Verification

- `bash -n scripts/dev-e2e-smoke.sh`
- Makefile dry runs for `dev-serve`, `dev-down`, and `dev-clean`
- `make help` target inspection
- `git diff --check`
- existing development backend health check
1 month ago
zijiren233 5425eaf436 chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
zijiren233 07c1d414e4 chore: helm docs 1 year ago
zijiren233 b1e3bc1f09 fix: github mirror 2 years ago
zijiren233 0ed60c8209 feat: p2p docs 2 years ago
zijiren233 7c69ae5c3d feat: helm docs 2 years ago
zijiren233 0040c9ccb8 feat: helm docs 2 years ago
zijiren233 5598a1d4fa fix: readme release status 2 years ago
zijiren233 eeffe049cf feat: webrtc readme 2 years ago
zijiren233 55c1bdcadb docs: readme 2 years ago
zijiren b30f694cf2 chore: update readme and config comment 2 years ago
zijiren233 4fc2c054a0 docs: spon 2 years ago
zijiren233 ce7cb1735b chore: docs 2 years ago
zijiren233 a2aa90c1a3 chore: update readme 2 years ago
zijiren233 fe130161a8 chore: update readme 2 years ago
zijiren233 07e7149e86 Chore: docs url 2 years ago
zijiren233 5afb7e28ba Spon: add https://github.com/LucasYuYu 3 years ago
zijiren233 a640e5bb40 Docs: update Parse video list 3 years ago
zijiren233 6ce728381b Docs: update sponsors 3 years ago
zijiren233 a2d71e59db Opt: install script url 3 years ago
zijiren233 c258f22e45 Feat: install script support gh proxy 3 years ago
zijiren233 94e6368b00 Docs: update 3 years ago
zijiren233 549aebc0e5 Docs: update 3 years ago
zijiren233 a270328a01 Feat: install linux service 3 years ago
zijiren233 34ae7208c6 Docs: init root user 3 years ago
zijiren233 9f5ace0d3c Docs: add tg group 3 years ago
zijiren233 931df8d848 Docs: update readme 3 years ago
zijiren233 f66fc5942e Docs: update self-update docs 3 years ago
zijiren233 390fe2cdb7 Feat: update sys notify 3 years ago
zijiren233 ab7dfa5bc8 Fix: docs config path error: home env 3 years ago
zijiren233 0f34b80066 Docs: add demo 3 years ago
zijiren233 e2aad6121b Docs: update installation 3 years ago
zijiren233 98dda736e8 Docs: update readme what is synctv 3 years ago
zijiren233 29e06d7a23 Docs: update downloads and docker pulls 3 years ago
zijiren233 1b1856f361 Docs: usage 3 years ago
zijiren233 328f5e957c Docs: build img 3 years ago
zijiren233 eeea0f2d5d Docs: update docs 3 years ago
zijiren233 acf7718c0a Feat: synctv init 3 years ago
zijiren 586f37bbab
Initial commit 3 years ago