Commit graph

403 commits

Author SHA1 Message Date
DynamycSound
36052f99fc
fix(android): keep app language out of per-profile settings sync 2026-06-08 04:32:04 +00:00
siriusvoid
bdc05843b9 feat: add "Content Warnings" toggle from tv version 2026-06-08 03:38:33 +00:00
tapframe
0b5e409372 feat: player ui parity phase 2 2026-06-08 04:13:23 +05:30
tapframe
8ecb392c74 ref: design tokens 2026-06-08 01:38:47 +05:30
paregi12
8b2df4b2d9 Merge remote-tracking branch 'upstream/cmp-rewrite' into cmp and resolve conflicts 2026-06-07 12:37:57 +05:30
tapframe
daac198e1b feat(badges): change pos - top,bottom 2026-06-07 03:09:29 +05:30
tapframe
ab5415f477 feat: clear cw cache 2026-06-06 23:31:32 +05:30
tapframe
406ef99cfc feat(MPV): Spatial Audio for ios 2026-06-06 21:48:35 +05:30
WhiteGiso
3a87ecce0f feat(ios): rapid profile switch for liquid glass 2026-06-06 00:04:26 +02:00
paregi12
34cde02a18
Merge branch 'NuvioMedia:cmp-rewrite' into cmp 2026-06-05 16:51:15 +05:30
tapframe
13fe6090c6 cleanup logs 2026-06-04 16:25:51 +05:30
tapframe
20b1fd5408 feat(p2p):preload functionality 2026-06-04 16:09:56 +05:30
tapframe
47e110f582 Refactor P2P streaming implementation and enhance torrent metadata handling
- Updated MainAppContent to use p2pFileIdx and p2pFilename for improved torrent handling.
- Enhanced P2pStreamRequest to include magnetUri for better P2P stream requests.
- Modified PlayerLaunch and PlayerScreen to accommodate new torrentMagnetUri parameter.
- Improved StreamItem to extract P2P metadata from clientResolve when top-level fields are missing.
- Added tests for StreamItem to validate P2P metadata extraction logic.
- Introduced warmup and shutdown methods in P2pStreamingEngine for better state management.
- Created build script for TorrServer Android binaries and updated APK installation logic.
2026-06-04 15:55:25 +05:30
paregi12
f636f71e1a
Merge branch 'NuvioMedia:cmp-rewrite' into cmp 2026-06-02 15:49:37 +05:30
tapframe
16dcac85f0 feat: toggle for size badge, localise some hardcoded strings 2026-06-01 16:13:23 +05:30
paregi12
19c6059855 Merge remote-tracking branch 'upstream/cmp-rewrite' into cmp
# Conflicts:
#	composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreen.kt
#	composeApp/src/commonMain/kotlin/com/nuvio/app/features/streams/StreamModels.kt
#	composeApp/src/fullCommonMain/kotlin/com/nuvio/app/features/plugins/PluginRuntime.kt
2026-05-31 18:17:51 +05:30
tapframe
c225f9aacb Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-05-31 15:49:19 +05:30
Nayif
9d279e95f7
Merge pull request #1201 from guuilp/cmp-rewrite
perf(trakt): reduce sync time from 74s to <3s via on-the-fly remapping
2026-05-31 15:48:48 +05:30
tapframe
df15c4d2f2 feat: support streambadges globally 2026-05-31 15:41:40 +05:30
tapframe
d757f1baed Merge branch 'pr/1211' into cmp-rewrite
# Conflicts:
#	composeApp/src/commonMain/kotlin/com/nuvio/app/App.kt
2026-05-31 14:49:00 +05:30
tapframe
55eb5ea2eb Merge branch 'cmp-rewrite' into skoruppa/cmp-rewrite 2026-05-31 14:06:35 +05:30
Guilherme Lima Pereira
73e97fc9b0 perf(trakt): reduce sync time from 74s to <3s via on-the-fly remapping 2026-05-30 07:58:45 -03:00
tapframe
1c9ae760d9 Avoid blocking P2P teardown 2026-05-30 03:08:26 +05:30
tapframe
f14104bcfd Clear P2P settings on account wipe 2026-05-30 02:15:47 +05:30
tapframe
5a47d1fe56 Add P2P playback integration 2026-05-30 02:09:23 +05:30
tapframe
1213e81393 Add Android P2P assets 2026-05-30 01:30:52 +05:30
skoruppa
464cfb3059 Port improved external players support 2026-05-29 11:38:11 +02:00
tapframe
388dcbdf0f Merge branch 'feat/i18n-fr-consolidated' into cmp-rewrite 2026-05-29 03:08:30 +05:30
tapframe
e36baa60ff feat: support for fusion filter tags for cloud streams 2026-05-29 01:27:43 +05:30
paregi12
23afaf9ad7 Merge remote-tracking branch 'upstream/cmp-rewrite' into cmp
# Conflicts:
#	composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt
2026-05-28 08:21:03 +05:30
tapframe
bbbb852946 fix: persist audiotrack on stream reload
fixes #1163
2026-05-27 11:31:54 +05:30
tapframe
0c0c616bed fix: persist audiotrack on stream reload
fixes #1163
2026-05-27 11:31:54 +05:30
tapframe
2fc6a925a1 feat: adding subtitle delay, styles management. 2026-05-27 00:25:23 +05:30
tapframe
47c494b261 feat: adding subtitle delay, styles management. 2026-05-27 00:25:23 +05:30
Stéphane
a258b8c12e i18n(fr): extract platform stubs + audit FR quality (pass 4)
Extract hardcoded strings (23 sites in 9 platform-specific files):
- AppUpdaterPlatform stubs (iOS, Desktop, Android Playstore)
- PluginRepository stubs (iOS App Store, Android Playstore) + main fullCommonMain
- AddonRepository.normalizeManifestUrl require message
- CollectionEditorRepository dynamic titles (TMDB Collection/List/Production/
  Network/Person/Director + Trakt List fallback)
- ExternalPlayerPlatform.android.kt (Android system player label)

New keys added (2):
- collections_editor_trakt_list_title_format (Trakt List %1$s)
- external_player_android_system (Android system player)

Reused existing keys (8): updates_not_available, plugins_error_unavailable_build,
plugins_error_enter_valid_url, plugins_error_provider_not_found,
plugins_error_enter_repo_url, addons_error_enter_url, and 6 tmdb_*_title_format.

Audit FR quality (1719 strings) — 26 corrections + 68 apostrophe normalizations:
- Fix 3 residual vouvoiement (Controlez/Enrichissez/Programmez → tu)
- Fix 2 imperative conjugations (Parcoure→Parcours, Inclut→Inclus)
- Fix 2 placeholder type bugs (%1$d→%1$s where String input)
- Fix 1 trailing space, 1 double negation calque
- Harmonize "Plus comme ceci"→"À voir aussi", flux→stream, Jun/Jul→Juin/Juil.,
  rate limit "debit"→"requetes", "Crédits de personne TMDB"→"Crédits TMDB de la personne"
- Improve 7 anglicisms (en focus→focus sur, indice→indication UI, etc.)
- Normalize 68 lines: ' → ’ typographic (192 typo / 0 droite)

Parity EN ↔ FR: 1719 strings, 2 plurals.
Builds: composeApp:compileFullDebugKotlinAndroid + compilePlaystoreDebugKotlinAndroid
both SUCCESSFUL. xmllint OK on both XML files.

Merged origin/cmp-rewrite to integrate PR #1173 (release alert badge + dropped-show
filtering for CW section), resolving conflicts in strings.xml EN+FR.
2026-05-25 21:12:33 +02:00
Stéphane
6ef8c42065 merge: PR #1025 feat(i18n) extract remaining hardcoded strings
Resolved conflicts in values/strings.xml and values-fr/strings.xml
by concatenating both blocks (no duplicate keys).
2026-05-24 09:41:28 +02:00
paregi12
7e03c3d065 Merge branch 'upstream/cmp-rewrite' into cmp and resolve conflicts 2026-05-23 16:31:53 +05:30
tapframe
8815bfcf4d Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-05-22 20:34:27 +05:30
tapframe
2fa1c87ae7 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-05-22 20:34:27 +05:30
tapframe
023c26070a feat: add support for addon enable/disable flag 2026-05-22 17:48:48 +05:30
tapframe
ba5f460002 feat: add support for addon enable/disable flag 2026-05-22 17:48:48 +05:30
tapframe
a1a9b10807 Merge branch 'cwtest' into stripdebrid 2026-05-22 16:42:04 +05:30
tapframe
2e35652e81 Merge branch 'cwtest' into stripdebrid 2026-05-22 16:42:04 +05:30
tapframe
ab228a741f Revert "removal: debrid integration"
This reverts commit e25a2d7f3e.
2026-05-22 15:43:50 +05:30
tapframe
5d9a789139 Revert "removal: debrid integration"
This reverts commit 4e5a32510b.
2026-05-22 15:43:50 +05:30
tapframe
cb60d0196b feat(cloud): adding premimize 2026-05-21 14:37:44 +05:30
tapframe
8c25cca724 feat(cloud): adding premimize 2026-05-21 14:37:44 +05:30
tapframe
a7f768cdcd ref(torbox): short_name extraction 2026-05-21 14:01:03 +05:30
tapframe
cf1e162eb1 ref(torbox): short_name extraction 2026-05-21 14:01:03 +05:30
tapframe
5d5e1c83a3 feat(debrid): neutralize architecture 2026-05-21 11:39:54 +05:30
tapframe
075c5f8f51 feat(debrid): neutralize architecture 2026-05-21 11:39:54 +05:30
SimSalabimse
13d796c462 Merge branch 'Norwegian-Translation' of https://github.com/SimSalabimse/NuvioMobile into Norwegian-Translation 2026-05-20 20:43:50 +02:00
SimSalabimse
4b21fe2d85 Merge branch 'Norwegian-Translation' of https://github.com/SimSalabimse/NuvioMobile into Norwegian-Translation 2026-05-20 20:43:50 +02:00
SimSalabimse
e1057220c3 Use 'nb' locale code for Norwegian
Switch Norwegian locale code from "no" to the ISO 639-1 code "nb" for consistency. Updated Android locale_config.xml, renamed resource folder values-no to values-nb (strings moved/renamed accordingly), and changed the AppLanguage enum to use "nb". Also removed a now-duplicate media_series string entry in the renamed resources.
2026-05-20 20:42:30 +02:00
SimSalabimse
a9a3398cea Use 'nb' locale code for Norwegian
Switch Norwegian locale code from "no" to the ISO 639-1 code "nb" for consistency. Updated Android locale_config.xml, renamed resource folder values-no to values-nb (strings moved/renamed accordingly), and changed the AppLanguage enum to use "nb". Also removed a now-duplicate media_series string entry in the renamed resources.
2026-05-20 20:42:30 +02:00
paregi12
127ec3cf4a fix: resolve compilation errors introduced by subtitle implementation 2026-05-20 21:53:47 +05:30
tapframe
e25a2d7f3e removal: debrid integration 2026-05-20 21:44:27 +05:30
tapframe
4e5a32510b removal: debrid integration 2026-05-20 21:44:27 +05:30
Joseph Alves
dd2be50d17
Add pt-BR 2026-05-20 11:44:22 -03:00
paregi12
abbdee8327
Merge branch 'NuvioMedia:cmp-rewrite' into cmp 2026-05-20 19:08:57 +05:30
paregi12
9b372ea118 feat(plugins): add support for plugin subtitles with header injection and format detection 2026-05-20 18:25:31 +05:30
skoruppa
ba08ba8194 Port Reuse Binge Group from the TV version 2026-05-20 13:05:14 +02:00
skoruppa
5fe7364d5d Port Reuse Binge Group from the TV version 2026-05-20 13:05:14 +02:00
emgeje
c2f2e0ad0f
Update locale_config.xml 2026-05-20 11:14:07 +02:00
emgeje
b143fc33b2
Merge branch 'cmp-rewrite' into cmp-rewrite 2026-05-20 10:54:41 +02:00
Stéphane
546226c79f feat(i18n): extract remaining hardcoded strings flagged by audit
Migrates the long tail of user-facing English literals identified by the
audit report — 65 new keys across 14 source files plus the matching FR
translations (tutoiement, NBSP, curly apostrophes).

Categories:
- TMDB filter placeholders in CollectionEditorScreen (10 keys, "28,12",
  "2020-01-01", "100", "en, ko, ja, hi", etc.)
- Collection editor titles & errors in CollectionEditorRepository
  (TMDB/Trakt fallback titles, validation errors, "Could not load …")
- Folder type labels in FolderDetailRepository ("Trakt Series List",
  "Trakt Movie List")
- TMDB resolver errors (api key required, not found, missing IDs, discover
  no data) in TmdbCollectionSourceResolver
- Trakt public list resolver errors and search-result fallbacks in
  TraktPublicListSourceResolver (rate limit, not public, items/likes
  counts, credentials missing, error_with_code formatter)
- Comments load failure in TraktCommentsRepository
- Trakt status messages (Connected/Disconnected) in TraktAuthRepository
- AppUpdater exceptions (no release, github api error, missing tag,
  no APK asset) — also strips the "cmp-rewrite" branch name from the
  user-facing copy
- HTTP error fallbacks shared by both AddonPlatform.{android,ios}.kt
  ("Request failed with HTTP %d", "Empty response body")
- AndroidAppUpdaterPlatform download/install errors
- iOS DownloadsPlatformDownloader file/HTTP errors
- SubtitleRepository addon-subtitle display format
- DownloadsLiveStatusPlatform.android Pause action (reuses
  compose_action_pause) and the byte-unit table (now includes
  unit_bytes_tb)

Non-Composable suspend bodies use the existing `getString(...)` pattern;
synchronous bodies (constructors, lambda inits) use the established
`runBlocking { getString(...) }` pattern already in the codebase.

Keys that overlap with #943 (the FR overhaul PR) use the exact same
names so the eventual merge is a no-op on those.
2026-05-20 06:41:00 +02:00
tapframe
38b1d2a52e Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-05-20 01:49:16 +05:30
tapframe
e22b8df583 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-05-20 01:49:16 +05:30
Nayif
a0d55670ef Merge pull request #1122 from SimSalabimse/Norwegian-Translation
Added Norwegian translation
2026-05-20 01:48:59 +05:30
Nayif
644b2b88ce
Merge pull request #1122 from SimSalabimse/Norwegian-Translation
Added Norwegian translation
2026-05-20 01:48:59 +05:30
tapframe
2a50a504ba feat(ios): adding custom tuning for mpv 2026-05-19 21:04:39 +05:30
tapframe
873f81a954 feat(ios): adding custom tuning for mpv 2026-05-19 21:04:39 +05:30
SimSalabimse
23914f543b Added Norwegian to configs 2026-05-19 01:38:54 +02:00
SimSalabimse
145b3cfe77 Added Norwegian to configs 2026-05-19 01:38:54 +02:00
tapframe
b356887fe6 feat(debrid): sorting and filtering 2026-05-19 02:21:25 +05:30
tapframe
3e40e47b78 feat(debrid): sorting and filtering 2026-05-19 02:21:25 +05:30
tapframe
f7ec2ade21 fix: decoder fallback handling in ExoPlayer to try app decoders if a decoder failure occurs 2026-05-16 21:29:07 +05:30
tapframe
3c61e0d39e fix: decoder fallback handling in ExoPlayer to try app decoders if a decoder failure occurs 2026-05-16 21:29:07 +05:30
tapframe
0ce3bbe525 ref: improve file detection 2026-05-16 03:23:57 +05:30
tapframe
b35010fd4b ref: improve file detection 2026-05-16 03:23:57 +05:30
tapframe
c3c98cd246 feat: init debrid direct streaming 2026-05-16 02:30:53 +05:30
tapframe
9815adc2b6 feat: init debrid direct streaming 2026-05-16 02:30:53 +05:30
Luqman Fadlli
a4dad9a170 Merge branch 'NuvioMedia:cmp-rewrite' into indonesian-locale 2026-05-13 15:17:10 +07:00
Luqman Fadlli
2638b4fbb5
Merge branch 'NuvioMedia:cmp-rewrite' into indonesian-locale 2026-05-13 15:17:10 +07:00
tapframe
5b53f6046a feat: support for external player 2026-05-13 13:27:12 +05:30
tapframe
32f937a4e0 feat: support for external player 2026-05-13 13:27:12 +05:30
emgeje
5af0c9d55c
Add Hungarian locale to locale_config.xml 2026-05-12 12:47:34 +02:00
Luqman Fadlli
f3b54c9d4a add Indonesian language support
Added Indonesian (Bahasa Indonesia) translation to the project.

Files updated:
- Translated strings added to the `values-id` directory.
- Hooked up the new language option in `AppLanguage.kt`.
- Registered the `id` locale in Android's `locale_config.xml`.
2026-05-12 15:12:49 +07:00
Luqman Fadlli
c5faff3797 add Indonesian language support
Added Indonesian (Bahasa Indonesia) translation to the project.

Files updated:
- Translated strings added to the `values-id` directory.
- Hooked up the new language option in `AppLanguage.kt`.
- Registered the `id` locale in Android's `locale_config.xml`.
2026-05-12 15:12:49 +07:00
tapframe
46a82dce9a Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-05-10 12:36:18 +05:30
tapframe
c7b31518c3 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-05-10 12:36:18 +05:30
tapframe
38c882980c feat: adding attributions page 2026-05-10 12:36:15 +05:30
tapframe
c7179a0bd9 feat: adding attributions page 2026-05-10 12:36:15 +05:30
tapframe
b3a1589296 feat: added hold, hover and release to select faeture in profile switch bubble 2026-05-10 10:11:51 +05:30
tapframe
052ad51320 feat: added hold, hover and release to select faeture in profile switch bubble 2026-05-10 10:11:51 +05:30
Pupon11
c8eb59cb13
Add Czech locale to locale_config.xml 2026-05-09 18:39:49 +02:00
Pupon11
c781301f51 Add Czech locale to locale_config.xml 2026-05-09 18:39:49 +02:00
tapframe
c16711ebb8 feat: adding seperate preference key for collections 2026-05-09 00:46:55 +05:30
tapframe
bb7ac6ebd3 feat: adding seperate preference key for collections 2026-05-09 00:46:55 +05:30
tapframe
7290158c53 fix(ios): trakt date parsing logic causing old shows to appear first cw section 2026-05-09 00:27:34 +05:30
tapframe
c79e30e2fc fix(ios): trakt date parsing logic causing old shows to appear first cw section 2026-05-09 00:27:34 +05:30
paregi12
b5b1afce8d
Merge branch 'NuvioMedia:cmp-rewrite' into master 2026-05-07 15:08:22 +05:30
paregi12
07669ba5be Merge branch 'NuvioMedia:cmp-rewrite' into master 2026-05-07 15:08:22 +05:30
tapframe
5a0b623773 ref: add collections support to local account data cleaner 2026-05-06 23:46:38 +05:30
tapframe
acc298a845 ref: add collections support to local account data cleaner 2026-05-06 23:46:38 +05:30
paregi12
79a4f08f36 feat: add followRedirects support to httpRequestRaw and PluginRuntime 2026-05-06 20:11:29 +05:30
paregi12
152d7f394f feat: add followRedirects support to httpRequestRaw and PluginRuntime 2026-05-06 20:11:29 +05:30
tapframe
38a786850c ref(ios): native tab to use app icons and avatars 2026-05-06 19:39:06 +05:30
tapframe
ccb6ef371c ref(ios): native tab to use app icons and avatars 2026-05-06 19:39:06 +05:30
tapframe
8b2a635174 feat(ios): ios native navbar 2026-05-06 19:20:32 +05:30
tapframe
fe383efd3a feat(ios): ios native navbar 2026-05-06 19:20:32 +05:30
tapframe
55b97d97ad feat: trakt library source option to switch between trakt/nuvio library 2026-05-06 13:52:49 +05:30
tapframe
5573d81f7e feat: trakt library source option to switch between trakt/nuvio library 2026-05-06 13:52:49 +05:30
tapframe
d00aba86af feat: adding trakt watchprogress option to choose between trakt/nuvio as preferred 2026-05-06 13:28:43 +05:30
tapframe
4c6301d691 feat: adding trakt watchprogress option to choose between trakt/nuvio as preferred 2026-05-06 13:28:43 +05:30
Muhammed Nayif Rahman
77d5edb07c
Merge pull request #929 from mbpictures/feat/german
feat: add German
2026-05-05 13:44:04 +05:30
Muhammed Nayif Rahman
e9914f0e9f Merge pull request #929 from mbpictures/feat/german
feat: add German
2026-05-05 13:44:04 +05:30
tapframe
b941717dd9 fix: adjust screen awake behaviour when playback error throws
fixes #877
2026-05-05 13:29:38 +05:30
tapframe
a25064da47 fix: adjust screen awake behaviour when playback error throws
fixes #877
2026-05-05 13:29:38 +05:30
tapframe
0b824ff32a feat: Add CustomDefaultTrackNameProvider 2026-05-05 12:17:50 +05:30
tapframe
6b12f633ec feat: Add CustomDefaultTrackNameProvider 2026-05-05 12:17:50 +05:30
Marius Butz
cf15e2008b Merge branch 'cmp-rewrite' into feat/german 2026-05-03 23:09:47 +02:00
Marius Butz
542976e219 Merge branch 'cmp-rewrite' into feat/german 2026-05-03 23:09:47 +02:00
Marius Butz
d64faa692f add german to language picker 2026-05-03 12:13:41 +02:00
Marius Butz
265c5c2d44 add german to language picker 2026-05-03 12:13:41 +02:00
paregi12
68a82962da
Merge branch 'NuvioMedia:cmp-rewrite' into introdb 2026-05-02 14:27:19 +05:30
paregi12
0935c9e386 Merge branch 'NuvioMedia:cmp-rewrite' into introdb 2026-05-02 14:27:19 +05:30
Muhammed Nayif Rahman
a1afce41cd
Merge pull request #909 from affcosta7/patch-6
Fix: add Portuguese (Portugal) app translation to NUVIO MOBILE
2026-05-02 13:38:55 +05:30
Muhammed Nayif Rahman
691cf4090d Merge pull request #909 from affcosta7/patch-6
Fix: add Portuguese (Portugal) app translation to NUVIO MOBILE
2026-05-02 13:38:55 +05:30
paregi12
5c7253d21f feat: implement IntroDB submission feature 2026-05-02 11:27:47 +05:30
paregi12
580d435b2a feat: implement IntroDB submission feature 2026-05-02 11:27:47 +05:30
André Costa
4297e488da
Update locale_config.xml 2026-05-01 14:35:12 +01:00
André Costa
24a6578f76 Update locale_config.xml 2026-05-01 14:35:12 +01:00
tapframe
12232cebe9 fix: ios player viewport container issues on downloads 2026-05-01 02:59:35 +05:30
tapframe
b87b851c64 fix: ios player viewport container issues on downloads 2026-05-01 02:59:35 +05:30
Nayif
430e3c601f
Merge pull request #852 from skoruppa/cmp-rewrite
Polish Translation
2026-04-28 16:44:04 +05:30
Nayif
56d4e5da7b Merge pull request #852 from skoruppa/cmp-rewrite
Polish Translation
2026-04-28 16:44:04 +05:30
Nayif
16bceb19b8
Merge pull request #857 from D4rk56/cmp-rewrite
Add French language translation
2026-04-28 16:43:54 +05:30
Nayif
70aa1aee80 Merge pull request #857 from D4rk56/cmp-rewrite
Add French language translation
2026-04-28 16:43:54 +05:30
Nayif
1cc13159ae
Merge pull request #862 from affcosta7/patch-4
Add Portuguese (Portugal) app translation to NUVIO MOBILE
2026-04-28 16:43:37 +05:30
Nayif
3c2bf37329 Merge pull request #862 from affcosta7/patch-4
Add Portuguese (Portugal) app translation to NUVIO MOBILE
2026-04-28 16:43:37 +05:30
Leonardo Montemurro
17cb75a464 fix: migrate language from legacy profile-scoped key to global key
On first launch after upgrading, if the new global key is empty,
fall back to the legacy profile-scoped key from the previous
version. Once found, the value is saved to the global key so
future reads avoid the legacy path.
2026-04-27 15:08:31 +02:00
Leonardo Montemurro
caf85685aa fix: migrate language from legacy profile-scoped key to global key
On first launch after upgrading, if the new global key is empty,
fall back to the legacy profile-scoped key from the previous
version. Once found, the value is saved to the global key so
future reads avoid the legacy path.
2026-04-27 15:08:31 +02:00
Leonardo Montemurro
e15a398f3e fix: make app language key global, not profile-scoped
The language preference was stored with a profile-scoped key
(selected_app_language_{profileId}), causing it to reset to English
on app restart when the active profile was not profile 1.

During startup, initialize() reads the key with default
activeProfileId=1 before the correct profile is loaded, resulting
in a cache miss and fallback to English.

App language is a device-level preference, not per-profile, so
the key should not be scoped. This also fixes replaceFromSyncPayload
to correctly clear both profile-scoped and global keys.
2026-04-27 15:01:08 +02:00
Leonardo Montemurro
234153cac4 fix: make app language key global, not profile-scoped
The language preference was stored with a profile-scoped key
(selected_app_language_{profileId}), causing it to reset to English
on app restart when the active profile was not profile 1.

During startup, initialize() reads the key with default
activeProfileId=1 before the correct profile is loaded, resulting
in a cache miss and fallback to English.

App language is a device-level preference, not per-profile, so
the key should not be scoped. This also fixes replaceFromSyncPayload
to correctly clear both profile-scoped and global keys.
2026-04-27 15:01:08 +02:00
André Costa
dc2e9177ec
Update locale_config.xml 2026-04-27 11:13:59 +01:00
André Costa
1a92f6ed78 Update locale_config.xml 2026-04-27 11:13:59 +01:00
D4rk56
395acd30cb Add French language translation 2026-04-26 18:14:52 +02:00
D4rk56
e7ba523276 Add French language translation 2026-04-26 18:14:52 +02:00
skoruppa
c4bdfce511 Polish Translation 2026-04-26 02:17:32 +02:00