Skip to content

v1.55.14

Choose a tag to compare

@comfy-pr-bot comfy-pr-bot released this 07 Oct 02:00
· 24 commits to core/1.55 since this release
3ac9577

What's Changed

  • fix: reinstate pointer-events on card "..." popover under a modal Reka dialog by @huntcsg in #17933
  • fix(agent-crdt): keep the ghost placement flag out of the document by @claude[bot] in #18191
  • fix: retarget new agent chat to the workflow tab on screen by @claude[bot] in #18196
  • fix: pasted nodes reach the agent doc at the pasted position, not [10, 10] by @claude[bot] in #18071
  • FE-2484 fix(billing): recover pending operations through the SDK lifecycle by @dante01yoon in #18135
  • test(agent): failing repro for agent connect skipping slot type check by @claude[bot] in #18107
  • fix: stop dropping a later completed download after a premature failed status (PM-1302) by @claude[bot] in #18082
  • fix(agent): restore user attachment previews from history by @claude[bot] in #18192
  • fix(agent-crdt): skip re-minting add_node for a node this port already relayed by @claude[bot] in #18175
  • FE-2468 fix(billing): payment recovery reads on the subscription rail by @dante01yoon in #18060
  • test: repro agent set_widget silently dropped on DynamicCombo mode by @claude[bot] in #18193
  • test(agent): repro canvas blanking for a run turn's duration after a mid-turn doc reset by @claude[bot] in #18179
  • refactor(assets): pin the asset feed page size to a named constant by @christian-byrne in #18046
  • test: stabilize workshop workspace-switch Website E2E by @huang47 in #18055
  • feat(website): launch Qwen-Image 2.1 by @bertfy in #18178
  • test(agent): let the host fixture refuse a doc_subscribe by @christian-byrne in #18213
  • fix(agent): gate persisted workflow tab bindings on document identity by @claude[bot] in #18077
  • FE-2476 test(billing): browser E2E for the six reads on the SDK reader rail by @dante01yoon in #18140
  • feat(website): swap in the updated Qwen-Image 2.1 hero sizzle by @bertfy in #18217
  • chore: enable no-unnecessary-condition for groupNode.ts by @DrJKL in #17895
  • chore: enable no-unnecessary-condition for widget files by @DrJKL in #17897
  • chore: enable no-unnecessary-condition for metadata parsers by @DrJKL in #17900
  • fix(agent-crdt): keep human-added frontend-only nodes across a workflow tab switch by @claude[bot] in #18078
  • fix(agent-crdt): keep a human delete across a workflow tab switch by @claude[bot] in #18063
  • FE-2482 fix(billing): subscription panel reads the SDK store by @dante01yoon in #18133
  • FE-2471 refactor(billing): one status transport for the cloud subscription store by @dante01yoon in #18092
  • chore(agent): address post-merge review nits from #16856 by @christian-byrne in #18204
  • FE-2472 test(billing): table-driven rail x checkoutType x outcome net by @dante01yoon in #18137
  • FE-2474 refactor(billing): top-up dialog reads through its adapter by @dante01yoon in #18132
  • FE-2477 test(billing): browser E2E for resubscribe and the payment portal by @dante01yoon in #18139
  • docs(browser_tests): note that the agent flag-off cases need a production build by @christian-byrne in #18177
  • test(missing-model): pin userinfo URLs against Hugging Face trust confusion by @christian-byrne in #18147
  • test(agent-crdt): pin seq-0 doc_update parsing (adopts the settled seq-0 ack contract) by @christian-byrne in #16452
  • chore(agent): adopt multiplayer 0.3.0 in frontend by @christian-byrne in #18163
  • chore(agent): close the minor review threads from #16856 by @christian-byrne in #18230
  • docs(website): add an agent guide plus building-web-prs and fixing-web-prs skills for the design team by @anupreet-comfy in #17950
  • test: preserve distinct attachment previews after reload by @christian-byrne in #18244
  • test: exercise saved workflow reload and agent reattachment by @christian-byrne in #18243
  • fix: preserve prompt height beside generated image previews by @christian-byrne in #18200
  • test(autogrow): grown slots and their links survive a round-trip by @christian-byrne in #17521
  • test(perf): baseline DOM widget ordering workloads by @christian-byrne in #16138
  • fix(agent): apply the run permission choice without a save step by @christian-byrne in #18115
  • fix(agent): redact sensitive CRDT dev event details by @christian-byrne in #16926
  • fix(agent): preserve drafts when Enter is pressed during runs by @christian-byrne in #17628
  • fix(agent): carry provider-neutral error metadata by @christian-byrne in #16491
  • test: record extension lifecycle browser performance baselines by @christian-byrne in #16139
  • test: adopt website auth and billing automocks by @DrJKL in #18020
  • Remove Claude instruction redirects by @DrJKL in #18225
  • test(agent-crdt): reproduce node-type-change current risk by @christian-byrne in #16626
  • fix(agent): document dev-panel typed-array broadening (#16344) by @christian-byrne in #16547
  • test: follow-up to #16378 — colocate R-78 collision characterization by @christian-byrne in #16548
  • feat(models): warn when first and last frames have different aspect ratios by @mariana953 in #18024
  • fix(website): keep the banner pagination inside the card and settle two edges by @mariana953 in #18131
  • fix: keep a new agent chat from inheriting a stale canvas (binding adoption, op coalescing) + contract e2e by @claude[bot] in #18064
  • 1.55.12 by @comfy-pr-bot in #18232
  • fix(manager): clarify version choices and report installation failures by @ltdrdata in #18083
  • [chore] Update Comfy Registry API types from cloud@cddf1cd by @comfy-pr-bot in #17368
  • test(agent-crdt): pin insert_workflow dropping promoted host widgets by @claude[bot] in #18270
  • FE-2033: test: cover agent subgraph follower in browser by @christian-byrne in #17585
  • fix: guard reportError against re-entrant reports from Sentry normalization by @claude[bot] in #18041
  • fix: release an agent workflow binding the server disowns by @claude[bot] in #18280
  • fix(billing): round cents to credits on exact integer math by @dante01yoon in #18285
  • fix: hide provider moderation controls from generation forms by @mariana953 in #18288
  • fix(website): align homepage CTAs and split cards by @bertfy in #18226
  • chore: lint root scripts/ with ESLint and oxlint by @DrJKL in #17910
  • refactor(website): stop using i18n keys as prefixes of other keys by @DrJKL in #17992
  • ci: add the i18n: Update Website workflow by @DrJKL in #17996
  • test(assets): partial graph cleanup by @christian-byrne in #16248
  • feat: add simple design system components by @DrJKL in #16259
  • fix: gate cloud bootstrap on authentication by @huang47 in #18049
  • test: add second automock foundation batch by @DrJKL in #17958
  • test: preserve visible edits after rejected nested widget writes by @christian-byrne in #18263
  • fix(website): handle unreadable model inputs and capture client exceptions by @benjcooley in #18293
  • fix: run each repo-wide pre-commit check once per commit by @mariana953 in #18295
  • test(agent): order turn completion after acceptance by @christian-byrne in #18261
  • test(agent): judge agent layout from what the browser draws by @christian-byrne in #17901
  • fix(website): align the NEW badge on top-level mobile nav rows by @bertfy in #18227
  • feat: add selectionStore and derive canvasStore selection (FE-2040) by @DrJKL in #17048
  • test: cover follower projection replay failures by @christian-byrne in #17602
  • ci(dependabot): ignore Comfy-Org/github-workflows so a caller's two pins stay together by @mattmillerai in #17973
  • PM-856: fix(agent): scope selected nodes to their workflow by @christian-byrne in #17327
  • fix: retain visible autogrow slots after tab return by @christian-byrne in #18249
  • test(assets): partial bulk insertion by @christian-byrne in #16252
  • test(assets): cover list keyboard activation by @christian-byrne in #16308
  • feat(website): report Models browser outcomes to Datadog by @benjcooley in #18307
  • fix(agent): keep Retry-After parsing in contract and cover the admission message seam by @christian-byrne in #18229
  • test(agent-crdt): characterize malformed follower updates by @christian-byrne in #16664
  • fix(workflow): drop missing entries from openWorkflows by @claude[bot] in #18033
  • fix: stop agent turn on Escape after submitting via mouse click on Send by @claude[bot] in #18296
  • FE-2414: fix: derive Compare Images from stores instead of widget state by @jtydhr88 in #17806
  • test(agent): pin silent exhaustion of doc-subscribe refusal retries by @christian-byrne in #18272
  • fix: copy/paste beside the agent panel by @claude[bot] in #18062
  • fix: keep hand-wired autogrow connections on their real slot after an agent slot sync (PM-1449) by @claude[bot] in #18279
  • fix(linear-mode): follow-up to #14865 — hide Cloud billing controls off Cloud by @christian-byrne in #16584
  • fix(workflow): stop workflow activation crashing on a null active state by @christian-byrne in #18190
  • test(undo): pin navigation recovery to the deepest surviving subgraph by @christian-byrne in #18235
  • fix: avoid unpolyfilled ES2023 array methods in runtime code by @christian-byrne in #18251
  • fix(agent-crdt): scope layout mint ops to the bound document's root graph by @claude[bot] in #18109
  • fix: read the root graph from one nullable source in executionErrorStore by @DrJKL in #18059
  • fix: avoid TDZ crash restoring saved multiline widget value by @claude[bot] in #18324
  • fix(agent): bound attachment upload contract by @christian-byrne in #16985
  • fix: flag a freshly created, unsaved tab as unbound for the agent (PM-1430) by @claude[bot] in #18278
  • feat(website): restructure Comfy Router landing page to v3 copy by @claude[bot] in #17754
  • feat(website): add a right-click menu on the header logo by @bertfy in #17953
  • test: cover mouse-driven autogrow reference alignment by @claude[bot] in #18101
  • fix: explain legacy dialog errors with catalog messages by @jaeone94 in #18214
  • feat: float workflow tabs and soften canvas dividers by @PabloWiedemann in #18236
  • refactor: complete vue node review follow-ups by @christian-byrne in #18260
  • fix: agent composer paste no longer also pastes the last copied node by @claude[bot] in #18068
  • fix: restore Impact, WAS Pause, and RefMod compatibility by @DrJKL in #18301
  • fix: guard asset list-view thumbnail against native image drag NotSupportedError by @claude[bot] in #18323
  • Revert "feat(website): restructure Comfy Router landing page to v3 copy" by @anupreet-comfy in #18365
  • MiniMax template wiring (PM-993): preserve agent workflow connections after dynamic input reordering by @ryan-di in #17221
  • fix: autogrow slot can't be reconnected after disconnect without refresh (PM-1496) by @claude[bot] in #18289
  • fix(agent-crdt): preserve a hand-wired autogrow link across the follower's own CRDT echo by @claude[bot] in #18375
  • test(agent): cover hand-wired autogrow link surviving a later agent turn by @claude[bot] in #18327
  • test(agent): fix two local-rig agent spec failures; document canvas baselines by @christian-byrne in #18209
  • FE-2033: fix(agent): project define_subgraph definitions cleanly by @christian-byrne in #17458
  • fix: don't leave agent-panel selection-restore guard armed on empty restore by @claude[bot] in #18400
  • feat(agent): report a node-id write dropped by CRDT last-write-wins by @claude[bot] in #18353
  • test(agent): black-box cover the ghost placement flag regression (#18191) by @christian-byrne in #18240
  • fix(agent): don't let CRDT reconcile clobber a fresher live widget value by @claude[bot] in #18361
  • test: add third automock foundation batch by @DrJKL in #18010
  • fix(agent): defer What's New popup while agent onboarding runs by @MaanilVerma in #18287
  • test(billing): complete E2E coverage of the billing SDK M1 QA plan by @dante01yoon in #18312
  • FE-2620 test(billing-web): drive the checkout from quote through payment to the result page by @dante01yoon in #18315
  • fix(billing): show the server's refusal message on the SDK subscription rail by @dante01yoon in #18297
  • feat(website): send the onboarding source to the platform's API-keys page (DES-1082) by @shrimbly in #17884
  • fix: forward agent telemetry to desktop host by @huntcsg in #18376
  • test(agent): cover spare autogrow input across a tab switch by @christian-byrne in #18246
  • fix(telemetry): drop extension tab messaging noise by @christian-byrne in #18387
  • test: report all RefMod reload regressions by @DrJKL in #18406
  • test: replace unnecessary primitive component mocks with real components by @DrJKL in #18022
  • chore: enable no-unnecessary-condition for app.ts by @DrJKL in #17896
  • fix(website): re-anchor PP Formula so its caps sit where they are centred by @mariana953 in #17843
  • feat(assets): open the Assets panel from an ?assets=1 deep link by @mariana953 in #18442
  • fix: derive shortcut blocking from rendered modals by @DrJKL in #18199
  • fix: tolerate non-cloneable extension fields when serializing nodes by @christian-byrne in #18252
  • chore(agent): bump comfy-multi-player to 0.3.3 by @christian-byrne in #18455
  • fix(agent): remove workflow timing display by @christian-byrne in #18348
  • test: cover asset panel drag onto existing Load Image node bypassing upload by @claude[bot] in #18180
  • 1.55.13 by @comfy-pr-bot in #18321
  • refactor: validate shared translations with the Responses API by @benceruleanlu in #17899
  • test: establish a shared scripts/app automock by @DrJKL in #18018
  • chore(knip): drop two suppressions that no longer suppress anything by @DrJKL in #18457
  • fix(website): validate model inputs before generation by @benjcooley in #18450
  • refactor: delete unused CustomNodesPanel and marketingImage by @huang47 in #16559
  • fix(agent-crdt): realign named input links across multiple autogrow groups by @claude[bot] in #18275
  • test: reproduce outbound link-position-vs-name corruption on agent CRDT apply (no fix) by @claude[bot] in #18332
  • fix: send the workspace token when downloading a cloud asset by @christian-byrne in #18421
  • ci: bump pr-risk to github-workflows@ba2e67b by @cloud-code-bot[bot] in #15379
  • Fix subgraph definition ID scan edge cases by @christian-byrne in #18453
  • fix: report invalid subgraph unpack mappings by @DrJKL in #17374
  • fix: make reported E2E coverage trustworthy over time by @DrJKL in #18259
  • test: characterize pointer gestures for FE-2040 by @DrJKL in #17109
  • fix: complete Vue node context menu coverage and behavior by @DrJKL in #16104
  • chore: enable no-unnecessary-condition for changeTracker, api, and ui by @DrJKL in #17904
  • test: automate Workshop live smoke and release acceptance by @benjcooley in #18313
  • docs(skills): add the verify skill for driving the cloud app against a real backend by @dante01yoon in #18299
  • fix(billing): settle a reattached subscription operation like the legacy poller by @dante01yoon in #18310
  • test(billing): cover the billing SDK rail outcomes the live QA pass left unvalidated by @dante01yoon in #18309
  • fix(agent): signal the onboarding overlay only while a coach card is on screen by @MaanilVerma in #18439
  • test(agent): pin remote apply acceptance failures by @DrJKL in #18187
  • fix: keep template busy state and error handling in the loader by @benceruleanlu in #17801
  • fix: materialize insert_workflow links with numeric ids by @claude[bot] in #18458
  • fix: mint disjoint-range node ids for CRDT-bound graphs to prevent agent/frontend id collision by @claude[bot] in #18095
  • fix: keep released subgraph definitions consistent across convert-to-subgraph by @claude[bot] in #18040
  • fix(touch): stop a lost touchend from permanently freezing the canvas by @DrJKL in #17916
  • fix(agent): wait for the general onboarding before offering Agent consent by @MaanilVerma in #18431
  • FE-2006: test: characterize agent extension containment failures by @DrJKL in #16794
  • refactor: consolidate Agent chip presentation (FE-2410) by @DrJKL in #17767
  • test(agent-crdt): repro schema-gate latch leaving canvas at zero nodes by @claude[bot] in #18099
  • fix(cicd): resolve the version the bump PR will actually produce by @christian-byrne in #15004
  • perf: cut lint and typecheck time and memory (manual, lint-staged, CI) by @DrJKL in #18495
  • test: migrate workbench platform mocks by @DrJKL in #18501
  • fix(agent): flag LoadImage's image input as upload-capable in agent replay fixtures by @claude[bot] in #18338
  • feat: restore tool-call work summary on reload and chat switch by @claude[bot] in #18282
  • fix(agent): dismiss resolved paywalls by @christian-byrne in #18405
  • test: add regression guard for node mode across workflow tab switches (#18441) by @claude[bot] in #18468
  • fix: lock the canvas to selection-only while agent node picking is active by @claude[bot] in #18066
  • chore: replace comfy-multi-player tarball pin with 0.3.5 by @christian-byrne in #18552
  • [chore] Update Ingest API types from cloud@8d19cb1 by @comfy-pr-bot in #17930
  • fix(e2e): stage devtools readable, and say so when it did not load by @christian-byrne in #18237
  • test: migrate cloud auth telemetry automocks by @DrJKL in #18500
  • fix(agent): drop the draft version from the turn request contract by @christian-byrne in #18224
  • fix: agent tool-call chat completion lags canvas materialization (PM-1575/PM-1576) by @claude[bot] in #18391
  • FE-2646 feat(account): the workspace deep-link contract, ?workspace= shared by the auth and billing SDKs by @dante01yoon in #18341
  • test(agent): verify restored tool calls after chat switching by @christian-byrne in #18581
  • fix: render widgets on insert_workflow-materialized nodes by @claude[bot] in #18598
  • fix: insert_workflow nodes still render no widgets when execId derivation fails (PM-1580 follow-up) by @claude[bot] in #18604
  • fix(website): handle missing abort APIs and label Workshop failures by @benjcooley in #18482
  • feat(website): show which Router models route through which providers (DES-1106) by @shrimbly in #18489
  • feat(website): add /share-news 307 redirects to the Router share page by @deepme987 in #18611
  • fix(partner-gate): wait for API key validation and tag raw auth sessions by @MaanilVerma in #18597
  • Update launches banner to promote Comfy Router by @robinjhuang in #18613
  • FE-2767 feat(account): read Firebase configuration from the Cloud features endpoint by @dante01yoon in #18454
  • test(queue): pin the system hour cycle when no clock preference is given by @christian-byrne in #18231
  • test(agent): 35-case insert_workflow integration suite (widgets, links, subgraphs, templates) by @claude[bot] in #18607
  • fix: resolve real LGraphNode for insert_workflow node ids in locator/callback path by @claude[bot] in #18616
  • chore: convert the root scripts/*.js files to TypeScript by @DrJKL in #18560
  • chore: enable low-count type-aware oxlint rules by @DrJKL in #18561
  • fix(onboarding): report three onboarding failures that were silent by @MaanilVerma in #18603
  • FE-2767 feat(billing): source the Stripe publishable key from the Cloud features endpoint by @dante01yoon in #18469
  • chore: bump comfy-multi-player to 0.3.6 by @claude[bot] in #18626
  • test: assert unpack telemetry and restored links for subgraph conversion by @christian-byrne in #18578
  • test(agent): alternating-write (A -> B -> A) case for promoted subgraph widgets by @claude[bot] in #18629
  • [backport core/1.55] fix(billing): drive the 3DS challenge in-session when the auth state lags by @comfy-pr-bot in #18749
  • [backport core/1.55] fix(agent): use a neutral color palette and lighter text in the agent panel by @comfy-pr-bot in #18795
  • [backport core/1.55] fix(agent): stop remote setWidget ops clobbering an in-progress local edit (#18766) by @christian-byrne in #18812
  • [backport core/1.55] fix(agent): derive paywall visibility from current billing state (#18590) by @christian-byrne in #18813
  • [backport core/1.55] FE-2767 fix(billing-web): confirm scheduled plan changes without a card form by @comfy-pr-bot in #18786
  • [backport core/1.55] fix(billing-web): drive failed-payment recovery from the server's recovery_action by @comfy-pr-bot in #18776
  • [backport core/1.55] feat(agent): update consent card launch video by @comfy-pr-bot in #18784
  • [backport core/1.55] fix(billing-web): ship the design-system Inter faces in the build by @comfy-pr-bot in #18788
  • [backport core/1.55] fix(billing-web): show when a cancelled plan ends by @comfy-pr-bot in #18832
  • [backport core/1.55] fix(billing): stop offering Continue verification after the 3DS challenge completes by @comfy-pr-bot in #18820
  • [backport core/1.55] fix(billing-web): theme Stripe Elements from the checkout's own theme scope by @comfy-pr-bot in #18791
  • [backport core/1.55] FE-2891 fix(flags): guard the dev-override storage read by @dante01yoon in #18761
  • [backport core/1.55] fix(billing): tell the customer when Billing & invoices is blocked instead of minting more portal sessions by @dante01yoon in #18799
  • [backport core/1.55] test(agent): pin the nested-subgraph-instance insert_workflow gap (PR #18607 follow-up) by @comfy-pr-bot in #18676
  • [backport core/1.55] fix(website): bump the Router catalog model count to 212 by @dante01yoon in #18844
  • [backport core/1.55] fix: subgraph-interior widgets don't render in Vue mode after insert_workflow by @comfy-pr-bot in #18677
  • [backport core/1.55] FE-3012 fix(billing): show the subscription progress toast on the SDK rail by @comfy-pr-bot in #18863
  • [backport core/1.55] FE-2892 feat(account-core): web session client and session error codes by @comfy-pr-bot in #18846
  • [backport core/1.55] fix(billing): refuse a subscribe over a pending operation this tab did not issue by @comfy-pr-bot in #18902
  • [backport core/1.55] fix(billing): lock other plans while an earlier payment awaits bank verification by @comfy-pr-bot in #18895
  • [backport core/1.55] fix(billing-web): price team plans by their credit stop by @comfy-pr-bot in #18905
  • [backport core/1.55] fix(account-ui): re-theme Stripe Elements when the theme changes after mount by @dante01yoon in #18826
  • [backport core/1.55] fix(billing-web): show the refusal instead of a blank page when a tab's workspace is gone by @comfy-pr-bot in #18929
  • [backport core/1.55] [chore] Update Ingest API types from cloud@a2730a5 by @christian-byrne in #18919
  • [backport core/1.55] FE-2895 feat(account-core): requestAuth authorize() for cookie requests by @dante01yoon in #18940
  • [backport core/1.55] fix(agent): give the composer one soft edge and align the cursor with the hint by @comfy-pr-bot in #18956
  • [backport core/1.55] fix(agent): change panel badge from alpha to beta by @comfy-pr-bot in #18960
  • [backport core/1.55] fix(agent): match user bubble line spacing to reply text and remove outline by @comfy-pr-bot in #18964
  • [backport core/1.55] FE-2900 feat(account-core): lazy workspace-token mint from the web session by @dante01yoon in #19000
  • [backport core/1.55] fix(billing): bound fast polling for customer-blocked operations without an action by @comfy-pr-bot in #19043
  • [backport core/1.55] fix(billing-web): offer a way back to ComfyUI when the entry workspace is refused by @comfy-pr-bot in #19046
  • [backport core/1.55] FE-2894 feat(account-core): session-backed identity source and boot rules by @dante01yoon in #19018
  • [backport core/1.55] FE-2897 feat(account-core): session lifecycle, create on sign-in, delete on sign-out, heartbeat by @dante01yoon in #19020
  • [backport core/1.55] fix(agent): combine adjacent fragmented assets without reordering captioned assets by @comfy-pr-bot in #19079
  • [backport core/1.55] fix(agent): show onboarding after first scoped consent (#19061) by @claude[bot] in #19083
  • [backport core/1.55] fix(agent): omit redundant workflow name in bound run approvals (#19054) by @claude[bot] in #19086
  • [backport core/1.55] fix(assets): open API-submitted jobs as workflows from the asset menu (#13957) by @christian-byrne in #19133
  • [backport core/1.55] fix(VirtualGrid): correctly clamp visible range when item list shrinks or column count grows (#18588) by @christian-byrne in #19134
  • [backport core/1.55] fix(security): harden sanitization against attribute breakout, form injection, and javascript: URLs (#18594) by @christian-byrne in #19138
  • [backport core/1.55] fix(TextPreviewWidget): preserve bracket-delimited text instead of parsing it as HTML (#18589) by @christian-byrne in #19136
  • [backport core/1.55] fix(groupNode): pair widget values to their originating node during subgraph conversion (#18596) by @christian-byrne in #19140
  • [backport core/1.55] FE-2767 feat(billing): read the billing-web origin from the Cloud features endpoint by @comfy-pr-bot in #18668
  • [core/1.55] fix(agent): keep the expanded agent panel inside the window (#18182) by @christian-byrne in #19037
  • [backport core/1.55] FE-3013 fix(pricing): stop showing the catalog credits_cents as the credit grant (#18867) by @christian-byrne in #19161
  • [backport core/1.55] fix: correctly hide run button on cloud when free tier is disabled (#18239) by @christian-byrne in #19163
  • [backport core/1.55] fix(agent): stop retrying a permanently refused CRDT doc subscribe (#18704) by @christian-byrne in #19165
  • [backport core/1.55] fix(agent): resolve the agent gate off /features by @christian-byrne in #19175
  • [backport core/1.55] fix(agent): scroll restored conversation to latest by @christian-byrne in #19157
  • [backport core/1.55] perf: skip document-wide modal scans while typing (#19057) by @christian-byrne in #19190
  • [backport core/1.55] FE-3045 docs(adr): billing-web hosts checkout only; hosts own plan selection by @comfy-pr-bot in #19199
  • [backport core/1.55] FE-3012 test(billing): hold billing progress toasts equal across the legacy and SDK rails by @comfy-pr-bot in #19203
  • [backport core/1.55] FE-3013 test(billing): express plan catalog grants in cents in E2E fixtures by @comfy-pr-bot in #19200
  • [backport core/1.55] FE-3045 refactor(billing-web): drop the billing-web plan grid; hosts own plan selection by @comfy-pr-bot in #19208
  • [backport core/1.55] FE-3051 fix(billing): resume a parked checkout from Complete your payment by @comfy-pr-bot in #19206
  • [backport core/1.55] FE-3054 fix(billing): refresh the app on every return from a hosted billing tab by @comfy-pr-bot in #19216
  • [backport core/1.55] Fix agent delete-all recovery (#18404) by @christian-byrne in #19229
  • [backport core/1.55] FE-3046 refactor(design-system): move buttonVariants into @comfyorg/design-system by @comfy-pr-bot in #19231
  • [backport core/1.55] Fix agent gate auth lifecycle (#19219) by @christian-byrne in #19259
  • [backport core/1.55] FE-2642 show server refusal reason (#19185) by @christian-byrne in #19305
  • [backport core/1.55] FE-3046 feat(account-ui): shared checkout confirm, saved-method selector, card form and success by @comfy-pr-bot in #19308
  • [backport core/1.55] FE-3018 feat(billing-web): full-page checkout page state and pure transition by @comfy-pr-bot in #19317
  • [backport core/1.55] FE-3067 feat(billing-web): gate /v1/checkout on the billing_web_checkout_ui flag by @comfy-pr-bot in #19294
  • [backport core/1.55] fix(agent): defer the consent offer past the first-run screen instead of dropping it by @christian-byrne in #19352
  • [backport core/1.55] fix: keep template search working when custom node templates share a name by @comfy-pr-bot in #19407
  • [backport core/1.55] test(agent): make the grant no-persistence check order-independent and pin the sign-out clear by @comfy-pr-bot in #19397
  • [backport core/1.55] FE-3046 billing-web shared embedded checkout (#19099, #19100, #19101, #19104) by @dante01yoon in #19442
  • [backport core/1.55] FE-1656 refactor(billing): remove the unconfirmed team subscription checkout util by @comfy-pr-bot in #19295
  • [backport core/1.55] FE-3057 feat(billing): show the payment progress in the app while billing-web takes the payment by @comfy-pr-bot in #19438
  • [backport core/1.55] Report approval asks the panel never delivered (#18952) by @christian-byrne in #19346
  • [backport core/1.55] feat(agent): attach user id to agent feedback Typeform hidden fields by @comfy-pr-bot in #19371
  • [backport core/1.55] FE-3052 fix(billing-web): explain a cancel refused while a plan change is in progress by @comfy-pr-bot in #19440
  • [backport core/1.55] feat(agent): record every consent request outcome (#19430) by @christian-byrne in #19472
  • [backport core/1.55] fix(agent): harden undeliverable ask telemetry by @christian-byrne in #19474
  • [backport core/1.55] FE-3056 fix(billing-web): re-quote a stale subscribe quote the way the app does by @dante01yoon in #19481
  • [backport core/1.55] feat(agent): instrument starter-prompt clicks and sends (#18991) by @christian-byrne in #19489
  • [backport core/1.55] feat(agent): emit app:agent_error telemetry (TEL-8) (#16628) by @christian-byrne in #19496
  • [backport core/1.55] fix(agent): address TEL-8 review findings by @christian-byrne in #19539
  • [backport core/1.55] feat(agent): show the credits paywall when the workspace runs out by @christian-byrne in #19518
  • [backport core/1.55] FE-3018 / FE-3019 / FE-3020 / FE-3021 / FE-3022 feat(billing-web): Milestone 3 full-page checkout behind billing_web_checkout_ui by @comfy-pr-bot in #19459
  • [backport core/1.55] feat(agent): tailor starter prompts to cloud and local (#19283) by @christian-byrne in #19569
  • refactor(agent): carry graph API rewrite to core/1.55 by @christian-byrne in #19583
  • fix(agent): simplify active tab handling on core/1.55 by @christian-byrne in #19586
  • [backport core/1.55] fix: start typing from anywhere in the agent composer prompt area by @christian-byrne in #19576
  • [Backport core/1.55] Fix agent sender retry accounting and transport recovery by @christian-byrne in #19590
  • [Backport core/1.55] Settle outstanding agent operations during detach by @christian-byrne in #19602
  • [backport core/1.55] feat(agent): keep panel open through activation by @christian-byrne in #19631
  • [backport core/1.55] fix(website): bump router catalog model count to 213 (#19574) by @christian-byrne in #19642
  • [backport core/1.55] fix(billing-web): re-quote on QUOTE_STALE in the full-page checkout by @christian-byrne in #19643
  • [backport core/1.55] fix(agent): sequence consent tour before held send by @christian-byrne in #19660
  • [backport core/1.55] fix(agent): restore standing paywall after graph rewrite by @christian-byrne in #19662
  • [backport core/1.55] feat: use generated ToolCallSummary type for persisted tool-call schema (#19585) by @claude[bot] in #19609
  • [backport core/1.55] test: restore abandoned-slice browser coverage (#18840) by @christian-byrne in #19702
  • [backport core/1.55] fix(agent): keep the turn live across a socket reconnect by @christian-byrne in #19694
  • [backport core/1.55] FE-3113 fix(billing): report a terminal when a downgrade to personal needs reconciliation by @comfy-pr-bot in #19646
  • [backport core/1.55] Complete 1.54 parity sweep by @christian-byrne in #19789
  • [backport core/1.55] FE-3135 fix(billing): show Subscription paused copy for payment_failed renewals (#19677) by @christian-byrne in #19746
  • [Backport core/1.55] fix(agent): make op sender teardown failure-safe by @christian-byrne in #19831
  • [backport core/1.55] fix(agent): reconcile a hydrated streaming turn from REST after a refresh by @christian-byrne in #19846
  • [backport core/1.55] Contain reentrant sender recovery (#19852) by @christian-byrne in #19853
  • [backport core/1.55] Preserve seal ordering under reentry (#19860) by @christian-byrne in #19861
  • [backport core/1.55] feat(agent): run the free-use messaging placement experiment (#19712) by @christian-byrne in #19836
  • [backport core/1.55] test(agent): correct op sender seal expectations that never held (#19874) by @christian-byrne in #19900
  • [backport core/1.55] fix: accept the Stripe custom billing portal domain by @comfy-pr-bot in #19903
  • [backport core/1.55] fix(website): drop live docs catalog count test by @christian-byrne in #19952
  • [backport core/1.55] refactor(canvas): centralize viewport lifecycle and framing by @christian-byrne in #19959
  • [backport core/1.55] feat: cancel cloud asset downloads (#19281) by @christian-byrne in #19858
  • [backport core/1.55] FE-3174 fix(cloud): read the login free-runs offer from the server by @comfy-pr-bot in #19955
  • [backport core/1.55] FE-3129 feat(billing): gate Members credit limits behind their own flag (#19641) by @dante01yoon in #20006
  • [backport core/1.55] FE-3013 feat(pricing): read the plan's raw credit grant from the catalog by @comfy-pr-bot in #19658
  • [backport core/1.55] feat: download node outputs and asset selections as one zip (CORE-454) by @comfy-pr-bot in #19993
  • [backport core/1.55] feat(telemetry): send client_message_id on the turn POST so the activation funnel joins (#18970) by @christian-byrne in #19995
  • [backport core/1.55] fix: keep the partner nodes education card closed after the user dismisses it by @comfy-pr-bot in #20026
  • [backport core/1.55] fix: harden task cancellation reconciliation (#20031) by @christian-byrne in #20044
  • fix(core/1.55): guard keybind Escape target by @christian-byrne in #20064
  • [backport core/1.55] fix: treat node error details as optional, matching the backend contract by @comfy-pr-bot in #20081
  • [backport core/1.55] fix(agent): release minimap graph-activity layer reliably on unmount by @comfy-pr-bot in #20075
  • [backport core/1.55] fix(agent): make agent panel teardown total (#20078) by @christian-byrne in #20101
  • [backport core/1.55] FE-3201 fix(workspace): keep Delete locked until a cancelled plan ends by @comfy-pr-bot in #20112
  • [backport core/1.55] fix(assets): resolve hierarchical model categories by @comfy-pr-bot in #20127
  • [backport core/1.55] fix(litegraph): recover graph ID allocation safely (#19239) by @christian-byrne in #20132
  • [backport core/1.55] fix(load3d): apply workspace inset to every viewer by @christian-byrne in #20137
  • [backport core/1.55] fix: close cancellation reconciliation review gaps (#20133) by @christian-byrne in #20160
  • [backport core/1.55] fix: derive Create Bounding Boxes sources from stores by @comfy-pr-bot in #20188
  • [backport core/1.55] feat(camera-angle): 3D camera angle picker widget for the CameraAngle node by @comfy-pr-bot in #20186
  • [backport core/1.55] fix(dialog): keep modal size independent of the docked Agent panel by @comfy-pr-bot in #20125
  • [backport core/1.55] fix(assets): resolve hierarchical legacy model categories (#19982) by @christian-byrne in #20248
  • [backport core/1.55] feat(load3d): read the 3D save and preview nodes… by @jtydhr88 in #20250
  • [backport core/1.55] perf(telemetry): split extension loading bootstrap timings by @christian-byrne in #20230
  • [backport core/1.55] FE-3194 fix(billing): a blocked billing portal tab no longer shows legacy cancel success (#20036) by @dante01yoon in #20266
  • 1.55.14 by @comfy-pr-bot in #20371

New Contributors

Full Changelog: v1.55.11...v1.55.14