Skip to content

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

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:

DB_DATABASE=vell_stock


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

Keep all the fixes (HTTP timeouts, caching, etc.) but address the root cause:

  1. Review migration 2026_01_01_000000_add_user_pages_to_menus.php
  2. This added 8 pages to menus, potentially causing N+1 queries
  3. Consider: batch loading, eager loading, or caching

  4. Keep these fixes:

  5. HandlesHttpTimeout trait
  6. Menu caching in MenuService.php
  7. PlanHelper.php caching
  8. 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

Quick Commands

# View specific commit changes
git show 7ba61e1e --stat

# Compare current state to pre-problem
git diff 52e9f82c..HEAD --stat

# Create test branch from specific point
git checkout -b test/pre-menu-changes 52e9f82c