Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
1ec55fd
test: replace waitForTimeout with retrying assertions
DrJKL Jan 31, 2026
a014e8a
test: replace expect() with waitFor() in fixture files
DrJKL Jan 31, 2026
2717f8d
test: migrate brittle :nth-child() selectors to getByRole('radio')
DrJKL Jan 31, 2026
9987179
refactor: extract DefaultGraphPositions constants from ComfyPage.ts
DrJKL Jan 31, 2026
ca7ed8c
refactor: extract DebugHelper from ComfyPage.ts
DrJKL Jan 31, 2026
e4b520c
refactor: extract SubgraphHelper from ComfyPage.ts
DrJKL Jan 31, 2026
5ddce40
refactor: extract CanvasHelper from ComfyPage.ts
DrJKL Jan 31, 2026
efbb3b0
style: remove semicolons from litegraphUtils.ts
DrJKL Jan 31, 2026
2c7dad3
refactor: extract NodeOperationsHelper from ComfyPage.ts
DrJKL Jan 31, 2026
681709f
refactor(browser_tests): remove deprecated proxy methods from ComfyPage
DrJKL Jan 31, 2026
b01426b
fix: remove setTimeout anti-pattern in toggleTheme
DrJKL Jan 31, 2026
b7986ae
fix: remove setTimeout anti-patterns in test fixtures
DrJKL Jan 31, 2026
4a155dd
feat: add centralized test selectors constants file
DrJKL Jan 31, 2026
bbe9267
feat: add data-testid to sidebar components for stable test selectors
DrJKL Jan 31, 2026
31c643d
feat: add data-testid to dialog components for stable test selectors
DrJKL Jan 31, 2026
e193924
refactor: replace fragile CSS selectors with data-testid in ComfyPage.ts
DrJKL Jan 31, 2026
062c4d3
refactor: replace fragile CSS selectors in SidebarTab.ts and SettingD…
DrJKL Jan 31, 2026
10eddeb
test: replace hardcoded positions with computed NodeReference positions
DrJKL Jan 31, 2026
aea5afa
test: extract SettingsHelper from ComfyPage (Phase 4.1)
DrJKL Jan 31, 2026
4ffbcc7
test: add deprecation notices to legacy node click methods (Phase 4.5)
DrJKL Jan 31, 2026
ea1d284
test(browser): add BaseDialog class (Phase 5.2)
DrJKL Jan 31, 2026
2622b16
test(browser): add ContextMenu page object (Phase 5.1)
DrJKL Jan 31, 2026
22ff808
fix(browser_tests): use getByRole for interactive elements
DrJKL Jan 31, 2026
7f2454e
fix(browser_tests): replace .nth() with semantic selectors
DrJKL Jan 31, 2026
dd2c25c
Bump container to 0.0.11 (Updated playwright)
DrJKL Jan 31, 2026
98c90d1
test: remove unused select2Nodes and fix flaky timeout
DrJKL Jan 31, 2026
5b6d1f5
refactor: inject KeyboardHelper into ClipboardHelper
DrJKL Jan 31, 2026
c87b863
Use named imports.
DrJKL Jan 31, 2026
ccf4596
refactor: remove ComfyPage wrapper methods, use helpers directly
DrJKL Jan 31, 2026
2e58c77
Maybe newer comfy core?
DrJKL Jan 31, 2026
be427c3
refactor(tests): use DefaultGraphPositions constants for raw coordinates
DrJKL Jan 31, 2026
7c0326e
fix: forward data-testid attrs through TreeExplorer to fix E2E tests
DrJKL Jan 31, 2026
218fe31
[automated] Apply ESLint and Oxfmt fixes
actions-user Jan 31, 2026
be7f5b3
refactor: create and extend browser test helpers for ComfyPage extrac…
DrJKL Jan 31, 2026
4e00e84
refactor: wire helpers into ComfyPage and update test usages
DrJKL Jan 31, 2026
20fdf46
Update agent docs to use local version for playwright tests.
DrJKL Jan 31, 2026
864fdfe
chore: enforce LF line endings for all text files
DrJKL Jan 31, 2026
959e91b
test: add BottomPanel page object for E2E tests
DrJKL Feb 1, 2026
8ccc8b9
fix: browser test fixes and typecheck script
DrJKL Feb 1, 2026
818d0ef
fix: update nodeLibrary customize dialog selectors
DrJKL Feb 1, 2026
03d5483
[automated] Update test expectations
invalid-email-address Feb 1, 2026
9cbba23
fix: replace unsupported _vue selector with getByLabel in VueNodeHelpers
DrJKL Feb 1, 2026
fdbbdda
fix: include type augmentation files in browser_tests tsconfig
DrJKL Feb 1, 2026
6cd105f
test: add Window type augmentation and standardize window access
DrJKL Feb 1, 2026
b56045c
fix: browser_tests Phase 1 - mechanical fixes
DrJKL Feb 1, 2026
302e9d5
fix: browser_tests Phase 2 - null assertions
DrJKL Feb 1, 2026
d605b5d
fix: browser_tests Phase 3 - type annotations and final fixes
DrJKL Feb 1, 2026
c411bfc
test: purge `as any` from browser_tests (WIP - needs remediation)
DrJKL Feb 1, 2026
4b95f22
fix: remove test settings from production schema
DrJKL Feb 1, 2026
f96a700
fix: restore ExtensionManager API contract
DrJKL Feb 1, 2026
16fec4d
feat: enforce no-explicit-any in browser tests via oxlint
DrJKL Feb 1, 2026
e1bc1c4
chore: enable additional lint rules for browser_tests
DrJKL Feb 1, 2026
5bd37be
fix: browser test fixes for flaky selectors and missing setup
DrJKL Feb 1, 2026
ed63f4b
docs: add type safety guidelines from as-any remediation
DrJKL Feb 1, 2026
e5acd8c
[automated] Apply ESLint and Oxfmt fixes
actions-user Feb 1, 2026
302f5d3
Update docs/guidance/playwright.md
DrJKL Feb 2, 2026
8311b50
fix: improve waitForHidden error handling in ContextMenu
DrJKL Feb 2, 2026
6f75a18
test: improve browser test helpers and fixtures
DrJKL Feb 2, 2026
ba80cbd
test: improve browser test fixtures and cleanup
DrJKL Feb 2, 2026
89bb1ae
fix: improve browser test stability and rename theme-toggle to mode-t…
DrJKL Feb 2, 2026
1427da3
Merge branch 'main' into drjkl/playwwrong
DrJKL Feb 2, 2026
785199f
Merge branch 'main' into drjkl/playwwrong
DrJKL Feb 3, 2026
5457c41
Merge remote-tracking branch 'origin/main' into drjkl/playwwrong
DrJKL Feb 3, 2026
a83c11e
refactor: centralize test IDs in selectors.ts
DrJKL Feb 3, 2026
bbfc1e9
Merge branch 'main' into drjkl/playwwrong
DrJKL Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 2 additions & 14 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
# Default
* text=auto

# Force TS to LF to make the unixy scripts not break on Windows
*.cjs text eol=lf
*.js text eol=lf
*.json text eol=lf
*.mjs text eol=lf
*.mts text eol=lf
*.snap text eol=lf
*.ts text eol=lf
*.vue text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
Comment on lines -4 to -14
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# Force all text files to use LF line endings
* text=auto eol=lf

# Generated files
packages/registry-types/src/comfyRegistryTypes.ts linguist-generated=true
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-tests-e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
container:
image: ghcr.io/comfy-org/comfyui-ci-container:0.0.10
image: ghcr.io/comfy-org/comfyui-ci-container:0.0.12
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
needs: setup
runs-on: ubuntu-latest
container:
image: ghcr.io/comfy-org/comfyui-ci-container:0.0.10
image: ghcr.io/comfy-org/comfyui-ci-container:0.0.12
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-update-playwright-expectations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
needs: setup
runs-on: ubuntu-latest
container:
image: ghcr.io/comfy-org/comfyui-ci-container:0.0.10
image: ghcr.io/comfy-org/comfyui-ci-container:0.0.12
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
Expand Down
11 changes: 11 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,17 @@
"rules": {
"no-console": "allow"
}
},
{
"files": ["browser_tests/**/*.ts"],
"rules": {
"typescript/no-explicit-any": "error",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[quality] high Priority

Issue: Stricter lint rules enabled for browser_tests may conflict with existing code patterns
Context: Line 117 enables typescript/no-explicit-any as error for browser_tests. While this improves type safety, the PR description states it purged as any casts, but enabling this rule post-facto may cause issues if any remain or are added accidentally.
Suggestion: Verify all browser_tests files pass the new no-explicit-any rule. Consider adding a test or pre-commit hook to prevent regressions.

"no-async-promise-executor": "error",
"no-control-regex": "error",
"no-useless-rename": "error",
"no-unused-private-class-members": "error",
"unicorn/no-empty-file": "error"
}
}
]
}
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ The project uses **Nx** for build orchestration and task management
- `pnpm build`: Type-check then production build to `dist/`
- `pnpm preview`: Preview the production build locally
- `pnpm test:unit`: Run Vitest unit tests
- `pnpm test:browser`: Run Playwright E2E tests (`browser_tests/`)
- `pnpm test:browser:local`: Run Playwright E2E tests (`browser_tests/`)
- `pnpm lint` / `pnpm lint:fix`: Lint (ESLint)
- `pnpm format` / `pnpm format:check`: oxfmt
- `pnpm typecheck`: Vue TSC type checking
Expand Down
6 changes: 6 additions & 0 deletions browser_tests/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,9 @@ See `@docs/guidance/playwright.md` for Playwright best practices (auto-loaded fo

- `assets/` - Test data (JSON workflows, fixtures)
- Tests use premade JSON workflows to load desired graph state

## After Making Changes

- Run `pnpm typecheck:browser` after modifying TypeScript files in this directory
- Run `pnpm exec eslint browser_tests/path/to/file.ts` to lint specific files
- Run `pnpm exec oxlint browser_tests/path/to/file.ts` to check with oxlint
Comment on lines +13 to +14
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need two separate commands?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was being lazy and didn't want to add a lint:browser to go with typecheck:browser and test:browser.
We really should leverage the workspaces more...

Loading