Gauvain
2af252d639
Merge branch 'develop' into fix/ui-and-bugs
2026-06-12 11:03:08 +02:00
Gauvain
96116e0451
feat(settings): show Actions run number for CI builds, hide store build number ( #1711 )
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (Phone) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (TV) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone - Unsigned) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (Unsigned) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (i18n:check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
🛡️ Trivy Security Scan / 🔎 Filesystem scan (push) Has been cancelled
2026-06-11 11:08:07 +02:00
Gauvain
d397233991
fix(filters): memoize useFilterOptions and drop debug logging
...
The hook returned a fresh array on every render (and console.logged
it). The unstable identity cascaded into list-header re-creation and,
under heavy re-rendering, tripped React maximum-update-depth.
2026-06-11 00:42:54 +02:00
Gauvain
7f020120b3
fix(settings): enforce admin-locked settings at write time
...
updateSettings persisted any key into user storage, including ones the
admin locked via the Streamyfin plugin. The read memo already overrides
locked keys at runtime, but the write still landed in storage and
several settings screens never disable their controls, so locked
settings appeared changeable. Strip locked keys before persisting.
2026-06-11 00:42:53 +02:00
Gauvain
0a2dadffd2
feat(settings): graduated version tracking (build, branch, commit) ( #1677 )
...
🏗️ Build Apps / 🤖 Build Android APK (Phone) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (TV) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone - Unsigned) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (Unsigned) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
🛡️ Trivy Security Scan / 🔎 Filesystem scan (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (i18n:check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
Co-authored-by: retardgerman <78982850+retardgerman@users.noreply.github.com >
2026-06-10 17:19:28 +02:00
boolemancer
1685571406
fix(downloads): Use mediaSource.Id instead of item.Id in direct download URL ( #1666 )
...
🏗️ Build Apps / 🤖 Build Android APK (Phone) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (TV) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone - Unsigned) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (Unsigned) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🌐 Translation Sync / sync-translations (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
🛡️ Trivy Security Scan / 🔎 Filesystem scan (push) Has been cancelled
Co-authored-by: lance chant <13349722+lancechant@users.noreply.github.com >
Co-authored-by: Gauvain <contact@uruk.dev >
2026-06-08 14:59:29 +02:00
lance chant
338fb9713b
fix: qr code scanning not working ios ( #1619 )
...
Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com >
2026-06-01 12:38:54 +02:00
lance chant
939fd2512d
fix: max episodes count ( #1554 )
...
Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com >
2026-06-01 12:38:34 +02:00
Fredrik Burmester
a4d4f588fb
Merge remote-tracking branch 'origin/chore/sdk-56-migration' into feat/tv-interface
...
# Conflicts:
# bun.lock
# package.json
2026-05-30 21:44:02 +02:00
Fredrik Burmester
6876ce046f
fix(player): retain subtitle language and mode across episodes
...
Carry the live subtitle/audio selection to the next episode on all TV
navigation paths (next/prev buttons, autoplay) and feed TV subtitle modal
selections back into player state via onSubtitleIndexChange so the chosen
track is what gets carried.
Rank subtitles by language plus forced/hearing-impaired mode, with a
no-language fallback (mode + codec + position), and use an explicit match
flag so a deliberate "off" selection is retained too.
2026-05-30 20:15:24 +02:00
Fredrik Burmester
a190122eea
Merge branch 'develop' into feat/tv-interface
...
# Conflicts:
# .gitignore
# app/(auth)/(tabs)/(home)/_layout.tsx
# components/PlatformDropdown.tsx
# components/search/DiscoverFilters.tsx
# components/video-player/controls/BottomControls.tsx
# components/video-player/controls/TrickplayBubble.tsx
# modules/mpv-player/ios/MPVLayerRenderer.swift
2026-05-30 11:08:22 +02:00
Fredrik Burmester
62c86533b1
fix(settings): preserve app defaults for unlocked plugin values
2026-05-30 10:03:56 +02:00
Gauvain
0f86c776ba
feat(player): add chapter markers and chapter list ( #1586 )
...
Co-authored-by: retardgerman <78982850+retardgerman@users.noreply.github.com >
2026-05-30 09:22:23 +02:00
Gauvain
0ba3f44615
chore: upgrade Biome to 2.4.16, clean up lint, and fix TV password modal ( #1598 )
2026-05-29 08:32:21 +02:00
Gauvain
38d638cdeb
chore(deps): migrate to Expo SDK 56 (Phase 1 - compat)
...
Compatibility migration from SDK 55 to SDK 56 (react-native-tvos 0.85.3-0,
React 19.2.3). Phase 1 = breaking changes needed to build; new-feature
adoption and TypeScript 6 are deferred to Phase 2.
- Deps aligned to SDK 56 via `expo install --fix` (all expo-* 56.x, screens
4.25.2, reanimated 4.3.1, worklets 0.8.3, gesture-handler 2.31.x, svg 15.15.4)
- react-native -> react-native-tvos@0.85 .3-0; react/react-dom 19.2.3
- expo-router forked React Navigation: ran the SDK 56 codemod
(@react-navigation/* imports -> expo-router/*), removed the 3 now-unused
direct @react-navigation/* dependencies, retyped NestedTabPageStack via
expo-router Stack.Screen options
- StyleSheet.absoluteFillObject -> absoluteFill (removed from RN 0.85 types)
- app.json ios.deploymentTarget 15.6 -> 16.4 (SDK 56 minimum)
- CI: Xcode 26.2 -> 26.4; made xcode-version Renovate-managed via a
customManager + xcodereleases customDatasource
- @babel/core 7.29.7; dropped version-locked screens/codegen bun-patches
(no longer applicable on SDK 56)
Deferred to Phase 2: TypeScript 6 (toolchain: @types/node, jest globals,
UdpSocket typing), @expo/vector-icons -> @react-native-vector-icons codemod.
typecheck passes. expo-doctor: 2 known failures remain (react-native-track-player
New Arch fork; typescript major mismatch pending the deferred TS6 bump).
2026-05-28 23:56:03 +02:00
Lance Chant
6b0f8b833f
Chore: log cleanups, and Vo settings enablement
...
Added the ability to swap VO options for android only between "GPU" and
"GPU-next"
Removed some console logs from previous debugging
Added the ability to see what VO is being used to render in the video
player
Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com >
2026-05-25 14:19:36 +02:00
Lance Chant
cc89b5df89
fix: a few playback and home recommendation issues
...
Fixed the home recommendation display to use proper images.
Fixed an issue for the subtitles background rendering
Fixed playback resume from position
Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com >
2026-05-21 18:04:45 +02:00
Steve Byatt
11a4f14732
feat(android-tv): TV recommendations ( #1575 )
2026-05-21 13:55:26 +02:00
Steve Byatt
121ff0eea0
feat(tvos): Add TopShelf Extension ( #1561 )
2026-05-21 08:47:45 +02:00
lance chant
e84cea6427
chore: cleanup ( #1565 )
2026-05-20 15:29:24 +02:00
lance chant
92deba14f3
Adding QR code login ( #1557 )
...
Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com >
2026-05-20 08:41:49 +02:00
lance chant
ece5750d34
Feat/tv interface uniform scale ( #1562 )
...
Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com >
2026-05-20 07:56:39 +02:00
Fredrik Burmester
c35e97f388
feat(tv): persist downloaded opensubtitles across app restarts
2026-02-01 19:19:32 +01:00
Fredrik Burmester
bc575c26c1
feat(mpv): add opaque subtitle background with adjustable opacity (iOS only)
2026-02-01 17:29:31 +01:00
Fredrik Burmester
3d406314a4
feat(tv): add configurable inactivity timeout with auto-logout
2026-01-31 22:29:39 +01:00
Fredrik Burmester
81cf672eb7
fix: convert native.js to native.ts and fix imports for EAS builds
...
- Convert utils/profiles/native.js to TypeScript
- Add barrel export index.ts for profiles
- Update all imports to use explicit file paths instead of barrel export
- Fix .gitignore to only ignore root-level profiles/ directory
2026-01-31 18:54:23 +01:00
Fredrik Burmester
1ec887c29e
feat(tv): new login design
2026-01-31 11:49:15 +01:00
Fredrik Burmester
85a74a9a6a
refactor: login page
2026-01-31 10:52:21 +01:00
Fredrik Burmester
6e85c8d54a
feat(tv): add user switching from settings
2026-01-31 09:53:54 +01:00
Fredrik Burmester
2c0a9b6cd9
feat(tv): migrate login to white design with navigation modals
2026-01-29 12:12:20 +01:00
Fredrik Burmester
409629bb4a
feat(tv): add background theme music playback
2026-01-28 22:08:32 +01:00
Fredrik Burmester
9763c26046
fix(player): handle remote streams and live tv containers correctly
2026-01-28 19:40:18 +01:00
Fredrik Burmester
1cbb46f0ca
feat(player): add mpv cache and buffer configuration
2026-01-26 20:46:42 +01:00
Fredrik Burmester
7fe24369c0
feat(tv): add language-based audio and subtitle track selection
2026-01-26 19:32:06 +01:00
Fredrik Burmester
dca7cc99f2
feat(tv): add setting to show series poster on episode detail pages
2026-01-25 23:01:08 +01:00
Fredrik Burmester
875a017e8c
feat(tv): add scalable typography with user-configurable text size
2026-01-25 22:55:44 +01:00
Fredrik Burmester
1f454c0f12
feat(tv): add Apple TV+ style hero carousel to home page
2026-01-24 23:43:40 +01:00
Fredrik Burmester
26e8489384
fix(tv): season modal using correct modal
2026-01-22 08:37:35 +01:00
Fredrik Burmester
be2fd53f31
fix(tv): resolve subtitle selector index mismatch using VideoContext tracks
2026-01-22 08:29:57 +01:00
Fredrik Burmester
506d8b14dc
fix(tv): wrap actor page in scrollview to fix focus navigation between sections
2026-01-20 22:15:00 +01:00
Fredrik Burmester
0353a718f3
feat(tv): seerr
2026-01-20 22:15:00 +01:00
Fredrik Burmester
f9a3a1f9f6
feat(tv): add live subtitle track refresh after opensubs download
2026-01-18 17:44:13 +01:00
Fredrik Burmester
d545ca3584
fix(tv): modals
2026-01-18 15:22:44 +01:00
Fredrik Burmester
ee3a288fa0
wip
2026-01-18 10:38:06 +01:00
Fredrik Burmester
56ffec3173
fix(player): add null guards for item in play settings
2026-01-16 21:26:56 +01:00
Fredrik Burmester
28b67f3ad6
fix(mpv): handle audio track selection for transcoded streams on iOS
2026-01-15 07:53:15 +01:00
Alex
ad54823f96
refactor: downloads to minimize prop drilling and improve layout and design ( #1337 )
...
Co-authored-by: Alex Kim <alexkim@Alexs-MacBook-Pro.local >
Co-authored-by: Fredrik Burmester <fredrik.burmester@gmail.com >
Co-authored-by: Simon-Eklundh <simon.eklundh@proton.me >
2026-01-11 17:38:41 +01:00
Fredrik Burmester
467bea7192
feat(network): add local network auto-switch feature ( #1334 )
2026-01-11 13:08:14 +01:00
Fredrik Burmester
62b45121e5
feat(settings): add toggle to disable auto-play next episode ( #1342 )
2026-01-11 13:07:38 +01:00
Fredrik Burmester
beba4853b9
Revert "feat(settings): add toggle to disable auto-play next episode"
...
This reverts commit d1b15a9dde .
2026-01-11 10:19:35 +01:00