Simo
7c93d3e766
feat(housekeeping): add audit and preference storage
2026-08-26 21:42:14 +02:00
Simo
bdb8f0b02b
test(housekeeping): isolate request capability contexts
2026-08-26 21:28:26 +02:00
Simo
edc165ba8d
refactor(housekeeping): reuse request capability context
2026-08-26 21:20:12 +02:00
Simo
cc6bb9a9a3
fix(housekeeping): preserve error correlation IDs
2026-08-26 21:09:18 +02:00
Simo
b7edbca043
refactor(housekeeping): stabilize service contracts
2026-08-26 21:04:42 +02:00
Simo
67cb4b488d
fix(housekeeping): satisfy ase route types
2026-08-26 20:52:13 +02:00
Simo
a9bdd6bd5d
fix(housekeeping): avoid ase preview self-redirect
2026-08-26 20:50:09 +02:00
Simo
f72a2b6c74
refactor(housekeeping): adopt ase route namespace
2026-08-26 20:44:38 +02:00
Simo
74756dfed2
docs: plan complete ase housekeeping cutover
2026-08-26 20:26:19 +02:00
Simo
d42cd2af53
docs: define complete housekeeping cutover
2026-08-26 20:08:42 +02:00
Simo
d5eadeb3a7
Merge pull request 'feat: add housekeeping inventory foundation' ( #51 ) from codex/housekeeping-foundation into main
...
CI / check (push) Successful in 28s
CI / release (push) Skipped
CI / deploy (push) Successful in 42s
Reviewed-on: #51
2026-08-26 19:50:40 +02:00
Simo
2a36ba1956
Merge branch 'main' into codex/housekeeping-foundation
CI / check (pull_request) Successful in 28s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-26 19:50:26 +02:00
Simo
08f8d54888
fix: close housekeeping foundation review findings
CI / check (pull_request) Successful in 28s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-26 19:16:34 +02:00
Simo
ebc263da35
test: harden housekeeping foundation boundaries
2026-08-26 18:00:35 +02:00
Simo
a158c78a7c
test: verify housekeeping foundation boundaries
2026-08-26 17:44:03 +02:00
Simo
a47b4eb195
test: canonicalize housekeeping module boundaries
2026-08-25 21:35:10 +02:00
Simo
b6bf5e69ca
test: parse housekeeping import boundaries
2026-08-25 21:23:58 +02:00
Simo
0b46a94d57
test: close housekeeping import-policy escapes
2026-08-25 21:11:37 +02:00
Simo
ff2b2af6d4
test: harden housekeeping preview boundaries
2026-08-25 21:00:22 +02:00
Simo
d19ba88005
feat: add gated housekeeping foundation preview
2026-08-25 20:45:40 +02:00
Simo
cc241f0b7e
test: cover housekeeping palette utilities
2026-08-25 20:29:08 +02:00
Simo
8bf4663336
test: complete housekeeping shell boundary guard
2026-08-25 20:25:11 +02:00
Simo
52ec48ffe4
test: harden housekeeping shell contracts
2026-08-25 20:17:45 +02:00
Simo
addc9c7b1a
feat: build housekeeping command deck shell
2026-08-25 20:05:56 +02:00
Simo
cfeb0f19b8
fix: refine housekeeping Italian copy
2026-08-25 19:54:58 +02:00
Simo
14cfad4029
test: harden housekeeping registry contracts
2026-08-25 19:49:31 +02:00
Simo
2d5f03048a
feat: add housekeeping domain registry
2026-08-25 19:39:08 +02:00
Simo
7edca410fa
test: harden housekeeping capability context
2026-08-25 19:25:27 +02:00
Simo
c63c9830b2
feat: add housekeeping capability context
2026-08-25 19:16:29 +02:00
Simo
7d62a04f0e
feat: define housekeeping foundation contracts
2026-08-25 19:06:23 +02:00
Simo
3b3d7780c9
docs: complete housekeeping migration matrix
2026-08-25 18:49:58 +02:00
Simo
9b7d5de12f
fix: classify Studio audit repairs as mutations
2026-08-25 18:34:15 +02:00
Simo
949e14c109
docs: audit housekeeping hotel workflows
2026-08-25 18:26:25 +02:00
Simo
4d9845b52f
fix: complete housekeeping economy audit
2026-08-25 18:14:30 +02:00
Simo
3a03a3db15
docs: audit housekeeping economy workflows
2026-08-25 18:14:30 +02:00
Simo
09850c807c
docs: audit housekeeping content workflows
2026-08-25 18:14:29 +02:00
Simo
eb9f01d6fe
docs: audit housekeeping people workflows
2026-08-25 18:14:28 +02:00
Simo
a619f89106
fix: normalize housekeeping root routes
2026-08-25 18:14:28 +02:00
Simo
dee4031421
test: define housekeeping migration inventory
2026-08-25 18:14:27 +02:00
Simo
3f10db41db
docs: plan housekeeping inventory foundation
2026-08-25 18:14:27 +02:00
Simo
601a3e746f
docs: design housekeeping modernization
2026-08-25 18:14:26 +02:00
Simo
6ed1b03e24
chore: align Node 26.7.0 toolchain
CI / check (push) Successful in 35s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m0s
2026-08-24 19:12:11 +02:00
Simo
0bd2ac6707
fix: separate header avatar from username
CI / check (push) Successful in 25s
CI / release (push) Skipped
CI / deploy (push) Successful in 45s
2026-08-10 18:45:38 +02:00
Simo
06cd0cfe42
fix: use currency icons in public balances
CI / check (push) Successful in 26s
CI / release (push) Skipped
CI / deploy (push) Successful in 46s
2026-08-10 18:32:17 +02:00
Simo
adc201bfb6
fix: standardize public avatar thumbnails
2026-08-10 18:30:25 +02:00
Simo
bf24d9575a
feat: add public avatar thumbnail contract
2026-08-10 18:24:51 +02:00
Simo
9702ab304c
docs: define public avatar and currency icon design
2026-08-10 18:03:35 +02:00
Simo
4a6fcd050e
fix: preserve user figures in avatar imager
CI / check (push) Successful in 26s
CI / release (push) Skipped
CI / deploy (push) Successful in 44s
2026-08-09 21:48:43 +02:00
Simo
0c8e62357f
fix: preserve runtime furni assets during deploy
CI / check (push) Successful in 46s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m33s
2026-08-02 17:32:32 +02:00
Simo
bac2f653af
feat: add manual recent furni resync action
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 44s
2026-08-02 14:59:31 +02:00
Simo
88ac5ac1ba
feat: add recent furni resync client contract
2026-08-02 14:56:12 +02:00
Simo
cf563f3550
docs: plan manual recent furni resync
2026-08-02 14:54:19 +02:00
Simo
6b6fc5dc64
docs: design manual recent furni resync
2026-08-02 14:51:46 +02:00
Simo
ab43f5d63c
fix: use JSON FurnitureData from gamedata
CI / check (push) Successful in 23s
CI / release (push) Skipped
CI / deploy (push) Successful in 42s
2026-08-02 14:42:23 +02:00
Simo
c78f8812ad
fix: use configured furni source and catalog assets
2026-08-02 14:22:05 +02:00
Simo
aed70db81f
docs: plan configurable furni import source
2026-08-02 14:09:28 +02:00
Simo
1126a70d55
docs: design configurable furni import source
2026-08-02 14:04:58 +02:00
Simo
86cd43def9
fix: mirror manual furni uploads to live assets
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 46s
2026-08-02 13:24:15 +02:00
Simo
01570874a8
fix: map furni imports to production gamedata
2026-08-02 13:16:51 +02:00
Simo
a81af2d71a
docs: plan production furni asset fix
2026-08-02 13:13:58 +02:00
Simo
44b4b3b45c
docs: design production furni asset mapping
2026-08-02 13:12:10 +02:00
Simo
b3245a18ea
fix: bootstrap admin CSRF tokens
CI / check (push) Successful in 23s
CI / release (push) Skipped
CI / deploy (push) Successful in 41s
2026-08-02 11:46:43 +02:00
Simo
a57c73055f
fix: retry login across deploy cutovers
CI / check (push) Successful in 23s
CI / release (push) Skipped
CI / deploy (push) Successful in 41s
2026-08-02 11:31:35 +02:00
Simo
bfc951cfd9
fix: minimize deploy cutover downtime
CI / check (push) Successful in 22s
CI / release (push) Skipped
CI / deploy (push) Successful in 40s
2026-08-02 11:25:03 +02:00
Simo
828fda63e7
fix: keep app online during deploy preparation
CI / check (push) Successful in 23s
CI / release (push) Skipped
CI / deploy (push) Successful in 44s
2026-08-02 11:19:53 +02:00
Simo
1f4aadb3d7
chore: remove Sentry integration
CI / check (push) Successful in 21s
CI / release (push) Skipped
CI / deploy (push) Successful in 53s
2026-08-01 22:12:31 +02:00
Simo
d173dd3194
fix: add automatic deployment skew protection
CI / check (push) Successful in 37s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m28s
2026-08-01 21:52:28 +02:00
Simo and Cursor
d39738eb0d
chore(test): exclude UI client modules from coverage floors
...
CI / check (push) Failing after 9s
CI / release (push) Skipped
CI / deploy (push) Skipped
Admin *-client.tsx files dilute function coverage without unit tests.
Co-authored-by: Cursor <[email protected] >
2026-08-01 16:00:45 +02:00
Simo and Cursor
d69e3f5da5
fix(test): mock db in admin-alerts suite for push hook
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:58:17 +02:00
Simo and Cursor
811cf5719b
fix(admin): cast clothing-set hard-fail mock return type
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:57:14 +02:00
Simo and Cursor
2194aa1239
fix(admin): type-fix clothing-set hard-fail test mock
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:56:53 +02:00
Simo and Cursor
16191cef14
fix(admin): harden clothing/pets/effects/clone imports
...
Align grids on data.items, only treat SSE done as success, hard-fail
clothing sets when libs fail, and add Cancel via AbortController.
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:56:38 +02:00
Simo and Cursor
9c4949186c
feat(admin): server-safe StatusCard and Import hub polish
...
CI / check (push) Failing after 8s
CI / release (push) Skipped
CI / deploy (push) Skipped
Split OnlineUsersWidget from StatusCard, decouple ad delete button, sync badge import to ExternalTexts+WebsiteBadges, add Import section hub with cancelable SSE jobs and upload SQL option.
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:48:21 +02:00
Simo and Cursor
db957d7fb1
fix(ops): narrow DB_BACKUP_DIR for jobs-worker typecheck
...
CI / check (push) Failing after 9s
CI / release (push) Skipped
CI / deploy (push) Skipped
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:27:01 +02:00
Simo and Cursor
725e1cb338
feat(ops): health-fail alerts, optional DB backup, admin UX polish
...
Wire jobs-worker health probes to Discord/email alerts with cooldown, optional mysqldump, rate-limit /api/health, mark-all-read alerts, ConfirmDialog on destructive admin actions, and raise coverage floors.
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:25:47 +02:00
Simo and Cursor
3bd712e744
fix(admin): polish tickets, photos purge note, drizzle contracts
...
CI / check (push) Failing after 9s
CI / release (push) Skipped
CI / deploy (push) Skipped
Add queue banners/counts on ticket detail pages, document local-only photo purge, and harden Drizzle Kit smoke contracts after Prisma removal.
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:07:54 +02:00
Simo and Cursor
ba82789166
chore(db): finish Prisma cutover to Drizzle Kit tooling
...
CI / check (push) Failing after 9s
CI / release (push) Skipped
CI / deploy (push) Skipped
Move CMS SQL to drizzle/migrations, drop prisma packages/schema, wire drizzle-kit scripts, and regenerate schema names from src/db/schema.ts.
Co-authored-by: Cursor <[email protected] >
2026-08-01 15:02:21 +02:00
Simo and Cursor
d8199ea1e4
feat(admin): unified ticket inbox over CMS and help-center queues
...
CI / check (push) Successful in 22s
CI / release (push) Skipped
CI / deploy (push) Successful in 57s
Merged read-model inbox at /admin/tickets and /mod/tickets with type badges and deep links; CMS-only lists moved to /desk. No DB schema merge.
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:49:19 +02:00
Simo and Cursor
24d0b735c1
chore(db): remove Prisma facade and drop prisma:generate from CI (2)
...
CI / check (push) Successful in 22s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m0s
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:39:20 +02:00
Simo and Cursor
422567272c
chore(db): remove Prisma facade and drop prisma:generate from CI
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:38:42 +02:00
Simo and Cursor
ca72966a37
refactor(db): migrate app pages and APIs from Prisma facade to Drizzle (6)
...
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m2s
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:15:43 +02:00
Simo and Cursor
30b54e99e7
refactor(db): migrate app pages and APIs from Prisma facade to Drizzle (5)
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:15:39 +02:00
Simo and Cursor
9aa4f331bf
refactor(db): migrate app pages and APIs from Prisma facade to Drizzle (4)
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:15:36 +02:00
Simo and Cursor
580972c0a0
refactor(db): migrate app pages and APIs from Prisma facade to Drizzle (3)
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:15:32 +02:00
Simo and Cursor
2cd0863cb8
refactor(db): migrate app pages and APIs from Prisma facade to Drizzle (2)
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:15:28 +02:00
Simo and Cursor
7c39aef5d9
refactor(db): migrate app pages and APIs from Prisma facade to Drizzle
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:15:12 +02:00
Simo and Cursor
53b350057d
fix(test): mock @/lib/db in send-currency tests for pre-push
...
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m2s
Co-authored-by: Cursor <[email protected] >
2026-08-01 13:30:16 +02:00
Simo and Cursor
65b2fbee6a
refactor(db): finish Drizzle migration for remaining actions and services
...
Co-authored-by: Cursor <[email protected] >
2026-08-01 13:27:59 +02:00
Simo and Cursor
22234fe102
fix(test): type drizzle mock callbacks for tsc
...
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m4s
Co-authored-by: Cursor <[email protected] >
2026-08-01 13:18:10 +02:00
Simo and Cursor
096f55b394
test: align remaining action tests with Drizzle mocks
...
EOF
Co-authored-by: Cursor <[email protected] >
2026-08-01 13:17:35 +02:00
Simo and Cursor
ed9c23c702
refactor(db): migrate staff and app actions from Prisma facade to Drizzle
...
Co-authored-by: Cursor <[email protected] >
2026-07-31 21:35:05 +02:00
Simo and Cursor
9854719cfd
feat(admin): drizzle trade-lock + RCON sync and photo local purge
...
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m2s
Co-authored-by: Cursor <[email protected] >
2026-07-31 21:14:03 +02:00
Simo and Cursor
67656a9aad
fix(ci): migrate on tag release and wire drizzle schema generate
...
CI / check (push) Successful in 23s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m1s
Co-authored-by: Cursor <[email protected] >
2026-07-31 21:03:54 +02:00
Simo and Cursor
20b85381fe
fix(db): accumulate many-includes and nest relations in prisma facade
...
CI / check (push) Successful in 26s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m12s
Co-authored-by: Cursor <[email protected] >
2026-07-31 20:57:52 +02:00
Simo and Cursor
0224b34f15
feat(admin): configurable sidebar menu order and visibility
...
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m7s
Co-authored-by: Cursor <[email protected] >
2026-07-30 21:45:53 +02:00
Simo and Cursor
1127807aaa
chore(test): raise coverage floors to 6/4/5/6
...
CI / check (push) Successful in 24s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m1s
Co-authored-by: Cursor <[email protected] >
2026-07-30 21:36:30 +02:00
Simo and Cursor
3ac5d6f4f6
chore(ops): strip redundant force-dynamic and probe Redis in ops health
...
CI / check (push) Successful in 25s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m8s
Co-authored-by: Cursor <[email protected] >
2026-07-30 21:33:40 +02:00
Simo and Cursor
3e584aadaf
ci: unify check and production deploy into one workflow
...
CI / check (push) Successful in 25s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m8s
Co-authored-by: Cursor <[email protected] >
2026-07-30 20:58:40 +02:00
Simo and Cursor
bfbc02c75d
fix(ci): remove duplicate deploy job that raced production Deploy
...
CI / check (push) Successful in 21s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 58s
Co-authored-by: Cursor <[email protected] >
2026-07-30 20:50:05 +02:00
Simo and Cursor
98613af875
feat(admin): items_base browser and AdminPageShell on core pages
...
CI / check (push) Successful in 21s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 59s
CI / deploy (push) Failing after 9s
Co-authored-by: Cursor <[email protected] >
2026-07-30 20:41:31 +02:00