maxrave-dev / maxrave-dev/SimpMusic

[Enhancement] Smart Queue & Offline Logic for "Recent" Tab

Open
#1,530 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug:uncofirmed failure to comply with guidelines
Dominant language
Kotlin
Stars
11.4k
Forks
599
Avg merge
3d 18h
Merged PRs (30d)
7

Description

🚀 [Enhancement] Smart Queue & Offline Logic for "Recent" Tab

📌 Overview
The current behavior of the Recent tab (located between the notification bell and settings) creates friction during offline listening and general library management. This proposal suggests three key improvements to streamline the user experience.

🛠️ Proposed Improvements

  1. 🧹 Stop "Viewed" Clutter
  • Current Issue: Opening an artist profile or a playlist automatically adds every song from that list to the Recent tab, even if they weren't played.
  • Solution: Only add songs to the Recent list if the user actually starts playing them.
  1. 🔄 Fix "Repeat One" Behavior
  • Current Issue: Playing a song from the Recent tab causes the player to stop or loop that single track indefinitely. It does not treat the Recent list as a continuous queue.
  • Solution: When a song is selected from the Recent tab, the app should automatically queue the remaining songs in that list for continuous playback.
  1. 📶 Automatic Offline Skipping ("Smart Skip")
  • Current Issue: When offline, if the queue reaches a song that isn't cached/downloaded, playback stops entirely.
  • Solution: Implement logic to detect offline status. The player should automatically skip un-cached songs and jump to the next available offline track to ensure uninterrupted music.

💡 Suggested Logic Summary

  • User-Initiated Only: Recent tab = Songs actually heard.
  • Continuous Flow: Recent tab = An active, playable queue.
  • Smart Offline Mode: Skip unavailable tracks instead of stopping.

Image

As you can i play song in offline thought recent tab so

Image

It only one song play reapeted

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Recent tab implementation, playback queue handling, and offline cache checks in the Kotlin Android app. Reproduce selecting a Recent song while offline, then trace how played songs are recorded and how the queue advances. Done means only played songs appear, Recent selection queues the remaining tracks, and uncached offline tracks are skipped without stopping playback.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.