Skip to content

fix(admin): cover Vibez, streaks, polls and every app account in a full wipe - #311

Merged
Github-Samuel merged 1 commit into
mainfrom
fix/wipe-remaining-tables
Oct 10, 2026
Merged

Github-Samuel merged 1 commit into
mainfrom
fix/wipe-remaining-tables

Conversation

@Github-Samuel

Copy link
Copy Markdown
Member

Summary

Follow-up to #296. A full wipe (/wipemyphone, the admin panel, the gks SIM shim and the QBox character-deleted hook from #300) still left data behind.

Changes

Tables keyed by the character, now deleted: phone_id, phone_medical_id, phone_signatures, phone_garage_images, phone_mail_saved_emails, phone_racing_notifications, phone_service_msg_reads, phone_streaks, phone_streak_posts, phone_streak_likes.

Dependent rows

  • Streaks: likes on the character's posts go before the posts, and like_count on posts they liked is counted down first, since it is a stored column.
  • Group invites addressed to the character, and invites into groups they lead.
  • Messages queued for the wiped number.
  • Birdy polls, options and votes on their posts, and votes they cast elsewhere.

Vibez had no block at all. Profiles, posts, comments, comment likes, likes, saves, follows and notifications are now wiped, the same way Photogram is.

Every account, not one per app. The account lookup kept a single username per app, so a character holding two Photogram, Cherry, Ryde or Vibez accounts kept the second one's content while the account row itself was deleted. That left posts and DMs under a username someone else could then register. Each app now loops over every account.

Deliberately left alone: phone_saved_jobs (the multijob roster), phone_secret_apps (server-awarded unlocks), cloud backups, SIM cards, job invites and fires, service invoices, and the admin and MDT tables.

Testing

Live on a QBox dev server with MariaDB. Seeded a throwaway character and a bystander across every table above (two Vibez accounts, a Birdy poll, streak posts each had liked, group invites both ways, a queued message), then fired qbx_core:server:characterDeleted for the throwaway:

  • Everything of the wiped character's was gone (37 rows reported).
  • Every bystander row survived, and the bystander's streak post went from like_count 1 to 0.
  • phone_saved_jobs and phone_secret_apps were untouched.
  • A real character's row counts across ten tables were identical before and after.

Lua suite: 597 passed, with the same two suite errors as main. A new wipe suite runs the real wipeCid against a recording database and pins both what is wiped and what is left alone.

Breaking Changes

None.

@Github-Samuel
Github-Samuel merged commit cdf84a0 into main Oct 10, 2026
1 check passed
@Github-Samuel
Github-Samuel deleted the fix/wipe-remaining-tables branch October 10, 2026 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant