Commit Graph

2785 Commits

Author SHA1 Message Date
Corey Vaillancourt
625deee506 fix: improve user experience of channels page on mobile by rendering cards 2026-03-30 07:02:48 -04:00
Christian Benincasa
12abc265a9 fix: ensure vaapi hardware pad filters appropriately set frame data location 2026-03-29 21:14:41 -04:00
Christian Benincasa
fcfa537279 fix: ensure scaling happens on hw for vaapi when tonemap env var is false
includes many other integration tests
2026-03-29 21:14:41 -04:00
Christian Benincasa
f9851f73cb fix: do not disable audio format dropdown after selecting copy
Fixes: #1758
v1.2.8
2026-03-28 17:49:56 -04:00
Jason Dove
09a5167a6d docs: fix nvidia docker run line break (#1754) 2026-03-28 09:30:47 -04:00
Christian Benincasa
5af3c93dda fix: invalidate channel query after saving edit channel form
Fixes: #1742
2026-03-27 14:03:45 -04:00
Christian Benincasa
89eb55c82c fix: parse tvshow.uniqueid tag as array in nfo parser
Fixes: #1749
2026-03-27 13:47:56 -04:00
Christian Benincasa
3af479008b fix: add more randomness to filler picker (#1746)
Rework the filler picker to add more randomness and better weighting
behavior. Specifically:

1. Shuffle incoming filler lists
2. Filler weights only added to sampling if they have a program that can
   fit in the requested time slot
3. Once a list is chosen, we shuffle the programs within that list
4. The rest of the algorithm remains the same with weighted sampling of
   programs with slight adjustments based on last-seen and duration.
v1.2.7
2026-03-27 12:08:26 -04:00
Corey Vaillancourt
18dd66cb6e fix: improve user experience of bottom navigation (#1739)
This change improves bottom navigation in the following ways:
- Adds labels and proper ARIA handling
- Highlights active item (including related subpages)
- Adds badge support from System page
- Fixes to stay above page content.

Co-authored-by: Corey Vaillancourt <coreyjv@gmail.com>
2026-03-27 11:49:24 -04:00
Jason Dove
29b635e89c fix: aresample requires hz, so convert from khz (#1745)
* fix: aresample requires hz, so convert from khz

* fix: always send khz to loudnorm filter; convert inside
2026-03-26 19:35:19 -04:00
Corey Vaillancourt
e76528ef69 chore: ignore files generated from JetBrains IDEs (#1735) 2026-03-24 20:04:07 -04:00
Corey Vaillancourt
ccd072fe02 fix: improve mobile container size on small devices (#1738) 2026-03-24 20:03:20 -04:00
www2000
1fb1e538ce fix: add 480p descriptions and add 576p resolution
Updated descriptions for 720x480 to include NTSC and add 720x576 resolutions for pal broadcasts.
2026-03-23 12:45:39 -04:00
Christian Benincasa
3f5e536d71 fix: allow more granular trust proxy settings
Allow setting all variant of supported trust proxy settings from
https://fastify.dev/docs/latest/Reference/Server/#trustproxy, except for
a custom function. Allows for specifying >=1 IP or CIDR ranges, n-th hop
trust.
2026-03-23 12:31:19 -04:00
Christian Benincasa
c98fc89233 refactor: add log line for scanning so it is clear 2026-03-23 10:44:45 -04:00
Christian Benincasa
87974b629c test: add "integration" style tests that check basic transcoding pipelines 2026-03-23 10:41:06 -04:00
Christian Benincasa
ddd2613735 fix: allow unsetting loudnorm config v1.2.6 2026-03-20 16:42:04 -04:00
Christian Benincasa
464de4ce71 fix: enable passing loudnorm params to ffmpeg pipeline v1.2.5 2026-03-20 16:31:24 -04:00
Christian Benincasa
6123497f27 refactor: use lightweight bootstrap process when generating openapi 2026-03-19 16:27:14 -04:00
Christian Benincasa
c3383272ae Merge remote-tracking branch 'origin/dev' 2026-03-19 16:00:24 -04:00
Christian Benincasa
2a37f88047 chore: upgrade versions of a various github actions 2026-03-19 15:52:57 -04:00
Christian Benincasa
2ea5565c37 test: fix tests for filler picker bug v1.2.4 2026-03-19 15:44:22 -04:00
Christian Benincasa
66b2676233 chore: fix build 2026-03-19 15:44:22 -04:00
Christian Benincasa
1c39f48288 fix: ensure effective "now" timestamp passed to filler picker
wall clock time is not necessarily stream time now due to workahead
2026-03-19 15:44:22 -04:00
Christian Benincasa
d3529f2c6f fix: properly calculator time since for filler list cooldowns
this is a side effect of the previous units mismatch bug
2026-03-19 15:44:22 -04:00
Christian Benincasa
cd488cd259 fix: ensure hardware padded vaapi pipelines hwdownload before watermark overlay 2026-03-19 15:44:22 -04:00
Christian Benincasa
d80863c2b9 fix: properly count discontinuity sequences without parsing master playlist 2026-03-19 15:44:22 -04:00
Christian Benincasa
8933b9873b chore: update hls.js to latest version 2026-03-19 15:44:22 -04:00
Christian Benincasa
0c8a5b7aed refactor: downgrade log level for meilisearch task watcher 2026-03-19 14:53:07 -04:00
Christian Benincasa
4abd307b06 fix: actually specify pad_opencl filter 2026-03-19 10:44:45 -04:00
Christian Benincasa
12cccc1540 fix: remove built-in changelog from system page 2026-03-18 16:15:43 -04:00
Christian Benincasa
70b430f470 fix: better unparseable smart collection parse handling
Ensures that stateful errors are checked in the mutex block
2026-03-18 13:12:52 -04:00
Christian Benincasa
9affa59cf8 fix: properly preview channel icon for watermark when none is set
Fixes: #1668
2026-03-18 12:16:25 -04:00
Christian Benincasa
c07cd898c9 fix: ensure no empty discontinuity periods in generated playlists (#1722) v1.2.3 2026-03-18 11:28:19 -04:00
Christian Benincasa
b74ad3d619 fix: properly convert per-filler-list cooldown to millis 2026-03-18 11:26:58 -04:00
Christian Benincasa
e5e8d7353b fix: ensure no empty discontinuity periods in generated playlists 2026-03-18 10:12:51 -04:00
Christian Benincasa
eb898c253f fix: explicitly upload software overlay frames in QSV pipeline
Also removes erroneous gpu_copy option
2026-03-17 21:55:22 -04:00
Christian Benincasa
dff248fefd fix: use system fonts for error screen
Tunarr does not package font files anymore
2026-03-17 21:55:22 -04:00
Christian Benincasa
f1e80316e8 build: add shell.nix for local development (#1721)
Adds `shell.nix` with dependencies required for local development, so I
don't need to have them installed globally.

Launch using `nix-shell`.

on linux:

```bash
% nix-shell
Tunarr dev environment
  node: v22.22.0
  pnpm: 10.28.0
  ffmpeg: ffmpeg version n7.1.1-56-gc2184b65d2-20250716 Copyright (c) 2000-2025 the FFmpeg developers

[nix-shell:~/code/tunarr]$
```

on mac:

```bash
% nix-shell
Tunarr dev environment
  node: v22.22.1
  pnpm: 10.28.0
  ffmpeg: ffmpeg version 7.1.3 Copyright (c) 2000-2025 the FFmpeg developers

[nix-shell:~/code/tunarr]$
```
2026-03-17 13:12:35 -04:00
Jason Dove
9139e49275 build: simplify shell.nix shell hook 2026-03-17 11:41:32 -05:00
Jason Dove
97ccbbf5e5 build: update shell.nix to use ffmpeg 7 2026-03-17 11:34:25 -05:00
Jason Dove
392d2282e8 build: add shell.nix for local development 2026-03-17 10:50:05 -05:00
Christian Benincasa
d7ed74e999 fix: remove minByIp segment mappings when clients disconnect v1.2.2 2026-03-16 13:37:15 -04:00
Christian Benincasa
71c245c36c fix: do not double-count discontinuities in HlsPlaylistMutator 2026-03-16 13:37:14 -04:00
Christian Benincasa
240a1db0c7 fix: vaapi tonemap pixel format fixes (#1720) 2026-03-16 12:24:55 -04:00
Christian Benincasa
56e3e25473 fix: custom show form state fixes
* Navigate back to custom shows table page after creating new custom
  show
* Properly clear form state after saving new custom show
* Properly update form state after updating existing custom show
2026-03-16 12:16:48 -04:00
Christian Benincasa
44602d651a test: fix TonemapVaapiFilter tests 2026-03-16 12:08:28 -04:00
Christian Benincasa
f0c7bf1c4e fix: pass new state when resetting slot schedule state post-save 2026-03-16 12:04:15 -04:00
Christian Benincasa
8b850631f8 fix: prefer opencl tonemapping in vaapi pipeline 2026-03-16 11:51:06 -04:00
Christian Benincasa
e4a60ce1d6 fix: properly skip vaapi pad when stream is already correct size 2026-03-16 09:24:43 -04:00