Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

ios: classical display (work blocks, ribbon, composer page)

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

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
kotlin, swift
Domain
mobile

Research direction

Start by reviewing the Android classical display and the iOS SwiftUI screens that use shared/; check the status of #1067 and #959, which the local tag-reading work depends on. Implement and verify each listed iOS surface against the specified classical rules and ClassicalDisplay setting. Done means those surfaces and the lock screen show the requested information, while pop libraries retain their existing behavior, visuals, performance, and storage.

Written by the indexing model from the issue text.

Description

later

Part of #1065. Android shipped first, by the owner's decision.

Port the classical display to iOS (SwiftUI over shared/):

  • work blocks with movement numerals and work headers on album pages;
  • recital composer headings;
  • the Now Playing work ribbon and movement list sheet;
  • the composer page and the "Other recordings" sheet;
  • lock screen title = the movement, artist line = "Composer: Work · lead performer".

Same rules as Android: the strict isClassicalBlock predicate, a work block needs ≥2 movements, and the ClassicalDisplay setting. Pop libraries must not change in behaviour, visuals, performance or storage.

Local tag reading for the classical fields depends on #1067 / #959 (TagLib on iOS). Subsonic fields come through the shared provider.

Dominant language
Kotlin
Stars
231
Forks
28
PR merge metrics
No merged PRs in 30d

Getting set up

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.

More from timusus/Shuttle2

All issues in timusus/Shuttle2

Similar issues

More Kotlin issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.