Web app: use of the URI scheme freezes the UI#457
Conversation
There was a problem hiding this comment.
Pull request overview
Fixes the UI-freeze reported in #456 when opening a model via the opencor:// URI scheme by hardening the app’s UI-blocking behavior and consolidating global styling.
Changes:
- Introduce
SafeBlockUIto make PrimeVueBlockUImasking more robust against repeated block/unblock sequences. - Switch
OpenCOR.vueto useSafeBlockUIand add mask cleanup when unblocking. - Move Tailwind preflight import into
OpenCOR.vue, update renderer README, and bump versions/deps.
Reviewed changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/src/components/widgets/SafeBlockUI.vue | Adds a wrapper around PrimeVue BlockUI with guarded block/unmask logic. |
| src/renderer/src/components/OpenCOR.vue | Replaces BlockUI with SafeBlockUI, adds mask cleanup, relocates Tailwind preflight import. |
| src/renderer/src/App.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithinContainers.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithSimulationData.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithRawOmex.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithOmex.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithMultipleInstances.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/README.md | Documents exposed tracking methods for simulation data. |
| package.json | Bumps app version and updates dev dependency versions. |
| bun.lock | Updates lockfile for bumped dependencies. |
| src/renderer/package.json | Bumps renderer package version and dev dependency versions. |
| src/renderer/bun.lock | Updates renderer lockfile for bumped dependencies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
902fee4 to
9a4c94a
Compare
There was a problem hiding this comment.
Pull request overview
Fixes the UI “freeze” when launching the web app via the opencor:// URI scheme by hardening BlockUI masking/unmasking behavior, and consolidates global Tailwind preflight injection into the library component.
Changes:
- Add
SafeBlockUIwrapper around PrimeVueBlockUIto prevent duplicate masks and enable explicit cleanup. - Update
OpenCOR.vueto useSafeBlockUI, add cleanup of leftover masks on unblock, and make simulation-data tracking methods no-op unlessomexis provided. - Move Tailwind preflight import into
OpenCOR.vueand remove it from app wrapper components; bump versions/deps/locks.
Reviewed changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/src/components/widgets/SafeBlockUI.vue | Introduces a safer BlockUI implementation that avoids duplicate overlay masks and provides explicit mask removal. |
| src/renderer/src/components/OpenCOR.vue | Switches to SafeBlockUI, adds mask cleanup logic, gates tracking methods on omex, and centralizes Tailwind preflight import. |
| src/renderer/src/AppWithinContainers.vue | Removes Tailwind preflight import (now provided by OpenCOR.vue). |
| src/renderer/src/AppWithSimulationData.vue | Removes Tailwind preflight import (now provided by OpenCOR.vue). |
| src/renderer/src/AppWithRawOmex.vue | Removes Tailwind preflight import (now provided by OpenCOR.vue). |
| src/renderer/src/AppWithOmex.vue | Removes Tailwind preflight import (now provided by OpenCOR.vue). |
| src/renderer/src/AppWithMultipleInstances.vue | Removes Tailwind preflight import (now provided by OpenCOR.vue). |
| src/renderer/src/App.vue | Removes Tailwind preflight import (now provided by OpenCOR.vue). |
| src/renderer/package.json | Bumps renderer package version and updates dev dependency (@biomejs/biome). |
| src/renderer/bun.lock | Lockfile updates for renderer dependency bumps. |
| src/renderer/README.md | Documents exposed tracking methods for simulation data. |
| package.json | Bumps root package version and updates dev dependencies (including Electron). |
| bun.lock | Lockfile updates for root dependency bumps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
e6b0287 to
7b5f183
Compare
There was a problem hiding this comment.
Pull request overview
This PR addresses UI freezes triggered when opening models via the opencor:// URI scheme by hardening the UI-blocking overlay behavior, and consolidates Tailwind preflight inclusion.
Changes:
- Introduces
SafeBlockUIas a safer wrapper around PrimeVueBlockUIand switches OpenCOR to use it, with additional mask cleanup on unblock. - Adjusts simulation data tracking methods to no-op when
omexisn’t provided, and documents the exposed methods in the renderer README. - Moves Tailwind preflight import into
OpenCOR.vue, and bumps versions/dependency locks.
Reviewed changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/src/components/widgets/SafeBlockUI.vue | Adds a custom BlockUI wrapper to avoid duplicate/leftover overlay masks. |
| src/renderer/src/components/OpenCOR.vue | Uses SafeBlockUI, cleans up masks on unblock, gates simulation data tracking to omex, and relocates Tailwind preflight import. |
| src/renderer/src/App.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithinContainers.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithMultipleInstances.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithOmex.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithRawOmex.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/src/AppWithSimulationData.vue | Removes Tailwind preflight import (now centralized elsewhere). |
| src/renderer/README.md | Documents exposed simulation-data tracking methods and parameter-name format. |
| package.json | Bumps app version and dev dependencies (incl. Electron). |
| bun.lock | Updates lockfile to match dependency bumps. |
| src/renderer/package.json | Bumps renderer package version and dev dependencies. |
| src/renderer/bun.lock | Updates renderer lockfile to match dependency bumps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Fixes the web app UI freeze when opening a model via the opencor://openFile/... URI scheme by hardening the UI blocking/unblocking behavior so the overlay mask cannot get “stuck” and keep the app non-interactive.
Changes:
- Introduce
SafeBlockUIwrapper around PrimeVueBlockUIto avoid duplicate block masks and ensure masks are removed safely. - Update
OpenCOR.vueto useSafeBlockUIand add cleanup of any leftover.p-blockui-maskelements when unblocking. - Update exposed simulation-data tracking behavior/docs and bump versions/dependencies.
Reviewed changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/src/components/widgets/SafeBlockUI.vue | New wrapper component providing safer mask lifecycle handling than PrimeVue BlockUI under repeated block/unblock events. |
| src/renderer/src/components/OpenCOR.vue | Switches to SafeBlockUI, removes delayed block toggling, and adds mask cleanup on unblock; also gates simulation data tracking methods when omex isn’t provided. |
| src/renderer/package.json | Bumps renderer package version and updates Biome devDependency. |
| src/renderer/bun.lock | Lockfile updates corresponding to renderer dependency bumps. |
| src/renderer/README.md | Documents exposed simulation-data tracking methods for the library usage. |
| package.json | Bumps root package version and updates devDependencies (Biome, Electron). |
| bun.lock | Lockfile updates corresponding to root dependency bumps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Fixes UI freezes seen when opening a model via the opencor:// URI scheme by hardening the UI blocking overlay behavior in the renderer.
Changes:
- Introduces
SafeBlockUI, a wrapper around PrimeVueBlockUI, to avoid duplicate/unremoved overlay masks. - Updates
OpenCOR.vueto useSafeBlockUIand adds cleanup of any leftover.p-blockui-maskelements when unblocking. - Bumps project versions and updates some dev dependencies (Biome) plus Electron.
Reviewed changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/src/components/widgets/SafeBlockUI.vue | Adds a safer BlockUI wrapper to prevent/clean duplicate masks. |
| src/renderer/src/components/OpenCOR.vue | Switches to SafeBlockUI, adds mask cleanup on unblock, and gates simulation tracking methods when omex isn’t provided. |
| src/renderer/README.md | Documents exposed simulation-tracking methods and parameter naming. |
| src/renderer/package.json | Version bump and Biome devDependency bump. |
| src/renderer/bun.lock | Lockfile updates for renderer dependency bumps. |
| package.json | Root version bump plus Biome and Electron devDependency bumps. |
| bun.lock | Root lockfile updates for dependency bumps. |
Comments suppressed due to low confidence (1)
package.json:30
- The date segment in the version (20260317) is in the future relative to today; if this is meant to be generated by
scripts/version.new.jsfrom the current date, it should match the build date to avoid confusing/invalid release metadata.
"version": "0.20260317.0",
"engines": {
"bun": ">=1.2.0"
},
"scripts": {
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Fixes the UI becoming unresponsive when opening a model via the opencor:// URI scheme by hardening the UI blocking/unblocking behavior around PrimeVue’s BlockUI usage.
Changes:
- Introduces
SafeBlockUIto avoid accumulatingBlockUIoverlay masks and updatesOpenCOR.vueto use it. - Adds Vite/electron-vite resolve aliases to allow importing
primevue/package.jsonfor runtime version checks. - Updates package versions/dependencies and documents exposed simulation-data tracking methods.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/vite.config.ts | Adds alias for primevue/package.json resolution in the web build. |
| electron.vite.config.ts | Adds the same alias for the Electron renderer build. |
| src/renderer/src/components/widgets/SafeBlockUI.vue | New wrapper component to make PrimeVue BlockUI masking safer. |
| src/renderer/src/components/OpenCOR.vue | Switches to SafeBlockUI, adjusts simulation-data tracking behavior, and adds mask cleanup on unblock. |
| src/renderer/package.json | Version bump and devDependency updates (incl. rollup visualizer). |
| src/renderer/bun.lock | Lockfile updates for renderer package dependencies. |
| package.json | Root version bump and Electron/Biome updates. |
| bun.lock | Root lockfile updates corresponding to dependency bumps. |
| src/renderer/README.md | Documents exposed simulation-data tracking methods (and their omex-only effect). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Fixes the reported UI “freeze” when opening models via the OpenCOR URI scheme by hardening the BlockUI overlay behavior so stray masks don’t leave the app unresponsive.
Changes:
- Introduces a
SafeBlockUIwrapper that guards against duplicate block/unblock cycles and provides mask cleanup. - Switches
OpenCOR.vueto useSafeBlockUIand cleans up tracked simulation data methods behavior/documentation. - Updates build/lint configs and bumps versions/dependencies (Biome/Electron) + lockfiles.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| stylelint.config.mjs | Ignore build output directories in Stylelint runs. |
| src/renderer/stylelint.config.mjs | Same Stylelint ignore behavior for renderer package. |
| src/renderer/vite.config.ts | Adds __OPENCOR_DEV__ define; adjusts dev server fs allow path; keeps bundle visualizer. |
| electron.vite.config.ts | Adds __OPENCOR_DEV__ define for Electron renderer build. |
| src/renderer/src/components/widgets/SafeBlockUI.vue | New wrapper component implementing safer mask management around PrimeVue BlockUI. |
| src/renderer/src/components/OpenCOR.vue | Replaces BlockUI with SafeBlockUI; cleans up tracking methods to no-op without omex; mask cleanup on unblock. |
| src/renderer/README.md | Documents exposed tracking methods and their omex-only behavior. |
| package.json | Version bump and dependency updates (Biome/Electron). |
| src/renderer/package.json | Renderer package version bump; adds visualizer dev dependency; Biome bump. |
| bun.lock | Updates lockfile for dependency bumps. |
| src/renderer/bun.lock | Updates renderer lockfile for dependency bumps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Fixes a UI-freeze scenario triggered when opening a model via the opencor://openFile/... URI scheme by hardening the UI-blocking overlay behavior in the renderer.
Changes:
- Introduces
SafeBlockUIas a wrapper around PrimeVueBlockUIand switchesOpenCOR.vueto use it. - Adds
__OPENCOR_DEV__build-time define in Vite configs and updates some Vite/server path handling. - Updates stylelint configs to ignore build outputs and bumps versions/locks and a small README doc addition.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| stylelint.config.mjs | Ignore out/** and dist/** during stylelint runs. |
| src/renderer/stylelint.config.mjs | Same stylelint ignore update for renderer package. |
| src/renderer/vite.config.ts | Adds __OPENCOR_DEV__ define and adjusts server FS allow path handling. |
| electron.vite.config.ts | Adds __OPENCOR_DEV__ define for the electron-vite renderer build. |
| src/renderer/src/components/widgets/SafeBlockUI.vue | New wrapper component to prevent/clean up duplicate BlockUI masks. |
| src/renderer/src/components/OpenCOR.vue | Uses SafeBlockUI; adjusts simulation tracking guards and mask cleanup behavior. |
| src/renderer/README.md | Documents exposed simulation-tracking methods and their omex-only effect. |
| package.json | Version bump + devDependency bump (Electron, Biome). |
| bun.lock | Lockfile updates matching root dependency bumps. |
| src/renderer/package.json | Renderer package version bump + devDependency bump (Biome) and adds visualizer dep. |
| src/renderer/bun.lock | Lockfile updates matching renderer dependency changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
This PR addresses UI freezing in the web app when opening models via the opencor:// URI scheme (Fixes #456) by hardening UI blocking/unblocking behavior and cleaning up leftover overlay masks.
Changes:
- Introduces
SafeBlockUIas a wrapper around PrimeVueBlockUIto avoid stacked/leftover masks and adds cleanup on unblock. - Updates
OpenCOR.vueto useSafeBlockUIand ensures exposed simulation-data tracking methods are no-ops unlessomexis provided. - Build/lint maintenance updates: add
__OPENCOR_DEV__define in renderer build config, ignoreout/anddist/for stylelint, and bump dependency versions.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| stylelint.config.mjs | Ignore generated output directories during stylelint runs. |
| src/renderer/stylelint.config.mjs | Same stylelint ignore update for renderer package. |
| src/renderer/vite.config.ts | Adds __OPENCOR_DEV__ define and adjusts dev server FS allow path resolution. |
| electron.vite.config.ts | Adds __OPENCOR_DEV__ define for Electron renderer build and node type reference. |
| src/renderer/src/components/widgets/SafeBlockUI.vue | New safe BlockUI wrapper to prevent/cleanup duplicate masks. |
| src/renderer/src/components/OpenCOR.vue | Switches to SafeBlockUI; mask cleanup on unblock; guards exposed methods behind omex. |
| src/renderer/README.md | Documents exposed methods and their omex-only effect. |
| package.json | Version bump + devDependency updates (notably Electron). |
| src/renderer/package.json | Version bump + devDependency updates (adds visualizer). |
| bun.lock | Lockfile updates reflecting dependency bumps. |
| src/renderer/bun.lock | Lockfile updates reflecting dependency bumps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
…never gets stuck.
There was a problem hiding this comment.
Pull request overview
This PR addresses UI freezes in the web app when opening models via the opencor:// URI scheme by hardening the UI blocking/unblocking behavior around PrimeVue’s BlockUI.
Changes:
- Add
SafeBlockUIwrapper to prevent duplicated masks and clean up leftover overlays when unblocking. - Wire
OpenCOR.vueto useSafeBlockUIand adjust simulation-data tracking behavior/documentation for theomexprop. - Update build/lint config and bump versions/dependencies (including Electron/Biome), with lockfile updates.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| stylelint.config.mjs | Ignore generated output folders during stylelint runs. |
| src/renderer/stylelint.config.mjs | Same ignore behavior for the renderer package. |
| src/renderer/vite.config.ts | Define __OPENCOR_DEV__ and adjust dev server fs allow path resolution. |
| electron.vite.config.ts | Define __OPENCOR_DEV__ for the Electron renderer build. |
| src/renderer/src/components/widgets/SafeBlockUI.vue | New wrapper around PrimeVue BlockUI to avoid mask duplication and add cleanup utilities. |
| src/renderer/src/components/OpenCOR.vue | Switch to SafeBlockUI and ensure tracking methods no-op without omex. |
| src/renderer/README.md | Document exposed methods and their omex-only effect. |
| package.json | Version bump and dependency updates (incl. Electron). |
| src/renderer/package.json | Version bump and renderer devDependency updates. |
| bun.lock | Lockfile updates reflecting dependency bumps. |
| src/renderer/bun.lock | Lockfile updates for renderer package dependencies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Fixes #456.