v1.3.0 PR#11
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR prepares the MeloAmp 1.3.0 release by upgrading the UI stack (Material UI v9 and related deps), replacing the server-driven themes page with a local theme gallery, and fixing key playback / album-art caching reliability issues across the React UI and Electron shell.
Changes:
- Added a new LocalThemeGallery UI and routed
/themesto the local gallery implementation. - Fixed playback progression by adding an
<audio onEnded>handler, and replaced Electron album-art downloading fromgot.streamto nativehttp/https. - Bumped and aligned versions to 1.3.0 across UI/Electron and updated dependency lockfiles + changelog.
Reviewed changes
Copilot reviewed 25 out of 27 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| CHANGELOG.md | Adds 1.3.0 release notes and documents unified versioning going forward. |
| src/electron/main.js | Replaces got.stream album-art download with native http/https implementation. |
| src/electron/package.json | Bumps Electron / builder versions and removes got dependency; aligns version to 1.3.0. |
| src/electron/yarn.lock | Updates resolved Electron/build tooling dependency graph per the package bumps. |
| src/ui/package.json | Migrates MUI packages to v9, bumps key dependencies, and aligns version to 1.3.0. |
| src/ui/src/App.tsx | Routes /themes to LocalThemeGallery instead of the server-driven ThemesPage. |
| src/ui/src/components/CommandPalette.tsx | Migrates MUI props to slotProps APIs for v9 compatibility. |
| src/ui/src/components/ErrorBoundary.tsx | Updates icon import/usage to match new MUI icons exports. |
| src/ui/src/components/ErrorState.tsx | Updates icon import/usage and MUI prop usage for v9. |
| src/ui/src/components/MiniSongCard.tsx | Updates Typography styling props for v9. |
| src/ui/src/components/PlaylistPickerDialog.tsx | Migrates TextField input adornment wiring to slotProps. |
| src/ui/src/pages/AnalyticsPage.tsx | Migrates Stack/TY styling props to sx / v9-friendly patterns. |
| src/ui/src/pages/ArtistLookupPage.tsx | Migrates TextField/Stack props to slotProps / sx. |
| src/ui/src/pages/ChartsPage.tsx | Migrates Typography styling props for v9. |
| src/ui/src/pages/HistoryPage.tsx | Migrates Typography styling props for v9. |
| src/ui/src/pages/LocalThemeGallery.tsx | New local theme gallery page showing built-in themes with previews and apply behavior. |
| src/ui/src/pages/PlaybackToolsPage.tsx | Migrates layout and Typography props to v9-safe patterns. |
| src/ui/src/pages/Player.tsx | Adds <audio onEnded> logic intended to advance to the next track / repeat behaviors. |
| src/ui/src/pages/QueueView.tsx | Migrates ListItemText typography customization to slotProps. |
| src/ui/src/pages/RecommendationsPage.tsx | Migrates Typography styling props for v9. |
| src/ui/src/pages/RequestsPage.tsx | Migrates Stack/layout props to sx. |
| src/ui/src/pages/SearchAdvancedPage.tsx | Migrates TextField and layout props to slotProps / sx. |
| src/ui/src/pages/SearchPage.tsx | Migrates TextField/Stack props to slotProps / sx. |
| src/ui/src/pages/SharesPage.tsx | Migrates TextField label props and Typography display props to v9-friendly APIs. |
| src/ui/src/reportWebVitals.ts | Updates web-vitals integration to the v5 API (onCLS, onINP, etc.). |
| src/ui/yarn.lock | Updates resolved UI dependency graph for the MUI v9 + related bumps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+80
to
+85
| function hexToRgba(hex: string, alpha: number): string { | ||
| const r = parseInt(hex.slice(1, 3), 16); | ||
| const g = parseInt(hex.slice(3, 5), 16); | ||
| const b = parseInt(hex.slice(5, 7), 16); | ||
| return `rgba(${r}, ${g}, ${b}, ${alpha})`; | ||
| } |
Comment on lines
+214
to
+219
| const categories = [ | ||
| { id: 'classic' as const, label: 'Classic', icon: '◉' }, | ||
| { id: 'dark' as const, label: 'Dark', icon: '◉' }, | ||
| { id: 'colorful' as const, label: 'Colorful', icon: '◉' }, | ||
| { id: 'wild' as const, label: 'Wild', icon: '◉' }, | ||
| ]; |
Comment on lines
+216
to
+231
| await new Promise((resolve, reject) => { | ||
| const client = url.startsWith('https') ? https : http; | ||
| client.get(url, (response) => { | ||
| if (response.statusCode < 200 || response.statusCode >= 300) { | ||
| reject(new Error(`HTTP ${response.statusCode}`)); | ||
| return; | ||
| } | ||
| const fileStream = fs.createWriteStream(cachedArtPath); | ||
| response.pipe(fileStream); | ||
| fileStream.on('finish', () => { | ||
| fileStream.close(); | ||
| resolve(); | ||
| }); | ||
| fileStream.on('error', reject); | ||
| }).on('error', reject); | ||
| }); |
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.
This pull request delivers the MeloAmp 1.3.0 release, featuring a new local visual theme gallery, important playback and album art caching fixes, and a major UI dependency upgrade to Material UI v9. It also transitions both UI and Electron packages to a unified version number. The update modernizes component code to match the new Material UI API, improves reliability, and polishes the user experience.
New Features
/themespage with a categorized, interactive local gallery for all built-in themes. Themes can be previewed and applied instantly, with persistent selection and clear feedback. (src/ui/src/pages/LocalThemeGallery.tsx,src/ui/src/App.tsx) [1] [2] [3]Bug Fixes
onEndedhandler to the audio player. (src/ui/src/pages/Player.tsx)got.streamby switching to native Node.jshttps/httpmodules for downloading album art. (src/electron/main.js) [1] [2]Dependency and API Upgrades
slotPropsAPI and updated icon imports. (src/ui/package.json, component files) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]src/electron/package.json,src/ui/package.json) [1] [2] [3]Versioning and Changelog
CHANGELOG.md,src/electron/package.json,src/ui/package.json) [1] [2] [3] [4]… previews