Skip to content

Non-modal dialogs: restore chrome/dropdown/approval interactivity + vite 7 - #79

Merged
AlexZ005 merged 1 commit into
release/nextfrom
fix/non-modal-dialogs
Aug 1, 2026
Merged

Non-modal dialogs: restore chrome/dropdown/approval interactivity + vite 7#79
AlexZ005 merged 1 commit into
release/nextfrom
fix/non-modal-dialogs

Conversation

@AlexZ005

@AlexZ005 AlexZ005 commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Fixes the two reported dropdown regressions (Settings + Customize Character) and implements the requested modal behavior: app modals no longer use the browser top layer, so the logo (one-click close-modal-and-open-menu, incl. narrow screens), the Connect bar + drawer, approval toasts and ThemedSelect portals all work above open modals via the existing z-tiers. ConfirmModal stays truly modal. Also pulls the vite 7 upgrade forward from Part D - it fixes the intermittent dev-boot 500s (vite 5 SSR vs flowbite 1.x internal circular import).

🤖 Generated with Claude Code

@AlexZ005
AlexZ005 merged commit 7854461 into release/next Aug 1, 2026
…pprovals live again

flowbite 1.x showModal() made everything outside the dialog INERT: ThemedSelect
menus (portaled to body) were visible-but-dead in Settings/Customize Character,
approval toasts could not be clicked above a modal (even as top-layer popovers -
top layer does not lift inertness), and the logo/Connect chrome was unreachable.

- Settings/Modules/Sessions/Character/profile/Library modals pass modal={false}
  (flowbite Dialog spreads restProps): no top layer, no inertness - the z-tier
  design works again (modal 1100 < toast 1200 < menu 1300 < ThemedSelect 9999)
- ui.css: dialog.tp-modal-frame fixed+centered at --z-modal with a ::before
  backdrop (non-modal dialogs have no ::backdrop; clicks on it hit the dialog
  element, which flowbite's outsideclose bounding-box math treats as outside)
- ESC handlers per dialog (non-modal dialogs fire no cancel event)
- Toasts: the critical-container popover workaround REVERTED to plain --z-toast
- A6 restored to ONE click (logo closes modal + opens menu); ConfirmModal stays
  truly modal on purpose (blocking confirm)
- vite 5.4 -> 7.3.6 + vite-plugin-svelte 6 pulled FORWARD from Part D: vite 5's
  SSR module loader raced flowbite-svelte 1.x's internal circular import (dev
  boot 500s, intermittent); vite 7's module runner resolves it - the
  ssr.optimizeDeps workaround is deleted. vite-plugin-mkcert dropped (needs
  node 22): dev https now uses the repo's own certs/ files
- lockfile regenerated (stale vps-4 inspector pin wedged ERESOLVE); all frozen
  pins verified held (three 0.185.1, threlte stable, tailwind 4.3.3, xyflow 1.6.2)
- verified: 6/6 consecutive browser boots stable; dropdown pick works by REAL
  mouse click inside open dialogs (Settings + Character); modal-layering (non-
  modal z-tier + approval hit-testable above modal), roadmap-13-ui-polish
  (one-click A6), settings-*, whats-new, import-button, controls-state, avatar
  ALL PASS; build green; svelte-check 437/62

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@AlexZ005
AlexZ005 deleted the fix/non-modal-dialogs branch August 5, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant