Skip to content

Feature/desktop mini player#1614

Merged
maxrave-dev merged 15 commits intomaxrave-dev:devfrom
spiicez21:feature/desktop-mini-player
Jan 13, 2026
Merged

Feature/desktop mini player#1614
maxrave-dev merged 15 commits intomaxrave-dev:devfrom
spiicez21:feature/desktop-mini-player

Conversation

@spiicez21
Copy link
Contributor

This pull request introduces a cross-platform mini player toggle feature, enabling a separate mini player window on desktop (JVM) only. It adds platform-specific implementations for toggling the mini player, refactors UI components to expose the mini player toggle button on desktop, and implements the mini player window with state management and persistence. The changes ensure that the mini player functionality is desktop-exclusive, with no-ops on Android and iOS.

Mini Player Feature (Desktop Only):

  • Added a platform-specific toggleMiniPlayer function using Kotlin's expect/actual mechanism, with a working implementation for JVM (desktop) and no-ops for Android and iOS. [1] [2] [3] [4]
  • Introduced MiniPlayerManager to manage the mini player window state and MiniPlayerWindow composable for the separate window, including position/size persistence, always-on-top, and keyboard shortcuts. [1] [2]

UI Integration:

  • Updated MiniPlayer and NowPlayingScreen components to show a mini player toggle button on desktop, using the new toggleMiniPlayer function and appropriate icons. [1] [2]
  • Added necessary imports for new icons and functions in affected UI files. [1] [2] [3] [4]

Application Lifecycle & Window Management:

  • Refactored the JVM main application entrypoint to initialize Koin before starting the application, and to handle the mini player window alongside the main window. The mini player window is only shown when toggled open. [1] [2] [3] [4] [5] [6]

Dependency Update:

  • Updated the Android Gradle plugin version from 8.13.1 to 8.13.2.

Perview
Screenshot 2026-01-13 073326
Screenshot 2026-01-13 073341

@maxrave-dev
Copy link
Owner

Nice coding!

@spiicez21
Copy link
Contributor Author

@copilot

Nice coding!

Thank you bro

@spiicez21
Copy link
Contributor Author

Hi! I submitted a Pull Request, but the CI builds are failing because of missing secrets.

Sentry Error: The build fails with Invalid token header because it's trying to upload Proguard mappings to Sentry, but I don't have the SENTRY_AUTH_TOKEN.

Signing Error: The build_and_sign_apk.sh script fails because I don't have access to the release signing keys (KEY_PASSWORD, etc.). Since forks/PRs don't have access to your repository secrets, does the project require contributors to set up their own Sentry Keystore secrets just to pass CI?

Or would you prefer if I modify the build scripts (e.g., in build.gradle.kts and build_and_sign_apk.sh) to gracefully skip these steps when secrets are missing? I have working fixes that fallback to debug signing and disable Sentry uploads automatically for PRs.

@spiicez21 spiicez21 force-pushed the feature/desktop-mini-player branch from 32d19cf to 363f92b Compare January 13, 2026 12:51
@maxrave-dev maxrave-dev changed the base branch from main to dev January 13, 2026 14:33
…layer

# Conflicts:
#	gradle/libs.versions.toml
@maxrave-dev maxrave-dev merged commit 99397cc into maxrave-dev:dev Jan 13, 2026
Copy link

@marcboleda13-wq marcboleda13-wq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants