ProvinceSystem: Make and follow skins and drinks on Profile, and sign in with their codesProvinceSystem: Open skins and drinks inside Profile's tabsProvinceSystem: Hide the page scrollbar on touch screensProvinceSystem: Let pending wardrobe skins be equipped and editedProvinceSystem: Show characters as cards on ProfileProvinceSystem: Open characters inside Profile's Characters tabProvinceSystem: Redesign the character view on ProfileProvinceSystem: Show what a character wears and its starter kit on the hero's linksProvinceSystem: Show a character's background as their creation choicesRPCharacters: shorten character switch cooldowns to 1-4 daysProvinceSystem: Hold a web create until its wardrobe skins are uploadedThievery: Keep Thievery protecting on old TLibs and bind robbery requests to charactersTFMCCore: Require resource packs before character selectionRPCharacters: Return to character selection without disconnectingRPCharacters: Dress players as Steve at loginDenarEconomy: Keep money per character in a transactional ledgerRPCharacters: Move wallet, guild context and death reconciliation to charactersGames: bind game money to character and guild ledgersThievery: use character ledger and membership for theftRPCharacters: Make the character selector readableRPCharacters: Trim the character card to three linesRPCharacters: Hide the room body in third personRPCharacters: Find living characters by real nameThievery: Own locks by character (stage 6a)ProvinceSystem: remove boxed navigation focus highlightDenarEconomy: Move dead characters' money to their estates (stage 6b)Thievery: Move dead characters' locks through their estates (stage 6b)ProvinceSystem: trim helper text on accounts pageProvinceSystem: start the page scrollbar below the site headerProvinceSystem: extend profile skeleton loaders across websiteRPCharacters: Replace in-game character creation with a dialog wizardGames: Bind private table ownership and estates to charactersMusicalInstruments: migrate editable projects to character ownershipTFMCCore: Reuse cached resource packs on joinRPCharacters: Hold guildless deaths with no heir for 7 daysConditionalEvents: Keep one-time and cooldown data per character by defaultConditionalEvents: Give each account's old per-character data to its most-played character onceRPCharacters: Make /rpcharacter menu open character selectionSimpleFactions: Name vehicles and where they are on the will screenThievery: List a character's locks on the will screenRPCharacters: Redesign the will screenTFMCCore: Cut the join pack reload from 8 s to 3 sResearch: tie a research project to the character who started itInfestations: Kill only the character who logged off during a lureBarterShops: Only the owner or staff can break a shop signProvinceSystem: Check web creates against the RPCharacters creation rulesRPCharacters: Check web creates against the in-game creation rulesRPCharacters: save creation prompt completion after answeringProvinceSystem: complete character summaries and recheck edited stepsProvinceSystem: Keep map regions stationary on hoverInfestations: Lures: a restart is harmless and only a saved death settlesSurgery: Surgery: switch penalty, old RPCharacters warning and physician failure reportResearch: check the session before spending focus and refuse an old TLibsBirdMessenger: Keep unsent letters safe through death, logout and storage failuresCooking: warn without the identity provider and reset food only for who diedProvinceSystem: composite transparent map tiles before zoomingCooking: preserve successor food after administrative permakillAdvancedCrafting: keep config precision for stats with a global offsetProvinceSystem: keep owner skin files out of Cloudflare's cacheMagic: Keep ArmourShop skins when a mage weapon is rebuiltGames: reopen guild house tables after a restartThievery: skin emotes from active character profileRPCharacters: Fix mask skin refreshes while riding vehiclesCooking: stack aging foods consistently on inventory clicksProvinceSystem: use a full-height selection drawer and visible chapter linksMusicalInstruments: studio save, memory and storage issues in multitrack recordingProvinceSystem: gutter tiles instead of stretching them over seamsProvinceSystem: draw a clicked realm's selection without waiting on the networkVehicleFramework: restore vehicle seats after wardrobe skin changesRPCharacters: hide selection HUD and defer chat until PlayRPCharacters: show estate holdings without obsolete exclusionsResearch: require reviewed character ownership for legacy stationsSimpleFactions: bound estate retries for destroyed vehiclesMagic: import attested empty legacy gear offlineArchaeo: read ruin dossiers with more than 50 YAML aliasesSimpleFactions: show council members by character name in the faction menuProvinceSystem: index guide pages again after the loading skeletonRPCharacters: Keep permadeath map regions to the SimpleFactions worldSimpleFactions: show deposits in every guild's ledgerThievery: prevent lockpicking accessible containersSimpleFactions: let guild leaders rename their own settlementSimpleFactions: show the credited amount after a material bank depositRPCharacters: let players turn on the spot while returning to selectionGeigerCounters: Reset formatting between the two halves of the collection lineThievery: Remember lock kinds across restartsSimpleFactions: align command tab completion with executable grammarBreedingBuddies: complete configured animals and matching numeric presetsCompanionPets: complete resolvable owner tokens and unassigned petsCooking: complete cooking modes and cached animal targetsDenarEconomy: correct command tab completionDowsing: complete configured resource labels and filter command prefixesGemInfusion: respect permissions and sender type in completionGunsAndGadgets: complete only valid missing gun partsMagic: complete valid magic arguments and artifact path grammarMarketBlock: filter trade completion by prefix and senderResearch: filter research completion by the current prefixVehicleFramework: filter vehicle completions and expose valid track actionsWoodworking: respect permissions and sender type in completionThievery: correct command tab completionProvinceSystem: stop empty land picking a realm coloured blackMusicalInstruments: correct command tab completionArchaeo: correct command tab completionBarterShops: correct command tab completionGames: complete valid poker targets and deal modifiersInfestations: correct command tab completionRecycler: correct command tab completionSimpleFactions: refuse 0,0,0 and duplicate colours for realmsRPCharacters: correct command tab completionDenarEconomy: count bundled coins in /pouchGemInfusion: preserve infusion gems across server restartsDowsing: deliver node output into the hopper above the nodeProvinceSystem: fetch fresh inventory without cachesVehicleFramework: stop landings from wrecking vehicle weaponsVFBuilders: preserve vehicle construction across interrupted shutdownsCompanionPets: resume pets after a killed server when no deletion was lostServerAssets: add Archaeo MMOItems artifacts and texturesDocs: Describe the Profile wardrobe and starting skins and drinks without a codeMusicalInstruments: send an empty compound with keyboard clicksProvinceSystem: Let branch previews sign in with Discord through devDocs: Document Discord sign-in on ProvinceSystem branch previewsProvinceSystem: Move Precedent and code lookup into the staff panelDocs: ProvinceSystem: Precedent and code lookup live in the staff panelThievery: avoid block snapshots in inventory click and close handlersServerAssets: Gate the Act 1 EXP catch-up on subclass and add a subclass reminderProvinceSystem: Say when Precedent isn't set up instead of showing Cloudflare's errorServerAssets: Redraw Archaeo artifact textures and keep four pottery sherdsSimpleFactions: Pin the campaign clock in the raid command testsTLibs: Drop ItemsAdder's legacy armour atlas once every armour has an equipment assetTFMCCore: Warn staff when the resource pack has a texture over 16384 pxProvinceSystem: Make Precedent and Codes look like the other staff tabsProvinceSystem: Run the backend on Python 3.12Docs: Document the backend's move to Python 3.12ProvinceSystem: Let admins view the site as a playerDocs: ProvinceSystem: admins viewing the site as a playerProvinceSystem: Sync wiki materials and station recipes with the main serverProvinceSystem: Drop the unused Remember me layout from the Profile code formProvinceSystem: Fetch player meta from one placeProvinceSystem: Drop the unused staff command lists and hand-rolled wiki headingsProvinceSystem: Share the hub atmosphere and check staff access once on UpdatesProvinceSystem: Drop character code left over from the old list pageProvinceSystem: Use one file download helper across the frontendProvinceSystem: Remove the unused Tailwind config and dead global stylesProvinceSystem: Drop the map editor's dead Regenerate button and unused map helpersProvinceSystem: Share one code redeem form between skins and drinksProvinceSystem: Remove dead backend routes, helpers and scriptsDocs: ProvinceSystem: the site no longer offers Remember meDocs: ProvinceSystem: drop excludedStaffCommands from the wiki READMEDocs: ProvinceSystem: drop removed backend routes from the docsProvinceSystem: Switch the remaining hand-written CSS to TailwindProvinceSystem: Add oxlint and oxfmt to the frontendProvinceSystem: Page the Precedent cases and search all of them on the serverDocs: Describe Precedent paging and the server-side case searchTFMCWeb: Stop sending donator_tier with player metaDocs: ProvinceSystem: the character creator is open to every rankDocs: Document the ProvinceSystem diagnostic pageProvinceSystem: Keep the staff maps one size and the tabs unselectableDocs: Document the /diagnostic/server routeDocs: Document the pull request size checkTLibs: Label pull requests by size and require a second approval from size:LBreedingBuddies: Add the PR size checkDocs: Document skins and drinks on Profile and code sign-inActivityTF: Add the PR size checkAdvancedCrafting: Add the PR size checkArchaeo: Add the PR size checkArmourShop: Add the PR size checkBarterShops: Add the PR size checkBirdMessenger: Add the PR size checkCompanionPets: Add the PR size checkCooking: Add the PR size checkCoreProtect: Add the PR size checkDenarEconomy: Add the PR size checkDowsing: Add the PR size checkDrinkBuilder: Add the PR size checkGames: Add the PR size checkGathering: Add the PR size checkGeigerCounters: Add the PR size checkGemInfusion: Add the PR size checkGunsAndGadgets: Add the PR size checkInfestations: Add the PR size checkInteractibleFurniture: Add the PR size checkMagic: Add the PR size checkMarketBlock: Add the PR size checkMusicalInstruments: Add the PR size checkPermCleaner: Add the PR size checkRecycler: Add the PR size checkResearch: Add the PR size checkRPCharacters: Add the PR size checkSimpleFactions: Add the PR size checkSurgery: Add the PR size checkTFMCCore: Add the PR size checkTFMCWeb: Add the PR size checkThievery: Add the PR size checkTrialRooms: Add the PR size checkVehicleFramework: Add the PR size checkVFBuilders: Add the PR size checkWoodworking: Add the PR size checkWorldBorder: Add the PR size checkDocs: Describe skins and drinks opening inside Profile's tabsDocs: Describe the wardrobe Syncing chipTLibs: Label pull requests by size without an approval gateActivityTF: Make the PR size check labels onlyAdvancedCrafting: Make the PR size check labels onlyArchaeo: Make the PR size check labels onlyArmourShop: Make the PR size check labels onlyBarterShops: Make the PR size check labels onlyBirdMessenger: Make the PR size check labels onlyBreedingBuddies: Make the PR size check labels onlyCompanionPets: Make the PR size check labels onlyCooking: Make the PR size check labels onlyCoreProtect: Make the PR size check labels onlyDenarEconomy: Make the PR size check labels onlyDowsing: Make the PR size check labels onlyDrinkBuilder: Make the PR size check labels onlyGames: Make the PR size check labels onlyGathering: Make the PR size check labels onlyGeigerCounters: Make the PR size check labels onlyGemInfusion: Make the PR size check labels onlyGunsAndGadgets: Make the PR size check labels onlyInfestations: Make the PR size check labels onlyInteractibleFurniture: Make the PR size check labels onlyMagic: Make the PR size check labels onlyMarketBlock: Make the PR size check labels onlyMusicalInstruments: Make the PR size check labels onlyPermCleaner: Make the PR size check labels onlyRecycler: Make the PR size check labels onlyResearch: Make the PR size check labels onlySimpleFactions: Make the PR size check labels onlySurgery: Make the PR size check labels onlyTFMCCore: Make the PR size check labels onlyTFMCWeb: Make the PR size check labels onlyThievery: Make the PR size check labels onlyTrialRooms: Make the PR size check labels onlyVFBuilders: Make the PR size check labels onlyVehicleFramework: Make the PR size check labels onlyWoodworking: Make the PR size check labels onlyWorldBorder: Make the PR size check labels onlyDocs: Describe the PR size check as labels onlyRPCharacters: Make the PR size check labels onlyServerAssets: Lower the heavy Hraftar helmet by one pixel and cover the chinDocs: Note when TFMCWeb resends player metaProvinceSystem: Add a staff Servers tab comparing plugin jars with their GitHub releasesDocs: Document the ProvinceSystem staff Servers tabServerAssets: Add Cavalier and Sphynx companions with gated eggsRPCharacters: Tell listeners which character a permakill endedDocs: Surgery: describe how a character change ends an operationDocs: Infestations: death on login reaches only the character who logged offRPCharacters: Read character data for website roster pushes on the main threadProvinceSystem: Add Cavalier and Sphynx to the Companion Pets wikiDocs: Describe who can break BarterShops signsDocs: BarterShops storage needs a chest the owner may openTLibs: Add the shared character identity and session APIDocs: Document the shared character identity and session APIDocs: Document the creation rule checks on the website and in RPCharactersRPCharacters: provide shared character identity and session lifecycleGathering: use shared character sessions for gathering identityGunsAndGadgets: Bind reload cleanup and delayed actions to character sessionsMagic: bind magic state to shared character sessionsResearch: bind research menus to character sessionsInfestations: bind infestation penalties to character sessionsSurgery: bind surgery consent and operations to character sessionsThievery: check thievery traits through ready character sessionsGames: resolve game names through shared character identityBirdMessenger: bind bird mail to character sessionsCooking: bind cooking nutrition and actions to character sessionsSimpleFactions: use shared character identity in SimpleFactionsTLibs: end stale session values on put and stop catching errors in closeDocs: Document lure deaths and restarts, Surgery identity fixes and Research shutdownGames: treat a null shared display name as no character nameMagic: Fix character identity review findingsSimpleFactions: cache playtime per prestige pass and keep character names plainRPCharacters: harden the character identity provider after reviewProvinceSystem: Let admins view the site as players who have never signed inDocs: Document server restart controls and host connection setupServerAssets: add raised-arms player emoteDocs: Document hands-up pose and read-only inspectionServerAssets: Class feedback pass: semi-caster Slot III at 7, foe-aware group spells, Righteous Fury, damage and kit fixesProvinceSystem: Add server restart and release controls through a restricted host helperProvinceSystem: preserve restart review and startup failure gatesProvinceSystem: Put restart controls in the server cards and let staff replace test buildsDocs: Describe card restart controls and optional test-build replacementProvinceSystem: let the deployment account update the control helperProvinceSystem: stop reporting accepted restarts as a conflictProvinceSystem: add read-only worn skin endpoint for the in-game selectorProvinceSystem: tidy the server cardsProvinceSystem: trim the Servers page text and tighten the plugin tableRPCharacters: Add a tool that proposes character body heirsTLibs: Expose each account's reviewed legacy heirDocs: Describe returning to character selection without disconnectingRPCharacters: answer legacy heirs from the reviewed body heirsDocs: Note that selection dresses players as Steve at loginTLibs: expose durable character death identifiersDocs: Describe DenarEconomy's character ledgerDocs: Describe per-character paid changes and selector balancesDocs: Document character shop migration and ledger recoveryDocs: Document character faction membership and migrationDocs: Document stage 5 consumer identity and payment integrationDocs: Describe the enclosed character selection roomDocs: Describe the trimmed character cardDocs: Note the invisible selection-room bodyDocs: Drop last location from the Play tooltip descriptionTLibs: find living characters by real nameDocs: Describe finding living characters by real nameSimpleFactions: Add lockGuild and the death-guild index for character-owned locksDocs: Describe character vehicle ownershipDocs: Document VFBuilders construction credit by characterDocs: SimpleFactions: character vehicle ownersDocs: Thievery: character lock owners (stage 6a)Research: load Research config files in name orderTLibs: Add the estate API (stage 6b)TFMCWeb: Add the will request routes to the realm allow-listDocs: TLibs: document the estate API (stage 6b)Docs: TFMCWeb: realm allow-list with the will routes (stage 6b)Docs: BarterShops: estates and /bartershops intent (stage 6b)Docs: DenarEconomy: estate money and staff ledger commands (stage 6b)Docs: ProvinceSystem: wills and estates on Profile (stage 6b)Docs: Thievery: estate locks (stage 6b)Docs: Research: estates and atomic station saves (stage 6b)Docs: SimpleFactions: estates guide (stage 6b)Docs: BirdMessenger: letters after a death (stage 6b)Docs: RPCharacters: estates and wills (stage 6b)Docs: Document the in-game character creation wizardDocs: Clarify character estate holdings and unresolved research recoveryDocs: Document character husbandry ownership and recoveryTLibs: roll back transactions on JVM errorsDocs: Document character-owned mage gear and recoveryDocs: Document Games character ownership and estate recoveryDocs: Document archaeology character ownership and offline recoverySimpleFactions: guard vehicle claims across ownership event API versionsDenarEconomy: remove account-addressed economy APIsVehicleFramework: retire legacy vehicle claim eventSimpleFactions: read guild balances on the main thread for async income previewsDocs: SimpleFactions: document the per-war side lock for warbandsCooking: food API and husbandry switch for BreedingBuddiesProvinceSystem: Servers: show whether each latest release is its default branch, and load fasterDocs: ProvinceSystem: describe the Servers tab's release-vs-branch markCodex: Initial commitConditionalEvents: Initial commitConditionalEvents: Update README.mdCodex: Build Codex as a TFMC plugin for Paper 1.21.10ConditionalEvents: Build ConditionalEvents as a TFMC plugin for Paper 1.21.10Docs: Codex and ConditionalEvents: add guides for per-character dataDocs: Codex and ConditionalEvents: one-off copy to the most-played characterDocs: Describe held realmsDocs: Document per-character GeigerCounters sources and the signal barTFMCCore: Replace /tfmc <track> promote|demote with /tfmc promote|demoteDocs: TFMCCore: document /tfmc promote|demoteDocs: Note that the GeigerCounters collection messages share one lineDocs: RPCharacters: /rpcharacter menu opens character selectionTFMCWeb: Publish the server's commands for the staff panelProvinceSystem: Add a Commands tab to the staff panelDocs: Document the staff panel Commands tabDocs: Capitalise the GeigerCounters signal bar titleDocs: Describe the redesigned will screenDocs: Thievery remembers lock kinds across restartsSimpleFactions: read Spymaster deaths on the main thread for async income previewsGeigerCounters: complete known offline limit targetsActivityTF: correct command tab completionCoreProtect: correct command tab completionDrinkBuilder: expose every matching pack completion actionSurgery: hide player-only surgery suggestions from consoleTFMCCore: complete online resource pack command targetsTrialRooms: complete the resetcooldowns actionArmourShop: complete active token deletion codesInteractibleFurniture: hide player-only furniture completion from consoleTFMCWeb: complete authorized token and player argument routes