2818 Commits

Author SHA1 Message Date
Christian Benincasa
307ebc9454 fix: download external subtitles as part of scanning 2026-04-16 13:54:52 -04:00
Christian Benincasa
5724999b28 fix: include subtitle streams in minted programs from PlexApiClient
Also explicitly excludes CC tracks that are embedded in the video stream
2026-04-16 12:18:21 -04:00
Christian Benincasa
70ceb60e47 chore: add claude command to resolve drizzle merge conflicts 2026-04-15 18:25:30 -04:00
Christian Benincasa
9e592b1c6b refactor: bind FfmpegInfo in singleton scope 2026-04-15 07:47:30 -04:00
Christian Benincasa
cdf0eb99e8 fix: only create one instance of ChildProcessHelper per-FfmpegInfo 2026-04-15 07:46:13 -04:00
Christian Benincasa
30ff2f88fc fix: guide generation after initial server start should always happen 2026-04-14 17:08:33 -04:00
Christian Benincasa
3b814a716b docs: also add PBS backup exclusion for data.ms to FAQ 2026-04-14 11:29:47 -04:00
Christian Benincasa
0b65142666 revert: "fix: add high-water mark deletion to hls session"
This reverts commit 6a030f168b.
2026-04-12 19:19:05 -04:00
Christian Benincasa
d40e232960 chore: add vanilla settings and basic commands for claude 2026-04-12 14:00:00 -04:00
Christian Benincasa
9ab26976c2 fix: backdate initial guide generation at startup 2026-04-11 09:00:32 -04:00
Christian Benincasa
b62507274d fix: include programs that start or end within requested guide date range 2026-04-11 08:23:35 -04:00
Christian Benincasa
3e7ef16e62 docs: add section on excluding data.ms from PBS 2026-04-11 08:14:47 -04:00
Christian Benincasa
149e3f7129 chore: make husky commit-msg executable v1.2.11 2026-04-10 12:52:10 -04:00
Christian Benincasa
bee5f60857 chore: make husky pre-commit executable 2026-04-10 12:52:10 -04:00
Christian Benincasa
c95d8028a6 refactor: break up DB classes into focused repositories 2026-04-10 12:52:10 -04:00
Christian Benincasa
09ce8d4437 fix: split media source page from scanner settings
remove duplication of media source table
2026-04-09 16:41:42 -04:00
Christian Benincasa
c606fa1c86 fix: persist table sort settings in local storage 2026-04-09 16:41:42 -04:00
Christian Benincasa
c9266d436f fix: properly handle asynchronous indexing when scanning plex collections 2026-04-09 13:47:34 -04:00
Christian Benincasa
013081475f refactor: log full error when subtitle download fails 2026-04-09 11:36:20 -04:00
Christian Benincasa
b97531440c fix: do not leak FDs in local music scanner 2026-04-08 19:18:42 -04:00
Christian Benincasa
2c7fa22921 fix: manually trigger temp db migration file cleanup
otherwise it wont happen until exit
2026-04-08 17:34:34 -04:00
Christian Benincasa
9410efac7a fix: properly set child log levels on level change from UI 2026-04-04 08:19:49 -04:00
Christian Benincasa
1ab22ccc22 fix: explicitly set state=ok for DB updates and search indexing 2026-04-04 07:50:33 -04:00
Christian Benincasa
00d7d6bc90 docs: update run docs for nvidia compose 2026-04-03 09:52:44 -04:00
Christian Benincasa
61b2839a39 refactor: remove unused stream cache code 2026-04-03 08:25:44 -04:00
Christian Benincasa
18e84445b1 fix(qsv): ensure setpts filter is only run on software v1.2.10 2026-04-03 08:03:08 -04:00
Christian Benincasa
4e46aa5c9e fix: always set state = ok for newly minted groupings 2026-04-02 10:35:17 -04:00
Corey Vaillancourt
b658ddb4ab fix: improve user experience of channel overview on mobile (#1768)
* fix: improve user experience of channel overview on mobile

Added:
- Scrollable tabs to view media
- Changed heading sizes
- Scrollable tabs on program details
- Fixed bullet being added to end incorrectly
- Improved program info ux
- Fixed an issue with `useState` inside of `useEffect`

* fix: stack channel icon, name and number

---------

Co-authored-by: Corey Vaillancourt <coreyjv@gmail.com>
v1.2.9
2026-03-30 19:45:07 -04:00
Christian Benincasa
73954b2a26 fix: more QSV pixel format fixes (#1723) 2026-03-30 15:28:55 -04:00
Corey Vaillancourt
2d1f0cbc87 fix: improve user experience of tasks page on mobile (#1767)
Co-authored-by: Corey Vaillancourt <coreyjv@gmail.com>
2026-03-30 15:28:43 -04:00
Corey Vaillancourt
92f3e0ab85 fix: deduplicate programs before counting in channel overview tabs (#1763)
The movie (and music video / other video)counts in the channel
overview were inflated because the same program was counted
once per lineup occurrence rather than once per unique program.
Episodes and tracks were unaffected since they already counted unique
shows/artists.
Adding uniqBy(uuid) before the groupBy fixes the count for
all tab types.

Fixes #1634.

Co-authored-by: Corey Vaillancourt <coreyjv@gmail.com>
2026-03-30 12:51:06 -04:00
Christian Benincasa
805b6eaa28 fix: add high-water mark deletion to hls session (#1737)
Also ensures that deletion happens sequentially (no fire-and-forget)
2026-03-30 12:15:47 -04:00
Corey Vaillancourt
e09c46a19a fix(search): render "starts with" operator as < in filter string (#1762)
* fix(search): render "starts with" operator as < in filter string

Add missing entry to `indexOperatorToSyntax` so that
`searchFilterToString`
converts the `starts with` API operator back to `<` instead of
displaying
the literal string "starts with" in the filter box.
Add unit tests to prevent regression.

Fixes #1760

* refactor: use helper method in test

---------

Co-authored-by: Corey Vaillancourt <coreyjv@gmail.com>
2026-03-30 11:58:05 -04:00
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