- Thread garage object context into garage and vehicle garage launch paths
- Preserve nearby garage metadata in the UI and improve garage context resolution
- Add wallet and message/email examples to the player guide
- Implemented wallet app functionality including account management, transaction handling, and user notifications.
- Updated HomeScreen to include Wallet app icon.
- Enhanced StateManager to maintain mobile bank state.
- Created wallet-specific styles for UI consistency.
- Updated CSS and JS concatenation scripts to include wallet resources.
- Updated HomeView and RegistrationView to reflect the new $50,000 registration fee for organizations.
- Enhanced actor onboarding process to include sending welcome emails and messages, along with initializing bank accounts with $2,000 starting credit.
- Added functionality to change bank PINs, including validation and persistence of new PINs.
- Updated bank and organization modules to handle registration fee charges and refunds appropriately.
- Enhanced documentation to reflect changes in organization registration and bank operations.
- Changed references from `PhoneClass` to `PhoneRepository` in the phone usage guide.
- Added payroll and treasury transfer requests to the client organization usage guide.
- Updated SurrealDB setup documentation with helper scripts for database management.
- Factor spectator cleanup into a reusable handler
- Delay the healed server event until spectator init finishes
- Restore camera, HUD, and user input when leaving medical spectator
- Implemented requestRefuel and requestRepair functions in bridge.js to handle vehicle service requests.
- Updated AppShell.js to include buttons for refueling and repairing nearby vehicles, with appropriate state management.
- Added requestRefuelSelected and requestRepairSelected actions in events.js to validate and process service requests.
- Enhanced economy README and usage guides to document new refuel and repair service functionalities.
- Introduced server-side handling for refuel requests in FEconomyStore, ensuring organization billing and fuel management.
- Revised README.md for the Forge Client Example Addon to clarify its purpose as a template.
- Enhanced MODULE_REFERENCE.md to categorize guides into Server and Extension guides and Client guides.
- Created detailed usage guides for various client addons including Actor, Bank, CAD, Garage, Locker, Notifications, Organization, Phone, and Store.
- Added a Client Common Usage Guide to outline shared browser UI bridge patterns.
- Introduced a Client Main Usage Guide to define the foundational elements for client addons.
- Established authoritative state notes and usage rules across new guides to ensure clarity on server ownership and client responsibilities.
- 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
- Introduce client phone addon, UI, and XEH handlers
- Route actor phone interaction to the new phone UI
- Add initial phone state, event handling, and persistence
- Hydrate portal/session data from login and sync payloads
- Add treasury notices for credit, invite, leave, and disband actions
- Improve portal cards and modal UI for members, fleet, and treasury
- Wire invite request, accept, and decline events through the UI bridge
- Add client and server handlers for invite success and failure responses
- Extend portal state and UI to support member invite actions
- Clarify client loading status text
- Document server-side actor hydration and snapshot recovery
- Stop hot reads from forcing repository initialization
- Require actor records to exist in storage before hot load
- Fall back to player snapshots to fill missing actor fields and org defaults
- Refresh org member names when a better value is available
- Keep bootstrap extension calls on the direct path by default
- Wire bank client and server for credit line repayment requests
- Show credit line balance and repay action in the banking view
- Extend org/bank payloads and models with credit line fields
- Thread request data through UI bridge and dispatcher events
- Add task models, repositories, services, and extension wiring
- Include submitted request fields in converted order notes
- 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
- Route bank sync payloads through the client bridge
- Refresh account state without rebuilding the full session
- Split CAD dispatcher UI into modular source files
- Update CAD client UI and generated site assets
- Keep dispatcher and sidepanel status lists aligned with server defaults
- Refresh task, assignment, and group repository initialization
- Add dispatchView state to the CAD repository and hydrate payloads
- Toggle the dispatcher between board and map layouts in the UI bridge
- Update side panel logic to hide contract tabs in dispatch map mode
- Add a dispatcher web view and layout switching
- Route group role updates and dispatcher hydration through the UI bridge
- Refresh top bar and hide map/side panel outside operations mode
- Replace task-only refresh flow with hydrate/assignment/group events
- Add contracts, groups, and activity tabs to the client sidepanel
- Introduce server-side CAD store and request handlers
- 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
- Shift store catalog initialization from client addon to server addon
- Rebuild/minify bank, garage, org, and store WebUI site assets
- Update webui build tooling and npm metadata; ignore node_modules
- Replace separate bank/ATM pages with a unified `index.html` app bundle
- Split bank init into `initClass`, `initSessionService`, and `initUIBridge`
- Route UI events through `BankUIBridge` and refresh session payloads after sync
- replace placeholder garage interaction with real UI open flow
- add catalog/session/UI bridge services for hydrate, sync, store, and retrieve actions
- migrate garage web UI bundle to new app shell/runtime structure
- align org/store function naming with shared init and UI bridge patterns
- add common ForgeWebUI runtime, site loader, and SQF WebUI bridge base declarations
- migrate org and store web UIs to src-driven bundles and new bridge/bootstrap flow
- update addon configs/prep hooks and document the shared CT_WEBBROWSER framework
- Wire store checkout to grant purchased vehicles via virtual garage
- Add org fleet updates for org-funded vehicle purchases and sync to members
- Simplify client garage sync to always apply incoming category patches
- 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
- Wire org portal credit-line requests/responses through SQF bridge and UI events
- Sync `creditLines` in org payloads and refresh portal state after org sync
- Add store payment sources (cash, bank, org funds, credit line) and expose selection in cart UI
- Scaffold server-side store addon initialization/config files
- route new `store::category::request` bridge events from UI to SQF and hydrate category items from game configs
- cache and format generated catalog entries (types, descriptions, prices, images) in the store bridge/class
- update storefront UI with category loading states, image media support, and next/previous catalog pagination
- 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
- Introduce `OrgUIBridge` to centralize UI event/request/response handling
- Add leave and disband org requests with server handlers and client bridge events
- Enforce portal permissions for leaving/disbanding and protect owner/self from member removal
- Add desktop-style title bar shell and viewport locking for bank/org UIs
- Redesign notification HUD visuals and behavior (timers, persistence, exposed JS API)
- Register and play a new notification sound via `CfgSounds` on client events