Kingkor Roy Tirtho
17f2068950
feat(navigation): implement fade-through and stack transition animations for navigation
2026-10-18 18:31:51 +06:00
Kingkor Roy Tirtho
75ced1285e
feat(local-tracks): implement LocalFolder screen and view model for folder navigation
2026-10-18 18:04:53 +06:00
Kingkor Roy Tirtho
aa83708499
feat(graalvm): enable GraalVM native image support and update packaging configurations
2026-10-17 17:01:40 +06:00
Kingkor Roy Tirtho
62c1fe7902
feat: enhance Android build configuration with stable/nightly flavors and update launcher icons
2026-10-16 21:34:44 +06:00
Kingkor Roy Tirtho
9fba2aa33d
feat(window): implement window state persistence and restoration
2026-10-16 20:49:16 +06:00
Kingkor Roy Tirtho
9db35e092b
feat(server): implement port fallback mechanism for playback proxy server
2026-10-16 20:06:12 +06:00
Kingkor Roy Tirtho
2474c26a83
refactor: move package name from dev.krtirtho to org.spotube
2026-10-16 15:37:15 +06:00
Kingkor Roy Tirtho
7743d6d4c3
feat(lyrics): implement SyncedLyricsList component and enhance LyricsViewModel for better state management
2026-10-16 15:12:10 +06:00
Kingkor Roy Tirtho
77a9cef3a1
fix(stream-proxy): improve logging for cache timeout and handle disconnection scenarios
2026-10-16 14:44:39 +06:00
Kingkor Roy Tirtho
c9d16a25c6
fix(audio-player): android shuffle wasnt working
2026-10-16 14:36:27 +06:00
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