Standardize settings file naming and relocate documentation files Fix code quality violations from rsx:check Reorganize user_management directory into logical subdirectories Move Quill Bundle to core and align with Tom Select pattern Simplify Site Settings page to focus on core site information Complete Phase 5: Multi-tenant authentication with login flow and site selection Add route query parameter rule and synchronize filename validation logic Fix critical bug in UpdateNpmCommand causing missing JavaScript stubs Implement filename convention rule and resolve VS Code auto-rename conflict Implement js-sanitizer RPC server to eliminate 900+ Node.js process spawns Implement RPC server architecture for JavaScript parsing WIP: Add RPC server infrastructure for JS parsing (partial implementation) Update jqhtml terminology from destroy to stop, fix datagrid DOM preservation Add JQHTML-CLASS-01 rule and fix redundant class names Improve code quality rules and resolve violations Remove legacy fatal error format in favor of unified 'fatal' error type Filter internal keys from window.rsxapp output Update button styling and comprehensive form/modal documentation Add conditional fly-in animation for modals Fix non-deterministic bundle compilation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
64 lines
2.0 KiB
Markdown
Executable File
64 lines
2.0 KiB
Markdown
Executable File
# Storage Snapshot - Working Bundle State
|
|
|
|
## Created
|
|
2025-11-12
|
|
|
|
## How Created
|
|
1. Ran `php artisan rsx:clean` (cleared all caches)
|
|
2. Ran `php artisan rsx:debug /contacts --user-id=1`
|
|
3. Browser-triggered rebuild detected cache was empty
|
|
4. Manifest regenerated and bundles recompiled by browser request
|
|
|
|
## What This Demonstrates
|
|
|
|
This snapshot captures the **working state** where browser-triggered bundle builds correctly include JS stubs.
|
|
|
|
### Observable Success
|
|
When loading `/contacts` after this browser-triggered rebuild:
|
|
```
|
|
200 http://localhost/contacts user:1 type:text/html
|
|
|
|
JavaScript Console Errors: None
|
|
```
|
|
|
|
### The Working Behavior
|
|
- **JS stub file EXISTS**: `rsx-build/js-stubs/Frontend_Clients_Controller.js` is present in filesystem
|
|
- **Bundle INCLUDES stub**: The compiled `Frontend_Bundle__app.*.js` contains the stub
|
|
- **Result**: JavaScript references to `Frontend_Clients_Controller` work correctly
|
|
|
|
### Key Differences from Broken State
|
|
Compare this snapshot with `/storage-broken/` to identify:
|
|
- What's different in `manifest_data.php` (stub registration)
|
|
- What's different in compiled bundles (stub inclusion)
|
|
- Timing/ordering differences in manifest generation
|
|
|
|
### Reproduction Steps
|
|
```bash
|
|
# Start from any state
|
|
php artisan rsx:clean
|
|
|
|
# Test (will trigger browser rebuild and work correctly)
|
|
php artisan rsx:debug /contacts --user-id=1
|
|
|
|
# Expected result: No JavaScript errors
|
|
```
|
|
|
|
### The Mystery
|
|
**Why does browser-triggered rebuild work but CLI build doesn't?**
|
|
|
|
Both should execute the same manifest and bundle code, but produce different results:
|
|
- CLI build: Stubs not included in bundles
|
|
- Browser build: Stubs correctly included in bundles
|
|
|
|
### Comparison with Broken State
|
|
```bash
|
|
# Compare manifest metadata
|
|
diff storage-broken/rsx-build/manifest_data.php storage-working/rsx-build/manifest_data.php
|
|
|
|
# Compare bundle hashes
|
|
ls -la storage-broken/_compiled/Frontend_Bundle* storage-working/_compiled/Frontend_Bundle*
|
|
|
|
# Check stub files
|
|
ls -la storage-broken/rsx-build/js-stubs/ storage-working/rsx-build/js-stubs/
|
|
```
|