20 Commits

Author SHA1 Message Date
Jacob Schmidt
c176837a2c Verify and fix module documentation accuracy
- Add missing forge_server_actor runtime dependency to phone module (critical)
- Clarify that garage and locker are event bus listeners, not emitters
- Document economy runtime-only dependencies (bank, org)
- Add TaskStore public API documentation (27 methods organized by category)
- Update task module event emissions and hooks documentation

All documentation now aligns with actual implementation verified against codebase.
2026-05-15 20:46:19 -05:00
Jacob Schmidt
27c3c5e502 Route sync and notifications through event bus
- add EventBus-backed notification and sync requests with direct RPC fallback
- centralize org notification/sync dispatch and reuse notification helpers
- update economy, store, garage, locker, bank, and CAD flows to emit events
2026-05-15 20:17:19 -05:00
Jacob Schmidt
9d789440e0 Enhance documentation and functionality across various server addons
- Updated README.md files for extension, garage, locker, main, organization, phone, store, and task addons to provide clearer overviews, dependencies, main components, and usage notes.
- Improved task module documentation to clarify timer semantics and server task flows, ensuring accurate usage of time limits.
- Adjusted default values for task time limits and IED timers to enforce positive countdown requirements.
- Added new CAD addon for dispatch coordination, including its overview, dependencies, main components, and event handling.
2026-04-18 11:55:19 -05:00
Jacob Schmidt
4532e7b73d Add SurrealDB-backed phone storage and message deletion
- Wire phone, garage, and locker stores to the new storage layer
- Add delete flows for messages and emails in the phone UI
- Update contact, mail, and message views for the new data model
2026-04-11 22:36:11 -05:00
Jacob Schmidt
1d54cc70c3 Move hot state into transient extension-backed stores
- Remove in-SQF registry mirroring for actor, bank, CAD, org, and task state
- Add validation harness and persistence warnings for hot-state flows
- Treat CAD and task operational state as restart-scoped
2026-04-05 10:05:48 -05:00
Jacob Schmidt
445a114c1c Refactor org and store services around shared payloads
- Add shared store payload handling in server and extension code
- Remove obsolete org member and treasury service split
- Update client repositories and portal UI/store hydration
2026-04-02 13:56:49 -05:00
Jacob Schmidt
53bc8db7d0 Handle bank account sync in UI bridge
- Route bank sync payloads through the client bridge
- Refresh account state without rebuilding the full session
- Split CAD dispatcher UI into modular source files
2026-04-02 09:10:12 -05:00
Jacob Schmidt
45a4f7460a Integrate task contracts and CAD UI pipeline
- add the imported server task addon to the current framework with task ownership, task catalog, mission-manager attack generation, org-owned reward routing, participant notifications, and reputation syncing
- restructure org persistence so core org data, assets, fleet, and members are handled through the current Redis/extension model with matching Rust repository and service updates
- wire the client CAD addon into the framework, actor device action, shared web UI bridge pattern, and task listing/acceptance flow
- add a source-driven CAD web UI layout with ui.config.mjs and extend the shared web UI builder to support custom HTML template pages for multi-surface UIs
2026-03-28 02:20:34 -05:00
Jacob Schmidt
6c0ce9e867 refactor(bank): split monolithic store into focused modules; fix locker grant for attachments
- Split BankBaseStore into SessionManager, Messenger, Model, Store, Validator
- Extract validation logic into BankValidator with try/catch and per-action methods
- Remove duplicate notifications from transaction actions
- Update event handlers to call validator first, forward context to store/session
- Fix locker grantItems: add missing 'attachment' category mapping to 'item'
- Fix locker grantItems: replace exitWith with if/else to prevent skipping remaining items

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-16 10:54:25 -05:00
Jacob Schmidt
6dda184d54 Wire store checkout flow across client and server
- Add checkout request/response bridge and workspace re-hydration in store UI
- Implement server-side checkout stores for charging bank/cash and granting locker/VA items
- Normalize catalog/cart payload categories and fix locker VA sync event naming
2026-03-12 21:44:19 -05:00
Jacob Schmidt
d178e39164 Refactor client UI stores and normalize docs formatting
- Rework org and store UI state modules (rename/move store/getter files, add runtime and bridge wiring)
- Update store UI components and page structure (navbar/cart split, new StoreView flow)
- Apply broad markdown/YAML/HTML/CSS/JS formatting cleanup across docs, templates, and workflows
2026-03-10 19:13:30 -05:00
Jacob Schmidt
a373943eca Improve Redis fail-fast behavior and resilient store initialization 2026-03-06 21:45:17 -06:00
Jacob Schmidt
096418cc78 chore: refactor store and class initialization across addons
Co-Authored-By: Warp <agent@warp.dev>
2026-02-13 19:09:58 -06:00
Jacob Schmidt
56f0f1c971 feat: introduce core client and server-side systems for locker, virtual arsenal, and garage management. 2026-02-05 18:26:55 -06:00
Jacob Schmidt
d94cc9d8d5 feat: Implement client-side locker system with UI event handling, ACE Arsenal integration, and inventory management. 2026-02-04 22:46:24 -06:00
Jacob Schmidt
27c0ade320 feat: Implement client-side actor system for player state management and UI interactions, alongside server-side locker initialization. 2026-01-31 16:06:14 -06:00
Jacob Schmidt
aef7f9ae48 feat: Implement core game systems for actor, garage, organization, bank, locker, and notifications with client-side UI and server-side data stores. 2026-01-30 20:19:29 -06:00
Jacob Schmidt
9c09976ef2 feat: Initialize core client and server systems for actor, bank, garage, locker, and notifications, including UI components and data models. 2026-01-28 20:07:24 -06:00
Jacob Schmidt
61a9741dc0 Refactor Store system to use BaseStore and update Actor/Org initialization 2026-01-10 15:42:33 -06:00
Jacob Schmidt
ebfe77a340 feat: implement complete Forge framework with Rust/Redis backend and Arma 3 integration
Implemented features:
- High-performance Rust extension with Redis persistence
- Actor/player management with loadout, position, and state tracking
- Banking system with deposit, withdraw, and transfer operations
- Physical and virtual garage/locker systems for vehicle and equipment storage
- Organization management with member tracking and permissions
- Client-side UI with React-like state management
- Server-side event-driven architecture with CBA Events
- Security: Self-transfer prevention at multiple layers
- Logging system with per-module log files
- ICOM module for inter-server communication

Co-Authored-By: Warp <agent@warp.dev>
2026-01-04 12:52:15 -06:00