feat(links): unlink every Steam id before an account is deleted (MODULE_API 1.20.0) #70
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/account-deletion-hook"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Step 3 of
docs/website/ACCOUNT_DELETION.md§6, the Rust half of §4.4. Core side: website#232 (merged,7bd93b8).What it does
Core calls
api.onUserDeleting({ userId, deletedBy })before the users row goes (AD10). This module registerslinks.unlinkForDeletion, which:unlinkOwned(steamId, userId)for every Steam link the account holds. That keeps what a cascade would skip: the prompt Teams re-sync, and arust.account.unlinkactivity entry per link, withdetail: { steamId, reason: 'account deleted', deletedBy }.rust_account_links, so once the links are gone the grants have already left it. The next tick pushes the withdrawal instead of waiting for the digest check.It never waits on a game. The link is the site's own record and the plugin keeps none, so there is never pending work; anything the hook doesn't finish, the cascade does.
Also
coreApiis^1.20.0. A 1.19.0 core has noapi.onUserDeleting, andregister()would throw.ci/core-ref.jsonis pinned to websitemainat7bd93b8, the sha #232 merged as.engagement-triggers.jsonis regenerated; only its embeddedcoreApichanged.demo.test.jsassertedcoreApiwas exactly^1.19.0. It now asserts a floor of 1.19.0, which is what it was protecting.Checked
npm test734/734.check:imports,check:bundle,check:swaggerandcheck:engagementall pass.npm run build, andnpm test101/101.7bd93b8:route manifest up to date (282 routes)routes.manifest.json is current — 89 routes, all documentedonUserDeletingregistration.unlinkOwned, logs each, re-syncs Teams, and marks the whole fleet dirtyNot walked yet: a real deletion against a rig is ACCOUNT_DELETION §6 step 6.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY