Skip to content

fix(site): sync Products nav with comfy.org frontend - #1237

Open
claude[bot] wants to merge 7 commits into
mainfrom
sync-navbar-from-frontend
Open

fix(site): sync Products nav with comfy.org frontend#1237
claude[bot] wants to merge 7 commits into
mainfrom
sync-navbar-from-frontend

Conversation

@claude

@claude claude Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Requested by Deep Mehta · Slack thread

What

This repo's site/ (Astro app under site/) is confirmed to BE the actual comfy.org/workflows deployment — not just a nav copy consumed elsewhere. Evidence: site/vercel.json builds with PUBLIC_SITE_ORIGIN: https://comfy.org, sets cache headers on /workflows/:path*, and site/astro.config.mjs defaults site to https://comfy.org with a comment noting it's "served through comfy.org's Framer rewrite." This resolves the open question from the Slack thread about what serves that page — it's Comfy-Org/workflow_templates's site/ subproject.

The nav here (site/src/config/main-navigation.ts + nav-routes.ts) had drifted from ComfyUI_frontend's apps/website/src/data/mainNavigation.ts, exactly matching the reported bug screenshot: Products column showed Comfy Desktop / Comfy Cloud / Comfy API / Comfy Enterprise, missing Developer Platform and Managed Builds entirely.

Changes

  • site/src/config/main-navigation.ts: renamed the Comfy API Products entry to Developer Platform (now points at /platform instead of /api), and added a new Managed Builds entry pointing at /enterprise/managed-builds — matching ComfyUI_frontend's mainNavigation.ts (which added this same entry in Comfy-Org/ComfyUI_frontend#17016).
  • site/src/config/nav-routes.ts: replaced the stale api route with platform (${ORIGIN}/platform) and added managedBuilds (${ORIGIN}/enterprise/managed-builds), mirroring the absolute comfy.org links already used for the rest of this file's cross-domain nav routes.
  • site/src/i18n/locales/en.json: renamed nav.comfyApinav.developerPlatform and added nav.managedBuilds (label "Managed Builds", positioned after Comfy Enterprise in the Products column per nav feedback).

This is a targeted sync of the two confirmed real gaps (Developer Platform rename + Managed Builds), not a wholesale copy of mainNavigation.ts — a separate in-flight change to ComfyUI_frontend's nav (swapping "Gallery" for "Customer Stories" under /customers) hadn't landed yet as of this PR, so pulling a full snapshot risked shipping an inconsistent nav. Note: this repo's Company column already has a Customer Stories entry alongside a separate Gallery entry in the Community column, so no action was needed there. A follow-up sync may be needed once the Gallery → Customer Stories rename lands upstream.

i18n note

This site has a known automated translation-sync process (.i18nrc.ui.cjs / pnpm locale:ui, via @lobehub/i18n-cli) that fills missing UI-string keys in the other 10 locale files from src/i18n/locales/en.json — the real source of truth. It previously root-caused a comfy.org navbar bug (2026-08-12) by regenerating locale files from a stale source and reverting manually-added keys. To avoid repeating that, this PR only touches en.json; it does not hand-edit the other locale JSON files. t() falls back to English per-key (see src/i18n/ui.ts), so the nav renders correctly in every locale immediately — the other 10 locale files will pick up localized translations for nav.developerPlatform / nav.managedBuilds the next time pnpm locale:ui runs.

Verification

  • pnpm exec vitest run tests/unit/i18n-ui-keys.test.ts — passes (validates every t() key used in code resolves against en.json)
  • pnpm exec eslint src/config/main-navigation.ts src/config/nav-routes.ts — clean
  • pnpm exec prettier --check on changed files — clean
  • pnpm exec astro check — 0 errors (pre-existing unrelated warnings only)

🤖 Generated with Claude Code

https://claude.ai/code/session_01S2Wb25NcuE4xjUAZJouT4Q


Generated by Claude Code

The comfy.org/workflows header nav (site/src/config) had drifted from
ComfyUI_frontend's apps/website/src/data/mainNavigation.ts: it still
showed "Comfy API" (now "Developer Platform" there) and was missing
the "Enterprise Managed Builds" entry added in
Comfy-Org/ComfyUI_frontend#17016.

- Rename nav.comfyApi -> nav.developerPlatform, point at /platform
  (was /api)
- Add nav.managedBuilds -> /enterprise/managed-builds
- New/changed keys added only to src/i18n/locales/en.json, the real
  source for the site's UI-string translation pipeline (.i18nrc.ui.cjs);
  t() falls back to English per-key until `pnpm locale:ui` translates
  the new keys into the other 10 locales, so this does not touch any
  generated locale file directly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2Wb25NcuE4xjUAZJouT4Q
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

🧹 Lint & Format Results

Check Status
ESLint ✅ success
Prettier ✅ success

Generated by Site CI workflow

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

🔗 Internal Link Check

✅ Nav-generated and hub-page internal links all resolve to real routes.


Generated by Link Checker workflow

pnpm i18n:validate failed CI: every locale file previously mirrored
en.json's key set 1:1 (even for untranslated keys, which just carry
the English text as a placeholder), so renaming nav.comfyApi ->
nav.developerPlatform in en.json only left it as a stale/orphaned
"unknown-key" in all 10 locale files.

Drop nav.comfyApi and add nav.developerPlatform / nav.managedBuilds to
each locale file (English placeholder text, alphabetically positioned
to match this tool's existing sort order), restoring 1:1 parity so
`pnpm locale:ui` can translate the two new keys for real without a gap.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2Wb25NcuE4xjUAZJouT4Q
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

🚀 Preview deployed: https://workflow-templates-qey7mzz1u-comfyui.vercel.app

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

⚡ Lighthouse Results

URL Performance Accessibility Best Practices SEO
/workflows/ 🟠 70 🟢 95 🟢 96 🟢 100
/workflows/ 🟠 83 🟢 95 🟢 96 🟢 100
/workflows/ 🟠 81 🟢 95 🟢 96 🟢 100
/workflows/use-cases/ 🟠 81 🟢 92 🟢 96 🟢 100
/workflows/use-cases/ 🟢 93 🟢 92 🟢 96 🟢 100
/workflows/use-cases/ 🟢 92 🟢 92 🟢 96 🟢 100
/workflows/use-cases/ai-anime-generator/ 🟠 86 🟢 93 🟢 96 🟢 100
/workflows/use-cases/ai-anime-generator/ 🟠 76 🟢 93 🟢 96 🟢 100
/workflows/use-cases/ai-anime-generator/ 🟠 87 🟢 93 🟢 96 🟢 100
/workflows/video_ltx2_3_i2v-7cc1d3bd2802/ 🟠 80 🟢 91 🟢 96 🟢 100
/workflows/video_ltx2_3_i2v-7cc1d3bd2802/ 🟢 93 🟢 91 🟢 96 🟢 100
/workflows/video_ltx2_3_i2v-7cc1d3bd2802/ 🟢 93 🟢 91 🟢 96 🟢 100

Scores are out of 100. 🟢 90+ | 🟠 50-89 | 🔴 0-49


Generated by Site CI workflow

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

🔍 SEO Audit Results

Check Status
Sitemap Validation ✅ passed
SEO Audit ✅ passed
Internal Links ❌ failed
📊 SEO Audit Details

8561 pages scanned, 5245 clean, 3316 with issues

Severity Count
✖ Critical 12
⚠ Warning 4204
ℹ Info 1

Most common issues:

  • Meta description too short (N chars...) (×2410)
  • Title too short (N chars...) (×938)
  • Meta description too long (N chars...) (×608)
  • Title too long (N chars...) (×235)
  • Missing (×12)
🔗 Link Check Details

44412 broken internal links out of 44412 checked


Generated by Site CI workflow

@claude
claude Bot marked this pull request as ready for review September 5, 2026 20:15
nav.managedBuilds now reads "Managed Builds" per nav feedback; position
after Comfy Enterprise and href are unchanged. Other locales keep the
prior string until translation sync updates them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2Wb25NcuE4xjUAZJouT4Q
main's Tripo update (#1240) wrote index.json with json.dump's default
", " array separators instead of the compact "," form index_format.py
expects, breaking test_reproduces_the_committed_index_byte_for_byte
after merging main into this branch. Regenerate via dumps_index (data
unchanged, whitespace only) and refresh the core manifest SHA to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2Wb25NcuE4xjUAZJouT4Q
@claude
claude Bot requested a review from comfyui-wiki as a code owner September 5, 2026 21:01
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

ComfyUI Node Compatibility Report

Informational only — this check does not block merging.

Baseline: static scan of ComfyUI source — reports removed/deprecated core nodes only.

Status: review suggested — some templates may use removed, deprecated, or outdated node settings.

Metric Count
Checked workflows 617
Clean 524
With findings 93
Total findings 338 (0 error(s), 338 warning(s))

Baseline: mode static, branch master, commit 8a43c6bd9249, 902 node specs

Scan warnings

  • /tmp/comfyui-checkout-g2zev2ix/comfy_extras/mesh3d/fileio/mesh_file_read.py: syntax error: invalid non-printable character U+FEFF (mesh_file_read.py, line 1)
  • /tmp/comfyui-checkout-g2zev2ix/comfy_extras/nodes_mesh_io.py: syntax error: invalid non-printable character U+FEFF (nodes_mesh_io.py, line 1)

At a glance

Severity Templates Findings
🟡 Warnings 93 338

Issue types

Type Count
Deprecated node 338
What each issue type means
Type Guidance
Deprecated node Node is marked deprecated — consider migrating to the recommended replacement.

Details

🟡 Warnings — 93 template(s), 338 finding(s). Deprecated nodes — migrate when convenient
Template Findings
3d_moge_panorama_to_mesh.json 1
3d_moge_perspective_to_mesh.json 1
api_google_gemini_omni_flash_i2v.json 1
api_google_gemini_omni_flash_video_edit.json 1
api_hunyuan3d_image_to_model.json 1
api_hunyuan3d_text_to_model.json 1
api_ideogram_v4_t2i.json 1
api_meshy7_image_to_model.json 1
api_meshy7_text_to_model.json 1
api_meshy_image_to_model.json 1
api_meshy_multi_image_to_model.json 1
api_meshy_text_to_model.json 1
api_rodin_gen2.json 1
api_rodin_image_to_model.json 4
api_rodin_multiview_to_model.json 4
api_seedance2_0_r2v_4k.json 1
api_seedance2_0_r2v_real_human.json 1
api_topaz_image_enhance.json 1
api_tripo3_0_image_to_model.json 1
api_tripo_p1_image_to_model.json 1
api_tripo_p1_mv_to_model.json 1
api_tripo_p1_text_to_model.json 2
audio-chatterbox_tts.json 1
audio-chatterbox_tts_dialog.json 1
audio-chatterbox_tts_multilingual.json 1
audio-chatterbox_vc.json 1
audio_ace_step1_5_xl_sft.json 1
audio_ace_step_1_5_checkpoint.json 1
audio_ace_step_1_5_split.json 1
audio_ace_step_1_5_split_4b.json 1
audio_ace_step_1_5_split_llm.json 1
audio_ace_step_1_m2m_editing.json 1
audio_ace_step_1_t2a_instrumentals.json 1
audio_ace_step_1_t2a_song.json 1
audio_melbandroformer_audio_separation.json 2
audio_stable_audio_example.json 1
template_contact_sheet-step_3.app.json 7
template_eric_seedance_5_subject_and_outfit_combine.json 2
template_eric_thumbnail_generator.json 1
template_graphic_color_remixer.json 29
template_image_speech_to_video.json 3
template_product_placement.json 1
template_purz_nb2_single_image_sprite_sheet.json 1
template_seedance2_0_viral_videos_character_swap.json 2
template_seedance2_storyboard_to_video.json 3
template_seedance_2_0_plus_llm_prompt_helper.json 2
template_sirolim_any_aspect_ratio_nb2.json 1
template_sirolim_image_script_video.json 2
template_sirolim_seamless_loop.json 1
templates-1_input-multiple_styles_prompt.app.json 12
templates-2x2_grid-character_bg_product.json 4
templates-2x2_grid-iso_miniatures.json 4
templates-3D_logo_texture_animation.json 1
templates-3x3_grid_brand_icons.json 9
templates-8x8_grid-pfp.json 65
templates-9grid_social_media-v2.0.json 10
templates-all_in_one-image_edit_models.json 3
templates-fashion_shoot_prompt_doodle.json 5
templates-fashion_shoot_vton.json 6
templates-multiple_consistent_shots-nb_pro.json 1
templates-photo_to_product_vid.json 3
templates-poster_product_integration.json 3
templates-poster_to_2x2_mockups-v2.0.json 5
templates-product_ad-v2.0.json 1
templates-product_scene_relight.json 1
templates-split_stack.json 5
templates-sprite_sheet.json 32
templates-stitched_vid_contact_sheet.json 21
templates-textured_logotype-v2.1.json 1
templates_all_in_one_image_edit_models.app.json 4
templates_mjm_airt_machine_api.json 6
templates_mjm_image_to_3d.json 4
templates_mjm_looped_restyler.json 3
templates_product_scene_transformation.json 4
templates_purz_wan22_animate_auto_full_scene.json 1
templates_rob_fashion_shoot_vton-4in1.app.json 4
templates_rob_kling3_0_multishot_llm_product.json 1
templates_shane_single_image_to_3d_model.json 1
utility-audioseparation.json 4
utility-topaz_landscape_upscaler.json 1
utility_moge_depth_estimation.json 1
utility_sam3d_body.json 1
utility_sirolim_image_controlled_upscale.json 1
utility_topaz_illustration_upscale.json 1
video_ltx2_3_i2v.json 1
video_ltx2_3_ia2v.json 1
video_ltx2_3_ic_lora.json 1
video_ltx2_3_id_lora.json 1
video_ltx2_3_t2v.json 1
video_ltx2_i2v.json 1
video_ltx2_i2v_distilled.json 1
video_ltx2_i2v_lora.json 1
video_wan2_2_14B_animate.json 2

This comment is automatically updated by the ComfyUI Node Compatibility Report workflow.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

🔤 Spellcheck Results

Check Status
templates/index.json (titles & descriptions) ✅ No issues found
Workflow JSON notes (MarkdownNote / Note nodes) ✅ No issues found

All spellchecks passed! 🎉

claude and others added 2 commits September 7, 2026 15:08
Resolves conflicts in templates/index.json and packages/core manifest.json
caused by main's new templates (#1241, #1242) landing after this branch's
canonical-formatting fix. Took origin/main's template content in full (this
branch never changed template data, only reformatted index.json), then
reapplied dumps_index() for the canonical inline-array style and regenerated
manifest.json via sync_bundles.py.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2Wb25NcuE4xjUAZJouT4Q
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.

2 participants