Releases: FixFXOSS/FixFX
Fixie AI, Vehicles & More
Added
Fixie AI Chat
- Chat Page (
/chat) — New full-screen AI assistant "Fixie" for the CitizenFX ecosystem with real-time streaming responses, message history, and persistent saved chats (localStorage) - Chat API Route (
/api/chat) — Streaming AI endpoint supporting 8 models across three providers (OpenAI, Anthropic, Google) with model allowlisting and max 4096 token responses - BYOK (Bring Your Own Key) — Users can supply their own API keys for Anthropic and Google to unlock Claude and Gemini models; keys stored in localStorage and never sent to the server unless used for that provider's request
- 8 AI Models — GPT-4o, GPT-4o Mini, GPT-4 Turbo, GPT-3.5 Turbo (OpenAI); Claude 3.5 Sonnet, Claude 3 Haiku (Anthropic, BYOK); Gemini 2.0 Flash, Gemini 1.5 Flash (Google, BYOK)
- ChatInterface Component — Auto-growing textarea, Enter-to-send / Shift+Enter for newline, markdown rendering with syntax-highlighted code blocks, copy-to-clipboard, typing indicator, and message timestamps
- Chat Sidebar — Collapsible desktop sidebar (
w-72/w-14) with two-tab layout (Chats / Settings), navigation links, recent chat history (up to 12), model selector, temperature slider, and BYOK key management - Mobile Chat Header — Fixed top bar with menu button, Fixie branding, and active model badge
- Mobile Chat Drawer — Sheet-based mobile drawer mirroring the desktop sidebar's two-tab structure
- Chat Layout & SEO — Dedicated layout with metadata, Open Graph tags, Twitter image, and canonical URL for
/chat - Chat Persistence — Chats auto-save to localStorage with deduplication, active chat restoration on page load, and custom events (
chatsUpdated,activeChatChanged,byokChanged) for cross-component sync
Game References
- Vehicle Models (
/game-references/vehicle-models) — Searchable reference page for all GTA V vehicle models with category filtering and pagination - Vehicle Colours (
/game-references/vehicle-colours) — Searchable reference page for vehicle colours with type filtering and pagination - Vehicle Flags (
/game-references/vehicle-flags) — Searchable reference page for vehicle flags with pagination
Navigation
- NAV_LINKS Consistency — Added Game References, Validator, Hosting, and Chat to the global
NAV_LINKSconstant so all sidebars and navigation menus share the same link set
Changed
Fixie AI Chat
- Tabbed Sidebar Layout — Desktop sidebar uses a two-tab design (Chats / Settings) to separate navigation and chat history from model configuration and API keys, preventing clutter as chat history grows
- Wider Chat Area — Message area and input widened from
max-w-5xltomax-w-7xlso conversations use more screen real estate on large displays - Collapsed Sidebar — Collapsed state shows icon-only navigation links with tooltips, plus History and Settings expand buttons separated by a divider
Fixed
Fixie AI Chat
- Encoding Artifacts — Fixed garbled text in sidebar (
·→·,â€"→—) caused by previous encoding issue
Game References
Added
Game References
- Game References section (
/game-references) — 12 new reference pages backed by the/api/game-referencesendpoints, all with search, pagination, and loading skeletons - Blips (
/game-references/blips) — Image grid of all minimap blip icons with ID labels; secondary tab for the blip color palette with hex swatches - Checkpoints (
/game-references/checkpoints) — Image grid of all checkpoint types with section filter tabs (standard 0–49 / type 44–46 variant) - Markers (
/game-references/markers) — Image grid of all 44DRAW_MARKERtypes with ID and name labels - Ped Models (
/game-references/ped-models) — Image grid of all pedestrian models with category filter chips, prop/component counts, and pagination - Weapon Models (
/game-references/weapon-models) — Card grid grouped by weapon type with expandable detail panels (hash key, model hash key, DLC, description, components, tints) - Data Files (
/game-references/data-files) — Searchable table of all resource manifestdata_filekeys with file type, root element, mounter, and example columns - Game Events (
/game-references/game-events) — Searchable table of client-side game events with descriptions - Gamer Tags (
/game-references/gamer-tags) — Table of head display component IDs and names - HUD Colors (
/game-references/hud-colors) — Toggle between a color swatch grid and a full RGBA/hex table for all ~234 HUD color indices - Net Game Events (
/game-references/net-game-events) — Searchable table ofGTA_EVENT_IDSenum entries with sequential IDs - Pickup Hashes (
/game-references/pickup-hashes) — Searchable table ofePickupHashesenum entries with numeric hash values - Zones (
/game-references/zones) — Searchable table of all 1300+ map zones with zone name ID, zone name, and description - Game References Hub (
/game-references) — Landing page with a hero section, live stats row (category count + total entries from/api/game-references/summary), and a 4-column responsive card grid; each card displays a per-category entry count badge fetched from the summary endpoint - Game References Layout — Shared SEO metadata and Open Graph tags for the
/game-referencesroute group
Changed
JSON Validator
- Modular Architecture — Rewrote the monolithic 913-line
validator-content.tsxinto a fully modular plugin-based systemtypes.ts— Shared TypeScript interfaces (ValidatorType,IssueSeverity,ValidationIssue,ValidationResult,ValidatorConfig,ValidatorPlaceholder)base-validator.ts— AbstractBaseValidatorclass with sharedparseJson,formatJson,createIssue, andgetConfigmethodsvalidators/generic.ts—GenericJsonValidatorfor plain JSON syntax validationvalidators/txadmin-embed.ts—TxAdminEmbedValidatorwith Discord embed structure and character limit enforcementvalidators/txadmin-config.ts—TxAdminConfigValidatorwith hex color, button structure, and status string/color pairing validationregistry.ts—ValidatorRegistrysingleton for registering, retrieving, and querying all validators
- Componentized UI — Split rendering into focused, reusable components under
core/validator/components/ValidatorHeader— Title, mode badge, and Format / Clear / Validate action buttons with keyboard shortcut hintsEditorPanel— JSON input textarea with invalid-state styling andCtrl+EnterhintResultsPanel— Animated results display with severity badges, issue path/message/suggestion rendering, formatted output copy, and validation metadata footer (character count, line count, validation time)ValidatorSidebar— Collapsible sidebar (expandedw-72/ collapsedw-20) with validation mode selector, quick templates, click-to-insert placeholder variables, and resource links
- Validation Metadata — Results now include
validationTime,characterCount, andlineCountsurfaced in the results panel footer - Type rename — Internal validator type
txadmin-embed-configrenamed totxadmin-configfor consistency
JSON Validation
Added
JSON Validator
- Validator Page (
/validator) - Full-featured JSON validator with txAdmin support- Generic JSON syntax validation with formatted output
- txAdmin Discord embed JSON validation with field-level issue reporting
- txAdmin embed config JSON validation (status strings, colors, buttons)
- Collapsible sidebar with validation mode selector, quick templates, and txAdmin placeholder reference
- Click-to-insert txAdmin placeholders (
{{serverName}},{{statusString}}, etc.) - Format/prettify and clear actions with keyboard shortcut (Ctrl+Enter)
- Client-side fallback validation when the backend API is unreachable
- Mobile-responsive layout with dropdown validation type selector
- Suspense loading state with progress indicator
- Validator Layout - SEO metadata for
/validatorwith Open Graph tags - Navigation - Added JSON Validator to the Resources menu in the nav bar with Braces icon
- API Route Documentation - Added validator endpoint to the API index route
Changed
Data Fetching & Artifacts
useFetchHook - Migrated from manualuseState/useEffect/AbortControllerto TanStack Query (useQuery)- Automatic request deduplication, caching, and background refetching
- Simplified error handling with typed errors (
E = Error) - Query keys derived from URL and dependency array for proper cache invalidation
- Removed manual abort controller management (handled by TanStack Query)
GitHubFetcher- Migrated from Axios to nativefetchAPI- Removed
axiosdependency entirely - Consolidated request logic into a single private
request<T>()method - Uses native
AbortControllerwith configurable timeout - Proper rate limit tracking via
Headers.get()instead of raw header objects - Improved error handling for 304 Not Modified responses
- Cleaner POST/PUT/DELETE methods delegating to the shared request method
- Removed
- Query Provider - Added TanStack Query provider for
useFetchintegration
Documentation & Partnerships Foundation
Added
Hosting Providers & Partnerships System
- Directory-Based Provider Structure - Reorganized provider files into subdirectories
- Moved from flat
provider-name.jsontoprovider-name/provider.jsonstructure - Allows schemas and documentation to coexist with provider data
- Improved file organization and maintainability
- Moved from flat
- Provider Guidelines & Code of Conduct - Comprehensive standards documentation (
packages/providers/GUIDELINES.md)- Service quality requirements (99.5%+ uptime SLA, ≤4h support response)
- Customer support standards (24/7 availability, documentation, responsiveness)
- Fair pricing expectations and discount legitimacy validation
- Technical standards for FiveM/RedM compatibility
- Ethical business practices and code of conduct
- Partnership application and approval workflow
- Performance monitoring and termination clauses
- Provider JSON Schema Validation - Enhanced schema enforcement
- Added
$schemareference to all provider files pointing to../schema.json - Enables IDE schema validation for provider.json files
- GitHub Actions validates schema compliance on pull requests
- Ensures consistent data quality and structure
- Added
- Trusted Hosts Documentation - Complete reference for automated provider system
- Usage examples for TypeScript utility functions
- Manual provider addition process
- Troubleshooting guide for scraper and validation
- Fallback mechanisms and validation strategies
StepList Component Enhancements
- Image Support - Steps can now include images with positioning
- Added
image,imageAlt, andimagePositionprops - Images are zoomable using fumadocs ImageZoom component
- Supports
top,bottom,left,rightpositioning
- Added
- Markdown Link Support - Descriptions now render clickable links
- Added
parseMarkdownLinkshelper function - Supports standard markdown
[text](url)syntax
- Added
- Inline Alert Support - Steps can include contextual alerts
- Added
alertprop withtypeandmessagefields - Supports
info,warning,success,error, andtiptypes - Styled consistently with InfoBanner component
- Added
SEO and Modern Web Standards
- LLMs.txt - AI crawler documentation files
/llms.txt- Summary for AI models/llms-full.txt- Comprehensive documentation for LLMs
- AI.txt - AI crawler guidelines and permissions
- Humans.txt - Site credits and team information
- Security.txt - Security policy in
.well-known/security.txt - GPC.json - Global Privacy Control signal in
.well-known/gpc.json - OpenSearch - Browser search integration via
/opensearch.xml - Blog Feeds - RSS, Atom, and JSON Feed support
/blog/feed.xml- RSS 2.0 feed/blog/atom.xml- Atom 1.0 feed/blog/feed.json- JSON Feed 1.1
- JSON-LD Schemas - Structured data for search engines
- WebSite schema with SearchAction
- Organization schema
- SoftwareApplication schema
- AI Crawler Rules - Added rules for GPTBot, Claude-Web, ChatGPT-User, Anthropic-AI, PerplexityBot, Cohere-AI in robots.txt
Dynamic Icons
- App Icon - Dynamic 512x512 icon with gradient background (
app/icon.tsx) - Apple Touch Icon - Dynamic 180x180 icon for iOS (
app/apple-icon.tsx) - Brand Page -
/brandpage displaying icon with download buttons
Documentation
- Discord Bot Guide - Comprehensive txAdmin Discord bot setup documentation
- Bot creation and permissions
- Configuration options
- Command reference
- Troubleshooting section
- Comprehensive txAdmin Documentation Suite - 10 new in-depth guides covering all txAdmin features
- API Events (
api-events.mdx) - Complete CFX events documentation with 17 event types, properties, Lua examples, and best practices - Environment Configuration (
env-config.mdx) - TXHOST_* environment variables for GSP and advanced deployments - Discord Status Embed (
discord-status.mdx) - Custom Discord persistent status configuration with placeholders - Development Guide (
development.mdx) - Setup, workflows, and architecture for txAdmin development - In-Game Menu (
menu.mdx) - Menu access, ConVars, commands, and troubleshooting guide - Recipe Files (
recipe.mdx) - Complete deployment recipe documentation with all task actions - Logging System (
logs.mdx) - Persistent logging with file rotation and configuration - Custom Server Logs (
custom-server-log.mdx) - Guide for logging custom commands - Color Palettes (
palettes.mdx) - Theming and palette configuration - Translation Support (
translation.mdx) - Contributing translations and custom locale setup
- API Events (
- Guidelines Modal Enhancement - Improved markdown link parsing in partnership guidelines
- Added regex-based link parsing for
[text](url)markdown syntax - Links render as clickable anchors with proper styling
- Added regex-based link parsing for
GitHub Community Files
- SECURITY.md - Vulnerability reporting process and response timeline
- CODE_OF_CONDUCT.md - Community guidelines based on Contributor Covenant
Developer Tooling
- Husky - Git hooks for automated checks
- Pre-commit hook running lint-staged
- Commit-msg hook running commitlint
- Lint-staged - Run linters on staged files only
- ESLint for JS/TS files
- Prettier for formatting all file types
- Commitlint - Enforce conventional commit messages
- Uses
@commitlint/config-conventionalpreset
- Uses
- Knip - Dead code detection
- Configured for monorepo structure with packages
- Custom entry points and path aliases
Artifacts Page Enhancements
-
Hosting Panel Version Strings - Added Pterodactyl/Pelican version support
- Accordion section in featured cards showing full version string (e.g.,
24769-315823736cfbc085104ca0d32779311cd2f1a5a8) - Quick copy button with Terminal icon on artifact list items
- Compatible with Pterodactyl, Pelican, and similar hosting panel egg configurations
- Accordion section in featured cards showing full version string (e.g.,
-
Artifact Stats from API - Stats cards now show full totals from backend
- Total, Recommended, Latest, Active, EOL counts reflect all filtered results
- Previously only showed counts for current page
-
EOL/Deprecated Artifact Warnings - Safety improvements for unsupported versions
- Warning banner on deprecated/EOL artifact cards explaining download restriction
- Link to CFX EOL documentation (https://aka.cfx.re/eol)
- Download buttons disabled with tooltip explanation
- Visual distinction with amber (deprecated) and red (EOL) styling
-
Accordion Component - New Radix-based accordion component
- Smooth expand/collapse animations
- Accessible keyboard navigation
- Used for hosting panel version sections
Hosting Page Improvements
- Hosting Provider Card Redesign - Enhanced provider listing with improved UX
- Added loading state skeletons using CSS animations for performance
- Non-blocking state transitions for data fetching
- Navigation Enhancement - Improved main navigation configuration
- Hosting menu item with Server icon (green), banner, and description
- Brand menu item with Palette icon (pink), banner, and description
- Proper icon imports and styling consistency
Fixed
-
EOL filter parameter - Fixed
includeEolnot being sent when set to "No"- Now always sends
includeEolparameter explicitly to backend - Previously only sent when true, causing backend default (true) to override UI setting
- Now always sends
-
InfoBanner Alignment - Fixed icon and title not being perfectly inline
- Wrapped icon in flex container with consistent height
- Applied matching
leading-6to title text
-
StepList Alert Alignment - Fixed icon and title alignment in step alerts
- Same fix as InfoBanner using flex containers
-
ImageZoom Empty Src - Fixed error when ImageZoom received empty src string
- Added guard to check
step.image.trim() !== ""before rendering - Added guard in docs page for markdown images with
props.srccheck
- Added guard to check
-
Hero Button Consistency - Fixed Troubleshoot Issues button arrow visibility
- Arrow now always visible instead of appearing on hover
- Matches Get Started button behavior
-
Guidelines Modal Component Architecture - Fixed server/client component boundary issues
- Removed context provider wrapper that caused hook usage errors in server components
- Implemented direct client-side state management in hosting page
- Fixed import paths for component libraries
- Removed unnecessary context provider files
-
GitHub URL References - Fixed erroneous
frontend/directory in provider documentation links- Updated GUIDELINES.md to use correct GitHub repository URLs
- Removed local folder structure references from remote URLs
- All links now point to correct paths in main FixFX repository
-
txAdmin Documentation Link Format - Fixed internal page links in all txAdmin docs
- Removed
.mdxand.mdextensions from internal page references - Updated all GitHub URLs to official
citizenfx/txAdminrepository - Updated Discord invite links to official server (
discord.gg/eWhDDVCpPn)
- Removed
Styling & CSS Enhancements
- Comprehensive CSS System - Major expansion of
globals.csswith reusable utilities- Custom Scrollbar - Sleek, minimal scrollbar styling with
.custom-scrollbar - Gradient Text - Utilities:
text-gradient-blue,text-gradient-purple,text-gradient-green,text-gradient-orange - Glow Effects -
glow-blue,glow-purple,glow-green,glow-smfor neon-style effects - Glassmorphism -
glass,glass-card,glass-darkfor frosted glass effects - Gradient Backgrounds -
bg-mesh(multi-color mesh),bg-dots,bg-gridpatterns - Card Effects -
card-hoverwith ...
- Custom Scrollbar - Sleek, minimal scrollbar styling with
Updates and Go Migration
Added
Backend Integration
- Go Backend API Integration - Complete frontend migration to use Go backend services
- Artifacts API endpoint integration (
/api/artifacts) - Natives API endpoint integration (
/api/natives) - Contributors API endpoint integration (
/api/contributors) - Source API endpoint integration (
/api/source) - Environment-aware API_URL configuration using
NEXT_PUBLIC_API_URLenv var - Production default URL:
https://core.fixfx.wiki - Development override support for local backend
- Artifacts API endpoint integration (
Analytics
- Ackee Analytics Integration - User tracking and analytics
- Added Ackee tracker script to root layout
- Server:
https://ackee.bytebrush.dev - Domain ID:
cda143c2-45f9-4884-96b6-9e73ffecaf15 - Automatic page view and interaction tracking
Documentation
- API Documentation Updates - Complete rewrite for Go backend
content/docs/core/api/artifacts.mdx- Artifacts API documentationcontent/docs/core/api/natives.mdx- Natives API documentation with usage examplescontent/docs/core/api/contributors.mdx- Contributors API documentation- Includes endpoint specifications, query parameters, and response formats
- JavaScript, Lua, and C# usage examples
Changed
Components
-
FileSource Component - Server component that reads and displays source code files directly in documentation
- Located at
app/components/file-source.tsx - Supports syntax highlighting via DynamicCodeBlock
- Fetches file content through secure API route
- Located at
-
ImageModal Component - Click-to-expand image viewer for better mobile experience
- Located at
app/components/image-modal.tsx - Uses React Portal to render above all content
- Features dark overlay, close button, and optional title caption
- Prevents body scroll when open
- Located at
-
SourceCode Component - Client wrapper for DynamicCodeBlock with custom styling
- Located at
packages/ui/src/components/source-code.tsx - Supports multiple languages with proper syntax highlighting
- Optional title bar display
- Located at
API Routes
- Source API (
/api/source) - Securely serves file contents for documentation- Whitelisted paths for security (
lib/artifacts/,packages/) - Prevents path traversal attacks
- Returns file contents as JSON
- Whitelisted paths for security (
Documentation
-
txAdmin Windows Installation Guide (
content/docs/txadmin/windows/install.mdx)- Complete step-by-step installation process
- PowerShell commands for artifact download
- Screenshots with ImageModal for better viewing
- CFX authorization and master account setup
- Server deployment with recipes
- License key generation guide
-
txAdmin Windows Overview (
content/docs/txadmin/windows/index.mdx)- System requirements (hardware and software)
- Quick overview of installation process
- Links to detailed installation guide
-
txAdmin Config Editor Guide (
content/docs/txadmin/configuration.mdx)- Complete explanation of all server.cfg options
- Server identity settings (sv_hostname, sv_projectName, etc.)
- Server configuration (sv_maxclients, endpoints, etc.)
- Resource management section
- Admin permissions and ACE rules
- Common configuration scenarios
- Troubleshooting guide
-
txAdmin Server Management Guide (
content/docs/txadmin/server-management.mdx)- Dashboard overview and metrics
- Live Console usage and commands
- Players management and search
- Resources management
- Server Log and filtering
- History and audit trail
- Player Drops analytics
- Whitelist management
- Admin account creation and permissions
- Best practices (daily, weekly, monthly tasks)
- Troubleshooting common issues
Animations
- Indeterminate Progress Animation - Added loading animation for Progress component
- Added
indeterminate-progresskeyframes totailwind.config.ts - Smooth left-to-right loading animation
- Added
Changed
Components
- Progress Component (
packages/ui/src/components/progress.tsx)- Added
indeterminateprop support - Uses Tailwind animation class instead of inline CSS
- Properly handles both determinate and indeterminate states
- Added
Documentation Cleanup
-
vMenu Documentation - Removed fabricated information
- Removed fake build numbers and version requirements
- Removed incorrect convar names that don't exist
- Corrected feature descriptions to match actual vMenu capabilities
-
txAdmin Documentation - Removed fabricated information
- Removed fake build numbers and minimum version requirements
- Removed non-existent convars and configuration options
- Corrected setup instructions to match actual txAdmin behavior
-
ESX Framework Documentation - Removed fabricated information
- Removed fake version numbers and compatibility matrices
- Removed non-existent configuration options
- Corrected database setup instructions
-
QBCore Framework Documentation - Removed fabricated information
- Removed fake version numbers and build requirements
- Removed non-existent functions and exports
- Corrected resource dependencies
-
CFX Documentation - Removed fabricated information
- Removed fake artifact build numbers
- Removed non-existent server commands
- Corrected performance optimization tips
Fixed
-
Progress Component Loading Animation - Animation was not working because CSS keyframes were missing
- Added proper keyframes to Tailwind config
- Component now animates correctly when
value={undefined}
-
ImageModal Positioning - Modal was appearing in wrong position due to CSS stacking context
- Implemented React Portal to render directly to document.body
- Uses inline styles with high z-index to ensure proper layering
- Prevents body scroll when modal is open
-
FileSource Component - Initial implementation failed due to
fsmodule in client bundle- Moved file reading to API route
- Client component fetches via
/api/sourceendpoint - Proper error handling and loading states
Removed
- Removed
file-source.tsxfrompackages/ui/src/components/(moved toapp/components/) - Removed fabricated documentation content across multiple files
Security
- Source API includes path whitelisting to prevent unauthorized file access
- Source API blocks path traversal attempts (rejects paths containing
..)
v0.1.0
Full Changelog: https://github.com/ByteBrushStudios/FixFX/commits/v0.1.0