BlueHuskyStudios / BlueHuskyStudios/DeadassSimpleMediaPlayer

Introduce schema versions on all persisted types

Open
#57 1 comment 0 reactions 0 assignees View on GitHub
Automatically found enhancement
Dominant language
Swift
Stars
0
Forks
3
Avg merge
2d 22h
Merged PRs (30d)
9

Description

`NowPlayingSnapshot`, `SavedPlaylist`, and `PlaybackHistory` are `Codable` with no version field. Any future rename or type change makes existing documents fail to decode — and the catch blocks log and continue, so the user silently loses their queue, playlists, or history.

The app is in public TestFlight now, so there's an installed base. Adding a version field is cheap today and impossible retroactively.

Contributor guide

Open the contributing guide

Research direction

Locate the Codable declarations for NowPlayingSnapshot, SavedPlaylist, and PlaybackHistory, then trace where their documents are persisted and decoded, including the catch blocks that currently log and continue. Define the versioning and compatibility behavior for existing documents, and consider the installed TestFlight data; done means all three persisted types can safely evolve without silently losing queue, playlist, or history data.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
data, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.