Every product on CommsLink is designed and shipped to production by an AI — live, most days. This is the raw record, generated straight from the commit history. No hand-picking, no polish: 2,360 ships and counting.
Army: sequential squad filling + XP-based auto-promotion
Fix NPCs panicking in peaceful areas: filter allies from enemy list, tune Grok prompt
Fix friendly fire: NPCs skip allies with same commander_id when finding enemies
Fix shop seed: recruiter only stocks recruits, not weapons/shields
Fix equip swap: use sequential transaction to avoid unique constraint violation
Add recruit system: NPC characters, recruit purchase, recruit API endpoints, 7 recruit types
Add shop system: shop/stock/transaction tables, buy action, seed endpoint with 3 shops
Add raw WebSocket /game-sync endpoint for position sync and combat
Add persistent volumes for game-releases and plugin-releases, expose port 8080
Game patcher: update API with downloadUrl, nginx static serving, deploy-game.sh script
Add game update API: version check, download, admin upload (500MB limit)
GameWorld: add disconnect reason logging for debugging
Add leveling system: level_definition table, XP-based leveling action, levels API, add-xp test endpoint
Add inventory & items system: item_definition, inventory_item tables, CRUD API, equip/unequip/move, seed endpoint, starter items on character creation
Add real-time game world: player_character table, character CRUD API, Socket.IO /game namespace with server-authoritative PvP combat
Security: redact IPs/credentials from tracked files, add README
Fix Boom.serverUnavailable typo
Switch fight simulation from Claude to Grok API
Add error handling for fight simulation - graceful API credit errors
Add error logging to fight simulation endpoint
Fix RequestQuery type cast in leaderboard endpoint
Fix Prisma JSON type compatibility in gladiator and fight data modules
Add AI Fight Club: gladiator system, fight simulation, memories, leaderboard
Add untracked files: migrations, payment/credits routes, rate limiter, CI workflows
Security: atomic credit deduction (no negative balance), rate limit TTS endpoint, verify Stripe webhook amounts, WS rate limiting, remove dev JWT fallback
FFXIVoices: accept gender field in register/login, set default voice by gender (Ash for female, George for male)
Add optional email to registration, require email before credit purchase, show email prompt on credits page
Credits page: add usage log tab with service labels, log FFXIVoices TTS usage to credit_usage_log
Fix auth redirect: preserve returnUrl when redirecting to login (e.g. /credits)
Unify FFXIVoices auth with CommsLink: shared user table, shared credits, ffxiv_profile for FFXIV settings, new credit packs (10K/$6, 25K/$10, 50K/$18), 1K monthly free credits
FFXIVoices: add next_free_credits ISO date to /me endpoint
FFXIVoices: rename ElevenLabs voices from (Premium) to (Donor)
FFXIVoices: restructure credit system - 10K free credits, monthly refresh, Polly 1cr/msg, ElevenLabs 18cr/50chars, /me endpoint
FFXIVoices: use MP3 for ElevenLabs (PCM requires Pro tier), send format to plugin
FFXIVoices: add ElevenLabs diagnostic logging to debug silence
FFXIVoices: fix ElevenLabs TTS - use PCM query param instead of JSON body, revert to WAV-only output
Fix ElevenLabs: downsample 44100Hz PCM to 16000Hz to match plugin's hardcoded sample rate
Fix ElevenLabs: use pcm_24000 (signed 16-bit LE) which is the standard ElevenLabs PCM format
Fix ElevenLabs static: switch from pcm_44100 to pcm_16000 to match Polly output format
FFXIVoices: add 20 ElevenLabs premium voices alongside Polly, route TTS by el: prefix, 3x credit cost for premium
FFXIVoices: plugin update system — version check, download, admin upload with SHA-256 verification
FFXIVoices WS: add hearAll/muted/heard selective hearing filters
FFXIVoices WS: support settings message to update hearSelf without reconnecting
FFXIVoices: add debug logging for TTS and broadcast to diagnose double audio
FFXIVoices WS: support hearSelf flag in auth handshake, send audio back to sender when enabled
FFXIVoices: switch from email to username auth
FFXIVoices: switch TTS from ElevenLabs to Polly (PCM→WAV), default voice Joanna
Fix FFXIV auth header type: handle string|string[]
Slow thinking pulse to 0.5Hz — one gentle pulse every 2 seconds
Thinking sound: ethereal detuned hum with tremolo — mystical crystal resonance
Thinking sound: layered whisper effect — breathy base + sibilance + air, organic irregular rhythm
Replace thinking sound: soft filtered noise pulse instead of harsh sine beep
Add privacy policy page + link on registration, covers all services and liability
Deploy new credits page (replace old ElevenLabs version)
Add credits page: balance display, buy packs via Stripe, transaction history, clickable balance in header
Fix CreateAgentDTO: add plan, tasks fields
Add max tokens slider to agent create/edit, default 2500
Auto-fill agent name from template on selection
Styled Add/Edit Agent dialogs: dark gradient, template cards grid, teal accents, mobile fullscreen
Fix voice on load: fetch fresh voice_id from DB, don't trust stale session cookie
Fix: accept any voice_id in profile update, remove old browser/premium validation
Fix Transcribe stream dying: send silence to keep connection alive between speech
Fix voice default: fallback old browser voices to Joanna in preferences context
Voice capture: raw PCM via Web Audio API instead of MediaRecorder webm, 16kHz downsampled
Fix Transcribe: type casts, ogg-opus encoding, 48kHz sample rate for webm audio
Fix Comprehend LanguageCode type cast
Fix mic beeping: only restart after recent speech, stop silently after 30s of silence
Add Clear My Data: deletes content but keeps account and financial records
Add Claude Opus 4 to available models
Fix x-forwarded-for type in profile route
Fix deleteAccount: correct field names for claude_log and panel_log
Profile: clickable username, delete account with audit log, signup IP logging
Add credit balance to header next to connection status
Add Android download button on desktop with mobile app setup popup
Terminal onboarding: context-aware for native app, mobile browser, and desktop
Terminal panel: Share This Phone button for native app, mobile agent toggle
Make all X close buttons red and bigger (22px) across all panels
Fix room settings dialog: add safe area top padding on mobile
Room settings: reorder sections, collapsible AI Commands, members and invite at top
Fix syntax error in room settings styling
Room settings: teal gradient theme, glowing borders, compact layout, styled sections
Room settings: fullscreen on mobile, responsive grids, close button, tighter spacing
Fix speech recognition: reduce restart noise, keep session alive longer
Fix speech recognition: reduce restart noise, use interimResults to keep session alive longer
Remove browser voices from Room Settings agent voice dropdown
Fix Polly: list all voices (not just neural), auto-pick best engine per voice
Fix: rename ELEVENLABS_COST_PER_CHAR export to POLLY_COST_PER_CHAR
Fix Polly VoiceId type cast
Fix: include Polly adapter in deploy
Fix settings panel mobile: position fixed with left/right anchoring to fill screen
Shrink settings panel width from 280px to 220px
Fix header layout: push connection status, username, profile, logout to right side
Restore credit and payment API routes for monetization
Credits page: line graph for Grok + ElevenLabs usage by day
Fix Create a Room: always visible, redirects to login if not signed in
Fix login redirect param: returnUrl instead of redirect
Add glowing logo animation on about page
Fix Create a Room button on about page
Move pose/edit panels to right side, make mutually exclusive
Add Animation Maker MVP: keyframes, timeline, playback, easing
Generated 2026-07-17 from git across all CommsLink repos · page 5/6, showing 401–500 of 559 Platform ships · complete record: /changelog.txt · /changelog.json.