Timeout Issues Revert & Testing Plan¶
Generated: 2026-01-03
Problem Summary¶
Starting from commit #42 (7ba61e1e - adding 8 pages to navigation menu), a cascade of timeout issues occurred requiring 40+ commits to fix.
Stock Database Setup¶
Option 1: Use Stock Menus Table (Recommended for Testing)¶
A stock menus table with 204 baseline items is available:
# Backup current menus first
mysqldump -u root -p vell_main menus > /tmp/menus_backup_$(date +%Y%m%d).sql
# Reset to stock menus (204 items, IDs 1-204)
mysql -u root -p vell_main < database/stock/menus_stock.sql
Stock file location: database/stock/menus_stock.sql
Option 2: Create Full Test Database (requires MySQL root access)¶
-- Run as MySQL root user (not 'app' user)
CREATE DATABASE vell_stock CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON vell_stock.* TO 'app'@'127.0.0.1';
FLUSH PRIVILEGES;
Step 2: Clone Current Database¶
# Export current database
mysqldump -u root -p vell_main > /tmp/vell_stock_backup.sql
# Import to stock database
mysql -u root -p vell_stock < /tmp/vell_stock_backup.sql
Step 3: Configure for Testing¶
Create .env.testing or update .env:
Root Cause Commits (in order of impact)¶
| Priority | Commit | Issue | Revert Risk |
|---|---|---|---|
| HIGH | 7ba61e1e (#745) |
Added 8 pages to nav menu via migration | Medium - need replacement migration |
| HIGH | b649fbb0 (#770) |
Removed Blade::render() - was causing timeouts | LOW - keep this fix |
| MEDIUM | Various (#762-#767) | HTTP timeout additions | LOW - keep these |
| LOW | b0422fec (#772) |
VIP cache logic inversion | LOW - keep fix |
Revert Strategy¶
Option A: Selective Revert (Recommended)¶
Keep all the fixes (HTTP timeouts, caching, etc.) but address the root cause:
- Review migration
2026_01_01_000000_add_user_pages_to_menus.php - This added 8 pages to menus, potentially causing N+1 queries
-
Consider: batch loading, eager loading, or caching
-
Keep these fixes:
HandlesHttpTimeouttrait- Menu caching in
MenuService.php PlanHelper.phpcaching- HTTP timeouts across all services
Option B: Full Revert to Pre-Problem State¶
# Create backup branch first
git checkout -b backup/pre-revert
# Revert to commit before problems started (before #745)
git checkout main
git revert --no-commit 7ba61e1e..HEAD
# Or hard reset (DANGEROUS - loses history)
# git reset --hard 52e9f82c
Testing Checklist¶
Before deploying any changes, test on vell_stock:
- Login page loads < 2 seconds
- Dashboard loads < 3 seconds
- Navigation menu renders < 1 second
- No PHP max_execution_time errors
- No database timeout errors
- VIP membership check doesn't cause extra API calls
Commits to Keep (Fixes)¶
These commits resolved issues and should NOT be reverted:
| Commit | Fix |
|---|---|
75e89934 |
Livewire double initialization |
68d0e4e0 |
planMenuCheck caching |
0b022d21 |
Graceful fallback for menu icons |
b0422fec |
VIP membership cache logic |
b649fbb0 |
Remove expensive Blade::render() |
032cb9d5 |
HTTP timeouts across services |
62913021 |
HandlesHttpTimeout trait |
f0cdd907 |
ExtensionRepository timeout |