Commit graph

10363 commits

Author SHA1 Message Date
Claude
7635471412
Back up the server pieces: Smithflix Hub and AI playlists script [skip ci]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 13:28:58 -04:00
Claude
7964697665
CI: keep the web app release when pruning old app releases
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 12:33:01 -04:00
Claude
fea1d93da1
Fix missing import in search
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 12:29:53 -04:00
Claude
8066897df1
CI: report compile errors as annotations
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 12:27:26 -04:00
Claude
7aa0c873a3
Requests: 'Not on Smithflix yet' home row and 'Request on Smithflix' search row via the Smithflix Hub
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 12:23:20 -04:00
Claude
76a93b2efe
Home: drop row fading, align focused row to top, soft bottom fade, one-press Up to top bar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 09:17:13 -04:00
Claude
2a5d03698c
Guide button in the top bar; home rows show only whole rows
The previous commit only added the Guide entry to the enum; the button itself
didn't make it in. Home: the focused row sits at the bottom of the screen and
partial rows are faded out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 09:01:44 -04:00
Claude
11ca4134f5
Guide button in the top bar; guide opens as its own section
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 08:44:51 -04:00
Claude
f7a212ba73
Bigger cards on the home screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 08:34:38 -04:00
Claude
c143045463
Preview clips behind the home rows
- Rest on a movie or episode and a muted clip from ~25% in fades in behind the rows,
  plays ~8s and fades out; streams the original file with audio disabled (no transcoding)
- Home network only by default; Settings > About cycles home only / always / off
- Darkening gradient over the clip keeps rows readable

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 20:32:24 -04:00
Claude
a64a7be6aa
Glass on the details screen and Live TV guide
- Translucent glass panel behind the title, info, summary and action buttons
- Glass action buttons with a light edge; logo gradient when focused; rounder corners
- Live TV guide surfaces are translucent navy; faint glass tint on program cells

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 20:30:40 -04:00
Claude
30513f9fd7
Show all AI playlists as home rows
Because you watched, the seasonal list, Family Movie Night and Hidden Gems each get a
row, in that order, at the AI picks position.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 20:28:39 -04:00
Claude
717a73e4fd
Glass look and stronger Smithflix colours
- Frosted pill behind Home/Search, glass buttons with a bright top edge
- Focused buttons use the logo gradient; active tab is translucent Smithflix blue
- Focused cards get a blue-to-cyan outline
- Translucent navy settings panel and popovers; glass grid buttons (Live TV guide)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 19:14:15 -04:00
Claude
1be82f9b52
Connect to Smithflix button and automatic home-network routing
- First launch offers one-click 'Connect to Smithflix' (media.smithflix.us); entering
  any other server still works
- On start, use the server's LAN address when it answers with the same server ID,
  otherwise the public address (keeps home viewing off the VPS)
- Settings > About: toggle and status for home-network routing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 18:40:49 -04:00
Claude
671f225f05
Live TV guide artwork, live progress bars, Smithflix colours
- Guide header falls back to the matching library poster for the selected program
- On Now cards show how far into the program the channel is
- Focus highlights, buttons, progress bars and badges use the Smithflix blue/cyan;
  navy background

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 18:38:26 -04:00
Claude
d4ccd12350
Persist the AI picks home row position
The Jellyfin server validates homesectionN values against its own section types and
silently drops unknown ones, so the AI row never saved. Keep its position in a separate
custom key (auto below Continue watching / hidden / chosen slot) and store that slot as
'none' on the server.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 18:11:19 -04:00
Claude
4f20f9d34f
Live TV: library artwork for programs, drop recording buttons
- Jellyfin drops Tunarr's guide posters, so On Now cards borrow the poster of the
  matching movie/show in the library (matched by title and year)
- Remove Recorded TV / schedule buttons; Tunarr channels don't record

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 18:05:30 -04:00
Claude
6fdf0834e2
Make the AI picks row reliable on cold start
- Wait for the user's saved home layout before building rows
- Look up the playlist for the signed-in user explicitly, retrying if the first lookup fails

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 17:52:12 -04:00
Claude
29da205706
Add in-app updates
- On launch, check the public smithflix-releases repo and offer newer versions
- Download with progress and hand the APK to the system installer
- Settings > About > Check for updates
- Build publishes smithflix.apk + version.json there (needs RELEASES_TOKEN secret)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-10 17:10:16 -04:00
Claude
3a2aa6d835
Make AI picks its own home section
- New 'Because you watched (AI picks)' option in Settings > Home sections
- On by default (below Continue watching) for new and existing layouts, added once
  so removing or moving it in settings sticks

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-09 22:17:07 -04:00
Claude
a3e77b8c8c
Fix empty AI picks row; tidy splash and version label
- The row asked for 0 items (chunk size 0), so it was removed right after appearing
- Don't draw the app logo over the server's own splash image
- Version label reads 'Smithflix x.y.z'

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-09 21:54:47 -04:00
Claude
0cb5b63ece
Add 'Because you watched' AI picks row under Continue Watching; finish logo swap
- Home screen shows the user's AI playlist as a row right below Continue Watching
- Remove the API 24+ copy of the Jellyfin logo that overrode the Smithflix one
- Brand colours for the logo colour resources

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-09 21:26:40 -04:00
Claude
edcee2798a
Build: add swap and trim memory use so release builds finish on private runners
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-09 20:56:40 -04:00
Claude
117978e354
Rebrand as Smithflix and add APK build workflow
- New app id (us.smithflix.tv) so it installs next to the official Jellyfin app
- Smithflix name, launcher icon, Android TV banner and in-app logo
- Signed release APK built on every push and published to the 'latest' release

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-09 20:38:42 -04:00
Julien Muggli
09c912d392 Translated using Weblate (French)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2026-10-06 12:00:33 +00:00
renovate[bot]
a3487e5342 Update dependency ubuntu to v26 2026-10-06 13:34:52 +02:00
Oatavandi
398bfffcb0 Translated using Weblate (Tamil)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2026-10-06 07:00:47 +00:00
Oatavandi
9200714891 Translated using Weblate (Tamil)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ta/
2026-10-06 04:41:14 +00:00
Oatavandi
9bb37a6637 Translated using Weblate (Tamil)
Currently translated at 84.2% (560 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2026-10-06 04:41:13 +00:00
Vitalijus
31ac778564 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2026-10-05 16:00:32 +00:00
spurdl
2ca1344288 Translated using Weblate (Finnish)
Currently translated at 99.6% (663 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2026-10-05 13:00:34 +00:00
spurdl
d729678787 Translated using Weblate (Finnish)
Currently translated at 94.7% (630 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2026-10-05 09:00:35 +00:00
Pedro Oliveira Fernandes
3397f80a1e Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.5% (649 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2026-10-04 21:00:32 +00:00
Meloakartas
efc0a3d1a0
Fix season titles in Recently Added (#5857)
* Fix season titles in recently added

* Refactor `when` expressions in `BaseItemDtoBaseRowItem` and remove `BaseItemDtoBaseRowItemTests`

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2026-10-03 09:00:49 +00:00
renovate[bot]
f98cd6a1ef Update acra to v5.14.2 2026-10-03 10:40:59 +02:00
renovate[bot]
82e3553578 Update gradle/actions action to v6.4.0 2026-10-03 10:40:44 +02:00
wxinchun
d0f526f929 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2026-10-02 13:00:31 +00:00
krvi
0c48c93244 Translated using Weblate (Faroese)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fo/
2026-10-01 18:00:31 +00:00
INOUE Daisuke
625be8ab09 Translated using Weblate (Japanese)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2026-10-01 15:00:38 +00:00
INOUE Daisuke
8b01789b34 Translated using Weblate (Japanese)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2026-10-01 12:49:46 +00:00
INOUE Daisuke
3469341744 Translated using Weblate (Japanese)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2026-10-01 12:43:35 +00:00
Antonio Toledo
45d7bb504f Translated using Weblate (Spanish)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2026-10-01 12:43:34 +00:00
newton181
dd61911f74 Translated using Weblate (Spanish (Latin America))
Currently translated at 97.7% (650 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2026-09-30 22:05:35 +00:00
dms1e4
3737e9d8aa Translated using Weblate (Italian)
Currently translated at 99.8% (664 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2026-09-30 22:05:32 +00:00
Helak
274c1ee71b Translated using Weblate (Czech)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2026-09-30 22:05:29 +00:00
krvi
d78f7e6138 Translated using Weblate (Faroese)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fo/
2026-09-30 20:00:31 +00:00
krvi
641a2c7ee7 Translated using Weblate (Faroese)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fo/
2026-09-29 17:19:23 +00:00
INOUE Daisuke
251e719662 Translated using Weblate (Japanese)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2026-09-29 15:00:35 +00:00
Vitalijus
528becc4d7 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2026-09-29 10:00:33 +00:00
Andi Chandler
09d61ab681 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (665 of 665 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2026-09-29 10:00:33 +00:00