Skip to content

add cross-extension sharing, batch retry, and major performance optimizations#373

Closed
Amonoman wants to merge 12 commits into
spotiflacapp:mainfrom
Amonoman:main
Closed

add cross-extension sharing, batch retry, and major performance optimizations#373
Amonoman wants to merge 12 commits into
spotiflacapp:mainfrom
Amonoman:main

Conversation

@Amonoman

@Amonoman Amonoman commented May 14, 2026

Copy link
Copy Markdown
Contributor

Docs & Setup

  • docs: add Reddit badge and update Extension Dev Guide URL

New Features & UI

  • feat(metadata): add "None" quick-select preset to auto-fill field picker and i18n key to all ARB files
  • feat: add cross-extension collection sharing
  • fix(album-screen, artist-screen): restore missing Add to Playlist button and clean up layout
  • feat(ux): add haptic feedback on download complete, queue complete, and queue canceled

Queue & Settings

  • feat(settings): add save download history toggle with warning dialog and clear on disable
  • feat(queue): add batch retry for all failed downloads with second-line header button

Backend, Perf & Fixes

  • ci: add PR check workflow that builds Android and iOS on every pull request
  • fix(go-backend): add missing fields to ExtTrackMetadata, remove duplicate declaration
  • perf: parallelize FFmpeg, library scan, extension runtime, cover lookups, and metadata allocations
  • refactor(providers): modularize download queue and history architecture
  • fix(local-library): correct LibraryLookupIndex to LocalLibraryLookupIndex

@Amonoman Amonoman force-pushed the main branch 9 times, most recently from 39d85a3 to f5a9d6d Compare May 17, 2026 11:39
@Amonoman Amonoman force-pushed the main branch 7 times, most recently from 661dc35 to c3330f0 Compare May 23, 2026 01:16
@Amonoman Amonoman changed the title Enable cross-extension collection sharing feature add cross-extension sharing, batch retry, and major performance optimizations May 23, 2026
Amonoman added 9 commits May 23, 2026 11:47
Add Go backend, Dart service, share sheet UI, album/artist screen buttons.
Fix album/artist ID resolution to build correct per-service URLs. Fix
static method call and hardcoded snackbar string.
…ton and clean up layout

album_screen.dart: Restores the _buildAddToPlaylistButton call site next to _buildShareButton, matching the previous layout.

artist_screen.dart: Uses context.l10n.artistReleases instead of hardcoded strings, adjusts expanded header height (460/420 → 420/380), uses a Column+Row structure for the header, and maintains themed semi-transparent white button styling with colorScheme.primary background for the download button.
…equest

Builds both Android (unsigned split APKs) and iOS (unsigned IPA) in parallel
on every PR and uploads them as artifacts named with the PR number. Removes
release-specific steps (versioning, signing, GitHub release, AltStore update,
Telegram notification) build verification only.
…cate declaration

Added AlbumID, ArtistID, AlbumURL, ExternalURLs fields to the existing
ExtTrackMetadata struct in extension_providers.go and wired them up in
parseExtensionTrackValue. Deleted ext_track_metadata.go which caused a
redeclaration compile error.
@Amonoman Amonoman force-pushed the main branch 2 times, most recently from d92a0ff to b280ca8 Compare May 23, 2026 10:04
- Extracted DownloadHistoryNotifier, models, and states into download_history_provider.dart
- Split DownloadQueueNotifier into download_queue_provider.dart, download_processor.dart, and download_helpers.dart using Dart part files
- Isolated core background processing, metadata enrichment, and Deezer/ISRC lookups into download_processor.dart
- Extracted folder structure, path building, and SAF naming utilities into download_helpers.dart
- Resolved static reference compilation warnings and verified with full test suite
@zarzet

zarzet commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

I cheery pick it, some feature should be available in v4.5.6

@zarzet zarzet closed this Jun 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants