willowtreeapps / willowtreeapps/vocable-android

[SPIKE] Determine migration strategy from legacy builds to custom phrase/category builds

Open
#462 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
127
Forks
21
Avg merge
16m
Merged PRs (30d)
4

Description

The previously released app didn't support modifying or removing preset categories and phrases like the new build is going to. We need to evaluate how we're going to migrate users, and whatever their states are, from the old build to the new build where this is possible.

We need to avoid creating duplicate categories/phrases for these users, while also not losing their custom state. It's possible the approach here is to detect a legacy build and just not touch presets at all.

We won't get into this until the Phrase/Category abstractions are complete.

Some considerations:

  • If someone changes/removes the resource names for a phrase and the old one is already in the database, what happens? How can we handle this gracefully

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 reviewing the Phrase and Category abstractions referenced in the issue, then inspect how legacy and new builds represent preset and custom state in the database. Done means documenting an agreed migration strategy that avoids duplicate phrases or categories and preserves supported custom changes.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.