chore: review upstream changes to action.yml, pr.yml and 2 more - #106
Merged
Conversation
## Description Increases the memory available for CI builds and splits up builds a bit more There are no user facing changes ### Related issues Recently dev builds failed due to OOM ### Testing https://github.com/damontecres/Wholphin/actions/runs/34710759629 ## Screenshots N/A ## AI or LLM usage None
…cres#1956) ## Description Fixes some devices activating the OS screensaver during playback when the in-app dim was enabled. I was not able to reproduce this on Shield 2017/2019, but could easily on a Fire TV Stick. damontecres#1834 added the dim feature and, when enabled, would not pass the keep screen on flag to the OS during playback. It seems maybe regular Android TV's screensaver also listened to active media session to prevent starting but maybe Fire TV OS doesn't. I'm not 100% sure. This PR changes the logic slightly so that the keep screen on flag is always set during playback. ### Related issues Fixes damontecres#1894 Related to dim feature from damontecres#1834 ### Testing Emulator, shield 2019, & fire tv stick 4k ## Screenshots N/A ## AI or LLM usage None
Currently translated at 65.0% (421 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/ru/
Currently translated at 65.0% (421 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/ru/
Currently translated at 65.0% (421 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/ru/
Currently translated at 96.1% (622 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt_BR/
Currently translated at 90.5% (586 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/sv/
Currently translated at 100.0% (647 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
Currently translated at 100.0% (647 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
Currently translated at 100.0% (647 of 647 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/sk/
Currently translated at 90.4% (587 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/sv/
Currently translated at 99.3% (645 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nb_NO/
Currently translated at 99.6% (647 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pl/
Currently translated at 100.0% (649 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
Currently translated at 7.8% (51 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/en_GB/
Currently translated at 99.8% (648 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/da/
Currently translated at 92.6% (601 of 649 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
Currently translated at 100.0% (656 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
Currently translated at 100.0% (656 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
Currently translated at 91.6% (601 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
Currently translated at 100.0% (656 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
Currently translated at 99.8% (655 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
Currently translated at 90.3% (593 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/sv/
Currently translated at 100.0% (656 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/sk/
Currently translated at 100.0% (656 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
Currently translated at 8.6% (57 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/en_GB/
Currently translated at 100.0% (656 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hr/
Currently translated at 100.0% (656 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
Currently translated at 90.7% (595 of 656 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/sv/
Currently translated at 100.0% (657 of 657 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
Currently translated at 100.0% (657 of 657 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
Currently translated at 98.6% (648 of 657 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pl/
Currently translated at 100.0% (659 of 659 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
Currently translated at 100.0% (659 of 659 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
Currently translated at 99.6% (657 of 659 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pl/
Currently translated at 92.2% (608 of 659 strings) Translation: Wholphin/Wholphin Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/sv/
Updates translations as of 2026-09-12 Thanks again to all of the contributors!
… page for discover items (damontecres#1961) ## Description Fix two bugs: - Favorites page didn't query for favorite people, introduced by damontecres#1864 - Fixes restoring focus on the search page after clicking a discover item and going back ### Related issues N/A ### Testing Emulator ## Screenshots N/A ## AI or LLM usage None
## Description Looks like `tools` was replaced by `cmdline-tools` (https://developer.android.com/tools#tools-sdk), so updating the setup action for this. ### Related issues android-actions/setup-android#537 ### Testing N/A ## Screenshots N/A ## AI or LLM usage None
…tecres#1962) ## Description Makes the `itemId` parameter optional allowing just passing `serverId`/`userId` to switch the user and load the app at the home page for that user. Dev note: I added a new assert function `assertIs` which asserts that an object `is` of a type. It also has a contract so the compiler will smart-cast usages after the `assertIs`. Checking a result type is a very common pattern in the unit tests, so this assert will simplify a lot of current & future tests. ### Related issues Closes damontecres#1824 ### Testing Emulator and added unit tests for `parseIntent` ## Screenshots N/A ## AI or LLM usage None
…res#1981) ## Description There is a race condition when switching users between `HomeViewModel.init` and `HomeSetttingsService.loadCurrentSettings`. This happens more often if the new user doesn't have a customized home page. The result is that the previous user's home page settings are used for the initial load of the home page. This PR fixes this by collecting the flows for current user & home settings, waiting until both are valid and refer to the same user, then fetch the data. ### Related issues Fixes damontecres#1976 Maybe related (and fixes) damontecres#1980, but need to investigate more ### Testing Emulator. It's easy to reproduce by adding a manual `delay(2.seconds)` at the start of `HomeSetttingsService.loadCurrentSettings`. ## Screenshots N/A ## AI or LLM usage None
…ntecres#1964) ## Description When clicking on an episode, the app assumes if there is a season ID for the episode, then there must be a series ID. However, on my JF 12.0 server, an episode (with no metadata) appeared on my Continue Watching and it has a season ID (which in turn has a series ID) but no series ID. I'm not sure if this really a valid situation or if it's a server bug, but Wholphin shouldn't crash at least. So this PR checks both `seasonId` and `seriesId` and if either is null, falls back to the generic "Episode Page". Similarly, if a season has no `seriesId` (again, not sure if a valid situation), a crash won't occur, however there is no generic "Season Page", so an error page is shown. ### Related issues TODO, check JF server issues, maybe fixed in 12.1? ### Testing Emulator ## Screenshots N/a ## AI or LLM usage None
No upstream ancestry accepted.
constbogdan
marked this pull request as ready for review
September 21, 2026 16:18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What requires attention?
4 paths require semantic review:
.github/actions/setup/action.yml.github/workflows/pr.ymlapp/src/main/java/com/github/damontecres/wholphin/services/IntentService.ktapp/src/main/java/com/github/damontecres/wholphin/ui/main/HomeViewModel.ktWhy?
Git found textual conflicts. Their downstream-preserved workspace is not a resolved merge; human semantic resolution is required.
What integrates automatically?
38 FOLLOW paths are included by the native candidate.
35 candidate paths require no semantic decision.
What is intentionally preserved downstream?
2 DOWNSTREAM-OWNED paths retain Mosaic semantics:
.github/workflows/main.yml.github/workflows/release.ymlWhat should the operator do next?
Run
.\scripts\resolve-upstream.ps1, enter this Draft PR number, and follow the generated authenticated Codex handoff.Human review and merge/reject remain required.
No automatic semantic resolution or merge is performed.
Technical provenance and upstream history
58 incoming
074eab298fba1302163baf7c391af3239c7d6eb23d9602b4f048a5f3db7cfae4f4e137Latest observation: https://github.com/constbogdan/Mosaic/actions/runs/35603641203
{ "schema_version": 1, "ownership_policy_version": 1, "episode_id": "0d04a7ca2773ce58dd1b7f33d0d8c86be29f4f17b19d85c5e51ea5a163844916", "upstream_repo": "damontecres/Wholphin", "upstream_base_sha": "4a118b6ddbbbb5b473f3c96011a0ac05781c9b76", "upstream_sha": "365f8f8adacf4dcaf7d05317917830ed3a439668", "downstream_repo": "constbogdan/Mosaic", "downstream_sha": "4a6db6df866c4182576a3a9f96e3de697d5596e7", "comparison_baseline": "4a118b6ddbbbb5b473f3c96011a0ac05781c9b76", "candidate_sha": "bc7d7fe31ada448ec8a98ff5cf60f5bbb9d9dd9c", "candidate_tree": "1f8c96a191007ec38a9201a9b7fc0665e6fcbb24", "branch": "chore/sync-upstream-365f8f8adacf4dcaf7d05317917830ed3a439668-4a6db6df866c4182576a3a9f96e3de697d5596e7", "outcome": "semantic_conflict", "classification_range_count": 41, "ownership_counts": { "DOWNSTREAM-OWNED": 2, "FOLLOW": 38, "REVIEW": 1 }, "review_paths": [ ".github/actions/setup/action.yml", ".github/workflows/pr.yml", "app/src/main/java/com/github/damontecres/wholphin/services/IntentService.kt", "app/src/main/java/com/github/damontecres/wholphin/ui/main/HomeViewModel.kt" ], "conflict_paths": [ ".github/actions/setup/action.yml", ".github/workflows/pr.yml", "app/src/main/java/com/github/damontecres/wholphin/services/IntentService.kt", "app/src/main/java/com/github/damontecres/wholphin/ui/main/HomeViewModel.kt" ], "clean_path_count": 35, "configured_schedule_utc": "manual", "observed_at": "2026-09-21T13:08:21.194145+00:00", "run_url": "https://github.com/constbogdan/Mosaic/actions/runs/35603641203" }