## Description
Fix a bug where movie suggestions would get stuck loading when the
on-disk cache file doesn't exist.
### Related issues
Fixes#876
### Testing
Ran unit tests locally.
## Screenshots
N/A
## AI or LLM usage
Used AI to add testing for this scenario to unit test
---------
Co-authored-by: Ray <154766448+damontecres@users.noreply.github.com>
## Description
Fixes the segment (intro, credits, etc) skip button appearance behavior
For the button shown on the video: if the button for a given segment is
clicked, dismissed by the back button, or times out after 10 seconds, it
will never appear again even if you rewind the video.
However, the current non-ignored segment will always show a button on
the playback controls though so it's possible to still use it.
### Related issues
Fixes#875
### Testing
Tested a bunch of scenarios on the emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
- Adding `Quick Connect` drawer to the Settings under the Seer
integration, and before Additional options.
- When interacted with, A inline-dialog appears (after internally
resetting itself), with gutter options Cancel / OK, like existing
dialogs, and when that is completed, where it completes the other side
of `Quick Connect`, e.g. login to your phone Jellyfin app by using
Wholphin.
- Failure and success both are indicated to the user and if success, it
closes the window.
### Related issues
Related to #819Closes#819
### Testing
Tested on development build from my repo on a Nvidia Shield 2019.
Performed several logout/login, both success and fail to observe dialog
state and function.
## AI or LLM usage
Used Claude Sonnet 4.5 for most of the code, ChatGPT, reviewed it, then
I reviewed it, made a few tweaks.
## Description
Fixes the possible glitch on some devices when scrolling left-right on
rows on the home page
### Related issues
Fixes#367Fixes#872
### Testing
Emulator & shield 2019
## Screenshots
N/A
## AI or LLM usage
None
## Description
If the continue watching row is empty on recommended pages, it would
scroll to the first successfully loaded row even if previous ones are
still pending.
This PR fixes that so the page waits until the right first row is ready.
### Related issues
Fixes#839
### Testing
Emulator & shield 2019
## Screenshots
N/A
## AI or LLM usage
None
## Description
Update dependencies
### Related issues
Just updating some of the dependencies in #858 that don't require AGP 9
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
Fixes UI issues:
- Showing unplayed corner text on multi-part movies
- Fix duplicate or missing rating info on discover movie & series pages
### Related issues
N/A
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
A rewrite of the `SuggestionsCache` to simplify it as a read-through
cache. The downside of this is that updated suggestions won't be
reflected in the UI unless the user reloads the page, but I think that's
an okay trade off.
Also adds parallelism limits to fetching suggestions to reduce the
number of simultaneous API calls. And moved the combining logic to use
the `Default` dispatcher to free up an IO one.
Also adds an initial delay to both the suggestions & tv provider
workers, so a cold start of the app isn't starved.
### Related issues
Related to #849
### Testing
Emulator & unit testing
## Screenshots
N/A
## AI or LLM usage
None
Welcome to [Renovate](https://redirect.github.com/renovatebot/renovate)!
This is an onboarding PR to help you understand and configure settings
before regular Pull Requests begin.
🚦 To activate Renovate, merge this Pull Request. To disable Renovate,
simply close this Pull Request unmerged.
---
### Detected Package Files
* `.github/actions/native-build/action.yml` (github-actions)
* `.github/actions/setup/action.yml` (github-actions)
* `.github/workflows/main.yml` (github-actions)
* `.github/workflows/pr.yml` (github-actions)
* `.github/workflows/release.yml` (github-actions)
* `gradle.properties` (gradle)
* `settings.gradle.kts` (gradle)
* `build.gradle.kts` (gradle)
* `app/build.gradle.kts` (gradle)
* `gradle/libs.versions.toml` (gradle)
* `gradle/wrapper/gradle-wrapper.properties` (gradle-wrapper)
### Configuration Summary
Based on the default config's presets, Renovate will:
- Start dependency updates only once this onboarding PR is merged
- Hopefully safe environment variables to allow users to configure.
- Show all Merge Confidence badges for pull requests.
- Enable Renovate Dependency Dashboard creation.
- Use semantic commit type `fix` for dependencies and `chore` for all
others if semantic commits are in use.
- Ignore `node_modules`, `bower_components`, `vendor` and various
test/tests (except for nuget) directories.
- Group known monorepo packages together.
- Use curated list of recommended non-monorepo package groupings.
- Show only the Age and Confidence Merge Confidence badges for pull
requests.
- Apply crowd-sourced package replacement rules.
- Apply crowd-sourced workarounds for known problems with packages.
- Ensure that every dependency pinned by digest and sourced from
GitHub.com contains a link to the commit-to-commit diff
- Correctly link to the source code for golang.org/x packages
- Link to pkg.go.dev/... for golang.org/x packages' title
🔡 Do you want to change how Renovate upgrades your dependencies? Add
your custom config to `renovate.json` in this branch. Renovate will
update the Pull Request description the next time it runs.
---
### What to Expect
With your current configuration, Renovate will create 11 Pull Requests:
<details>
<summary>Update Androidx Media3 to v1.9.2</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/androidx-media3`
- Merge into: `main`
- Upgrade
[androidx.media3:media3-effect](https://redirect.github.com/androidx/media)
to `1.9.2`
- Upgrade
[androidx.media3:media3-ui-compose](https://redirect.github.com/androidx/media)
to `1.9.2`
- Upgrade
[androidx.media3:media3-ui](https://redirect.github.com/androidx/media)
to `1.9.2`
- Upgrade
[androidx.media3:media3-exoplayer-dash](https://redirect.github.com/androidx/media)
to `1.9.2`
- Upgrade
[androidx.media3:media3-exoplayer-hls](https://redirect.github.com/androidx/media)
to `1.9.2`
- Upgrade
[androidx.media3:media3-session](https://redirect.github.com/androidx/media)
to `1.9.2`
- Upgrade
[androidx.media3:media3-exoplayer](https://redirect.github.com/androidx/media)
to `1.9.2`
- Upgrade
[androidx.media3:media3-datasource-okhttp](https://redirect.github.com/androidx/media)
to `1.9.2`
</details>
<details>
<summary>Update dependency com.google.devtools.ksp to v2.3.5</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/ksp-monorepo`
- Merge into: `main`
- Upgrade
[com.google.devtools.ksp](https://redirect.github.com/google/ksp) to
`2.3.5`
</details>
<details>
<summary>Update Dependencies</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/dependencies`
- Merge into: `main`
- Upgrade
[com.google.dagger:hilt-android-compiler](https://redirect.github.com/google/dagger)
to `2.59.1`
- Upgrade
[com.google.dagger:hilt-android](https://redirect.github.com/google/dagger)
to `2.59.1`
- Upgrade
[com.google.protobuf:protobuf-kotlin-lite](https://redirect.github.com/protocolbuffers/protobuf)
to `4.33.5`
- Upgrade
[com.mikepenz:multiplatform-markdown-renderer-m3](https://redirect.github.com/mikepenz/multiplatform-markdown-renderer)
to `0.39.2`
- Upgrade
[com.mikepenz:multiplatform-markdown-renderer](https://redirect.github.com/mikepenz/multiplatform-markdown-renderer)
to `0.39.2`
- Upgrade
[io.mockk:mockk-android](https://redirect.github.com/mockk/mockk) to
`1.14.9`
- Upgrade
[io.mockk:mockk-agent](https://redirect.github.com/mockk/mockk) to
`1.14.9`
</details>
<details>
<summary>Update dependency com.google.dagger.hilt.android to
v2.59.1</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/hilt`
- Merge into: `main`
- Upgrade
[com.google.dagger.hilt.android](https://redirect.github.com/google/dagger)
to `2.59.1`
</details>
<details>
<summary>Update dependency python to 3.14</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/github-actions`
- Merge into: `main`
- Upgrade [python](https://redirect.github.com/actions/python-versions)
to `3.14`
</details>
<details>
<summary>Update Gradle to v8.14.4</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/gradle-8.x`
- Merge into: `main`
- Upgrade [gradle](https://redirect.github.com/gradle/gradle) to
`8.14.4`
</details>
<details>
<summary>Update Jellyfin SDK to v1.8.6</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/jellyfin-sdk`
- Merge into: `main`
- Upgrade
[org.jellyfin.sdk:jellyfin-api-okhttp-jvm](https://redirect.github.com/jellyfin/jellyfin-sdk-kotlin)
to `1.8.6`
- Upgrade
[org.jellyfin.sdk:jellyfin-api](https://redirect.github.com/jellyfin/jellyfin-sdk-kotlin)
to `1.8.6`
- Upgrade
[org.jellyfin.sdk:jellyfin-core](https://redirect.github.com/jellyfin/jellyfin-sdk-kotlin)
to `1.8.6`
</details>
<details>
<summary>Update Kotlin</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/kotlin`
- Merge into: `main`
- Upgrade
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://redirect.github.com/Kotlin/kotlinx.coroutines)
to `1.10.2`
- Upgrade
[org.jetbrains.kotlin.plugin.serialization](https://redirect.github.com/JetBrains/kotlin)
to `2.3.10`
- Upgrade
[org.jetbrains.kotlin.jvm](https://redirect.github.com/JetBrains/kotlin)
to `2.3.10`
- Upgrade
[org.jetbrains.kotlin.plugin.compose](https://redirect.github.com/JetBrains/kotlin)
to `2.3.10`
- Upgrade
[org.jetbrains.kotlin.android](https://redirect.github.com/JetBrains/kotlin)
to `2.3.10`
</details>
<details>
<summary>Update dependency com.android.application to v9</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/major-agp`
- Merge into: `main`
- Upgrade
[com.android.application](https://android.googlesource.com/platform/tools/base)
to `9.0.0`
</details>
<details>
<summary>Update Github Actions (major)</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/major-github-actions`
- Merge into: `main`
- Upgrade [actions/cache](https://redirect.github.com/actions/cache) to
`v5`
- Upgrade
[actions/checkout](https://redirect.github.com/actions/checkout) to `v6`
- Upgrade
[actions/setup-python](https://redirect.github.com/actions/setup-python)
to `v6`
- Upgrade
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
to `v6`
</details>
<details>
<summary>Update Gradle to v9</summary>
- Schedule: ["at any time"]
- Branch name: `renovate/gradle-9.x`
- Merge into: `main`
- Upgrade [gradle](https://redirect.github.com/gradle/gradle) to `9.3.1`
</details>
🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't
swamp any CI resources or overwhelm the project. See docs for
`prhourlylimit` for details.
---
❓ Got questions? Check out Renovate's
[Docs](https://docs.renovatebot.com/), particularly the Getting Started
section.
If you need any further assistance then you can also [request help
here](https://redirect.github.com/renovatebot/renovate/discussions).
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/damontecres/Wholphin).
<!--renovate-config-hash:7cb4aaf8303f9b7801754f83b08207c5265d3d176bdb616169c40f6df7c688c2-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Damontecres <damontecres@gmail.com>