zwitschi
d8cf853842
chore(release): 1.1.0
...
Release / release (push) Successful in 1m15s
CI / test (push) Successful in 2m53s
CI / docker (push) Successful in 2m0s
- playout: run-scoped R2 manifest URIs (candidate a rewrite via rewriteManifestToRun)
- tests: playlist_rewrite_test.go (rewrite + publish integration + slate guard)
- docs: STREAMING, cloudflare-workers-setup, architecture (incl. Level-2 diagram)
- release housekeeping: TODO->DONE, CHANGELOG 1.1.0, version bump
1.1.0
2026-09-03 09:27:38 +02:00
zwitschi
8c5e70959b
feat(cloudflare): add linearvoid-media edge worker for R2 HLS delivery
...
Replace the ad-hoc `worker.js` with a self-contained `linearvoid-media`
worker under `infrastructure/cloudflare/` that owns `media.linearvoid.tv`.
It serves HLS objects from the R2 bucket, enforcing immutable Cache-Control
on segments, a short TTL on live manifests, plus HLS CORS, OPTIONS
preflight, Range support, and a `/health` probe. Includes wrapper config
with production domain, Vitest unit tests, Miniflare R2 integration tests,
automated deploy workflow, and docs updates.
2026-09-03 08:52:31 +02:00
zwitschi
5f1f796a20
chore(cd): publish nginx on port 8082 to avoid Coolify port conflicts
CI / test (push) Successful in 3m4s
CI / docker (push) Successful in 34s
2026-09-02 21:07:06 +02:00
zwitschi
11d48c8e0d
chore(env): update PLAYOUT_PORT to 8081 and normalize line endings
CI / test (push) Successful in 3m3s
CI / docker (push) Successful in 24s
2026-09-02 20:59:57 +02:00
zwitschi
242fc8da67
chore(env): update PLAYOUT_PORT to 8081 and normalize line endings
2026-09-02 20:38:22 +02:00
zwitschi
33b6296c5e
Refactor load testing scripts to support Bash and PowerShell
...
CI / test (push) Successful in 2m50s
CI / docker (push) Successful in 5m12s
- Updated README.md to reflect changes in load testing commands and added usage examples for Bash scripts.
- Converted PowerShell load testing scripts to Bash equivalents for better cross-platform compatibility.
- Added new Bash scripts: run-loadtests.sh, summarize-artillery.sh, and summarize-k6.sh to mirror existing PowerShell functionality.
- Updated admin-api.js and ws-chat.yml for consistency and improved performance metrics reporting.
- Enhanced error handling and output formatting in summary scripts for better readability.
2026-09-02 19:47:34 +02:00
zwitschi
9f60087a4c
feat(docs): add Coolify deployment guide and integrate into setup documentation
...
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 5m25s
feat(scripts): add environment verification scripts for deployment checks
2026-08-30 20:00:28 +02:00
zwitschi
474da7418e
fix(frontend): consolidate chat sidebar and modal auth flow
CI / test (push) Successful in 1m55s
CI / docker (push) Successful in 28s
2026-08-16 13:40:16 +02:00
zwitschi
d267173e30
fix(admin): render service health details as structured HTML
CI / test (push) Successful in 1m32s
CI / docker (push) Successful in 33s
2026-08-16 11:57:58 +02:00
zwitschi
e7bff8b9c0
fix(admin): render service health details as structured HTML
CI / test (push) Successful in 1m53s
CI / docker (push) Successful in 36s
2026-08-16 11:12:21 +02:00
zwitschi
9a0511b36b
fix(admin): use absolute API URL for cross-origin admin fetches
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 33s
2026-08-16 10:44:01 +02:00
zwitschi
c2f9f9ed62
perf(playout): parallelize playlist validation with dedup and worker pool
CI / test (push) Successful in 1m52s
CI / docker (push) Successful in 55s
2026-08-16 10:30:15 +02:00
zwitschi
bde3dc3a46
fix(infrastructure): add nginx map_hash_bucket_size directive for CORS origin map
CI / test (push) Successful in 1m40s
CI / docker (push) Successful in 33s
2026-08-16 09:59:35 +02:00
zwitschi
21a70dcf0f
fix(ops): increase post-deploy service stabilization wait from 20s to 30s
CI / test (push) Successful in 1m40s
CI / docker (push) Successful in 1m51s
2026-08-16 09:49:18 +02:00
zwitschi
4fe09a0a3d
fix(auth): set SameSite=None for viewer session cookie over HTTPS and update docs
2026-08-16 09:45:58 +02:00
zwitschi
85454610f4
fix(infrastructure): add dynamic CORS origin mapping and preflight handling for admin API endpoints
CI / test (push) Successful in 1m31s
CI / docker (push) Successful in 25s
2026-08-16 09:41:06 +02:00
zwitschi
5585a6ecc3
fix(frontend): prefix auth API requests with VITE_PUBLIC_APP_URL for cross-origin Workers hosting
CI / test (push) Successful in 1m32s
CI / docker (push) Successful in 54s
2026-08-16 09:26:35 +02:00
zwitschi
53a0c3c825
fix(ops): increase playout health check retry interval from 5s to 10s
2026-08-16 08:59:30 +02:00
zwitschi
9e56ff7859
feat(ops): replace Cloudflare Pages with Workers for frontend hosting
CI / test (push) Successful in 2m55s
CI / docker (push) Successful in 46s
2026-08-16 08:17:23 +02:00
zwitschi
9ac1a8b79d
fix(chat): use configured API base URL and include credentials for auth and DM search fetch calls
2026-08-16 07:47:51 +02:00
zwitschi
6950bba85d
feat(playout): replace time-based R2 retention with run-count and size caps
CI / test (push) Successful in 1m33s
CI / docker (push) Successful in 51s
2026-08-15 18:59:26 +02:00
zwitschi
06b277e9c1
docs: reorganize TODO, DONE, and BACKLOG task tracking
CI / test (push) Successful in 1m44s
CI / docker (push) Successful in 2m22s
2026-08-15 18:21:52 +02:00
zwitschi
1cc44282bc
docs: clean up TODO and DONE, updating BACKLOG
2026-08-15 16:36:17 +02:00
zwitschi
b6705e6dbd
fix(chat): prevent stale websocket close handler from triggering reconnect loop
2026-08-15 16:28:32 +02:00
zwitschi
cef002862e
feat(chat): add transient presence flash and 5s reconnect grace period
CI / test (push) Successful in 1m33s
CI / docker (push) Successful in 2m10s
2026-08-13 20:45:52 +02:00
zwitschi
4eb88a4594
fix(frontend): reduce system message font size and padding
CI / test (push) Successful in 1m38s
CI / docker (push) Successful in 30s
2026-08-13 18:54:25 +02:00
zwitschi
9cf3956c28
fix(frontend): add chat log table class and compact filter/table styles
2026-08-13 18:52:36 +02:00
zwitschi
a15a9f2df0
refactor(frontend): standardize HTML formatting and update font families
CI / test (push) Successful in 1m42s
CI / docker (push) Successful in 32s
2026-08-13 18:40:03 +02:00
zwitschi
76397d52d7
fix(frontend): restore chat DOM structure and guard addMessage against null
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 49s
2026-08-13 14:57:18 +02:00
zwitschi
70a5159f81
fix(backend): serialize SQLite test connections and await async normalize
CI / test (push) Successful in 1m44s
CI / docker (push) Successful in 2m45s
2026-08-13 13:40:03 +02:00
zwitschi
568112b85a
test(frontend): simplify fetch mock signatures in auth tests
CI / test (push) Failing after 2m49s
CI / docker (push) Skipped
2026-08-13 13:24:56 +02:00
zwitschi
02ff53229c
test(frontend): expand admin and viewer test coverage for auth, typing, reconnect, and playlist badges
2026-08-13 13:22:08 +02:00
zwitschi
68a4d35334
chore: update todo list
2026-08-13 13:14:39 +02:00
zwitschi
7afab6658b
chore: bump version to 1.0.13
CI / test (push) Failing after 13s
CI / docker (push) Skipped
2026-08-13 13:12:35 +02:00
zwitschi
121fdbacdc
feat: runtime config, Matomo analytics, chat accounts, DM history/search, and Prometheus retention
2026-08-13 13:12:35 +02:00
zwitschi
06ab5b4655
feat: add automatic media normalization, R2 retention cleanup, and seamless playout loops
2026-08-13 11:59:46 +02:00
zwitschi
e15d89edfe
fix(playout): differentiate FFmpeg crashes from clean exits and enrich health metrics
CI / test (push) Successful in 1m44s
CI / docker (push) Successful in 56s
2026-08-12 14:26:18 +02:00
zwitschi
044851a43e
Add Grafana dashboards for monitoring various services
...
- Created a new dashboard for NGINX monitoring with panels for status, active connections, request rates, and connection drop ratio.
- Added a Node dashboard to monitor CPU usage, memory usage, disk I/O, and network traffic.
- Introduced a Playout dashboard to track service status, mode, FFmpeg restarts, and scrape duration.
- Implemented a PostgreSQL dashboard featuring active connections, database size, transaction rates, and cache hit ratio.
- Developed a Prometheus dashboard to visualize scrape duration, targets status, and rule evaluation metrics.
- Established a Redis dashboard to monitor connected clients, memory usage, command latency, and keyspace statistics.
2026-08-12 13:55:23 +02:00
zwitschi
926d70dc3c
fix: rename R2 object key prefix from live/ to hls/ for consistency
CI / test (push) Successful in 1m37s
CI / docker (push) Successful in 48s
2026-08-11 17:21:53 +02:00
zwitschi
cca8d77325
chore: bump version to 1.0.12
CI / test (push) Successful in 1m40s
CI / docker (push) Successful in 19s
Release / release (push) Successful in 22s
1.0.12
2026-08-11 15:57:10 +02:00
zwitschi
528a7fffc0
chore: remove obsolete DEVELOPMENT.md and consolidate task tracking docs
2026-08-11 15:54:00 +02:00
zwitschi
3742859489
docs: align CD env vars with deployment guide and add gitea secrets reference
CI / test (push) Successful in 1m38s
CI / docker (push) Successful in 25s
2026-08-11 15:01:55 +02:00
zwitschi
27c74f1663
chore: move feature list from TODO to BACKLOG and reorg admin/chat analytics items
CI / test (push) Successful in 3m45s
CI / docker (push) Successful in 1m8s
2026-08-11 14:46:58 +02:00
zwitschi
2a718e4652
fix: guard all R2 operations behind nil client checks for local dev support
2026-08-11 14:46:50 +02:00
zwitschi
1019972e25
docs: fix filename typo and add Cloudflare Pages deploy details across docs
2026-08-11 11:10:33 +02:00
zwitschi
7be66a703c
docs: update gitea-cloudflare pages deploy snippet to inline manifest as form arg
CI / test (push) Successful in 1m31s
CI / docker (push) Successful in 20s
2026-08-10 21:35:37 +02:00
zwitschi
4d627e13b9
fix: inline manifest JSON into form args instead of uploading as separate file
2026-08-10 21:35:02 +02:00
zwitschi
c0356a26f6
chore: add debug logging for Cloudflare Pages deploy form arguments
CI / test (push) Successful in 1m30s
CI / docker (push) Successful in 21s
2026-08-10 21:22:30 +02:00
zwitschi
4aac5f9009
fix: remove explicit multipart content-type header from Cloudflare Pages deploy step
CI / test (push) Successful in 1m49s
CI / docker (push) Successful in 23s
2026-08-10 21:18:03 +02:00
zwitschi
af2e94aa46
fix: switch Cloudflare Pages deploy from tar+octet-stream to multipart+manifest API
CI / test (push) Successful in 1m49s
CI / docker (push) Successful in 21s
2026-08-10 21:11:00 +02:00