Release history
Changelog
Every new feature, fix and speed-up on s&box Explorer, newest first.
- Last 30 days
- 90
- Features shipped
- 233
- Fixes
- 218
- Days with changes
- 66
233 changes Clear filters
November 2025
1
-
Feature
4:42 PM
Implement search analytics, indexing, and frontend updates
f80d1e2
3
-
Feature
10:42 PM
Add profile layout API endpoint and update JS modules
948d344 -
Feature
10:01 PM
Add comprehensive i18n system with 23 language support
Details
- Implement i18n.php with translation loading and caching
- Add language switcher in footer with flag icons
- Create locale files for 23 languages
- Update all frontend pages to use translation functions
- Add locale notification system for missing translations
- Remove deprecated language-switcher component
- Update translation tools
6d9cedc -
Feature
12:01 PM
Add multi-language support with 29 languages
Details
- Added i18n system with language detection and routing
- Created translation infrastructure with 9 locale namespaces
- Added language switcher in header with search and grouping
- Integrated language settings tab in user settings
- Added 29 language support: European, Asian, Middle Eastern languages
- Created translation tools (translate-simple.py, check-translation-keys.py)
- Added localized URL routing for major languages
- Implemented persistent translation cache for performance
- Added Kiro hook for automatic translation key checking
- Updated all pages to use translation system
1a5bb55
4
-
Feature
1:18 PM
Add social link validation with platform selector and Font Awesome icons
Details
- Implement Discord-style platform selector with 19 verified platforms
- Add handle-based input (users enter username only, URL auto-generated)
- Integrate Font Awesome 6.7.2 for brand icons (Twitter, GitHub, Discord, etc.)
- Add domain validation with whitelist/blacklist from online sources
- Create tool to fetch blocked domains from UT1 blacklists
- Display social links as icon-only circular buttons on profiles
- Improve modal layout with better spacing and visual hierarchy
- Add green gradient to Save Widget button
- Enhance social link icons with hover effects and animations
c3979e4 -
Feature
10:23 AM
Enhanced reputation & badges system with 100 levels, featured badges, and Material Symbols
Details
- Upgraded to 100-level system with exponential scaling (15% per level)
- Replaced all emoji icons with Material Symbols for consistency
- Added Steam playtime integration for accurate tracking
- Implemented featured badges system (max 5) displayed in profile hero
- Color-coded badges by category (gold/purple/green/pink/blue/etc)
- Added badge management modal with blur backdrop and animations
- Extended badge tiers: creator (5000 packages), downloads (100M), playtime (50k hours)
- Improved badge sorting by category color for visual organization
- Added API endpoint for featured badge management
- Enhanced UI with hover effects, checkmarks, and color-coded borders
7a72192 -
Feature
9:25 AM
Implement Tippy.js tooltips and remove counter animations
Details
- Add Tippy.js with Popper.js for tooltips
- Create tippy-init.js for centralized tooltip management
- Add custom Tippy CSS with theme support
- Auto-convert title attributes to Tippy tooltips
- Remove duplicate tooltip implementations (microtip, custom CSS)
- Clean up theme-manager.js tooltip code
- Disable footer stats counter animation
6b01757 -
Feature
7:03 AM
Remove GLightbox, fix package detail lightbox implementation
300e5f1
3
-
Feature
11:33 AM
Unify public pages layout and styling
Details
- Add breadcrumb navigation to new-user-guide page
- Add lazy loading to leaderboard avatar images
- Update api-doc page to use .public-page-container
- Remove inline styles from api-doc and about pages
- Add utility CSS classes for consistent styling
- Create comprehensive property-based test suite
- Achieve 92% test pass rate (66/72 tests passing)
All public pages now share consistent header, footer, breadcrumbs, typography, spacing, and theme support.
ba70971 -
Feature
3:39 AM
Unify layout structure for all informational pages
Details
- Add consistent about-container wrapper to all pages
- Add breadcrumb navigation where missing
- Standardize header/footer includes
- Ensure theme-manager.js loaded on all pages
- Unified spacing, typography, and responsive behavior
Pages updated: leaderboard, api-doc, changelog, release-notes
dd69014 -
Feature
1:46 AM
Add followed packages system with automatic notifications
Details
- Created /followed page mirroring favorites functionality
- Added followed_packages table and API endpoints
- Integrated with notification system for package updates
- Added follow/unfollow buttons on package pages
- Navigation links in header and settings page
- Automated background tasks for update detection
- WSL cron setup for scheduled tasks
- Updated .gitignore for dev setup files
0c6863c
11
-
Feature
10:47 AM
Complete admin panel overhaul with routing fixes and UI improvements
Details
- Fix admin routing to use clean URLs with trailing slashes
- Add proper HTML structure and favicons to all admin pages
- Integrate Cal-Heatmap library for professional activity visualization
- Fix cache health chart display and API response handling
- Fix user lookup to fetch from s&box API when needed
- Add log deletion functionality with confirmation
- Fix timestamp handling across admin tools
- Improve activity heatmap with modern card-based design
- Fix SQL queries to handle DATETIME format correctly
- Add comprehensive styling improvements across all admin pages
c71d937 -
Feature
9:11 AM
Add widget content moderation and sidebar layout
Details
- Implement Steam-style profanity censorship ( symbols)
- Add external profanity word lists (1251+ words from trusted sources)
- Create widget validation system with URL auto-fixing
- Move widgets to dedicated sticky sidebar on right side
- Add 7 modern layout templates (Default, Creator, Gamer, etc.)
- Fix widget size persistence and auto-save
- Fix layout loading on page refresh
- Fix hidden containers staying hidden
- Add moderation logging for admin review
- Create profanity list update tool
- Add validation API endpoints
ad03679 -
Feature
5:52 AM
Remove Activity Timeline feature completely
Details
- Deleted activity timeline page, JS, CSS, and manager class
- Removed all activity tracking from favorites, follows, and package views
- Cleaned up settings page, profile page, and navigation
- Removed API routes and documentation
- Dropped user_activity table and activity_timeline_enabled column
- Fixed 'Favorited Unknown Package' issue by passing package names
- Kept Recently Viewed feature as simpler alternative
7c5fbde -
Feature
4:29 AM
Complete API endpoint synchronization and consolidation
Details
Major Changes:
- Consolidated notifications, favorites, and package-info endpoints into main API router
- Fixed follow button persistence issue (data.data.is_following access)
- Added missing delete_all action for notifications
- Updated .htaccess and router.php for consistent routing
API Endpoints Added to Main Router (backend/api/api.php):
- GET/POST /api.php/notifications - Follow/unfollow packages/orgs, manage notifications
- GET/POST /api.php/favorites - Add/remove favorites with activity tracking
- GET /api.php/package-info - Package details proxy for notifications
Frontend Updates:
- Fixed 11 JavaScript files to use consistent /api.php/ paths
- Added initial follow status check on page load
- Fixed response property access (data.data.is_following)
- Removed debug logging after fixes verified
Routing Updates:
- Consolidated .htaccess rules for cleaner routing
- Updated router.php for dev server consistency
- Removed redundant routing rules
Documentation:
- Added 20 new endpoints to api-doc.php
- Documented notifications, favorites, reputation, and package-info APIs
- Total documented endpoints: 70+
Bug Fixes:
- Follow button now persists correctly across page reloads
- Delete all notifications now works (400 error fixed)
- Response structure consistent across all endpoints
Total Routes in Main Router: 50 endpoints Files Modified: 15 files
8ab7c41 -
Feature
3:50 AM
Cache system v2 - Complete overhaul with critical fixes
Details
Major Improvements:
- Unified cache system (migrated from dual file/SQLite to single SQLite)
- Cache stampede protection with probabilistic early expiration
- Cascade invalidation system with tag-based cache clearing
- Cache versioning with automatic schema migration
- Backoff strategy integration for intelligent retry logic
- Orphan detection and cleanup tool
- Enhanced monitoring with comprehensive metrics
Core Changes:
- backend/includes/cache_manager.php: Added getOrSet(), cascade methods, versioning
- backend/api/api.php: Migrated Cache class to use CacheManager
- backend/api/refresh-worker.php: Integrated BackoffStrategy with error handling
- backend/includes/api_functions.php: Updated to use getOrSet() and tags
- backend/api/package-info.php: Added stampede protection
New Features:
- admin/cache-management.php: Admin UI for cache invalidation
- backend/api/cache-invalidation-api.php: API endpoint for cache management
- tools/cleanup-orphaned-cache.php: Automated orphan detection tool
- tools/migrate-cache-schema.php: Schema migration script
Monitoring:
- backend/includes/CacheHealthMonitor.php: Enhanced metrics (miss rate, refresh stats, lock contention)
Documentation:
- CACHE_UPGRADE.md: Quick start guide
- CACHE_IMPROVEMENTS.md: Complete technical documentation
Cleanup:
- Removed test files (api-test.php, test.php, pwa-test.html, test-org-page.html)
- Consolidated documentation into comprehensive guides
Performance Targets:
- Cache hit rate: >80%
- Stale entries: <5%
- Refresh success rate: >95%
- Average response time: <100ms
Breaking Changes:
- Requires schema migration: php tools/migrate-cache-schema.php
f4f204f -
Feature
3:15 AM
Add profile inactive detection system
Details
Implement comprehensive system to detect and display placeholder for profiles that have never been logged into or customized.
cd65f5d -
Feature
2:09 AM
Activity Timeline opt-in, Recently Viewed fixes, and profile improvements
Details
- Activity Timeline now OFF by default (user must enable in Settings)
- Added database migration for activity_timeline_enabled setting
- Activity Timeline checks enabled status before recording/displaying
- Fixed Recently Viewed tracking and added missing DELETE endpoint
- Added new user welcome message for profiles with no custom layout
- Fixed profile layout container visibility toggles in Manage Containers
- Unavailable containers now clearly marked (no data available)
- Fixed Reputation & Badges section responsive layout
- Published Packages now shows packages from claimed orgs (up to 12 total)
- Added comprehensive logging to profile layout save/load
- Fixed 'Start Customizing' button to properly enable edit mode
79ae688 -
Feature
1:36 AM
Add activity tracking for follow features and enhance error logging
Details
- Add activity tracking for package follow/unfollow operations
- Add activity tracking for organization follow/unfollow operations
- Add TYPE_PACKAGE_FOLLOW constant to ActivityTimelineManager
- Enhance error logging in notifications, favorites, and profile analytics APIs
- Create log rotation utility (tools/rotate-logs.php)
- All follow actions now properly recorded in user activity timeline
4b0d340 -
Feature
12:09 AM
Add leaderboard CSS to styles.css and clean up inline styles
Details
- Created frontend/css/leaderboard.css with all leaderboard page styles
- Added leaderboard.css import to styles.css
- Removed inline styles from leaderboard.php
- Proper CSS organization following project conventions
9c750bd -
Feature
12:07 AM
Add routing for leaderboard page
Details
- Added /leaderboard route to routing_logic.php
- Leaderboard page now accessible at http://5.66.186.198:8001/leaderboard
d5b8b11 -
Feature
12:06 AM
Implement Reputation System with full integration
Details
FULLY FUNCTIONAL REPUTATION SYSTEM:
- Integrated Reputation System into user profiles and site navigation
- Added comprehensive API endpoints for reputation data
- Created leaderboard page to showcase top contributors
- Enhanced profile display with badges and stats
API ENDPOINTS:
- GET /api.php/user/{steamId}/reputation - Get user reputation data
- GET /api.php/user/{steamId}/badges - Get user badges
- GET /api.php/user/{steamId}/reputation/history - Get reputation history
- GET /api.php/reputation/leaderboard - Get top users by reputation
- All endpoints include proper validation and error handling
LEADERBOARD PAGE:
- Created /leaderboard page with top 50/100 users
- Real-time data loading from API
- Medal indicators for top 3 users (gold, silver, bronze)
- User avatars, levels, and reputation scores
- Responsive design with mobile support
- Information section explaining how reputation works
PROFILE INTEGRATION:
- Reputation section already integrated in profile-reputation-section.php
- Displays reputation score, level, and progress bar
- Shows earned badges with categories and icons
- Stats breakdown (packages, downloads, playtime, achievements)
- Automatic reputation calculation on profile load
JAVASCRIPT ENHANCEMENTS:
- Created reputation.js module for interactive features
- Badge tooltip system with hover effects
- Progress bar animations
- Leaderboard rendering and filtering
- API integration for real-time data
NAVIGATION:
- Added Reputation Leaderboard link to Tools dropdown menu
- Easy access from any page on the site
REPUTATION CALCULATION:
- Based on packages created, downloads, favorites, ratings
- Includes s&box playtime, sessions, achievements, games played
- 12 level progression system (Newcomer to Legend)
- Multiple badge categories (creator, player, milestones, etc.)
- Automatic updates when user data changes
TESTING:
- Created comprehensive test script: tools/test-reputation-system.php
- Tests reputation retrieval, badge system, level calculation
- Verifies leaderboard and history functionality
- Validates API endpoints and database operations
FEATURES:
- Real-time reputation tracking and display
- Badge system with 50+ unique badges
- Level progression with visual indicators
- Leaderboard rankings with filtering
- Reputation history tracking
- Stats breakdown by category
- Responsive design for all devices
The Reputation System now provides gamification and recognition for community contributors!
91cf50d
5
-
Feature
11:04 PM
Complete rebuild of admin tools section with modern design
Details
- Rebuilt all 5 admin pages from scratch (user-lookup, log-viewer, activity-heatmap, bulk-actions, cache-health)
- Implemented modern card-based layout with gradient headers and Material Symbols icons
- Added real-time updates with auto-refresh capabilities
- Created comprehensive admin-tools.css with smooth animations and transitions
- Redesigned activity heatmap to horizontal GitHub-style layout (days across top, hours down side)
- Added toast notifications for user feedback
- Implemented loading states, empty states, and error handling
- Added hover effects, shimmer animations, and visual polish
- Fixed API type mismatch errors in activity heatmap
- All pages now use unified styles.css for consistent theming
- Responsive design with mobile-optimized layouts
- Better data visualization with charts and progress bars
- Improved UX with debounced search, keyboard shortcuts, and smooth scrolling
a48a5ce -
Feature
3:54 AM
Quirk Chungus
Details
Loadsa stuff
4ab2d25 -
Feature
2:20 AM
Improve package pages and organization hero sections
Details
- Add favorite button to package detail pages alongside follow button
- Update button text to 'Favorited' with dimmed styling when active
- Modernize package detail meta layout with left-aligned design
- Use organization avatar as hero background instead of gradient
- Improve visual consistency across all action buttons and stats
- Ensure all elements are properly aligned (44px height standard)"
4799cd3 -
Feature
1:51 AM
Complete organization pages overhaul with AJAX filtering and pagination
Details
Major improvements to organization pages for better UX and performance:
Features:
- AJAX-based filtering for smooth content loading without page reload
- AJAX-based pagination with page numbers (1, 2, 3, ..., 151)
- Browser back/forward button support with AJAX
- Follow button now works correctly and persists state
- Increased items per page from 9 to 12
- Favorite buttons work on dynamically loaded content
Bug Fixes:
- Fixed filter button selector (.filter-btn vs .org-filter-btn)
- Fixed follow button selector (.profile-follow-btn vs .follow-org-btn)
- Fixed follow button text update when no .btn-text element exists
- Added null checks to prevent JavaScript errors
- Filter parameter now preserved in pagination links
UI Improvements:
- Added styled page numbers to pagination
- Active page highlighted with gradient
- Smooth fade transitions during content load
- Clean pagination layout with Previous/Next buttons
- Ellipsis (...) for large page ranges
Performance:
- Only replaces .profile-packages-section instead of full page reload
- Reinitializes favorites, comparison, and lazy loading after AJAX
- Maintains scroll position and URL state
- Smooth animations and transitions
Files Modified:
- frontend/js/org-page.js - AJAX filtering and pagination
- frontend/js/org-follow.js - Follow button fixes
- frontend/js/favorites.js - Event capture phase
- frontend/js/package-comparison.js - Event capture phase
- frontend/user-profile-redesign.php - Pagination with page numbers
- frontend/css/user-profile-redesign.css - Page number styles
- backend/includes/routing_logic.php - 12 items per page, filter logic
- index.php - Cache-busting, follow button selector
Documentation:
- Added FINAL_FIX_SUMMARY.md
- Added DEBUGGING_GUIDE.md
- Added ORG_PAGE_FIX_SUMMARY.md
- Added QUICK_REFERENCE.md
d228b15 -
Feature
1:07 AM
Add profile activity feed implementation (disabled) and test tool
84503a7
21
-
Feature
9:45 PM
Add premium visual enhancements: animations, gradients, hover effects, and polish
a2cb21a -
Feature
9:32 PM
Add automatic s&box ownership badge detection on Steam login
d7eb864 -
Feature
9:18 PM
Add early adopter badge detection and implement all new badge tier checks
6fa3240 -
Feature
9:15 PM
Add badge rarity system and sort badges by rarity (rarest first)
47c8c88 -
Feature
9:12 PM
Add 70+ new achievement badges across 15 categories for future-proofing
e68dcef -
Feature
9:05 PM
Add Steam API playtime integration for accurate s&box playtime stats
cff66b7 -
Feature
8:36 PM
Add reputation system with org-specific badges and notification improvements
Details
- Add reputation calculation system based on claimed organization packages
- Add special badges for organization ownership (Facepunch Staff, Valve Staff, etc.)
- Add automatic reputation updates when orgs are claimed/assigned
- Add manual reputation recalculation API endpoint and admin buttons
- Add 'Remove All' notifications button with deleteAllNotifications API
- Add comprehensive API tools section to admin panel with all backend endpoints
- Fix missing api_functions.php include in reputation calculation
- Enhance notification system with Material Symbols icons
- Add reputation update triggers in org claims moderation workflow
9c2f1fe -
Feature
6:27 PM
Add advanced analytics API modules
Details
- analytics-advanced.php: Core advanced metrics including cache efficiency, cohort analysis, funnel metrics, user journey, and predictive analytics
- analytics-advanced2.php: User segmentation, performance percentiles, cache lifecycle, behavior patterns, session quality, peak analysis, and churn metrics
- analytics-advanced3.php: Engagement scoring, cache optimization suggestions, anomaly detection, user lifetime value, session flow, and comparative analysis
These modules provide comprehensive analytics capabilities for the admin dashboard with detailed insights into user behavior, system performance, and cache optimization.
c62a993 -
Feature
6:21 PM
Update new user guide with current features and org claiming info
Details
- Moved Reputation & Badges to main features section
- Added emphasis on claiming organizations to unlock reputation tracking
- Removed admin-only features (Admin Tools, Broadcast Notifications)
- Added UGC Charts, Changelog, Version History, and Dependency Visualization features
- Updated pro tips to highlight organization claiming for reputation system
- Improved feature descriptions to be more accurate and user-focused
6889cfc -
Feature
6:11 AM
Add comprehensive analytics dashboard system with advanced features
Details
## New Features
### Standard Analytics Dashboard (/admin/analytics.php)
- Real-time metrics with auto-refresh (60s)
- Executive summary with AI-generated insights
- 12+ core metric cards (users, sessions, cache, performance)
- Interactive time range selection (24h, 7d, 30d, all-time)
- Activity timeline visualization
- Popular packages tracking
- Cache type breakdown
- User engagement analysis (new vs returning users)
- Retention metrics (multi-session vs single-session)
- Session duration analysis (short/medium/long)
- Hourly activity distribution chart
- Top 20 active users leaderboard
- Cache efficiency metrics with compression rates
- Trend analysis vs previous period
- Cache operation performance breakdown
- Export to JSON functionality
- Print-friendly layout
- Keyboard shortcuts (Ctrl+R refresh, Ctrl+E export)
### Advanced Analytics Dashboard (/admin/analytics-advanced.php)
- **Real-Time Monitoring Tab:**
- Live data updates every 5 seconds
- Active users (1min & 5min windows)
- New sessions tracking
- Cache operations counter
- Response time monitoring
- Recent activity feed with avatars
- System memory usage
- **Predictions Tab:**
- Machine learning-based user growth forecasts (7d & 30d)
- Daily growth rate calculations
- Trend detection (growing/declining/stable)
- Volatility analysis with confidence scoring
- Best days for traffic identification
- Peak hours analysis (top 3)
- Cache growth predictions
- AI-generated recommendations
- **Comparison Tab:**
- Flexible period-over-period comparison
- Side-by-side metrics visualization
- Percentage and absolute change tracking
- Trend indicators (up/down/stable)
- Visual comparison grids
- **Behavior Tab:**
- User segmentation (power/regular/casual/inactive)
- Churn analysis (active/at-risk/churned)
- User journey metrics
- Session distribution analysis
- Lifetime value calculations
- Cohort analysis
## Backend APIs
### analytics-api.php
- Main analytics endpoint with comprehensive metrics
- User statistics with growth tracking
- Cache performance metrics
- Session analytics
- Performance monitoring
- Popular packages tracking
- Activity timelines
- User engagement calculations
- Retention metrics
- Hourly distribution
- Top users ranking
- Cache efficiency analysis
- Trend analysis
- Geographic distribution
### analytics-realtime.php
- 5-second refresh real-time data
- Active user tracking
- New session monitoring
- Cache operations counting
- Response time tracking
- Recent activity logging
### analytics-predictions.php
- Predictive analytics engine
- Growth rate calculations
- Trend detection algorithms
- Volatility analysis
- Confidence scoring
- Pattern recognition (best days/hours)
- Cache growth forecasting
- Automated recommendations
### analytics-comparison.php
- Period-over-period comparison
- Flexible time range selection
- Metric change calculations
- Trend direction analysis
### analytics-behavior.php
- Cohort analysis
- User journey tracking
- Churn rate calculations
- User segmentation
- Lifetime value metrics
## Technical Improvements
- Efficient database queries with proper indexing
- No new database tables required
- Uses existing infrastructure
- Optimized for large datasets
- Admin-only access with proper authentication
- Privacy-safe IP hashing
- Responsive design for all screen sizes
- Print-friendly CSS
- Loading states and error handling
- Empty state messages
- Smooth animations and transitions
- Color-coded metrics
- Professional UI/UX
## Security
- Admin authentication on all endpoints
- CSRF protection inherited from existing system
- Safe data handling
- No SQL injection vulnerabilities
- Privacy-compliant data processing
## Performance
- Minimal server overhead
- Caching where appropriate
- Optimized queries
- Efficient data processing
- Auto-refresh with configurable intervals
## Access Points
- Standard Analytics: /admin/analytics.php
- Advanced Analytics: /admin/analytics-advanced.php
- Links added to admin panel Quick Actions
This comprehensive analytics system provides enterprise-grade insights, predictive forecasting, and actionable business intelligence for the s&box Explorer platform.
2606130 -
Feature
5:07 AM
Add comprehensive org claiming security improvements document
Details
Created detailed design doc for preventing reputation abuse:
Quick Wins (Implement Soon):
- Protect top 20 organizations
- Rate limiting: 1 claim per day
- Claim limits: Max 5 orgs per user
- Audit logging for all claims
Proposed Solutions: 1. Admin approval system (recommended) 2. Email verification 3. s&box API integration 4. Reputation limits 5. Community reporting 6. Proof of ownership
Implementation Plan:
- Phase 1: Rate limits, protected orgs, logging
- Phase 2: Admin approval system
- Phase 3: Automated verification
Database schema updates included for audit logs and approval workflow.
Priority: HIGH - Should be implemented before public launch to prevent fraud.
12c586e -
Feature
5:03 AM
Add unclaim support to debug API and use it for unclaim button
Details
- Added unclaim action to claimed-orgs-debug.php
- Updated unclaim button to use debug version
- Will log unclaim attempts to help debug the 500 error
Try removing an org now and check data/claim-debug.log to see what happens.
350baa6 -
Feature
5:00 AM
Add debug version of claimed-orgs API with detailed logging
Details
Created claimed-orgs-debug.php:
- Logs every step of the process to data/claim-debug.log
- Shows exactly where the error occurs
- Logs all request data, authentication status, database queries
- Captures full exception details with stack trace
Temporarily updated settings.php to use debug version
To check logs after attempting to claim:
- Look at data/claim-debug.log
- Shows timestamp, action, and any errors
This will help identify the exact cause of the 500 error.
be48218 -
Feature
4:56 AM
Add protection for Facepunch and Valve organizations
Details
Protected Organizations:
- Facepunch: Requires 'facepunch_staff' user tag
- Valve: Requires 'valve_employee' user tag
How It Works: 1. User attempts to claim protected org 2. System checks if user has required tag via steam_tags.php 3. If user doesn't have tag, returns 403 Forbidden 4. Clear error message explains why claim was denied
Error Messages:
- 'You cannot claim the Facepunch organization. Only verified Facepunch staff can claim this organization.'
- 'You cannot claim the Valve organization. Only verified Valve employees can claim this organization.'
Benefits:
- Prevents reputation fraud
- Protects official organizations
- Uses existing user tag system
- Easy to add more protected orgs
- Clear feedback to users
To Add More Protected Orgs: Just add to the \ array: 'orgname' => 'required_tag'
dcb64e4 -
Feature
4:55 AM
Add output buffering and better error handling to claimed-orgs API
Details
Debugging Improvements:
- Added output buffering to catch any warnings/errors before JSON output
- Clear buffer before sending JSON response
- Added database null check
- Enhanced error logging with file and line number
- Added stack trace logging
- Added test endpoint for debugging
Test Endpoint:
- GET/POST with action=test
- Returns API status, database connection, and function availability
- Useful for debugging 500 errors
Error Response Now Includes:
- Error message
- File name where error occurred
- Line number
- Stack trace in logs
This should help identify what's causing the 500 error by ensuring clean JSON output and providing detailed error information.
357ab40 -
Feature
4:54 AM
Add cache check and background refresh for claimed orgs
Details
New Features:
- Checks if organization is in cache when claiming
- Triggers background refresh if org not cached
- Uses async curl request with 100ms timeout (non-blocking)
- Informs user if data is being cached in background
- Returns 'cached' flag in response
How It Works: 1. User claims an organization 2. System checks if org data is in cache 3. If not cached, triggers background refresh worker 4. User gets immediate success response 5. Message indicates if data is being cached 6. Reputation updates once cache is populated
Benefits:
- Ensures fresh data for newly claimed orgs
- Non-blocking - doesn't slow down claim operation
- User knows if they need to wait for data
- Automatic cache population for better performance
Example Response: { 'success': true, 'message': 'Organization claimed successfully. Data is being cached in the background - reputation will update shortly.', 'org_ident': 'myorg', 'claimed_at': 1234567890, 'cached': false }
88c9dcd -
Feature
4:48 AM
Implement organization claiming system for reputation
Details
New Feature: Claim Organizations
- Users can now claim their s&box organizations in Settings
- Claimed orgs link to user profiles for reputation calculation
- Reputation points earned from all claimed organizations
Database:
- Added claimed_orgs table with steam_id and org_ident
- Indexes for fast lookups
- Unique constraint prevents duplicate claims
Settings Page:
- New 'Claimed Organizations' section in Account tab
- Input field to claim organizations by name
- List of currently claimed orgs with remove buttons
- Validates org exists on s&box.game before claiming
API Endpoint (/backend/api/claimed-orgs-api.php):
- claim: Add organization to user's claimed list
- unclaim: Remove organization and recalculate reputation
- list: Get all claimed orgs for a user
- Validates org exists via s&box API
- Auto-recalculates reputation on claim/unclaim
Reputation Calculation:
- Aggregates stats from ALL claimed organizations
- Counts total packages, downloads, favorites, upvotes
- Updates reputation automatically when orgs are claimed/unclaimed
- Profile reputation section now uses claimed orgs data
How It Works: 1. User enters org name (e.g., 'pcjr') in Settings 2. System validates org exists on s&box.game 3. Org is linked to user's Steam ID 4. Reputation calculated from all claimed org packages 5. Badges awarded based on combined stats
Example:
- User claims 'pcjr' org with 10 packages
- Each package has downloads, favorites, upvotes
- All stats combined for reputation calculation
- User earns badges based on total achievements
This solves the issue where users couldn't get reputation credit for their organization's packages!
8be15d2 -
Feature
4:40 AM
Implement reputation and badge system on user profiles
Details
New Features:
- Reputation system now fully integrated into player profiles
- Displays reputation score, level, and progress to next level
- Shows earned badges with icons and descriptions
- Automatic reputation calculation based on:
- Packages created (10 points each)
- Total downloads (1 point per 100 downloads, max 1000)
- Favorites received (5 points each)
- Ratings received (2 points each)
Badge System:
- First Package: Created your first package
- Package Creator: Created 5 packages
- Prolific Creator: Created 20 packages
- Popular: 1,000+ downloads
- Viral: 10,000+ downloads
- Community Favorite: 100+ favorites
- Rising Star: 500+ reputation
- Veteran: 2,500+ reputation
- Legend: 10,000+ reputation
Level System:
- Level 1: 0-99 points
- Level 2: 100-499 points
- Level 3: 500-999 points
- Level 4: 1,000-2,499 points
- Level 5: 2,500-4,999 points
- Level 6: 5,000-9,999 points
- Level 7: 10,000+ points (max level)
Implementation:
- Created profile-reputation-section.php component
- Added reputation.css with beautiful gradient designs
- Integrated into user profile pages (player profiles only)
- Progress bar shows advancement to next level
- Responsive design for mobile devices
- Badges displayed in grid with hover effects
The ReputationSystem class was already built but unused - now it's fully integrated and visible to users!
cffbefc -
Feature
4:38 AM
Remove unimplemented features from new user guide
Details
Removed:
- Reputation & Badges system (class exists but not used anywhere)
- Dependency Graph visualization (not implemented in UI)
Replaced with:
- UGC Charts (actually functional with link to /ugc-charts)
- Detailed Package Info (describes existing package detail pages)
This ensures the guide only shows features that actually work, preventing user confusion and disappointment when they try to use non-existent features.
7ea9d79 -
Feature
4:27 AM
Complete notifications system implementation
Details
Features Added:
- NotificationManager: Core PHP class for notifications and following
- Follow system for packages and organizations
- Notification center with all user notifications
- Bell icon with real-time unread count in header
- Followed packages/orgs page with unified view
- Admin broadcast notification system
- Toast notifications for user feedback
- Organization follow buttons with status tracking
API Endpoints:
- /api/notifications/* - CRUD operations for notifications
- /api/follow/* - Follow/unfollow packages and organizations
- Package info proxy for thumbnail fetching
Frontend Components:
- notifications.js - Notification center manager
- org-follow.js - Organization follow functionality
- notification-bell.js - Header bell with unread count
- toast-manager.js - Global toast system
- Enhanced CSS for all notification components
Admin Tools:
- broadcast-notification.php - Send site-wide announcements
- Test notification creation tool
Database:
- followed_packages table
- followed_orgs table
- notifications table with types and read status
Routing:
- /notifications/all - View all notifications
- /notifications/following - View followed items
- Proper API routing for all endpoints
31404fd -
Feature
4:27 AM
Update new user guide to reflect current features
Details
- Replace Collections feature with Admin Tools section
- Update Admin Dashboard card to highlight Broadcast Notifications
- Clarify notification system with specific URLs and bell icon details
- Refine tips for follow system, PWA installation, and lazy loading
- Remove references to unimplemented features
- Ensure guide accurately represents production-ready functionality
3b7595c
12
-
Feature
5:01 PM
Add scheduled refresh system with 30-min cache monitoring
Details
- Add scheduled-refresh.php to check cache.db every 30 minutes for stale entries
- Create Windows Task Scheduler setup scripts (PowerShell and batch)
- Add test-scheduled-refresh.php for system verification
- Update README.md with comprehensive documentation:
- Add table of contents for better navigation
- Document scheduled refresh system setup
- Fix font references (Poppins, not Inter)
- Remove fictional API documentation (keys, rate limits, WebSocket, SDKs)
- Update project structure to match actual codebase
- Correct all configuration paths and examples
- Add troubleshooting sections for all major features
- System automatically triggers background refresh for stale orgs/users
- Prioritizes larger caches and handles lock files properly
- Logs all operations to logs/scheduled_refresh.log
1277f7a -
Feature
6:09 AM
Add summary stats and visual barchart
Details
- Add summary header showing total commits, days, and commits per hour
- Implement monthly activity barchart visualization
- Add interactive hover effects on bars
- Highlight current month and year with distinct colors
- Calculate statistics dynamically from git history
- Use solid colors for clean appearance
- Fully responsive design for all screen sizes
618e339 -
Feature
5:58 AM
Enhance changelog page with comprehensive stats and polished design
Details
- Add detailed repository statistics section with primary stats cards
- Display total commits, categorized commits with percentages
- Show commit types breakdown with individual percentages
- Add top contributors section with visual progress bars
- Display generation timestamp and contributor count in header
- Improve visual design with gradient backgrounds and accent lines
- Add staggered animations for stat cards
- Enhance hover effects on commit items and body sections
- Improve responsive design for mobile devices
- Add subtle decorative elements (top borders, left accents)
- Better spacing and padding throughout all sections
- Polish empty state with improved styling
- Enhance filter bar with gradient background
- Improve contributor items with left accent bars
- Add smooth transitions and animations throughout
6c13b1f -
Feature
5:30 AM
Implement comprehensive changelog system with advanced features
Details
- Add automatic changelog generation from git history
- Support conventional commits with 11 commit types
- Generate both JSON (for web) and Markdown (for docs)
- Implement breaking change detection and display
- Add scope badges and issue reference links
- Create beautiful web interface with filtering and pagination
- Exclude changelog.json from git tracking
- Only update files when changes are detected
ce2d0f8 -
Feature
5:07 AM
Enhance admin refresh-status page with user cache support and dual refresh options
Details
- Add support for both org and user package caches (TYPE_USER_PACKAGES)
- Display user caches with /u/ prefix URLs and person icons
- Show cache type badges (Org/User) in table
- Update stats to show breakdown (e.g., '5 Total (3 orgs, 2 users)')
- Fix cache key parsing to strip org_packages_, packages_, org_, user_ prefixes
- Add two refresh buttons:
- 'Refresh Stale Data' - only refreshes caches older than 30 min
- 'Refresh All Data' - refreshes all caches including fresh ones
- Refactor JavaScript into reusable performRefresh() function
- Improve confirmation dialogs with specific counts and warnings
- Better progress tracking with success/failure counts
- Fix refresh URLs to correctly handle both /username/ and /u/username/ paths
- Remove auto-refresh meta tag (manual refresh only)
- Add console logging for debugging refresh operations
7666339 -
Feature
4:26 AM
Add Game Boy theme (disabled) and fix CSS linting issues
c640d56 -
Feature
3:58 AM
Modernize admin panel and theme cache system for future-proof theme support
Details
- Enhanced admin/index.php with comprehensive improvements:
- Added CSRF protection for all POST actions
- Added Theme Cache Management card with live theme detection
- Added cache optimization actions (Clear All, Clear Expired, Optimize)
- Improved security with input sanitization
- Added visual theme badges showing all detected themes
- Better error handling and user feedback
- Modernized backend/api/clear-theme-cache.php:
- Added admin authentication and CSRF protection
- Implemented dynamic theme discovery (not hardcoded)
- Returns detailed metrics (theme count, names, sizes)
- Proper error handling and logging
- Works with any theme following metadata convention
- Completely rewrote backend/includes/generate-critical-css.php:
- Future-proof: automatically processes any theme file
- Extracts theme metadata from CSS comments with fallbacks
- Improved error handling and logging throughout
- Separates dark/light themes automatically
- Added regenerateCriticalCSS() for forced refresh
- Better caching with proper file locking
All changes support unlimited themes (not just Catppuccin palettes), include proper security measures, and provide excellent admin UX.
dd9fe8d -
Feature
3:49 AM
Add automatic Catppuccin theme system with 4 new themes
Details
- Add 4 Catppuccin themes: Latte (light), Frappé, Macchiato, Mocha (dark)
- Implement automatic theme discovery from frontend/css/ee/ folder
- Add auto-generated critical CSS system for instant theme loading
- Optimize theme loading: only load active theme CSS on page load
- Add cache management API endpoint for theme CSS regeneration
- Fix Macchiato theme: proper colors, transparent footer sections
- Fix Latte theme: better contrast with white cards
- Remove manual theme configuration - fully automatic system
- Themes now switch instantly without page reload
- No preload warnings - optimized CSS loading strategy
b8f1626 -
Feature
3:05 AM
Implement automatic theme discovery system with ultra-fast preloading
Details
Major Changes:
- Automatic theme discovery: Themes are now auto-detected from /frontend/css/ee/ folder
- No manual configuration needed - just drop a CSS file with metadata and it appears in settings
- Ultra-fast theme preloading with inline critical CSS to prevent flash of default theme
Theme System:
- Created backend/api/themes.php for automatic theme scanning
- Themes use metadata comments (Theme, Class, Emoji) for auto-configuration
- Updated theme-manager.js to dynamically load themes from API
- Added waitForThemes() promise to prevent race conditions
Theme Cleanup:
- Removed 19 unused/low-quality themes (kept only Default and Rust)
- Cleaned up styles.css imports
- Updated settings.php emoji mapping to use API data
New Themes:
- Perfected Rust theme with comprehensive styling
- Created AMOLED Dark theme as example (pure black, high contrast)
- Added theme-template.css with full documentation
Performance Optimizations:
- Inline script in <head> applies theme before first paint
- Critical CSS for instant background/text colors
- CSS preload hints for faster theme file loading
- localStorage caching for instant theme restoration
- Minified inline script (~100 bytes)
Documentation:
- Created frontend/css/ee/README.md with theme creation guide
- Added metadata format documentation
- Listed available Material icons for themes
Developer Experience:
- Create new theme: Copy template, add metadata, save - done!
- Themes automatically appear in settings
- No JavaScript or PHP configuration needed
- Full hot-reload support
ffc0a0d -
Feature
12:25 AM
Add Rust theme support to backend and additional pages
Details
- Added 'rust-theme' to valid theme list in API settings controller
- Included theme-manager.js on admin and donate pages for consistent theme support
- Ensures Rust theme can be saved and persisted across all pages
ff2641b -
Feature
12:24 AM
Add Rust theme integration
Details
- Added Rust theme to theme manager with crab emoji (🦀)
- Imported rust.css stylesheet
- Theme features Rust game-inspired color scheme with red/rust accents
181f09b -
Feature
12:21 AM
Add hard-coded scrollbar colors to all custom themes
Details
- Updated all 20 custom themes with hard-coded hex colors for scrollbars
- Added !important flags to override base.css default blue scrollbar
- Each theme now has scrollbar colors matching its unique color scheme:
- Catppuccin Mocha: Pink (#f38ba8)
- Cyberpunk: Magenta (#ff00ff)
- Deep Space: Violet gradient (#8b5cf6 #3b82f6)
- Dracula: Purple (#bd93f9)
- Emerald Oasis: Emerald gradient (#7dd3ae #5fb894)
- Forest: Green (#228b22)
- Gruvbox: Aqua (#83a598)
- Material Dark: Blue (#2196f3)
- Midnight Haze: Lavender (#9d8ec7)
- Minimal Dark: Blue (#74b9ff)
- Monokai: Orange (#fd971f)
- Nord: Frost blue (#88c0d0)
- Ocean: Blue (#1976d2)
- One Dark Pro: Blue (#61afef)
- Retro Terminal: Green (#0f0)
- Rust: Rust red (#cd412b)
- Solarized Dark: Blue (#268bd2)
- Sunset: Orange (#ff8c00)
- Synthwave: Magenta (#ff0080)
- Tokyo Night: Blue (#7aa2f7)
- Replaced CSS variable references with actual color values
- Ensures consistent theme-specific scrollbar appearance
fb29868
Generated from the project's commit history whenever the site is deployed. Times are server time.