mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
* Add preview iframe keep-alive pool * Fix active preview eviction on prompt context changes * Evict preview iframes on skill/design-system registry edits Bridge Settings → Skills / Design Systems to App.tsx so the keep-alive pool drops any preview iframe whose project depends on the affected id after every successful mutation. Without this, body-only edits leave SkillSummary / DesignSystemSummary fields untouched and ProjectView's signature-driven eviction never fires, so the active preview keeps serving stale prompt context. The handler also re-fetches the App shell's skill / design-system lists so summary-field changes propagate to ProjectView's signature on the next render. Also extend IframeKeepAlivePool.evictMatching with an includeActive option so the new handler can drop the currently-visible iframe along with parked ones; the fallback pool only ever holds active entries so includeActive is a no-op there. Regression tests: - App.previewKeepAlive: clicking a Settings stub that fires onSkillsChanged / onDesignSystemsChanged drives evictMatching with includeActive=true and a predicate that matches projects using the affected id while skipping unrelated projects. - SkillsSection: onSkillsChanged fires after a body-only edit and after a delete. * fix: reattach active keep-alive iframe after eviction * fix(web): refresh design systems after rename --------- Co-authored-by: kami.c <kami.c@chative.com> |
||
|---|---|---|
| .. | ||
| analytics | ||
| artifacts | ||
| components | ||
| edit-mode | ||
| helpers | ||
| hooks | ||
| i18n | ||
| lib | ||
| observability | ||
| providers | ||
| runtime | ||
| state | ||
| styles | ||
| utils | ||
| analytics-app-version.test.tsx | ||
| analytics-configure-globals.test.ts | ||
| analytics-identity.test.ts | ||
| analytics-scrub.test.ts | ||
| api-attachment-context.test.ts | ||
| App.test.ts | ||
| comments.test.ts | ||
| host-boundary.test.ts | ||
| quickSwitcherRecents.test.ts | ||
| router-marketplace.test.ts | ||
| router.test.ts | ||
| sidecar-proxy.test.ts | ||