Skip to content

Configure vite to copy from src to dist#2

Merged
huchenlei merged 5 commits intomainfrom
first_mig
Jun 14, 2024
Merged

Configure vite to copy from src to dist#2
huchenlei merged 5 commits intomainfrom
first_mig

Conversation

@huchenlei
Copy link
Copy Markdown
Contributor

This PR configures vite to just copy everything from src directory to dist directory. Later we shall replace js with ts one by one.

@huchenlei huchenlei merged commit 3fbb75c into main Jun 14, 2024
@huchenlei huchenlei deleted the first_mig branch June 14, 2024 03:09
duckcomfy pushed a commit to duckcomfy/ComfyUI_frontend that referenced this pull request Jul 10, 2025
fix: show correct preview after painting an image in MaskEditor
improve layer-selecting UX
fix rectangular brushes
add keyboard shortcuts to change brush size
benceruleanlu pushed a commit that referenced this pull request Aug 3, 2025
viva-jinyi added a commit that referenced this pull request Nov 17, 2025
Fixed issue where partial deletion failures were not reported to users.
Previously, if some assets failed to delete, the UI would still show
"all assets deleted successfully" which could mislead users about data loss.

Changes:
- Replaced Promise.all with Promise.allSettled in deleteMultipleAssets
- Track individual success/failure for each asset deletion
- Show different toast messages based on results:
  - All success: success toast with count
  - All failed: error toast
  - Partial success: warning toast with succeeded/failed counts
- Improved error logging with asset names for debugging

Added i18n:
- mediaAsset.selection.partialDeleteSuccess: "{succeeded} deleted successfully, {failed} failed"

This addresses PR review comment #2 (Medium Priority).

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

Co-Authored-By: Claude <noreply@anthropic.com>
viva-jinyi added a commit that referenced this pull request Nov 17, 2025
Fixed issue where partial deletion failures were not reported to users.
Previously, if some assets failed to delete, the UI would still show
"all assets deleted successfully" which could mislead users about data loss.

Changes:
- Replaced Promise.all with Promise.allSettled in deleteMultipleAssets
- Track individual success/failure for each asset deletion
- Show different toast messages based on results:
  - All success: success toast with count
  - All failed: error toast
  - Partial success: warning toast with succeeded/failed counts
- Improved error logging with asset names for debugging

Added i18n:
- mediaAsset.selection.partialDeleteSuccess: "{succeeded} deleted successfully, {failed} failed"

This addresses PR review comment #2 (Medium Priority).

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

Co-Authored-By: Claude <noreply@anthropic.com>
@r-vage r-vage mentioned this pull request Dec 2, 2025
3 tasks
artokun added a commit to artokun/ComfyUI_frontend that referenced this pull request Mar 20, 2026
…ectness

- Cache bound subgraph slot lookup with version-based invalidation (#1, Comfy-Org#10)
- Replace O(N) per-frame scan in drawConnections with _widgetSlotsDirty flag (Comfy-Org#5, Comfy-Org#11)
- Remove dead composite-key fallback branch in findBoundSubgraphSlot (Comfy-Org#2)
- Use isPromotedWidgetView() type guard instead of manual duck-typing (Comfy-Org#3)
- Make label setter functional, propagating to bound subgraph slot (Comfy-Org#4)
- Simplify get name() to use identityName ?? sourceWidgetName (Comfy-Org#6)
- Import ISubgraphInput type instead of inline cast in widgetUtil (Comfy-Org#7)
- Add tooltip field to SafeWidgetData interface (Comfy-Org#9)
- Clear stale input.pos in removeWidget() and mark slots dirty (Comfy-Org#12)
artokun added a commit to artokun/ComfyUI_frontend that referenced this pull request Mar 23, 2026
…ectness

- Cache bound subgraph slot lookup with version-based invalidation (#1, Comfy-Org#10)
- Replace O(N) per-frame scan in drawConnections with _widgetSlotsDirty flag (Comfy-Org#5, Comfy-Org#11)
- Remove dead composite-key fallback branch in findBoundSubgraphSlot (Comfy-Org#2)
- Use isPromotedWidgetView() type guard instead of manual duck-typing (Comfy-Org#3)
- Make label setter functional, propagating to bound subgraph slot (Comfy-Org#4)
- Simplify get name() to use identityName ?? sourceWidgetName (Comfy-Org#6)
- Import ISubgraphInput type instead of inline cast in widgetUtil (Comfy-Org#7)
- Add tooltip field to SafeWidgetData interface (Comfy-Org#9)
- Clear stale input.pos in removeWidget() and mark slots dirty (Comfy-Org#12)
artokun added a commit to artokun/ComfyUI_frontend that referenced this pull request Mar 23, 2026
…ectness

- Cache bound subgraph slot lookup with version-based invalidation (#1, Comfy-Org#10)
- Replace O(N) per-frame scan in drawConnections with _widgetSlotsDirty flag (Comfy-Org#5, Comfy-Org#11)
- Remove dead composite-key fallback branch in findBoundSubgraphSlot (Comfy-Org#2)
- Use isPromotedWidgetView() type guard instead of manual duck-typing (Comfy-Org#3)
- Make label setter functional, propagating to bound subgraph slot (Comfy-Org#4)
- Simplify get name() to use identityName ?? sourceWidgetName (Comfy-Org#6)
- Import ISubgraphInput type instead of inline cast in widgetUtil (Comfy-Org#7)
- Add tooltip field to SafeWidgetData interface (Comfy-Org#9)
- Clear stale input.pos in removeWidget() and mark slots dirty (Comfy-Org#12)
artokun added a commit to artokun/ComfyUI_frontend that referenced this pull request Mar 23, 2026
…ectness

- Cache bound subgraph slot lookup with version-based invalidation (#1, Comfy-Org#10)
- Replace O(N) per-frame scan in drawConnections with _widgetSlotsDirty flag (Comfy-Org#5, Comfy-Org#11)
- Remove dead composite-key fallback branch in findBoundSubgraphSlot (Comfy-Org#2)
- Use isPromotedWidgetView() type guard instead of manual duck-typing (Comfy-Org#3)
- Make label setter functional, propagating to bound subgraph slot (Comfy-Org#4)
- Simplify get name() to use identityName ?? sourceWidgetName (Comfy-Org#6)
- Import ISubgraphInput type instead of inline cast in widgetUtil (Comfy-Org#7)
- Add tooltip field to SafeWidgetData interface (Comfy-Org#9)
- Clear stale input.pos in removeWidget() and mark slots dirty (Comfy-Org#12)
artokun added a commit to artokun/ComfyUI_frontend that referenced this pull request Mar 23, 2026
…ectness

- Cache bound subgraph slot lookup with version-based invalidation (#1, Comfy-Org#10)
- Replace O(N) per-frame scan in drawConnections with _widgetSlotsDirty flag (Comfy-Org#5, Comfy-Org#11)
- Remove dead composite-key fallback branch in findBoundSubgraphSlot (Comfy-Org#2)
- Use isPromotedWidgetView() type guard instead of manual duck-typing (Comfy-Org#3)
- Make label setter functional, propagating to bound subgraph slot (Comfy-Org#4)
- Simplify get name() to use identityName ?? sourceWidgetName (Comfy-Org#6)
- Import ISubgraphInput type instead of inline cast in widgetUtil (Comfy-Org#7)
- Add tooltip field to SafeWidgetData interface (Comfy-Org#9)
- Clear stale input.pos in removeWidget() and mark slots dirty (Comfy-Org#12)
artokun added a commit to artokun/ComfyUI_frontend that referenced this pull request Mar 23, 2026
…ectness

- Cache bound subgraph slot lookup with version-based invalidation (#1, Comfy-Org#10)
- Replace O(N) per-frame scan in drawConnections with _widgetSlotsDirty flag (Comfy-Org#5, Comfy-Org#11)
- Remove dead composite-key fallback branch in findBoundSubgraphSlot (Comfy-Org#2)
- Use isPromotedWidgetView() type guard instead of manual duck-typing (Comfy-Org#3)
- Make label setter functional, propagating to bound subgraph slot (Comfy-Org#4)
- Simplify get name() to use identityName ?? sourceWidgetName (Comfy-Org#6)
- Import ISubgraphInput type instead of inline cast in widgetUtil (Comfy-Org#7)
- Add tooltip field to SafeWidgetData interface (Comfy-Org#9)
- Clear stale input.pos in removeWidget() and mark slots dirty (Comfy-Org#12)
jtydhr88 pushed a commit that referenced this pull request Apr 15, 2026
## Summary
A follow-up PR of #11196.

| # | Nit | Action | Reason |
| :--- | :--- | :--- | :--- |
| 1 | Replace `page.on('pageerror')` with request-wait | **Left as-is**
| The `pageErrors` array is an accumulator checked at the end via
`expect(pageErrors).toHaveLength(0)` – the goal is to assert that broken
image URLs don't surface as uncaught JS exceptions during the test run.
A request-wait can't substitute for that behavioral assertion, so the
listener pattern is intentional here. |
| 2 | Move helpers to a `vueNodes.getImageCompareHelper()` subclass |
**Left as-is** | Helpers such as `setImageCompareValue` and
`moveToPercentage` are only used in this file, making local
encapsulation enough. Extracting them to a page object would increase
the file/interface surface area and violate YAGNI; additionally,
`AGENTS.md` clearly states to "minimize the exported values of each
module. |
| 3 | Use `TestIds` enum for test ID strings | **Fixed** – added
`imageCompare` section to `TestIds` in `selectors.ts`; replaced all 8
inline string IDs in `imageCompare.spec.ts` with
`TestIds.imageCompare.*` references | The project already has a
`TestIds` convention for centralizing test IDs. Inline strings create
drift risk between the Vue component and the test file. |
| 4 | Move `expect.poll` bounding box check to helper/page object |
**Left as-is** | This logic already lives inside `moveToPercentage`,
which is a local helper. Moving it further to a page object is the same
refactor as #2 above. |
| 5 | Remove `// ---` style section header comments | **Fixed** –
removed all 8 divider blocks from `imageCompare.spec.ts` | Consistent
with project guidelines and your explicit preference. Test names already
describe what each block does. |
| 6 | Name magic numbers `400` and `350` | **Fixed** – introduced
`minWidth = 400` and `minHeight = 350` constants in the test |
Descriptive names make the constraint self-documenting and easier to
update if the workflow asset changes. |

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: changes are limited to Playwright E2E test code and shared
selector constants, with no production logic impacted.
> 
> **Overview**
> **E2E Image Compare tests now use centralized selectors.** Adds an
`imageCompare` section to `TestIds` and updates `imageCompare.spec.ts`
to reference `TestIds.imageCompare.*` instead of inline `data-testid`
strings.
> 
> Cleans up the spec by removing divider comments and naming the minimum
size magic numbers (`minWidth`, `minHeight`) used in the node sizing
assertion.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
ece25be. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-11260-test-address-review-nits-for-image-compare-E2E-3436d73d365081a69cacc1fff390035a)
by [Unito](https://www.unito.io)
snomiao pushed a commit that referenced this pull request Apr 22, 2026
## Summary
A follow-up PR of #11196.

| # | Nit | Action | Reason |
| :--- | :--- | :--- | :--- |
| 1 | Replace `page.on('pageerror')` with request-wait | **Left as-is**
| The `pageErrors` array is an accumulator checked at the end via
`expect(pageErrors).toHaveLength(0)` – the goal is to assert that broken
image URLs don't surface as uncaught JS exceptions during the test run.
A request-wait can't substitute for that behavioral assertion, so the
listener pattern is intentional here. |
| 2 | Move helpers to a `vueNodes.getImageCompareHelper()` subclass |
**Left as-is** | Helpers such as `setImageCompareValue` and
`moveToPercentage` are only used in this file, making local
encapsulation enough. Extracting them to a page object would increase
the file/interface surface area and violate YAGNI; additionally,
`AGENTS.md` clearly states to "minimize the exported values of each
module. |
| 3 | Use `TestIds` enum for test ID strings | **Fixed** – added
`imageCompare` section to `TestIds` in `selectors.ts`; replaced all 8
inline string IDs in `imageCompare.spec.ts` with
`TestIds.imageCompare.*` references | The project already has a
`TestIds` convention for centralizing test IDs. Inline strings create
drift risk between the Vue component and the test file. |
| 4 | Move `expect.poll` bounding box check to helper/page object |
**Left as-is** | This logic already lives inside `moveToPercentage`,
which is a local helper. Moving it further to a page object is the same
refactor as #2 above. |
| 5 | Remove `// ---` style section header comments | **Fixed** –
removed all 8 divider blocks from `imageCompare.spec.ts` | Consistent
with project guidelines and your explicit preference. Test names already
describe what each block does. |
| 6 | Name magic numbers `400` and `350` | **Fixed** – introduced
`minWidth = 400` and `minHeight = 350` constants in the test |
Descriptive names make the constraint self-documenting and easier to
update if the workflow asset changes. |

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: changes are limited to Playwright E2E test code and shared
selector constants, with no production logic impacted.
> 
> **Overview**
> **E2E Image Compare tests now use centralized selectors.** Adds an
`imageCompare` section to `TestIds` and updates `imageCompare.spec.ts`
to reference `TestIds.imageCompare.*` instead of inline `data-testid`
strings.
> 
> Cleans up the spec by removing divider comments and naming the minimum
size magic numbers (`minWidth`, `minHeight`) used in the node sizing
assertion.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
ece25be. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-11260-test-address-review-nits-for-image-compare-E2E-3436d73d365081a69cacc1fff390035a)
by [Unito](https://www.unito.io)
snomiao pushed a commit that referenced this pull request Apr 24, 2026
## Summary
A follow-up PR of #11196.

| # | Nit | Action | Reason |
| :--- | :--- | :--- | :--- |
| 1 | Replace `page.on('pageerror')` with request-wait | **Left as-is**
| The `pageErrors` array is an accumulator checked at the end via
`expect(pageErrors).toHaveLength(0)` – the goal is to assert that broken
image URLs don't surface as uncaught JS exceptions during the test run.
A request-wait can't substitute for that behavioral assertion, so the
listener pattern is intentional here. |
| 2 | Move helpers to a `vueNodes.getImageCompareHelper()` subclass |
**Left as-is** | Helpers such as `setImageCompareValue` and
`moveToPercentage` are only used in this file, making local
encapsulation enough. Extracting them to a page object would increase
the file/interface surface area and violate YAGNI; additionally,
`AGENTS.md` clearly states to "minimize the exported values of each
module. |
| 3 | Use `TestIds` enum for test ID strings | **Fixed** – added
`imageCompare` section to `TestIds` in `selectors.ts`; replaced all 8
inline string IDs in `imageCompare.spec.ts` with
`TestIds.imageCompare.*` references | The project already has a
`TestIds` convention for centralizing test IDs. Inline strings create
drift risk between the Vue component and the test file. |
| 4 | Move `expect.poll` bounding box check to helper/page object |
**Left as-is** | This logic already lives inside `moveToPercentage`,
which is a local helper. Moving it further to a page object is the same
refactor as #2 above. |
| 5 | Remove `// ---` style section header comments | **Fixed** –
removed all 8 divider blocks from `imageCompare.spec.ts` | Consistent
with project guidelines and your explicit preference. Test names already
describe what each block does. |
| 6 | Name magic numbers `400` and `350` | **Fixed** – introduced
`minWidth = 400` and `minHeight = 350` constants in the test |
Descriptive names make the constraint self-documenting and easier to
update if the workflow asset changes. |

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: changes are limited to Playwright E2E test code and shared
selector constants, with no production logic impacted.
> 
> **Overview**
> **E2E Image Compare tests now use centralized selectors.** Adds an
`imageCompare` section to `TestIds` and updates `imageCompare.spec.ts`
to reference `TestIds.imageCompare.*` instead of inline `data-testid`
strings.
> 
> Cleans up the spec by removing divider comments and naming the minimum
size magic numbers (`minWidth`, `minHeight`) used in the node sizing
assertion.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
ece25be. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-11260-test-address-review-nits-for-image-compare-E2E-3436d73d365081a69cacc1fff390035a)
by [Unito](https://www.unito.io)
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