Commit Graph

288 Commits

Author SHA1 Message Date
Kingkor Roy Tirtho
c7d8ed567a fix: lyrics page doesn't scroll to top after song ends #885 2024-07-09 21:17:49 +06:00
Kingkor Roy Tirtho
86ee64c606 chore: remove old logger 2024-07-06 22:02:31 +06:00
Kingkor Roy Tirtho
15211123aa
Merge pull request #1688 from KRTirtho/feat/desktop-webview
feat(desktop): webview based login support
2024-07-06 21:43:29 +06:00
Kingkor Roy Tirtho
243a843033
Merge pull request #1687 from KRTirtho/refactor/storage-n-providers
refactor: migrate to sqlite based storage from hive
2024-07-06 21:38:52 +06:00
Kingkor Roy Tirtho
2f46fa32f1 chore: fix webview and app window freezing after successful login 2024-07-06 18:31:17 +06:00
Kingkor Roy Tirtho
7dd76d24c3 chore: fix windows cookie invalid characters 2024-07-05 14:54:49 +06:00
Kingkor Roy Tirtho
f2f35bd2fb chore: fix windows webview2 trying to store data in admin folders 2024-07-05 13:32:07 +06:00
Kingkor Roy Tirtho
15bd58a955 feat(desktop): implement webview based login 2024-07-05 11:21:32 +06:00
Kingkor Roy Tirtho
7927a3e404 chore: fix top album and track invalid time frame operations 2024-07-01 13:25:28 +06:00
Kingkor Roy Tirtho
3bdc46da4d feat(stats): add lazy loading support 2024-06-30 21:08:29 +06:00
Kingkor Roy Tirtho
ffb3a3377f chore: add migration script to migrate hive to drift 2024-06-30 15:44:24 +06:00
Kingkor Roy Tirtho
1cfd377c29 refactor: synced lyric cache to use drift db 2024-06-30 11:01:40 +06:00
Kingkor Roy Tirtho
b495ed4ac0 fix: null exception in album page navigated from /home 2024-06-29 17:09:58 +06:00
Kingkor Roy Tirtho
08ac29c979 refactor(stats): migrate stats to use drift db 2024-06-29 17:05:06 +06:00
Kingkor Roy Tirtho
a83dd64476 refactor: replace all instances of proxy playlist 2024-06-24 20:52:40 +06:00
Kingkor Roy Tirtho
f79fedefd4 chore: create new audio player centric playback notifier with drift persistence 2024-06-23 12:23:28 +06:00
Kingkor Roy Tirtho
b9b7d5c8aa refactor: lastfm scrobbling to drift db 2024-06-17 18:08:57 +06:00
Kingkor Roy Tirtho
d18f74fd65 refactor: use drift db based authentication 2024-06-16 22:33:23 +06:00
Kingkor Roy Tirtho
bf6cec8d69 refactor(blacklist): use drift sql db instead of hive 2024-06-14 22:23:12 +06:00
Kingkor Roy Tirtho
3fb003ea60 refactor(preferences): use Drift sql db for preferences 2024-06-14 00:29:09 +06:00
Kingkor Roy Tirtho
064d92d35d refactor: merge connect and playback server into one server 2024-06-12 20:46:49 +06:00
Kingkor Roy Tirtho
7816cb8068 refactor: break down heart button hook into a different file 2024-06-09 09:30:17 +06:00
Kingkor Roy Tirtho
8cb6c6d126 refactor: breakdown page window titlebar widget into multiple small widgets 2024-06-09 09:19:41 +06:00
Kingkor Roy Tirtho
4af23241c8 refactor: move shared components to 1 level up 2024-06-07 22:40:44 +06:00
Kingkor Roy Tirtho
b224af21ea refactor: left out modules 2024-06-07 22:34:03 +06:00
Kingkor Roy Tirtho
1cfeef54e7 refactor: move route related components to modules folder 2024-06-07 22:19:45 +06:00
Kingkor Roy Tirtho
73c5b30b63 fix: browse anonymously button takes to wrong route 2024-06-06 08:43:29 +06:00
Kingkor Roy Tirtho
57cd8607dd Revert "refactor: migrate deprecated warnings"
chore: undo flutter 3.22.x related deprecated theme migrations
2024-06-06 08:19:07 +06:00
Kingkor Roy Tirtho
56241f773a refactor: migrate deprecated warnings 2024-06-02 21:15:11 +06:00
Kingkor Roy Tirtho
82307bc030
feat: personalized stats based on local music history (#1522)
* feat: add playback history provider

* feat: implement recently played section

* refactor: use route names

* feat: add stats summary and top tracks/artists/albums

* feat: add top date based filtering

* feat: add stream money calculation

* refactor: place search in mobile navbar and settings in home appbar

* feat: add individual minutes and streams page

* feat(stats): add individual minutes and streams page

* chore: default period to 1 month

* feat: add text to explain user how hypothetical fees are calculated

* chore: ensure usage of route names instead of direct paths

* cd: add cache key

* cd: remove media_kit_event_loop from git
2024-06-01 11:40:01 +06:00
Kingkor Roy Tirtho
fc5bfa089c feat: local library folder cards 2024-05-23 21:27:09 +06:00
Kingkor Roy Tirtho
d82261cb25 fix: local track not showing up in queue 2024-05-23 16:56:52 +06:00
Blake Leonard
22caa818f4
feat: Local music library (#1479)
* feat: add one additional library folder

This folder just doesn't get downloaded to.
I think I'm going to rework it so that it can be multiple folders,
but I'm going to commit my progress so far anyway.

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: update dependencies so that it builds

I'm not sure if this breaks CI or something, but I couldn't build
it locally to test my changes, so I made these changes and it
builds again.

Signed-off-by: Blake Leonard <me@blakes.dev>

* feat: index multiple folders of local music

If you used a previous commit from this branch, this is a breaking
change, because it changes the type of a configuration field. but
since this is still in development, it should be fine.

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: manage local library in local tracks tab

This also refactors the list to use slivers instead. That's the
easiest way to have multiple scrolling lists here...

The console keeps getting spammed with some intermediate layout
error but I can't hold it long enough to figure out what's causing
it.

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: use folder add/remove icons in library

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: remove redundant settings page

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: rename "Local Tracks" to just "Local"

Not sure if this would be the recommended way to do it...

Signed-off-by: Blake Leonard <me@blakes.dev>

* fix: console spam about useless Expanded

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: remove completed TODO

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: use new Platform constants; regenerate plugins

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: put local libraries on separate pages

Signed-off-by: Blake Leonard <me@blakes.dev>

---------

Signed-off-by: Blake Leonard <me@blakes.dev>
2024-05-23 15:18:01 +06:00
Kingkor Roy Tirtho
a77b6776e8
refactor: Dart based Github Workflow CLI (#1490)
* feat: add build dart script for windows

* feat: add android build support

* feat: add linux build support

* feat: add macos build support

* feat: add ios build support

* feat: add deps install command and workflow file

* cd: what?

* cd: what?

* cd: what?

* cd: update workflow inputs

* cd: replace release binary

* cd: run flutter pub get

* cd: use dpkg zstd instead of xz, windows disable innoInstall, fix channel enum.name and reset pubspec after changing build no for nightly

* cd: fix tar copy path

* cd: fix copy linux command

* cd: fix windows inno depend and fix android aab path

* cd: idk

* cd: linux why???

* cd: windows choco copy failed

* cd: use dart tar archive for creating tar file

* cd: fix linux file copy error

* cd: use tar command directly

* feat: add linux_arm platform

* cd: add linux_arm platform

* cd: don't know what?

* feat: notification about nightly channel update

* chore: fix some errors parsing nightly version info
2024-05-09 15:26:58 +06:00
Kingkor Roy Tirtho
937a706ac9
fix: windows SSL Certificate error breaking login #905 (#1474)
* fix: certificate error by using custom ssl certificate

* Cd/docker linux ar (#1468)

* cd: use docker buildx

* cd: use linux host for linux arm instead of macos m1

m1 doesn't support nested virtualization. (Apple truly sucks)

* cd: don't specify arch in Dockerfile

* cd: use custom Dockerfile from ubuntu instead of flutter image

* cd: add setup java for android

* cd: add flutter distributor pre-built docker image for arm

* cd: save me from this cursed arm build

* cd: ??

* cd: ??

* cd: use docker build

* fix: windows SSL Exception for Signing in

* refactor: extract update checker as a basic function instead of a hook
2024-05-04 20:10:19 +06:00
Kingkor Roy Tirtho
9bccbc93c6 fix: spotify friends and user profile icon (mobile) showing when not authenticated #1410 2024-04-18 00:19:47 +06:00
Kingkor Roy Tirtho
7e07c2e198 fix(search): load more button not working #1417 2024-04-18 00:05:47 +06:00
Kingkor Roy Tirtho
7ac791757a fix(linux): tray icon not showing #541
upgrade old packages
2024-04-17 22:20:30 +06:00
Kingkor Roy Tirtho
930539ca48 chore: fix analyzer issues 2024-04-15 19:47:15 +06:00
Kingkor Roy Tirtho
6f4c308457 chore: fix shuffle doesn't move active track to top and library gridview with floating filter field 2024-04-15 19:11:59 +06:00
Kingkor Roy Tirtho
6e07fec1a5 chore: fix no window button and feed section page bottom overflow 2024-04-15 18:01:35 +06:00
Kingkor Roy Tirtho
9e25c742d4
feat: add Spotify homepage personalized recommendations (#1402)
* feat: add spotify homepage recommendations

* chore: bring back made for user sectin
2024-04-14 12:10:34 +06:00
Kingkor Roy Tirtho
39e97eef34 feat: add user profile page 2024-04-13 13:05:41 +06:00
Kingkor Roy Tirtho
f82253c6ba refactor: show devices in sidebar in big screens 2024-04-13 10:22:59 +06:00
Kingkor Roy Tirtho
57ccf16311 refactor: rename providers 2024-04-12 11:06:03 +06:00
Kingkor Roy Tirtho
22a49e56a2
refactor: use tcp server based track matcher (#1386)
* refactor: remove SourcedTrack based audio player and utilize mediakit playback system

* feat: implement local (loopback) server to resolve stream source and leverage the media_kit playback API

* feat: add source change support and re-add prefetching tracks

* fix: assign lastId when track fetch completes regardless of error

* chore: remove print statements

* fix: remote queue not working

* fix: increase mpv network timeout to reduce auto-skipping

* fix: do not pre-fetch local tracks

* fix(proxy-playlist): reset collections on load

* chore: fix lint warnings

* fix(mobile): player overlay should not be visible when the player is not playing

* chore: fix typo in turkish translation

* cd: checkout PR branch

* cd: upgrade flutter version

* chore: fix lint errors
2024-04-11 17:56:41 +06:00
Kingkor Roy Tirtho
de68fe3a6b chore: make dropdown buttons more attractive 2024-04-09 01:15:39 +06:00
Kingkor Roy Tirtho
5afe823abd feat(lyrics): add LRCLIB lyrics provider as fallback 2024-04-05 00:48:08 +06:00
Kingkor Roy Tirtho
68374efd3e
feat: LAN connect a.k.a control remote Spotube playback and local output device selection (#1355)
* feat: add connect server support

* feat: add ability discover and connect to same network Spotube(s) and sync queue

* feat(connect): add player controls, shuffle, loop, progress bar and queue support

* feat: make control page adaptive

* feat: add volume control support

* cd: upgrade macos runner version

* chore: upgrade inappwebview version to 6

* feat: customized devices button

* feat: add user icon next to devices button

* feat: add play in remote device support

* feat: show alert when new client connects

* fix: ignore the device itself from broadcast list

* fix: volume control not working

* feat: add ability to select current device's output speaker
2024-04-04 22:22:00 +06:00
Kingkor Roy Tirtho
ee97aedcfc chore: remove direct access to .value without calling asData.value 2024-03-23 20:37:52 +06:00