mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-11-06 04:42:24 +00:00
TASK-conversation-console-workflow await stable initial layout before route completion
This commit is contained in:
1 parent
edbea736f0
commit
6b3dcf7498
2 files changed
+9
-9
No files matched your search
@@ -2619,7 +2619,7 @@ test_integrity_note:
|
||||
- "No browser requests to live project APIs and no changes to tracked screenshot expectations"
|
||||
determinism_controls:
|
||||
- "The existing isolated sample Console, fixed Playwright clock, and fixed desktop/mobile viewports"
|
||||
- "Manager-wakes routing uses the existing isolated sample Console, a deterministic first-generation completion marker, and browser fragment history without changing project state"
|
||||
- "Manager-wakes routing uses the existing isolated sample Console, a deterministic two-frame first-generation layout-completion marker, and browser fragment history without changing project state"
|
||||
- "Newer evidence is introduced through the sample's supported preview/confirm API before an explicit refresh"
|
||||
- "The browser test advances only the isolated sample API; it never submits the priority form or mutates a live project"
|
||||
- "No network, live project mutation, retry, sleep, timeout, golden update, or direct fixture-source change"
|
||||
|
||||
+8
-8
@@ -1159,14 +1159,14 @@ const refreshScheduler = globalThis.TorchLiveRefresh.createScheduler({
|
||||
const status = $('#live-refresh-status');
|
||||
const renderGeneration = ++appliedRefreshes;
|
||||
status.textContent = `${liveUpdatesPaused ? 'Automatic updates paused.' : 'Updates every 15 seconds while visible.'}${heldPanels ? ' Edited forms and active previews retained; their panels may show older state.' : ''}`;
|
||||
globalThis.requestAnimationFrame(() => {
|
||||
if (renderGeneration !== appliedRefreshes) return;
|
||||
if (viewportBeforeRender && consoleViewRouter.userIntentVersion() === userIntentAtRender) {
|
||||
globalThis.scrollTo?.({ ...viewportBeforeRender, behavior: 'instant' });
|
||||
}
|
||||
if (renderGeneration === 1) consoleViewRouter.afterInitialLayout();
|
||||
status.dataset.generation = String(renderGeneration);
|
||||
});
|
||||
globalThis.requestAnimationFrame(() => globalThis.requestAnimationFrame(() => {
|
||||
if (renderGeneration !== appliedRefreshes) return;
|
||||
if (viewportBeforeRender && consoleViewRouter.userIntentVersion() === userIntentAtRender) {
|
||||
globalThis.scrollTo?.({ ...viewportBeforeRender, behavior: 'instant' });
|
||||
}
|
||||
if (renderGeneration === 1) consoleViewRouter.afterInitialLayout();
|
||||
status.dataset.generation = String(renderGeneration);
|
||||
}));
|
||||
},
|
||||
onError: (caught) => {
|
||||
const error = $('#console-error');
|
||||
|
||||
Reference in new issue
Block a user