feat(account): unlink game accounts on the shard before an account is deleted (MODULE_API 1.20.0)
ACCOUNT_DELETION.md §4.4 (AD10, AD11). api.onUserDeleting queues every linked
account in the new shard_pending_unlinks table, then calls the sidecar's
DELETE /link/{account} (actor web:account-deletion) and drops the mirror on 200/404.
A shard that is away leaves the row pending, retried on WS reconnect and on a live
server.hello; a protected account (403) is refused and listed on Admin -> Shard as
still linked on the shard. A live mob.login without the deleted user's webId clears
the row. coreApi ^1.20.0; core-ref pinned to website#232's merge (7bd93b8).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -27,6 +27,10 @@
|
||||
-- marker, and deleting it would re-arm a protocol bump against tables this
|
||||
-- file has just dropped.
|
||||
|
||||
-- Account deletion's queue (MODULE_API 1.20.0), the newest table. No foreign key:
|
||||
-- its rows outlive the users they name, by design.
|
||||
DROP TABLE IF EXISTS `shard_pending_unlinks`;
|
||||
|
||||
-- The Asset Bridge's three (phase 3). No foreign keys of their own, so they lead:
|
||||
-- `shard_creature_bodies.slug` mirrors an atlas slug and `shard_assets.body` a body
|
||||
-- id, but neither is declared as a constraint — the atlas tables are rebuilt from
|
||||
|
||||
Reference in New Issue
Block a user