feat(integrations): add macOS dock menu and progress bar integration#56
Merged
flexiondotorg merged 2 commits intomainfrom Mar 26, 2026
Merged
feat(integrations): add macOS dock menu and progress bar integration#56flexiondotorg merged 2 commits intomainfrom
flexiondotorg merged 2 commits intomainfrom
Conversation
- Create new macos-dock module with dock menu showing now-playing track - Add play/pause, next, and previous controls to dock menu - Implement dock progress bar synced to track playback position - Add share sheet for sharing current track's Apple Music URL - Wire dock integration into main Electron app with command callbacks - Add share menu item to tray's now-playing menu on macOS only - Automatically clear now-playing state after 30s of inactivity Signed-off-by: Martin Wimpress <code@wimpress.io>
Contributor
There was a problem hiding this comment.
2 issues found across 6 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="src/main.ts">
<violation number="1" location="src/main.ts:16">
P2: `macos-dock` is a macOS-only integration but is imported at module scope. This breaks the project convention for platform-specific modules and risks loading macOS-only code on Linux/Windows. Lazy-require it inside a `process.platform === 'darwin'` guard (mirroring the MPRIS pattern).</violation>
</file>
<file name="src/tray.ts">
<violation number="1" location="src/tray.ts:518">
P3: Tray menu labels are localised via `strings`, but this new Share item hardcodes `'Share...'`. Add a tray string and use it here so the menu remains localised.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
- Add SHARE_TEXT record to assets/locales/tray.json with translations for all 32 supported languages - Export SHARE_TEXT constant in src/i18n.ts - Add share property to TrayStrings interface and getTrayStrings() return value - Update src/tray.ts to use localised strings.share instead of hardcoded "Share..." - Update src/integrations/macos-dock/index.ts to use localised strings.share Signed-off-by: Martin Wimpress <code@wimpress.io>
Contributor
There was a problem hiding this comment.
0 issues found across 5 files (changes from recent commits).
Requires human review: This PR adds a new macOS integration module and modifies core UI components (tray and dock). New feature implementations require human review for UX and state management consistency.
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.
Checklist