diff --git a/.env_example b/.env_example index 520521fe0..81c31f225 100644 --- a/.env_example +++ b/.env_example @@ -5,6 +5,10 @@ PLAYWRIGHT_TEST_URL=http://localhost:5173 # Proxy target of the local development server # Note: localhost:8188 does not work. +# Cloud auto-detection: Setting this to any *.comfy.org URL automatically enables +# cloud mode (DISTRIBUTION=cloud) without needing to set DISTRIBUTION separately. +# Examples: https://testcloud.comfy.org/, https://stagingcloud.comfy.org/, +# https://pr-123.testenvs.comfy.org/, https://cloud.comfy.org/ DEV_SERVER_COMFYUI_URL=http://127.0.0.1:8188 # Allow dev server access from remote IP addresses. diff --git a/.github/workflows/api-update-electron-api-types.yaml b/.github/workflows/api-update-electron-api-types.yaml index 90a08e02c..c25742118 100644 --- a/.github/workflows/api-update-electron-api-types.yaml +++ b/.github/workflows/api-update-electron-api-types.yaml @@ -26,15 +26,6 @@ jobs: node-version: lts/* cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - key: electron-types-tools-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - electron-types-tools-cache-${{ runner.os }}- - - name: Update electron types run: pnpm install --workspace-root @comfyorg/comfyui-electron-types@latest diff --git a/.github/workflows/api-update-manager-api-types.yaml b/.github/workflows/api-update-manager-api-types.yaml index 5a1e8ec74..4961ae9d2 100644 --- a/.github/workflows/api-update-manager-api-types.yaml +++ b/.github/workflows/api-update-manager-api-types.yaml @@ -31,26 +31,9 @@ jobs: node-version: lts/* cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - key: update-manager-tools-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - update-manager-tools-cache-${{ runner.os }}- - - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Cache ComfyUI-Manager repository - uses: actions/cache@v4 - with: - path: ComfyUI-Manager - key: comfyui-manager-repo-${{ runner.os }}-${{ github.run_id }} - restore-keys: | - comfyui-manager-repo-${{ runner.os }}- - - name: Checkout ComfyUI-Manager repository uses: actions/checkout@v5 with: diff --git a/.github/workflows/api-update-registry-api-types.yaml b/.github/workflows/api-update-registry-api-types.yaml index 69b4ad5b2..41a3d0a7a 100644 --- a/.github/workflows/api-update-registry-api-types.yaml +++ b/.github/workflows/api-update-registry-api-types.yaml @@ -30,26 +30,9 @@ jobs: node-version: lts/* cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - key: update-registry-tools-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - update-registry-tools-cache-${{ runner.os }}- - - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Cache comfy-api repository - uses: actions/cache@v4 - with: - path: comfy-api - key: comfy-api-repo-${{ runner.os }}-${{ github.run_id }} - restore-keys: | - comfy-api-repo-${{ runner.os }}- - - name: Checkout comfy-api repository uses: actions/checkout@v5 with: diff --git a/.github/workflows/ci-lint-format.yaml b/.github/workflows/ci-lint-format.yaml index 5c4e0011b..6ebfd8d38 100644 --- a/.github/workflows/ci-lint-format.yaml +++ b/.github/workflows/ci-lint-format.yaml @@ -33,27 +33,15 @@ jobs: node-version: 'lts/*' cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - .eslintcache - tsconfig.tsbuildinfo - .prettierCache - .knip-cache - key: lint-format-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('src/**/*.{ts,vue,js,mts}', '*.config.*', '.eslintrc.*', '.prettierrc.*', 'tsconfig.json') }} - restore-keys: | - lint-format-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}- - lint-format-cache-${{ runner.os }}- - ci-tools-cache-${{ runner.os }}- - - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run ESLint with auto-fix run: pnpm lint:fix + - name: Run Stylelint with auto-fix + run: pnpm stylelint:fix + - name: Run Prettier with auto-format run: pnpm format @@ -78,6 +66,7 @@ jobs: - name: Final validation run: | pnpm lint + pnpm stylelint pnpm format:check pnpm knip diff --git a/.github/workflows/ci-tests-storybook.yaml b/.github/workflows/ci-tests-storybook.yaml index 65e97ed91..77dcf5210 100644 --- a/.github/workflows/ci-tests-storybook.yaml +++ b/.github/workflows/ci-tests-storybook.yaml @@ -50,19 +50,6 @@ jobs: node-version: '20' cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - storybook-static - tsconfig.tsbuildinfo - key: storybook-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('src/**/*.{ts,vue,js}', '*.config.*', '.storybook/**/*') }} - restore-keys: | - storybook-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}- - storybook-cache-${{ runner.os }}- - storybook-tools-cache-${{ runner.os }}- - - name: Install dependencies run: pnpm install --frozen-lockfile @@ -115,19 +102,6 @@ jobs: node-version: '20' cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - storybook-static - tsconfig.tsbuildinfo - key: storybook-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('src/**/*.{ts,vue,js}', '*.config.*', '.storybook/**/*') }} - restore-keys: | - storybook-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}- - storybook-cache-${{ runner.os }}- - storybook-tools-cache-${{ runner.os }}- - - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/ci-tests-unit.yaml b/.github/workflows/ci-tests-unit.yaml index 152f78885..2f4417594 100644 --- a/.github/workflows/ci-tests-unit.yaml +++ b/.github/workflows/ci-tests-unit.yaml @@ -29,19 +29,6 @@ jobs: node-version: "lts/*" cache: "pnpm" - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - coverage - .vitest-cache - key: vitest-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('src/**/*.{ts,vue,js}', 'vitest.config.*', 'tsconfig.json') }} - restore-keys: | - vitest-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}- - vitest-cache-${{ runner.os }}- - test-tools-cache-${{ runner.os }}- - - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/pr-update-playwright-expectations.yaml b/.github/workflows/pr-update-playwright-expectations.yaml index f688c3250..a01362466 100644 --- a/.github/workflows/pr-update-playwright-expectations.yaml +++ b/.github/workflows/pr-update-playwright-expectations.yaml @@ -12,11 +12,11 @@ concurrency: cancel-in-progress: true jobs: - test: + setup: runs-on: ubuntu-latest if: > ( github.event_name == 'pull_request' && github.event.label.name == 'New Browser Test Expectations' ) || - ( github.event.issue.pull_request && + ( github.event.issue.pull_request && github.event_name == 'issue_comment' && ( github.event.comment.author_association == 'OWNER' || @@ -24,12 +24,25 @@ jobs: github.event.comment.author_association == 'COLLABORATOR' ) && startsWith(github.event.comment.body, '/update-playwright') ) + outputs: + cache-key: ${{ steps.cache-key.outputs.key }} + pr-number: ${{ steps.pr-info.outputs.pr-number }} + branch: ${{ steps.pr-info.outputs.branch }} + comment-id: ${{ steps.find-update-comment.outputs.comment-id }} steps: + - name: Get PR info + id: pr-info + run: | + echo "pr-number=${{ github.event.number || github.event.issue.number }}" >> $GITHUB_OUTPUT + echo "branch=$(gh pr view ${{ github.event.number || github.event.issue.number }} --repo ${{ github.repository }} --json headRefName --jq '.headRefName')" >> $GITHUB_OUTPUT + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Find Update Comment uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad id: "find-update-comment" with: - issue-number: ${{ github.event.number || github.event.issue.number }} + issue-number: ${{ steps.pr-info.outputs.pr-number }} comment-author: "github-actions[bot]" body-includes: "Updating Playwright Expectations" @@ -37,72 +50,260 @@ jobs: uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 with: comment-id: ${{ steps.find-update-comment.outputs.comment-id }} - issue-number: ${{ github.event.number || github.event.issue.number }} + issue-number: ${{ steps.pr-info.outputs.pr-number }} body: | Updating Playwright Expectations edit-mode: replace reactions: eyes - - name: Get Branch SHA - id: "get-branch" - run: echo ::set-output name=branch::$(gh pr view $PR_NO --repo $REPO --json headRefName --jq '.headRefName') - env: - REPO: ${{ github.repository }} - PR_NO: ${{ github.event.number || github.event.issue.number }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Initial Checkout + - name: Checkout repository uses: actions/checkout@v5 with: - ref: ${{ steps.get-branch.outputs.branch }} - - name: Setup Frontend + ref: ${{ steps.pr-info.outputs.branch }} + - name: Setup frontend uses: ./.github/actions/setup-frontend with: include_build_step: true - - name: Setup ComfyUI Server + # Save expensive build artifacts (Python env, built frontend, node_modules) + # Source code will be checked out fresh in sharded jobs + - name: Generate cache key + id: cache-key + run: echo "key=$(date +%s)" >> $GITHUB_OUTPUT + - name: Save cache + uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 + with: + path: | + ComfyUI + dist + key: comfyui-setup-${{ steps.cache-key.outputs.key }} + + # Sharded snapshot updates + update-snapshots-sharded: + needs: setup + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + shardIndex: [1, 2, 3, 4] + shardTotal: [4] + steps: + # Checkout source code fresh (not cached) + - name: Checkout repository + uses: actions/checkout@v5 + with: + ref: ${{ needs.setup.outputs.branch }} + + # Restore expensive build artifacts from setup job + - name: Restore cached artifacts + uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 + with: + fail-on-cache-miss: true + path: | + ComfyUI + dist + key: comfyui-setup-${{ needs.setup.outputs.cache-key }} + + - name: Setup ComfyUI server (from cache) uses: ./.github/actions/setup-comfyui-server with: launch_server: true + + - name: Setup nodejs, pnpm, reuse built frontend + uses: ./.github/actions/setup-frontend + - name: Setup Playwright uses: ./.github/actions/setup-playwright - - name: Run Playwright tests and update snapshots + + # Run sharded tests with snapshot updates + - name: Update snapshots (Shard ${{ matrix.shardIndex }}/${{ matrix.shardTotal }}) id: playwright-tests - run: pnpm exec playwright test --update-snapshots + run: pnpm exec playwright test --update-snapshots --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} continue-on-error: true - - uses: actions/upload-artifact@v4 + + # Identify and stage only changed snapshot files + - name: Stage changed snapshot files + id: changed-snapshots + run: | + echo "==========================================" + echo "STAGING CHANGED SNAPSHOTS (Shard ${{ matrix.shardIndex }})" + echo "==========================================" + + # Get list of changed snapshot files + changed_files=$(git diff --name-only browser_tests/ 2>/dev/null | grep -E '\-snapshots/' || echo "") + + if [ -z "$changed_files" ]; then + echo "No snapshot changes in this shard" + echo "has-changes=false" >> $GITHUB_OUTPUT + exit 0 + fi + + echo "✓ Found changed files:" + echo "$changed_files" + file_count=$(echo "$changed_files" | wc -l) + echo "Count: $file_count" + echo "has-changes=true" >> $GITHUB_OUTPUT + echo "" + + # Create staging directory + mkdir -p /tmp/changed_snapshots_shard + + # Copy only changed files, preserving directory structure + # Strip 'browser_tests/' prefix to avoid double nesting + echo "Copying changed files to staging directory..." + while IFS= read -r file; do + # Remove 'browser_tests/' prefix + file_without_prefix="${file#browser_tests/}" + # Create parent directories + mkdir -p "/tmp/changed_snapshots_shard/$(dirname "$file_without_prefix")" + # Copy file + cp "$file" "/tmp/changed_snapshots_shard/$file_without_prefix" + echo " → $file_without_prefix" + done <<< "$changed_files" + + echo "" + echo "Staged files for upload:" + find /tmp/changed_snapshots_shard -type f + + # Upload ONLY the changed files from this shard + - name: Upload changed snapshots + uses: actions/upload-artifact@v4 + if: steps.changed-snapshots.outputs.has-changes == 'true' + with: + name: snapshots-shard-${{ matrix.shardIndex }} + path: /tmp/changed_snapshots_shard/ + retention-days: 1 + + - name: Upload test report + uses: actions/upload-artifact@v4 if: always() with: - name: playwright-report + name: playwright-report-shard-${{ matrix.shardIndex }} path: ./playwright-report/ retention-days: 30 - - name: Debugging info + + # Merge snapshots and commit + merge-and-commit: + needs: [setup, update-snapshots-sharded] + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v5 + with: + ref: ${{ needs.setup.outputs.branch }} + + # Download all changed snapshot files from shards + - name: Download snapshot artifacts + uses: actions/download-artifact@v4 + with: + pattern: snapshots-shard-* + path: ./downloaded-snapshots + merge-multiple: false + + - name: List downloaded files run: | - echo "PR: ${{ github.event.issue.number }}" - echo "Branch: ${{ steps.get-branch.outputs.branch }}" - git status + echo "==========================================" + echo "DOWNLOADED SNAPSHOT FILES" + echo "==========================================" + find ./downloaded-snapshots -type f + echo "" + echo "Total files: $(find ./downloaded-snapshots -type f | wc -l)" + + # Merge only the changed files into browser_tests + - name: Merge changed snapshots + run: | + set -euo pipefail + + echo "==========================================" + echo "MERGING CHANGED SNAPSHOTS" + echo "==========================================" + + # Verify target directory exists + if [ ! -d "browser_tests" ]; then + echo "::error::Target directory 'browser_tests' does not exist" + exit 1 + fi + + merged_count=0 + + # For each shard's changed files, copy them directly + for shard_dir in ./downloaded-snapshots/snapshots-shard-*/; do + if [ ! -d "$shard_dir" ]; then + continue + fi + + shard_name=$(basename "$shard_dir") + file_count=$(find "$shard_dir" -type f | wc -l) + + if [ "$file_count" -eq 0 ]; then + echo " $shard_name: no files" + continue + fi + + echo "Processing $shard_name ($file_count file(s))..." + + # Copy files directly, preserving directory structure + # Since files are already in correct structure (no browser_tests/ prefix), just copy them all + cp -v -r "$shard_dir"* browser_tests/ 2>&1 | sed 's/^/ /' + + merged_count=$((merged_count + 1)) + echo " ✓ Merged" + echo "" + done + + echo "==========================================" + echo "MERGE COMPLETE" + echo "==========================================" + echo "Shards merged: $merged_count" + + - name: Show changes + run: | + echo "==========================================" + echo "CHANGES SUMMARY" + echo "==========================================" + echo "" + echo "Changed files in browser_tests:" + git diff --name-only browser_tests/ | head -20 || echo "No changes" + echo "" + echo "Total changes:" + git diff --name-only browser_tests/ | wc -l || echo "0" + - name: Commit updated expectations + id: commit run: | git config --global user.name 'github-actions' git config --global user.email 'github-actions@github.com' - git add browser_tests - if git diff --cached --quiet; then + + if git diff --quiet browser_tests/; then echo "No changes to commit" - else - git commit -m "[automated] Update test expectations" - git push origin ${{ steps.get-branch.outputs.branch }} + echo "has-changes=false" >> $GITHUB_OUTPUT + exit 0 fi + + echo "==========================================" + echo "COMMITTING CHANGES" + echo "==========================================" + + echo "has-changes=true" >> $GITHUB_OUTPUT + + git add browser_tests/ + git commit -m "[automated] Update test expectations" + + echo "Pushing to ${{ needs.setup.outputs.branch }}..." + git push origin ${{ needs.setup.outputs.branch }} + + echo "✓ Commit and push successful" - name: Add Done Reaction uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 - if: github.event_name == 'issue_comment' + if: github.event_name == 'issue_comment' && steps.commit.outputs.has-changes == 'true' with: - comment-id: ${{ steps.find-update-comment.outputs.comment-id }} - issue-number: ${{ github.event.number || github.event.issue.number }} + comment-id: ${{ needs.setup.outputs.comment-id }} + issue-number: ${{ needs.setup.outputs.pr-number }} reactions: +1 reactions-edit-mode: replace - name: Remove New Browser Test Expectations label if: always() && github.event_name == 'pull_request' - run: gh pr edit ${{ github.event.pull_request.number }} --remove-label "New Browser Test Expectations" + run: gh pr edit ${{ needs.setup.outputs.pr-number }} --remove-label "New Browser Test Expectations" env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/publish-desktop-ui.yaml b/.github/workflows/publish-desktop-ui.yaml index 356cf9e78..d2741d792 100644 --- a/.github/workflows/publish-desktop-ui.yaml +++ b/.github/workflows/publish-desktop-ui.yaml @@ -161,20 +161,6 @@ jobs: echo "publish_dir=$PUBLISH_DIR" >> "$GITHUB_OUTPUT" echo "name=$NAME" >> "$GITHUB_OUTPUT" - - name: Pack (preview only) - shell: bash - working-directory: ${{ steps.pkg.outputs.publish_dir }} - run: | - set -euo pipefail - npm pack --json | tee pack-result.json - - - name: Upload package tarball artifact - uses: actions/upload-artifact@v4 - with: - name: desktop-ui-npm-tarball-${{ inputs.version }} - path: ${{ steps.pkg.outputs.publish_dir }}/*.tgz - if-no-files-found: error - - name: Check if version already on npm id: check_npm env: diff --git a/.github/workflows/release-draft-create.yaml b/.github/workflows/release-draft-create.yaml index d26744f56..749523104 100644 --- a/.github/workflows/release-draft-create.yaml +++ b/.github/workflows/release-draft-create.yaml @@ -28,16 +28,6 @@ jobs: node-version: 'lts/*' cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - tsconfig.tsbuildinfo - key: release-tools-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - release-tools-cache-${{ runner.os }}- - - name: Get current version id: current_version run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT diff --git a/.github/workflows/release-pypi-dev.yaml b/.github/workflows/release-pypi-dev.yaml index 1bb375025..868321759 100644 --- a/.github/workflows/release-pypi-dev.yaml +++ b/.github/workflows/release-pypi-dev.yaml @@ -25,17 +25,6 @@ jobs: node-version: 'lts/*' cache: 'pnpm' - - name: Cache tool outputs - uses: actions/cache@v4 - with: - path: | - .cache - dist - tsconfig.tsbuildinfo - key: dev-release-tools-cache-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - dev-release-tools-cache-${{ runner.os }}- - - name: Get current version id: current_version run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT diff --git a/.github/workflows/release-version-bump.yaml b/.github/workflows/release-version-bump.yaml index 5f3152285..30254c6aa 100644 --- a/.github/workflows/release-version-bump.yaml +++ b/.github/workflows/release-version-bump.yaml @@ -59,7 +59,6 @@ jobs: uses: actions/setup-node@v4 with: node-version: lts/* - cache: 'pnpm' - name: Bump version id: bump-version diff --git a/.gitignore b/.gitignore index 8f69ce164..cc195d8ed 100644 --- a/.gitignore +++ b/.gitignore @@ -78,7 +78,7 @@ templates_repo/ vite.config.mts.timestamp-*.mjs # Linux core dumps -./core +/core *storybook.log storybook-static diff --git a/.husky/pre-push b/.husky/pre-push index ec1fc17d0..dcb556451 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -1,5 +1,5 @@ #!/usr/bin/env bash # Run Knip with cache via package script -pnpm knip +pnpm knip 1>&2 diff --git a/.prettierrc b/.prettierrc index 07c5ccc22..aa43a43ac 100644 --- a/.prettierrc +++ b/.prettierrc @@ -7,12 +7,5 @@ "importOrder": ["^@core/(.*)$", "", "^@/(.*)$", "^[./]"], "importOrderSeparation": true, "importOrderSortSpecifiers": true, - "overrides": [ - { - "files": "*.{js,cjs,mjs,ts,cts,mts,tsx,vue}", - "options": { - "plugins": ["@trivago/prettier-plugin-sort-imports"] - } - } - ] + "plugins": ["@prettier/plugin-oxc", "@trivago/prettier-plugin-sort-imports"] } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f1c9341d5..6c84779ff 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,7 +43,7 @@ Have another idea? Drop into Discord or open an issue, and let's chat! ``` 3. Configure environment (optional): - Create a `.env` file in the project root based on the provided [.env.example](.env.example) file. + Create a `.env` file in the project root based on the provided [.env_example](.env_example) file. **Note about ports**: By default, the dev server expects the ComfyUI backend at `localhost:8188`. If your ComfyUI instance runs on a different port, update this in your `.env` file. @@ -325,4 +325,4 @@ If you have questions about contributing: - Ask in our [Discord](https://discord.com/invite/comfyorg) - Open a new issue for clarification -Thank you for contributing to ComfyUI Frontend! \ No newline at end of file +Thank you for contributing to ComfyUI Frontend! diff --git a/apps/desktop-ui/index.html b/apps/desktop-ui/index.html index 5cb34ffc2..3020c67bf 100644 --- a/apps/desktop-ui/index.html +++ b/apps/desktop-ui/index.html @@ -2,7 +2,7 @@ - ComfyUI Desktop + ComfyUI diff --git a/apps/desktop-ui/package.json b/apps/desktop-ui/package.json index 686d35233..0aa47e320 100644 --- a/apps/desktop-ui/package.json +++ b/apps/desktop-ui/package.json @@ -1,6 +1,6 @@ { "name": "@comfyorg/desktop-ui", - "version": "0.0.1", + "version": "0.0.3", "type": "module", "nx": { "tags": [ diff --git a/apps/desktop-ui/src/components/install/GpuPicker.vue b/apps/desktop-ui/src/components/install/GpuPicker.vue index 0a8cac0a9..98dddb762 100644 --- a/apps/desktop-ui/src/components/install/GpuPicker.vue +++ b/apps/desktop-ui/src/components/install/GpuPicker.vue @@ -1,17 +1,17 @@ @@ -29,9 +29,11 @@ import LoginButton from '@/components/topbar/LoginButton.vue' import { useCurrentUser } from '@/composables/auth/useCurrentUser' import { app } from '@/scripts/app' import { useWorkspaceStore } from '@/stores/workspaceStore' +import { isElectron } from '@/utils/envUtil' const workspaceStore = useWorkspaceStore() const { isLoggedIn } = useCurrentUser() +const isDesktop = isElectron() // Maintain support for legacy topbar elements attached by custom scripts const legacyCommandsContainerRef = ref() diff --git a/src/components/actionbar/ComfyActionbar.vue b/src/components/actionbar/ComfyActionbar.vue index c2b7fe8ed..f01beee25 100644 --- a/src/components/actionbar/ComfyActionbar.vue +++ b/src/components/actionbar/ComfyActionbar.vue @@ -2,10 +2,7 @@
@@ -13,18 +10,15 @@
-
+
diff --git a/src/components/dialog/content/SignInContent.vue b/src/components/dialog/content/SignInContent.vue index a6bb0e890..19da83125 100644 --- a/src/components/dialog/content/SignInContent.vue +++ b/src/components/dialog/content/SignInContent.vue @@ -89,7 +89,7 @@ Comfy {{ t('auth.login.useApiKey') }} diff --git a/src/components/dialog/content/setting/KeybindingPanel.vue b/src/components/dialog/content/setting/KeybindingPanel.vue index 6117d5ea8..861ec9bc6 100644 --- a/src/components/dialog/content/setting/KeybindingPanel.vue +++ b/src/components/dialog/content/setting/KeybindingPanel.vue @@ -89,7 +89,7 @@ ref="keybindingInput" class="mb-2 text-center" :model-value="newBindingKeyCombo?.toString() ?? ''" - placeholder="Press keys for new binding" + :placeholder="$t('g.pressKeysForNewBinding')" autocomplete="off" fluid @keydown.stop.prevent="captureKeybinding" diff --git a/src/components/dialog/content/signin/SignUpForm.vue b/src/components/dialog/content/signin/SignUpForm.vue index e59b2e461..90a526363 100644 --- a/src/components/dialog/content/signin/SignUpForm.vue +++ b/src/components/dialog/content/signin/SignUpForm.vue @@ -27,28 +27,6 @@ - - - - - {{ - $field.error.message - }} - -