Commit Graph

175 Commits

Author SHA1 Message Date
Kingkor Roy Tirtho
da394d40ea fix(audio-api): enhance fallback mechanism for text search results in YouTube 2026-10-16 14:29:43 +06:00
Kingkor Roy Tirtho
09d77211b9 fix(newpipe): fall back through multiple searches when ISRC search misses
NewPipe durations are seconds, not ms, so duration scoring never matched.
Fix the uploader match direction, normalize titles, and walk a ladder of
searches (ISRC, songs, videos, title only) until a confident match is found.
Return nothing rather than unrelated results. Add detailed ISRC/NewPipe logs.
2026-10-16 14:26:39 +06:00
Kingkor Roy Tirtho
61dd89f3ed fix(stream-proxy): stream upstream audio instead of buffering the whole track
Ktor's request() buffers the full body before returning, so ExoPlayer timed
out waiting for headers. Use prepareRequest().execute{} and tee the body to
the cache file, committing only complete 200 responses. Treat player
disconnects (broken pipe) as debug-level noise rather than upstream errors.
2026-10-16 14:26:39 +06:00
Kingkor Roy Tirtho
ba62ff03c3 feat(user-agents): implement dynamic user agent fetching and caching mechanism 2026-10-16 13:47:08 +06:00
Kingkor Roy Tirtho
83115ea99a feat(plugin): add login prompt for metadata plugin access and implement authentication view model 2026-10-16 12:06:13 +06:00
Kingkor Roy Tirtho
59f1b82368 feat(ui): update MillenniumModalBottomSheet with compact padding and spacing adjustments 2026-10-16 12:01:36 +06:00
Kingkor Roy Tirtho
c57e33fe0d feat(ui): replace IndeterminateProgress with new loading components and enhance dialog structures 2026-10-16 11:49:48 +06:00
Kingkor Roy Tirtho
daf54b74f4 feat(plugin): implement MetadataPluginGuard to manage plugin dependencies and user prompts 2026-10-16 09:29:08 +06:00
Kingkor Roy Tirtho
2bef59ee76 chore: add l10n strings 2026-10-15 23:26:42 +06:00
Kingkor Roy Tirtho
9f79505e1c feat(i18n): replace hardcoded strings with localized resources across multiple components 2026-10-15 14:07:56 +06:00
Kingkor Roy Tirtho
0e0e242095 feat(navigation): add custom navigation transition specifications for push and pop actions 2026-10-15 13:18:26 +06:00
Kingkor Roy Tirtho
fb96984d6e feat(ui): integrate LocalTextStyle for dynamic tinting in player controls and UI components 2026-10-15 13:12:39 +06:00
Kingkor Roy Tirtho
58dfa2de92 feat(library): add Library screen list mode beside grid mode, Local Track, Download screen, Local Library folders dialog visual improvement 2026-10-15 11:36:39 +06:00
Kingkor Roy Tirtho
cf9476ab08 feat(library): enhance library UI with new tab titles, filtering options, and improved state management 2026-10-14 21:52:24 +06:00
Kingkor Roy Tirtho
5b442a93a9 feat(jam): implement group jam functionality with UI components and state management 2026-10-14 20:39:54 +06:00
Kingkor Roy Tirtho
d5eaf101eb fix: add window insets to top bar and bottom navigation bar, queue sheet 2026-10-14 19:26:54 +06:00
Kingkor Roy Tirtho
fda5bb8a60 feat(sidebar): adjust spacing in sidebar and setting cards for improved layout 2026-10-14 16:41:48 +06:00
Kingkor Roy Tirtho
1ccd70a18c feat(search): enhance search functionality with recent search suggestions and improved UI components 2026-10-14 16:29:45 +06:00
Kingkor Roy Tirtho
93dfea9a30 feat(player): refactor artist display and improve search field labels 2026-10-14 13:53:19 +06:00
Kingkor Roy Tirtho
d720467338 feat(support): implement support reminder dialog and donation options 2026-10-14 09:51:07 +06:00
Kingkor Roy Tirtho
8efcbd4af4 feat(player): add content descriptions for play, pause, and add to queue actions 2026-10-13 13:06:22 +06:00
Kingkor Roy Tirtho
76518a01a1 feat(onboarding): enhance welcome screen with structured guide steps and improved layout 2026-10-13 13:03:27 +06:00
Kingkor Roy Tirtho
caad76ba95 refactor: replace currentWindowAdaptiveInfo with currentWindowWidthBreakpoint for adaptive layouts 2026-10-11 21:08:25 +06:00
Kingkor Roy Tirtho
cfd472016e refactor: integrate millennium UI 2026-10-11 17:17:34 +06:00
Kingkor Roy Tirtho
963b360a81 feat(ui): new custom surface integration on all components 2026-10-09 14:51:30 +06:00
Kingkor Roy Tirtho
9f96b07ebd feat(ui): replace Scaffold with BaseScaffold for consistent surface theming across screens 2026-10-07 18:45:22 +06:00
Kingkor Roy Tirtho
4da5b25a5c feat(surface): implement Frutiger-Aero themed surfaces with glass and acrylic styles 2026-10-07 15:29:25 +06:00
Kingkor Roy Tirtho
fa9ad9981c feat(settings): add 'About' section and improve header visibility in settings sections 2026-10-07 14:07:09 +06:00
Kingkor Roy Tirtho
5c0652b395 feat(previews): add comprehensive previews for UI components including sliders, toggles, checkboxes, and text fields 2026-10-07 10:39:26 +06:00
Kingkor Roy Tirtho
71d7649db6 feat(welcome): implement onboarding flow with multiple pages and donation options 2026-10-06 15:29:27 +06:00
Kingkor Roy Tirtho
fab60107e3 feat(scrobble): implement ScrobbleManager to handle track scrobbling and integrate with audio player 2026-10-02 20:57:50 +06:00
Kingkor Roy Tirtho
eeaff3c1db refactor(main): simplify main function and remove unused WebKit GPU compositing logic 2026-10-02 20:05:23 +06:00
Kingkor Roy Tirtho
4e2afeaea4 feat(update): refactor update checking mechanism and implement new dialog for app and plugin updates 2026-09-30 09:58:04 +06:00
Kingkor Roy Tirtho
3a85ad0896 feat(update): implement update checker with dialog for available updates 2026-09-25 22:39:33 +06:00
Kingkor Roy Tirtho
046c17d3df feat(autocomplete): simplify focus management and remove unused key event handling 2026-09-25 21:39:08 +06:00
Kingkor Roy Tirtho
2713e63902 feat(search): enhance LazyRow with drag scrolling functionality 2026-09-25 21:14:34 +06:00
Kingkor Roy Tirtho
86ec117cfd feat(navigation): refactor sidebar and bottombar navigation structure with new tab and group models 2026-09-25 21:07:19 +06:00
Kingkor Roy Tirtho
78168d269c feat: implement shuffle play functionality for albums, playlists, and saved tracks 2026-09-25 18:47:29 +06:00
Kingkor Roy Tirtho
50c3b04eb1 feat: refactor track source management to support plugin-specific caching and retrieval 2026-09-25 18:29:08 +06:00
Kingkor Roy Tirtho
a4d157e9c2 feat(jam-settings): implement JamSettings screen and view model for broker configuration 2026-09-25 16:44:48 +06:00
Kingkor Roy Tirtho
df3dd2ad88 feat(player-options): enhance options menu with localized strings and icons 2026-09-25 15:03:24 +06:00
Kingkor Roy Tirtho
1e6aee142b feat(player-options): add PlayerOptionsViewModel and enhance player UI with options menu 2026-09-25 14:53:10 +06:00
Kingkor Roy Tirtho
4c724a333b feat(jam-session): enhance guest functionality with track addition and participant moderation options 2026-09-12 00:01:34 +06:00
Kingkor Roy Tirtho
ad994f3ca3 feat(jam-session): implement track addition to jam session and enhance UI feedback for jam state 2026-09-11 22:04:59 +06:00
Kingkor Roy Tirtho
a2b9f4178c feat(jam-session): integrate MQTT broker configuration and enhance jam session settings 2026-09-11 19:35:54 +06:00
Kingkor Roy Tirtho
571aea8d38 feat(remote-control): refactor service registration and cleanup logic for improved reliability 2026-09-05 09:52:06 +06:00
Kingkor Roy Tirtho
9ec7704d7b feat(jam-session): enhance jam session functionality with improved playback synchronization and error handling 2026-09-05 09:38:44 +06:00
Kingkor Roy Tirtho
60e38f4868 feat(jam-session): add connection state management and update UI feedback for session status 2026-09-04 15:46:56 +06:00
Kingkor Roy Tirtho
0eb07ef9b6 feat(webrtc): update ICE server configuration and enhance logging for peer connection events 2026-09-04 14:17:37 +06:00
Kingkor Roy Tirtho
7bf17afc42 feat(remote-control): enhance remote playback functionality with new commands and UI integration 2026-09-04 12:02:32 +06:00
Kingkor Roy Tirtho
1c169d007a feat(remote-control): enhance queue management and player state synchronization 2026-09-04 09:24:15 +06:00
Kingkor Roy Tirtho
c5d35bfc93 fix(remote-control): update connection handling and improve logging for remote control events 2026-09-04 09:07:08 +06:00
Kingkor Roy Tirtho
df3a6dcbd2 feat(remote-control): implement remote playback functionality and UI components 2026-08-28 18:28:24 +06:00
Kingkor Roy Tirtho
1aeee1db79 fix(sidebar): add spacer to AppSidebar for improved layout 2026-08-28 13:18:04 +06:00
Kingkor Roy Tirtho
f21442b1c2 feat(deeplinks): implement deep link handling for jam sessions 2026-08-28 09:33:39 +06:00
Kingkor Roy Tirtho
d3a8548661 feat(devices): add device discovery and remote control features 2026-08-21 19:50:09 +06:00
Kingkor Roy Tirtho
94ec831a96 feat(mediacontrol): implement SystemMediaControlService for OS media integration 2026-08-16 15:07:28 +06:00
Kingkor Roy Tirtho
7b506b49e6 refactor(plugin): replace PluginDiscoverViewModel with PluginViewModel and update navigation 2026-08-16 14:19:01 +06:00
Kingkor Roy Tirtho
11cc5e2457 fix(plugin): handle service closure exception during authentication check 2026-08-16 12:27:07 +06:00
Kingkor Roy Tirtho
0a76abba65 chore: update Gradle wrapper to version 9.4.0 and Kotlin standard library to 2.4.10 2026-08-16 11:57:10 +06:00
Kingkor Roy Tirtho
e826052691 fix(webview): linux webview crashing the app 2026-08-15 21:59:15 +06:00
Kingkor Roy Tirtho
e0b9ab530d feat: implement system tray functionality with Compose Native Tray integration 2026-08-14 21:41:09 +06:00
Kingkor Roy Tirtho
94903dcc33 feat: integrate Nucleus framework for enhanced window management and webview support 2026-08-14 20:40:37 +06:00
Kingkor Roy Tirtho
d95e1aad70 fix: update pendingNextIndex when playing a track from the playlist 2026-08-14 19:08:01 +06:00
Kingkor Roy Tirtho
19c1d0ec35 refactor: streamline PlayerQueueContent and ViewModel for better state management 2026-08-14 18:35:42 +06:00
Kingkor Roy Tirtho
870195bdfd feat: improve NewPipe video rank matching 2026-08-14 17:29:25 +06:00
Kingkor Roy Tirtho
4ef256249e fix: play next not working 2026-08-14 17:17:14 +06:00
Kingkor Roy Tirtho
f4eac7dbd9 refactor: make sure screens use viewmodels instead of having logic in composables 2026-08-14 17:11:38 +06:00
Kingkor Roy Tirtho
16e2a743a5 fix: cached track audio not being invalidated causing alternative track source to not being played 2026-08-14 13:15:34 +06:00
Kingkor Roy Tirtho
b6615bdbc8 feat: update dependencies and configure compose hot reload settings 2026-08-13 22:03:41 +06:00
Kingkor Roy Tirtho
fe0ebb47fe Refactor webview configuration and data clearing functions for iOS and JVM platforms
- Updated `platformWebviewConfig` function to accept an optional `pluginId` parameter for both iOS and JVM implementations.
- Enhanced data directory handling in JVM to create a separate directory for each plugin.
- Implemented `platformClearWebviewData` function for both platforms to clear webview data based on the provided `pluginId`.
- Added necessary imports for iOS and JVM specific functionalities.
2026-07-30 22:53:15 +06:00
Kingkor Roy Tirtho
4bc487782f feat(plugin_install): add plugin installation dialog and release fetching functionality 2026-07-25 22:26:06 +06:00
Kingkor Roy Tirtho
160f1f318f feat(plugin_discovery): implement GitHub plugin discovery and add logo support and information dialog in UI 2026-07-25 22:06:13 +06:00
Kingkor Roy Tirtho
ec672d5f84 feat(plugin_discovery): implement GitHub plugin discovery and add logo support in UI 2026-07-25 14:57:35 +06:00
Kingkor Roy Tirtho
6c9c762b87 refactor: audio metadata handling and add Discord RPC client functionality 2026-07-24 17:28:37 +06:00
Kingkor Roy Tirtho
cfaea59e2f feat(systemtray): self-manage tray lifecycle via Koin DI
SystemTrayService now observes settings internally and creates/removes
the tray icon when minimizeToTray toggles. No more external start/stop
calls from composables — eliminates infinite tray icon recreation.

- SystemTrayService init block subscribes to settings changes
- Close button uses hideWindow() when tray enabled
- Double-click uses hideWindow()/showWindow() for consistent state
- main.kt stripped of LaunchedEffect/remember tray management
- ApplicationMainBar close button checks minimizeToTray setting
2026-07-22 16:54:11 +06:00
Kingkor Roy Tirtho
3448e16ed2 feat: implement blacklist functionality for tracks and artists with UI updates 2026-07-22 16:23:02 +06:00
Kingkor Roy Tirtho
019bbfae14 feat: add hover effect to menu items in System Tray for improved user experience 2026-07-21 22:22:12 +06:00
Kingkor Roy Tirtho
e5993b8ba1 fix: enhance Discord RPC connection management with cooldown and error handling 2026-07-21 14:34:45 +06:00
Kingkor Roy Tirtho
032d9d174b feat: implement System Tray integration for window management and media controls 2026-07-21 14:28:21 +06:00
Kingkor Roy Tirtho
74c345d53c feat: add Discord Rich Presence integration for enhanced media playback visibility 2026-07-21 13:59:07 +06:00
Kingkor Roy Tirtho
16f10b5ba2 feat: refactor LyricsViewModel to use AudioPlayerInterface for improved abstraction 2026-07-20 22:24:53 +06:00
Kingkor Roy Tirtho
5f9f98fb9e feat: update skipToNext and skipToPrevious methods in AudioPlayer for improved media item management 2026-07-20 21:58:52 +06:00
Kingkor Roy Tirtho
a9760a711a feat: introduce AudioPlayerInterface and refactor AudioPlayer implementations for better abstraction 2026-07-20 21:45:33 +06:00
Kingkor Roy Tirtho
189a0c658b feat: simplify playback control logic in AudioPlayer by removing redundant state checks 2026-07-20 18:28:58 +06:00
Kingkor Roy Tirtho
9013b374c7 feat: add current time management in AudioPlayer for improved playback control 2026-07-20 17:45:47 +06:00
Kingkor Roy Tirtho
c10c9bb3fc feat: implement CollectionView component and refactor Album, Playlist, SavedTracks screens for improved UI consistency 2026-07-20 17:40:30 +06:00
Kingkor Roy Tirtho
b22ab3d43e feat: enhance AdaptiveDialogBottomSheet with dismiss icon and improve plugin screen layout 2026-07-20 17:04:39 +06:00
Kingkor Roy Tirtho
c3852a1c32 feat: add adaptive dialog bottom sheet component and enhance plugin installation UI 2026-07-20 15:19:52 +06:00
Kingkor Roy Tirtho
7d1a6750c3 feat: enhance haze effect integration in AppShell and AppSidebar for improved UI experience 2026-07-20 14:04:49 +06:00
Kingkor Roy Tirtho
edc7cdd3fa feat: implement haze effect and UI enhancements in AppLargePlayer and AppShell 2026-07-20 13:22:14 +06:00
Kingkor Roy Tirtho
12dea49c2c feat: replace FeatherIcons with Iconsax in window controls and update sidebar with better design 2026-07-20 11:58:52 +06:00
Kingkor Roy Tirtho
a09a7c8976 feat: integrate Uniffi for audio metadata reading and writing with Lofty library 2026-07-18 00:14:35 +06:00
Kingkor Roy Tirtho
abeae2144c feat: enhance UI with shared element transitions and improve state management in album and playlist screens 2026-07-17 17:59:48 +06:00
Kingkor Roy Tirtho
3d7d15541f feat: refactor PluginPermissionsDialog to use custom UI components for improved consistency and readability 2026-07-16 23:41:58 +06:00
Kingkor Roy Tirtho
70cabedc9e feat: replace FeatherIcons with Iconsax in PluginCard and PluginPermissionsDialog for improved UI consistency 2026-07-16 22:29:29 +06:00
Kingkor Roy Tirtho
0b3d21f255 feat: update icons in settings sections to use Iconsax library for improved UI consistency 2026-07-16 22:22:27 +06:00
Kingkor Roy Tirtho
9d79d055ba feat: implement settings section cards for updates, desktop, language, caching, and plugins 2026-07-16 01:28:48 +06:00
Kingkor Roy Tirtho
a590fa59f9 refactor: simplify SettingsScreen and PluginScreen by removing unused pluginManager references and enhancing DefaultAbilityPluginSelector 2026-07-15 23:26:15 +06:00
Kingkor Roy Tirtho
1ef1eff3cb feat: add Toggle component and update UI to use it in place of Switch 2026-07-15 23:11:12 +06:00