Enable jqhtml data caching with automatic ES6 class registration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-12-07 18:24:12 +00:00
parent c4a338fe7c
commit 12e676f317
54 changed files with 3187 additions and 1007 deletions

View File

@@ -95,12 +95,14 @@ class Jqhtml_Integration {
// scope_key() changes when: app code changes, user logs out, site changes.
// This automatically invalidates cached component renders.
//
// TEMPORARILY DISABLED: jqhtml caching is temporarily disabled for a client
// demo while we figure out why it's not serializing Rsx_Js_Model classes
// correctly. We likely want to add a serialize and unserialize callback to
// jqhtml to help make the integration between jqhtml and rspade tighter.
// Data Cache Mode (jqhtml 2.x):
// - Enforces hot/cold cache parity - fresh data and cached data behave identically
// - Any ES6 class instance stored in this.data must be registered with jqhtml
// - Class registration is done by BundleCompiler via register_cache_class()
// - Without registration, class instances become plain objects on cache restore
// (properties preserved but prototype methods lost)
// ─────────────────────────────────────────────────────────────────────
// jqhtml.set_cache_key(Rsx.scope_key());
jqhtml.set_cache_key(Rsx.scope_key(), 'data');
window.jqhtml.debug.verbose = false;
}