syntaxbullet
64804f7066
feat(db): add feature flags schema for beta feature testing
...
Add feature_flags and feature_flag_access tables to support controlled
beta testing of new features in production without a separate test environment.
2026-02-12 14:41:12 +01:00
syntaxbullet
73ad889018
docs: update documentation to reflect headless API-only web service
...
Deploy to Production / test (push) Successful in 44s
- AGENTS.md: Update project description from web dashboard to REST API
- README.md: Replace Web Dashboard section with REST API, update tech stack
- docs/main.md: Refactor Web Dashboard section to REST API documentation
- web/README.md: Rewrite from React setup to API endpoint documentation
All React/UI references removed - web is now API-only
2026-02-12 12:30:43 +01:00
syntaxbullet
9c7f1e4418
chore(deps): remove unused React/UI dependencies from headless web API
...
- Remove 31 unused packages: React, Tailwind, Radix UI, etc.
- Clean up web/tsconfig.json (remove JSX, DOM lib)
- Remove old web/dist/ build artifacts
Web dashboard is now API-only, no UI dependencies needed
2026-02-12 12:26:37 +01:00
syntaxbullet
efb50916b2
docs: update CI workflow and AGENTS.md for consolidated deps
...
Update references to removed web/package.json:
- CI workflow: Remove 'cd web && bun install' step
- AGENTS.md: Remove web-specific dev commands (cd web && bun run dev/build)
- AGENTS.md: Update schema location to reflect domain module split
- Add Docker commands as recommended local dev approach
All dependencies now installed from root package.json.
2026-02-12 12:21:37 +01:00
syntaxbullet
6abb52694e
chore(web): remove package.json and bun.lock
...
Remove web/package.json and web/bun.lock now that all dependencies
are consolidated in root package.json. The web/node_modules directory
will be cleaned up separately (permission restrictions).
Web dashboard now uses dependencies from root node_modules.
2026-02-12 12:20:09 +01:00
syntaxbullet
76968e31a6
refactor(deps): merge web dependencies into root package.json
...
Move all web dashboard dependencies from web/package.json into root:
- React 19 + React Router 7
- Radix UI components (14 packages)
- Tailwind CSS v4 + bun-plugin-tailwind
- Recharts, React Hook Form, Zod validation
- Dev dependencies: @types/react, @types/react-dom, tailwindcss
This fixes a production issue where web dependencies weren't being
installed in Dockerfile.prod, even though bot/index.ts imports from
web/src/server at runtime.
VPS deployments using Dockerfile.prod will now have all required
dependencies in a single node_modules.
2026-02-12 12:19:51 +01:00
syntaxbullet
29bf0e6f1c
refactor(docker): remove duplicate production stage from Dockerfile
...
Remove the 'production' stage from Dockerfile that was:
- Duplicating functionality already in Dockerfile.prod
- Incorrectly running 'bun run dev' instead of production command
VPS deployments continue to use Dockerfile.prod as the single
source of truth for production builds. Development Dockerfile
now only contains development stage.
2026-02-12 12:19:02 +01:00
syntaxbullet
8c306fbd23
refactor(inventory): flatten effects directory structure
...
Move effect handlers from effects/ subdirectory to flat structure:
- effects/handlers.ts → effect.handlers.ts
- effects/registry.ts → effect.registry.ts
- effects/types.ts → effect.types.ts
Update import path in inventory.service.ts from
'@/modules/inventory/effects/registry' to
'@/modules/inventory/effect.registry'.
This reduces directory nesting and follows the convention of
keeping module files flat unless there are 5+ files.
2026-02-12 12:15:17 +01:00
syntaxbullet
b0c3baf5b7
refactor(db): split schema into domain modules
...
Split the 276-line schema.ts into focused domain modules:
- users.ts: classes, users, userTimers (core identity)
- inventory.ts: items, inventory (item system)
- economy.ts: transactions, itemTransactions (currency flow)
- quests.ts: quests, userQuests (quest system)
- moderation.ts: moderationCases, lootdrops (moderation)
Original schema.ts now re-exports from schema/index.ts for backward
compatibility. All existing imports continue to work.
2026-02-12 12:14:15 +01:00
syntaxbullet
f575588b9a
feat(db): export all schema types
...
Add missing type exports for Class, ItemTransaction, Quest,
UserQuest, UserTimer, and Lootdrop tables. All tables now
have consistent type exports available for import.
2026-02-12 12:12:49 +01:00
syntaxbullet
553b9b4952
feat: Implement a new API routing system by adding dedicated route files for users, transactions, assets, items, quests, and other game entities, and integrating them into the server.
Deploy to Production / test (push) Successful in 44s
2026-02-08 18:57:42 +01:00
syntaxbullet
073348fa55
feat: implement lootdrop management endpoints and fix class api types
2026-02-08 16:56:34 +01:00
syntaxbullet
4232674494
feat: implement user inventory management and class update endpoints
2026-02-08 16:55:04 +01:00
syntaxbullet
fbf1e52c28
test: add deepMerge mock to fix test isolation
...
Deploy to Production / test (push) Successful in 39s
Add deepMerge to @shared/lib/utils mocks in both test files to ensure
consistent behavior when tests run together.
2026-02-08 16:42:02 +01:00
syntaxbullet
20284dc57b
build(docker): remove web frontend build dependencies
...
- Remove web package.json install steps from Dockerfiles
- Remove web/dist copy from production build
- Remove web_node_modules volume from docker-compose
2026-02-08 16:41:56 +01:00
syntaxbullet
36f9c76fa9
refactor(web): convert server to API-only mode
...
- Remove build process spawning for frontend bundler
- Remove SPA fallback and static file serving
- Return 404 for unknown routes instead of serving index.html
- Keep all REST API endpoints and WebSocket functionality
2026-02-08 16:41:47 +01:00
syntaxbullet
46e95ce7b3
refactor(web): remove frontend dashboard files
...
Delete all React components, pages, hooks, contexts, styles, and build scripts.
The web module now serves as an API-only server.
2026-02-08 16:41:40 +01:00
syntaxbullet
9acd3f3d76
docs: add API reference documentation
2026-02-08 16:41:31 +01:00
syntaxbullet
5e8683a19f
feat: Implement structured lootbox results with image support and display referenced items in shop listings.
Deploy to Production / test (push) Successful in 42s
2026-02-08 16:07:13 +01:00
syntaxbullet
ee088ad84b
feat: Increase maximum image upload size from 2MB to 15MB.
Deploy to Production / test (push) Successful in 40s
2026-02-06 13:48:43 +01:00
syntaxbullet
b18b5fab62
feat: Allow direct icon upload when updating an item in the item form.
Deploy to Production / test (push) Successful in 40s
2026-02-06 13:37:19 +01:00
syntaxbullet
0b56486ab2
fix(docker): add web network to studio to allow port exposure
Deploy to Production / test (push) Successful in 42s
2026-02-06 13:14:24 +01:00
syntaxbullet
11c589b01c
chore: stop opening browser automatically when connecting to remote
Deploy to Production / test (push) Successful in 43s
2026-02-06 13:11:16 +01:00
syntaxbullet
e4169d9dd5
chore: add studio service to production compose
Deploy to Production / test (push) Successful in 41s
2026-02-06 13:10:01 +01:00
syntaxbullet
1929f0dd1f
refactor: Abbreviate item rarity values from full names to single-letter codes across the application.
Deploy to Production / test (push) Successful in 40s
2026-02-06 13:00:41 +01:00
syntaxbullet
db4e7313c3
feat: Add support for local asset URLs for shop item icons and images, attaching them to Discord messages.
Deploy to Production / test (push) Successful in 42s
2026-02-06 12:52:15 +01:00
syntaxbullet
1ffe397fbb
feat: Add image cropping functionality with a new component, dialog, and canvas utilities.
Deploy to Production / test (push) Successful in 40s
2026-02-06 12:45:09 +01:00
syntaxbullet
34958aa220
feat: implement comprehensive item management system with admin UI, API, and asset handling utilities.
Deploy to Production / test (push) Successful in 44s
2026-02-06 12:19:14 +01:00
syntaxbullet
109b36ffe2
chore: bump version, add deployment script
Deploy to Production / test (push) Successful in 52s
2026-02-05 13:05:07 +01:00
syntaxbullet
cd954afe36
chore: improve dev experience via docker override, and remove redundant commands.
Deploy to Production / test (push) Successful in 43s
2026-02-05 12:57:20 +01:00
syntaxbullet
2b60883173
ci: remove build and deploy jobs from the deploy workflow.
Deploy to Production / test (push) Successful in 48s
2026-01-31 14:42:10 +01:00
syntaxbullet
c2d67d7435
fix: Explicitly bind web server to 127.0.0.1 in tests and prevent the development build process from running in the test environment.
Deploy to Production / test (push) Successful in 50s
Deploy to Production / build (push) Failing after 4m4s
Deploy to Production / deploy (push) Has been skipped
2026-01-31 14:30:44 +01:00
syntaxbullet
e252d6e00a
fix: Install web subdirectory dependencies, set NODE_ENV for tests, and standardize hostname in server tests.
Deploy to Production / test (push) Failing after 47s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 16:46:16 +01:00
syntaxbullet
95f1b4e04a
ci: Update test database host in deployment workflow and add support for running specific tests in the CI simulation script.
Deploy to Production / test (push) Failing after 38s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 16:42:59 +01:00
syntaxbullet
62c6ca5e87
fix: Replace localhost with 127.0.0.1 in database connection URLs within CI/deployment scripts.
Deploy to Production / test (push) Failing after 35s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 16:34:14 +01:00
syntaxbullet
aac9be19f2
feat: Add a script to simulate CI locally by setting up a temporary PostgreSQL database, running tests, and updating dependencies.
Deploy to Production / test (push) Failing after 32s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 16:30:26 +01:00
syntaxbullet
bb823c86c1
refactor: update database index tests to use DrizzleClient.execute for raw SQL queries.
Deploy to Production / test (push) Failing after 29s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 16:22:29 +01:00
syntaxbullet
119301f1c3
refactor: mock DrizzleClient and external dependencies in trivia service tests.
Deploy to Production / test (push) Failing after 27s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 16:17:00 +01:00
syntaxbullet
9a2fc101da
chore: Enhance database debugging setup and expand test mocks for Drizzle queries and Discord API interactions.
Deploy to Production / test (push) Failing after 29s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 16:12:15 +01:00
syntaxbullet
7049cbfd9d
build: Add step to create a default config.json file during deployment.
Deploy to Production / test (push) Failing after 25s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 15:47:57 +01:00
syntaxbullet
db859e8f12
feat: Configure CI tests with a dedicated PostgreSQL service and environment variables.
Deploy to Production / test (push) Failing after 34s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 15:41:34 +01:00
syntaxbullet
5ff3fa9ab5
feat: Implement a sequential test runner script and integrate it into the deploy workflow.
Deploy to Production / test (push) Failing after 23s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 15:34:59 +01:00
syntaxbullet
c8bf69a969
Remove the admin update service, command, and related files, and update Docker configurations.
2026-01-30 15:29:50 +01:00
syntaxbullet
fee4969910
feat: configure dedicated bot SSH key and non-interactive SSH for git operations.
Deploy to Production / test (push) Failing after 20s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 15:26:07 +01:00
syntaxbullet
dabcb4cab3
feat: Mount SSH keys for Git authentication and disable interactive prompts in the update service.
2026-01-30 15:21:41 +01:00
syntaxbullet
1a3f5c6654
feat: Introduce scripts for database backup, restore, and log viewing, replacing remote dashboard and studio scripts.
Deploy to Production / test (push) Failing after 22s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 15:15:22 +01:00
syntaxbullet
422db6479b
feat: Store update restart context in the deployment directory and configure Docker to use the default bun user.
Deploy to Production / test (push) Failing after 24s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 15:06:32 +01:00
syntaxbullet
35ecea16f7
feat: Enable Git operations within a specified deployment directory by adding cwd options and configuring Git to trust the deploy directory.
2026-01-30 14:56:29 +01:00
syntaxbullet
9ff679ee5c
feat: Introduce Docker socket proxy and install Docker CLI in the app container for secure deployment operations.
Deploy to Production / test (push) Failing after 24s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
2026-01-30 14:46:06 +01:00
syntaxbullet
ebefd8c0df
feat: add bot-triggered deployment via /update deploy command
...
Deploy to Production / test (push) Failing after 20s
Deploy to Production / build (push) Has been skipped
Deploy to Production / deploy (push) Has been skipped
- Added Docker socket mount to docker-compose.prod.yml
- Added project directory mount for git operations
- Added performDeploy, isDeployAvailable methods to UpdateService
- Added /update deploy subcommand for Discord-triggered deployments
- Added deploy-related embeds to update.view.ts
2026-01-30 14:26:38 +01:00