Reviving #299 proposal: generalized collection migration UI
Context:#
We need migration for atproto records on user's PDS (e.g. .feed.comment or future org.tangled.* records.) Supporting legacy records forever is unrealistic. We should at least cleanup most of legacy records. But we need active PDS session to perform migration.
Currently we already do some migrations on login, but it requires user action to logout and relogin.
Solution#
- schedule migrations for legacy records in appview DB
- on any active user session, when there are pending migrations, redirect to
/migrationpage - on
/migrationpage, show real-time migration progress - when migration is done, redirect back to original page
Something like this:
/migration?return_url=/tangled.org/core/issues
Tangled is migrating some legacy data from your [PDS].
You will be redirected back to [/tangled.org/core/issues] when migration completes.
[1/3] Add `RepoDid` field to repo-referencing records
Progress: 30% [=======> ]
So appview won't require relogin for migration, and users can know what's happening clearly. As this strategy doesn't require relogin, it is more strong, so we can expect legacy records to be migrated more quickly.
When sufficient amounts of records are migrated, we can deprecate backwards-compatibility layer from appview code.