Commit Graph

328 Commits

Author SHA1 Message Date
Kingkor Roy Tirtho
71341ec0bd feat: upgrade to Flutter 3.22.0 2024-06-01 21:33:05 +06:00
Kingkor Roy Tirtho
b2d9e64758 refactor: use replace http with dio and use it as the default 2024-06-01 12:31:20 +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
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
2286277a06
chore: remove assets/ca entry in pubspec.yaml 2024-05-04 21:26:45 +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
7ac791757a fix(linux): tray icon not showing #541
upgrade old packages
2024-04-17 22:20:30 +06:00
Kingkor Roy Tirtho
7ae9f56482 chore: bump version and generate changelogs 2024-04-15 19:28:01 +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
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
dependabot[bot]
b948872258
chore(deps): bump cached_network_image from 3.3.0 to 3.3.1 (#1270)
Bumps [cached_network_image](https://github.com/Baseflow/flutter_cached_network_image) from 3.3.0 to 3.3.1.
- [Commits](https://github.com/Baseflow/flutter_cached_network_image/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: cached_network_image
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 17:30:11 +06:00
dependabot[bot]
17837f4149
chore(deps): bump flutter_hooks from 0.20.1 to 0.20.5 (#1271)
Bumps [flutter_hooks](https://github.com/rrousselGit/flutter_hooks/tree/master/packages) from 0.20.1 to 0.20.5.
- [Commits](https://github.com/rrousselGit/flutter_hooks/commits/flutter_hooks-v0.20.5/packages)

---
updated-dependencies:
- dependency-name: flutter_hooks
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2024-04-11 17:29:45 +06:00
dependabot[bot]
4b757d8e8d
chore(deps): bump flutter_gen_runner from 5.3.1 to 5.4.0 (#1272)
Bumps [flutter_gen_runner](https://github.com/FlutterGen/flutter_gen) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/FlutterGen/flutter_gen/releases)
- [Changelog](https://github.com/FlutterGen/flutter_gen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/FlutterGen/flutter_gen/compare/v5.3.1...v5.4.0)

---
updated-dependencies:
- dependency-name: flutter_gen_runner
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 17:27:42 +06:00
dependabot[bot]
27604b28f2
chore(deps): bump popover from 0.2.8+2 to 0.3.0 (#1273)
Bumps [popover](https://github.com/minikin/popover) from 0.2.8+2 to 0.3.0.
- [Release notes](https://github.com/minikin/popover/releases)
- [Changelog](https://github.com/minikin/popover/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minikin/popover/compare/v0.2.8...v0.3.0)

---
updated-dependencies:
- dependency-name: popover
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 17:27:03 +06:00
dependabot[bot]
beafe23e30
chore(deps): bump build_runner from 2.4.6 to 2.4.9 (#1361)
Bumps [build_runner](https://github.com/dart-lang/build) from 2.4.6 to 2.4.9.
- [Release notes](https://github.com/dart-lang/build/releases)
- [Commits](https://github.com/dart-lang/build/compare/build_runner-v2.4.6...build_runner-v2.4.9)

---
updated-dependencies:
- dependency-name: build_runner
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 17:26:32 +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
6673e5a8a8
feat: improved caching based on riverpod (#1343)
* feat: add riverpod based favorite album provider

* feat: add album is saved, new releases and tracks providers

* feat: add artist related providers

* feat: add all categories providers

* feat: add lyrics provider

* feat: add playlist related providers

* feat: add search provider

* feat: add view and spotify friends provider

* feat: add playlist create and update and favorite handlers

* feat: use providers in home screen

* chore: fix dart lint issues

* feat: use new providers for playlist and albums screen

* feat: use providers in artist page

* feat: use providers on library page

* feat: use provider for playlist and album card and heart button

* feat: use provider in search page

* feat: use providers in generate playlist

* feat: use provider in lyrics screen

* feat: use provider for create playlist

* feat: use provider in add track dialog

* feat: use providers in remaining pages and remove fl_query

* fix: remove direct access to provider.value

* fix: glitching when loading

* fix: user album loading next page indicator

* feat: make many provider autoDispose after 5 minutes of no usage

* fix: ignore episodes in tracks
2024-03-20 23:38:39 +06:00
Kingkor Roy Tirtho
35e9920b51 chore: add riverpod lint 2024-03-13 14:34:51 +06:00
Kingkor Roy Tirtho
5019c14c44 chore: fix getting started screen theme and bump version and generate changelogs 2024-03-08 19:50:57 +06:00
Kingkor Roy Tirtho
649d6acfe2 chore(macos): enable macos hardened runtime and use spotify from pub 2024-03-05 18:24:32 +06:00
Kingkor Roy Tirtho
a9a1d4c9dc fix: album, artist page not loading #1282 2024-03-01 18:55:33 +06:00
dependabot[bot]
27e7d532f0
chore(deps): bump audio_session from 0.1.16 to 0.1.18 (#1146)
Bumps [audio_session](https://github.com/ryanheise/audio_session) from 0.1.16 to 0.1.18.
- [Release notes](https://github.com/ryanheise/audio_session/releases)
- [Changelog](https://github.com/ryanheise/audio_session/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ryanheise/audio_session/compare/v0.1.16...v0.1.18)

---
updated-dependencies:
- dependency-name: audio_session
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-25 22:54:11 +06:00
dependabot[bot]
befaf59f0c
chore(deps): bump flutter_lints from 2.0.3 to 3.0.1 (#1147)
Bumps [flutter_lints](https://github.com/flutter/packages/tree/main/packages) from 2.0.3 to 3.0.1.
- [Release notes](https://github.com/flutter/packages/releases)
- [Commits](https://github.com/flutter/packages/commits/flutter_lints-v3.0.1/packages)

---
updated-dependencies:
- dependency-name: flutter_lints
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-25 22:53:47 +06:00
dependabot[bot]
920d4219f0
chore(deps): bump flutter_native_splash from 2.3.3 to 2.3.10 (#1176)
Bumps [flutter_native_splash](https://github.com/jonbhanson/flutter_native_splash) from 2.3.3 to 2.3.10.
- [Release notes](https://github.com/jonbhanson/flutter_native_splash/releases)
- [Changelog](https://github.com/jonbhanson/flutter_native_splash/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jonbhanson/flutter_native_splash/commits)

---
updated-dependencies:
- dependency-name: flutter_native_splash
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2024-02-25 22:53:25 +06:00
dependabot[bot]
59a819be9c
chore(deps): bump flutter_riverpod from 2.4.3 to 2.4.10 (#1212)
Bumps [flutter_riverpod](https://github.com/rrousselGit/riverpod) from 2.4.3 to 2.4.10.
- [Commits](https://github.com/rrousselGit/riverpod/compare/flutter_riverpod-v2.4.3...flutter_riverpod-v2.4.10)

---
updated-dependencies:
- dependency-name: flutter_riverpod
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-25 22:50:40 +06:00
dependabot[bot]
1fa6d1f819
chore(deps): bump dio from 5.3.3 to 5.4.1 (#1243)
Bumps [dio](https://github.com/cfug/dio) from 5.3.3 to 5.4.1.
- [Release notes](https://github.com/cfug/dio/releases)
- [Commits](https://github.com/cfug/dio/compare/dio_v5.3.3...dio_v5.4.1)

---
updated-dependencies:
- dependency-name: dio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-25 22:50:08 +06:00
olivier2
17105a640b
fix(android): audio issue when screen is off and broadcast audio session id (#1221 & #1247)
* this change fixes the garbled audio on my Pixel 6a while the screen is off. Not familiar with libmpv, but seems to favor audiotrack audio output over opensles. KRTirtho/spotube#571

* get audio session id, send it to AudioTrack in libmpv, broadcast it to other apps. Fixes KRTirtho/spotube#1221

---------

Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2024-02-25 22:26:06 +06:00
Kingkor Roy Tirtho
9095a8c8f8 feat: add songlink based track matching for youtube and open song link button
songlink.com will provide accurate match verified by community for most spotify tracks improving overall match accuracy for Youtube audio source
2024-02-25 11:13:23 +06:00
Kingkor Roy Tirtho
c3289a0ba4 fix(android): pressing back button in any other tab other than home exits the app 2024-02-18 23:02:14 +06:00
Kingkor Roy Tirtho
badd52223a chore: use piped_client git version to fix search issue 2024-02-17 22:07:32 +06:00
Kingkor Roy Tirtho
90f7c531cd fix: non-banger songs breaking the queue if sources not found
Now fallbacks to another audio source if not found in one
2024-02-17 21:33:09 +06:00
Kingkor Roy Tirtho
9dfd49ca04 feat: add endless playback support #285 2024-01-31 18:00:54 +06:00
Kingkor Roy Tirtho
5d0b5e69a5 chore: adjust the version 2024-01-27 22:39:05 +06:00
Kingkor Roy Tirtho
bcba45fbd1 chore: bump version and add changelogs 2024-01-27 22:27:27 +06:00
dependabot[bot]
9bd16e096f
chore(deps): bump go_router from 11.1.2 to 13.0.1 (#1020)
Bumps [go_router](https://github.com/flutter/packages/tree/main/packages) from 11.1.2 to 13.0.1.
- [Release notes](https://github.com/flutter/packages/releases)
- [Commits](https://github.com/flutter/packages/commits/go_router-v13.0.1/packages)

---
updated-dependencies:
- dependency-name: go_router
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2024-01-24 10:18:10 +06:00
dependabot[bot]
1bdae90fb0
chore(deps): bump sidebarx from 0.15.0 to 0.16.3 (#896)
Bumps [sidebarx](https://github.com/Frezyx/sidebarx) from 0.15.0 to 0.16.3.
- [Release notes](https://github.com/Frezyx/sidebarx/releases)
- [Changelog](https://github.com/Frezyx/sidebarx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Frezyx/sidebarx/compare/0.15.0...0.16.3)

---
updated-dependencies:
- dependency-name: sidebarx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2024-01-24 10:07:24 +06:00
dependabot[bot]
7b6042d01f
chore(deps): bump google_fonts from 5.1.0 to 6.1.0 (#798)
Bumps [google_fonts](https://github.com/material-foundation/flutter-packages/tree/main/packages) from 5.1.0 to 6.1.0.
- [Commits](https://github.com/material-foundation/flutter-packages/commits/HEAD/packages)

---
updated-dependencies:
- dependency-name: google_fonts
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2024-01-24 10:02:25 +06:00
dependabot[bot]
ab09ae60f0
chore(deps): bump visibility_detector from 0.3.3 to 0.4.0+2 (#797)
Bumps [visibility_detector](https://github.com/google/flutter.widgets/tree/master/packages) from 0.3.3 to 0.4.0+2.
- [Commits](https://github.com/google/flutter.widgets/commits/HEAD/packages)

---
updated-dependencies:
- dependency-name: visibility_detector
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 10:00:35 +06:00
dependabot[bot]
9b289605c7
chore(deps): bump shared_preferences from 2.2.1 to 2.2.2 (#796)
Bumps [shared_preferences](https://github.com/flutter/packages/tree/main/packages/shared_preferences) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/flutter/packages/releases)
- [Commits](https://github.com/flutter/packages/commits/shared_preferences-v2.2.2/packages/shared_preferences)

---
updated-dependencies:
- dependency-name: shared_preferences
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 09:59:20 +06:00
powen
b2ba6d9261
cd: build iPA support for iOS (#971)
* Create build-iPA.yml

* Update build-iPA.yml

* update-iOS

- Set AppIcon(same as Android)
- Set to correct app name(Sptube -> Spotube)
-

* update iOS flavors

* Update build-iPA.yml

* Update spotube-release-binary.yml

* rename release-bin iPA filename

* update appicon

* Update dev-Info.plist
2024-01-03 00:40:50 +06:00
Kingkor Roy Tirtho
ec7c952270 chore: generate changelogs and bump version to 3.4.4 2023-12-30 23:41:43 +06:00
Kingkor Roy Tirtho
4050f55640
feat: Deep link support (#950)
* feat: add deep link support

* feat(android): add intent share support

* chore: untranslated msg for it locale
2023-12-18 22:12:16 +06:00
Kingkor Roy Tirtho
b92583d0df feat: improve loading animations 2023-12-04 22:20:47 +06:00
Kingkor Roy Tirtho
cd31798870 chore: get ready for release 2023-11-27 20:10:56 +06:00
Kingkor Roy Tirtho
42dd4d68e7 chore: update deps 2023-11-22 21:09:29 +06:00
Kingkor Roy Tirtho
2a69886556 feat(artist): modularize page and add wikipedia section 2023-11-22 20:23:12 +06:00
Kingkor Roy Tirtho
7d05c40dc0 fix: use CustomScrollView for personalized page 2023-11-22 10:02:11 +06:00
Kingkor Roy Tirtho
88b8785cb8 feat: discord RPC integration #98 2023-11-22 09:32:05 +06:00