Commit Graph

454 Commits

Author SHA1 Message Date
unkin-agent baa16b6586 fix: make transcode leases ownership-checked and cleanup-aware
Cleanup never matched a live session because the controller registered empty
manifest and segment paths, renewal was a read-modify-write that could revert a
takeover, and the takeover script compared an ISO date to a number, so it errored.

- populate the session record's manifest and segment paths from the playlist path
- renew the lease via a Lua compare-and-set on the owning pod
- store the lease expiry as unix milliseconds so the scripts can compare it
- retain the session record past its lease so an orphan can still be taken over
- test the Redis store against a real Redis, including the renew-vs-takeover race
- drop the live stream record nothing ever read back
2026-09-12 10:19:29 +10:00
unkin-agent e23d1a23be feat: add a durable transcode session store
Transcode state lives only in the process that started ffmpeg, so a pod restart
drops every in-flight HLS stream with no way for a peer to pick it up.

- add ITranscodeSessionStore plus the TranscodeSession and LiveStreamSession records
- add RedisTranscodeSessionStore with TTL leases and an atomic Lua takeover script
- add NullTranscodeSessionStore for single-instance deployments
- pick the store from Jellyfin:TranscodeStore:RedisConnectionString at startup
2026-09-11 23:56:19 +10:00
unkin-agent c8a693ae17 feat(tools): add SQLite to PostgreSQL migration tool
Existing installs hold their whole library in jellyfin.db, so switching to the
PostgreSQL provider needs a one-shot data move.

- add Jellyfin.DbMigrator reading SQLite tables and bulk-writing them to PostgreSQL
- validate table names against the source schema before generating SQL
- upload a pre-migration copy of the SQLite file to S3 when S3_BACKUP_BUCKET is set
- emit a per-table row-count report and support a dry-run mode
2026-09-11 23:56:19 +10:00
unkin-agent e68455f0ed feat(db): add opt-in PostgreSQL database provider
Multi-replica deployments cannot share a SQLite file, so the database has to
move to a server engine before the rest of the HA work is usable.

- add Jellyfin.Database.Providers.PostgreSQL with an EF Core Npgsql provider
- register the provider and a pooled NpgsqlDataSource when DatabaseType is Jellyfin-PostgreSQL
- accept postgresql:// URIs and POSTGRES_CONNECTION_STRING alongside CustomProviderOptions
- add container-backed provider, CRUD, concurrency and migration tests
2026-09-11 23:56:04 +10:00
renovate[bot] 0fc380b4a9 Update dependency BitFaster.Caching to 2.6.1 2026-09-07 19:46:42 +00:00
renovate[bot] a5880c8622 Update dependency UTF.Unknown to 2.7.0 2026-08-22 03:30:29 +00:00
renovate[bot] 2bb281ad4c Update Microsoft to 5.9.0 2026-08-17 19:07:58 +00:00
renovate[bot] 8cb7297e27 Update dependency Microsoft.NET.Test.Sdk to 18.9.0 2026-08-14 11:07:01 +00:00
renovate[bot] 36fccdf6d4 Update Microsoft to 10.0.11 2026-08-12 04:43:32 +00:00
renovate[bot] 2deb97bac3 Update dependency z440.atl.core to 7.16.0 2026-08-11 14:01:27 +00:00
renovate[bot] ef84408199 Update dependency SharpCompress to 0.50.4 2026-08-05 15:55:11 +00:00
renovate[bot] 67b8684f3c Update dependency FsCheck.Xunit.v3 to 3.3.4 2026-07-26 00:07:59 +00:00
renovate[bot] 949fa4b513 Update dependency SharpCompress to 0.50.1 2026-07-25 16:53:47 +00:00
Bond-009 25d4e207f7 Merge pull request #17317 from jellyfin/renovate/sharpcompress-0.x
Update dependency SharpCompress to 0.50.0
2026-07-21 13:38:02 +02:00
Cody Robibero 0f88fe3c7f Merge pull request #17311 from dkanada/book-progress
extract page count from archives and PDFs
2026-07-20 20:50:25 -04:00
renovate[bot] e04ac6fd35 Update dependency SharpCompress to 0.50.0 2026-07-20 23:46:31 +00:00
renovate[bot] 1a9bd2417a Update Microsoft 2026-07-14 20:11:54 +00:00
dkanada 9e996d612c extract page count from archives and PDFs 2026-07-12 19:46:56 +09:00
renovate[bot] 820e7b91da Update Microsoft to 5.6.0 2026-07-02 23:57:21 +00:00
Bond-009 62e6cf0196 Merge pull request #17141 from jellyfin/renovate/swashbuckle-aspnetcore-monorepo
Update swashbuckle-aspnetcore monorepo to 10.2.3
2026-06-28 11:19:32 +02:00
renovate[bot] da515e94b1 Update Microsoft 2026-06-23 08:58:47 +00:00
renovate[bot] 2feb588db3 Update swashbuckle-aspnetcore monorepo to 10.2.3 2026-06-22 19:13:35 +00:00
renovate[bot] 1176c2d329 Update dependency SharpFuzz to 2.3.0 2026-06-16 11:32:11 +00:00
renovate[bot] 9375f31bd3 Update dependency SharpCompress to 0.49.1 2026-06-15 16:28:58 +00:00
renovate[bot] 8d0003533e Update dependency Serilog.Settings.Configuration to 10.0.1 2026-06-15 08:45:54 +00:00
Bond-009 1a9ed49083 Merge pull request #17075 from jellyfin/renovate/polly-monorepo
Update polly monorepo to 8.7.0
2026-06-14 12:13:31 +02:00
renovate[bot] e198c430ae Update swashbuckle-aspnetcore monorepo to 10.2.1 2026-06-13 19:51:17 +00:00
renovate[bot] 58508e60a4 Update polly monorepo to 8.7.0 2026-06-11 23:57:34 +00:00
renovate[bot] 2ede3c1342 Update Microsoft to 10.0.9 2026-06-11 09:16:21 +00:00
Bond-009 d8acea21fb Merge pull request #16444 from dkanada/comic-providers
migrate local comic providers to server codebase
2026-06-10 19:20:20 +02:00
Bond-009 0d30a59564 Merge pull request #16991 from jellyfin/renovate/z440.atl.core-7.x
Update dependency z440.atl.core to 7.15.3
2026-06-01 21:58:41 +02:00
renovate[bot] 7f8e39b21e Update dependency z440.atl.core to 7.15.3 2026-05-31 10:15:42 +00:00
renovate[bot] f178e3ebff Update swashbuckle-aspnetcore monorepo to 10.2.0 2026-05-30 18:49:39 +00:00
Bond-009 cbd0c5b841 Update dependency z440.atl.core to 7.14.0 (#16938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-27 19:13:12 +02:00
Bond-009 321b83c693 Update dependency Microsoft.NET.Test.Sdk to 18.6.0 (#16943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-27 19:13:02 +02:00
Bond_009 f0e01e33c4 Unpin SkiaSharp 2026-05-26 21:37:53 +02:00
renovate[bot] fdfdf34cdb Update dependency Microsoft.NET.Test.Sdk to 18.6.0 2026-05-26 18:59:55 +00:00
renovate[bot] dd3aa04422 Update dependency z440.atl.core to 7.14.0 2026-05-26 07:28:33 +00:00
renovate[bot] f9eb550cbb Update skiasharp monorepo 2026-05-25 11:02:16 +00:00
Bond-009 c436c9ff29 Merge pull request #16870 from jellyfin/renovate/coverlet.collector-10.x
Update dependency coverlet.collector to 10.0.1
2026-05-19 18:26:01 +02:00
Bond-009 43e869f832 Update dependency Svg.Skia to 3.7.0 (#16371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-18 20:26:14 +02:00
renovate[bot] 3430f4fa57 Update dependency Svg.Skia to 3.7.0 2026-05-18 13:27:37 +00:00
renovate[bot] 3a1bd5984d Update dependency BitFaster.Caching to 2.6.0 2026-05-18 13:27:29 +00:00
renovate[bot] 7e7bacd013 Update dependency coverlet.collector to 10.0.1 2026-05-18 13:27:11 +00:00
renovate[bot] 8435dfb779 Update Microsoft to 10.0.8 2026-05-12 22:46:52 +00:00
Niels van Velzen 10de1ce8fe Merge pull request #16272 from jellyfin/renovate/morestachio-5.x
Update dependency Morestachio to 5.0.1.670
2026-05-04 18:01:11 +02:00
Bond-009 105492ac28 Merge pull request #16690 from jellyfin/renovate/diacritics-4.x
Update dependency Diacritics to 4.1.8
2026-04-29 21:40:43 +02:00
renovate[bot] e9af1588f2 Update dependency Microsoft.NET.Test.Sdk to 18.5.1 2026-04-28 18:32:08 +00:00
renovate[bot] a35787b82b Update dependency FsCheck.Xunit.v3 to 3.3.3 2026-04-26 13:58:51 +00:00
Bond-009 b1e2419c65 Merge pull request #16666 from Shadowghost/xunit3
Upgrade to xunit v3
2026-04-24 18:59:31 +02:00