Commit Graph
577 Commits
Author SHA1 Message Date
Ewald ALOEBOETOE e400a2892d Merge pull request #95 from MajoorWaldi/dependabot/npm_and_yarn/tanstack/vue-virtual-3.13.24
chore(deps): bump @tanstack/vue-virtual from 3.13.23 to 3.13.24
2026-04-25 10:02:00 +02:00
Ewald ALOEBOETOE ae3551ce41 Merge pull request #97 from MajoorWaldi/dependabot/npm_and_yarn/vite-8.0.10
chore(deps-dev): bump vite from 8.0.8 to 8.0.10
2026-04-25 10:01:21 +02:00
Ewald ALOEBOETOE 2666cc2824 Merge pull request #98 from MajoorWaldi/dependabot/npm_and_yarn/eslint-10.2.1
chore(deps-dev): bump eslint from 10.1.0 to 10.2.1
2026-04-25 10:01:07 +02:00
Ewald ALOEBOETOE 9643e3bec6 Merge pull request #99 from MajoorWaldi/copilot/fix-floating-viewer-tooltip-hints
fix: resolve 6 failing Vitest tests across 4 files
2026-04-25 09:59:54 +02:00
MajoorWaldiandMajoorWaldi 2bd4f4b788 fix: resolve 6 failing Vitest tests across 4 files
Agent-Logs-Url: https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/sessions/5e8a712f-b151-4133-9af9-c098c54c2506

Co-authored-by: MajoorWaldi <129623145+MajoorWaldi@users.noreply.github.com>
2026-04-25 00:25:34 +00:00
MajoorWaldi a3a0492179 Initial plan 2026-04-25 00:13:34 +00:00
Ewald ALOEBOETOE 40945a91e6 test(arch): remove resolved WorkflowSidebar.js from KNOWN_FEATURE_VIOLATIONS
WorkflowSidebar.js no longer imports comfyApiBridge.js directly (logic
moved to WorkflowNodesTab). Sync the ADR 0007 ratchet set with the live
count so test_count_matches_known_violations_set passes.

Live count: 6 — KNOWN_FEATURE_VIOLATIONS now also has 6 entries.
2026-04-25 02:11:47 +02:00
Ewald 70a1a87c94 fix(security,arch): route WorkflowNodesTab through hostAdapter and reset prefs snapshot in tests
- Replace direct comfyApiBridge import in WorkflowNodesTab with getRawHostApp (ADR 0007).
- Reset security prefs snapshot in _reset_security_state_for_tests so tests that toggle MAJOOR_REQUIRE_AUTH are not influenced by an earlier ensure_security_bootstrap publishing require_auth=False.
- Call _reset_security_state_for_tests from _clear_write_auth_env helper for proper isolation.
- Rebuild frontend bundle.
2026-04-25 01:35:29 +02:00
Ewald 2b10814b2e feat(mfv): ImageOps live preview crop + node panel selection sync
- ImageOps preview bridge: stream cropped contain-fit rect of __imageops_state.canvas (removes square scope/letterbox); fall back to full canvas when user pan/zoom is active. Signature-cached encode (WeakMap) avoids re-encoding on every poll tick.
- Floating viewer: skip metadata enrichment for imageops-live-preview source; preserve user pan/zoom across stream frames of the same node; remove inline CSS overrides that blocked the MFV transform.
- Workflow Nodes panel: graph-selected node is auto-expanded, promoted to first position in its container, scrolled into view, and gets a subtle blue highlight (is-selected-from-graph).
2026-04-24 23:47:27 +02:00
Ewald 0894657274 security: honor UI prefs at runtime + LAN-friendly defaults
The Settings -> Security toggles (Allow Remote Full Access, Allow HTTP Token Transport, Require Token For All Writes) were persisted in the DB but ignored by _check_write_access() and the bootstrap-token endpoint, which only read MAJOOR_* env vars. Remote LAN clients hit 'Write access is blocked' even with all toggles enabled.

- New security_prefs_snapshot module: thread-safe in-memory snapshot of persisted prefs, hydrated at ensure_security_bootstrap() and republished on every set_security_prefs(). Read synchronously by guards.

- security.py::_resolve_security_flag(pref_key, env_var, default): single read site, snapshot-first / env-fallback. Used for allow_remote_write, require_auth, allow_insecure_token_transport.

- _bootstrap_enabled() also returns True when allow_remote_write is set in the snapshot (UI consent for remote bootstrap).

- bootstrap-token / rotate-token accept plain HTTP transport when allow_insecure_token_transport is on.

- Friendlier defaults so first install works zero-config on LAN: allow_remote_write=True, allow_insecure_token_transport=True. Auto-generated API token still gates writes.

- Error messages updated to point users to Settings -> Security instead of only env vars.

- README rewritten to put the UI flow first; env vars as headless fallback.

- pyproject.toml: per-file ignore F401 for routes/core/security.py since it is the single import point that re-exports from sub-modules.
2026-04-24 15:33:15 +02:00
MajoorWaldi 50be5f2dfb chore(deps-dev): bump eslint from 10.1.0 to 10.2.1
Bumps [eslint](https://github.com/eslint/eslint) from 10.1.0 to 10.2.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.1.0...v10.2.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 07:37:42 +00:00
MajoorWaldi 76fdd3854b chore(deps-dev): bump vite from 8.0.8 to 8.0.10
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.0.8 to 8.0.10.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.10/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 07:37:36 +00:00
MajoorWaldi 60feae3a6e chore(deps): bump @tanstack/vue-virtual from 3.13.23 to 3.13.24
Bumps [@tanstack/vue-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/vue-virtual) from 3.13.23 to 3.13.24.
- [Release notes](https://github.com/TanStack/virtual/releases)
- [Changelog](https://github.com/TanStack/virtual/blob/main/packages/vue-virtual/CHANGELOG.md)
- [Commits](https://github.com/TanStack/virtual/commits/@tanstack/vue-virtual@3.13.24/packages/vue-virtual)

---
updated-dependencies:
- dependency-name: "@tanstack/vue-virtual"
  dependency-version: 3.13.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 07:37:20 +00:00
Ewald b87da7b67f perf(grid): cold-start fast-load + stale-snapshot head refresh + race guards
- Early-fetch immediate (no setTimeout 800ms), persisted scope/sort key, includeTotal=false.

- Snapshot persisted in localStorage (was sessionStorage), with legacy migration.

- MIN_LOADING_SKELETON_MS=0; skeleton hides as soon as assets are present.

- New scheduleSnapshotHeadRefresh: re-fetch page 0 after fast-path cached:true and upsert new items at correct sort position. Fixes recent assets disappearing on scope switch (custom->output).

- offset=max(offset, assets.length) in didHydrate branch so prefetch loads next page, not page 0 again.

- refreshDuplicateAlerts non-blocking (fire-and-forget).

- Race guards: scheduleDeferredExecutionReload skips reload if scope/filter changed during prompt execution; scheduleSnapshotHeadRefresh aborts if context changes mid-fetch.

- Includes other staged misc edits (config, scanner, watcher, components).
2026-04-23 17:49:20 +02:00
Ewald dbf05a8c0e test: fix floating_viewer_toolbar_overlay_controls for popover-based toolbar
The toolbar was redesigned from inline <select> to icon buttons + popovers.
Update the test to match the new structure:
- check for .mjr-mfv-guides-trigger and .mjr-mfv-ch-trigger in bar
- expect formatSelect.value to be 'off' when _overlayMaskEnabled is false
- add viewer.element to the mock so the popover appendChilds don't throw
2026-04-22 10:22:08 +02:00
Ewald 6cfcc84c1a fix: MFV seed randomize + subgraph widget live sync
- sidebarRunButton: add _walkAllNodes() to mirror ComfyUI's native
  beforeQueued/afterQueued widget cycle on all nodes incl. inner subgraph
  nodes so control_after_generate (randomize/increment/decrement) is
  applied correctly on each MFV run
- widgetAdapters: _syncWidgetDomElement falls back to
  cachedDeepestByFrame.widget.inputEl for PromotedWidgetView so typing
  in the sidebar updates the canvas textarea of subgraph outer widgets
  in real time
- widgetAdapters: spinner step forced to 1 for integer widgets;
  widget.value restored after callback to bypass step2 snapping
2026-04-22 10:19:53 +02:00
Ewald cb4d57407d chore: rebuild dist files 2026-04-21 11:45:06 +02:00
Ewald 79ccbe0da1 fix(hot-reload): address potential issues during Vite hot-reload
- Remove stale storage event listener in SettingsPanel.js
- Add checks for window object in LiveStreamTracker.js, floatingViewerManager.js
- Implement onScopeDispose for storage event listener in usePanelStore.js
- Add check for window object in MajoorPanel.svelte
2026-04-21 11:35:04 +02:00
Ewald 88460e863c chore: bump version to 2.4.6 2026-04-20 23:27:17 +02:00
Ewald ALOEBOETOE b531f0b874 Merge pull request #92 from MajoorWaldi/copilot/fix-floating-viewer-manager-sync-issues
fix: set MFV_LIVE_DEFAULT to true so live stream toggles correctly
2026-04-20 23:23:28 +02:00
MajoorWaldiandMajoorWaldi c9459db0fd fix: change MFV_LIVE_DEFAULT from false to true to fix floatingViewerManager test failures
Agent-Logs-Url: https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/sessions/32c3a21b-8cd3-47b5-8392-fb959c7c0531

Co-authored-by: MajoorWaldi <129623145+MajoorWaldi@users.noreply.github.com>
2026-04-20 21:21:10 +00:00
MajoorWaldi 3b0380f77f Initial plan 2026-04-20 21:13:26 +00:00
Ewald b2ef3d0f80 fix(assets): improve grid reload and scroll behavior
- Adjusting the infinite scroll loading point to 4 card rows from the bottom
- Improving grid state restoration after reloads
- Enhancing the early fetch mechanism for faster initial loads
- Optimizing execution runtime to handle large numbers of assets efficiently
- Updating viewer and run button behavior for better integration with ComfyUI
- Fix various bugs and edge cases
2026-04-20 23:10:42 +02:00
Ewald 4e80b95bbc feat(geninfo): add api_node_extractor with 28+ comfy-core API providers
- New module mjr_am_backend/features/geninfo/api_node_extractor.py
- Covers all comfy_api_nodes/ providers: Alibaba Wan, Kling AI,
  Luma Dream Machine, MiniMax/Hailuo, Runway, Vidu, Google Veo,
  Black Forest Labs (Flux), xAI Grok, Ideogram, Recraft, Moonvalley,
  Pixverse, LTX Video, ByteDance Seedance/Seedream, Google Gemini,
  OpenAI/Sora, Stability AI, Reve, Bria, Magnific, Topaz, HitPaw,
  Wavespeed, Quiver, Sonilo, ElevenLabs
- _refine_engine_type(): classifies engine.type from class_type fragments
  (txt2img, txt2vid, img2vid, img2img, vid2vid, audio)
- _populate_api_node_output(): extracts duration, resolution->size, ratio
- ByteDance dotted-key pattern handled by _populate_seedance_output
- Hooked into payload_builder._build_no_sampler_result (first fallback)
2026-04-20 11:58:37 +02:00
Ewald ALOEBOETOE 2ea1e40e25 Merge pull request #91 from Forsion07/Prompt-parsing
Added widgets support for concatenate nodes
2026-04-19 22:37:31 +02:00
Ewald ALOEBOETOE 28e921e13b Merge pull request #90 from MajoorWaldi/copilot/fix-import-ordering-in-prompt-tracer
fix: merge stdlib imports to satisfy ruff I001
2026-04-19 22:11:58 +02:00
Forsion 7c26b92cdc Added widgets support for concatenate nodes 2026-04-20 03:08:39 +07:00
MajoorWaldiandMajoorWaldi 285f3b1f1f fix: sort imports in prompt_tracer.py (ruff I001)
Agent-Logs-Url: https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/sessions/46b5051d-aef5-4462-9ef9-1f6afcfcd5a7

Co-authored-by: MajoorWaldi <129623145+MajoorWaldi@users.noreply.github.com>
2026-04-19 07:36:10 +00:00
MajoorWaldi 2c610cf951 Initial plan 2026-04-19 07:35:37 +00:00
Ewald ALOEBOETOE 4c29b955fd Merge pull request #89 from MajoorWaldi/copilot/fix-prompt-string-concatenation
Fix missing separators in StringConcatenate and StringFunction|pysssss prompt resolution
2026-04-19 09:16:07 +02:00
MajoorWaldiandMajoorWaldi 84dcc3a9d2 Fix separator handling in _resolve_string_concatenate_node and _resolve_pysssss_string_function_node
Agent-Logs-Url: https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/sessions/426835da-26bc-4704-9fa8-676c5b469c71

Co-authored-by: MajoorWaldi <129623145+MajoorWaldi@users.noreply.github.com>
2026-04-19 06:54:07 +00:00
MajoorWaldi 11e5464ddd Initial plan 2026-04-19 06:46:49 +00:00
Ewald ALOEBOETOE f35966df53 Merge pull request #88 from MajoorWaldi/copilot/fix-string-concatenate-delimiter
[WIP] Fix string concatenation issues in geninfo parser
2026-04-19 08:22:44 +02:00
Ewald ALOEBOETOE 974b92da91 Merge pull request #80 from Forsion07/Prompt-parsing
Custom node concatenate support
2026-04-19 08:19:08 +02:00
MajoorWaldi b92fd345f7 Initial plan 2026-04-19 06:16:40 +00:00
Forsion 1eaa616f0b Improved concatenate support for default and custom nodes 2026-04-19 04:55:14 +07:00
Forsion 12e0bd52a7 Custom node concatenate support 2026-04-19 01:53:06 +07:00
Ewald ALOEBOETOE ce023bc5c0 Merge pull request #84 from MajoorWaldi/dependabot/npm_and_yarn/vite-8.0.8
chore(deps-dev): bump vite from 6.4.2 to 8.0.8
2026-04-17 11:48:21 +02:00
Ewald ALOEBOETOE ae3c1af705 Merge pull request #83 from MajoorWaldi/dependabot/npm_and_yarn/happy-dom-20.9.0
chore(deps-dev): bump happy-dom from 20.8.9 to 20.9.0
2026-04-17 11:48:03 +02:00
MajoorWaldi f73d78d6ee chore(deps-dev): bump vite from 6.4.2 to 8.0.8
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.2 to 8.0.8.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 07:56:21 +00:00
MajoorWaldi 9ad017995e Merge remote-tracking branch 'origin/main' into dependabot/npm_and_yarn/happy-dom-20.9.0
Co-authored-by: MajoorWaldi <129623145+MajoorWaldi@users.noreply.github.com>
2026-04-17 07:56:11 +00:00
Ewald ALOEBOETOE c82a465dc2 Merge pull request #82 from MajoorWaldi/dependabot/github_actions/softprops/action-gh-release-3
chore(deps): bump softprops/action-gh-release from 2 to 3
2026-04-17 09:55:26 +02:00
MajoorWaldi 570b854fa3 chore(deps-dev): bump happy-dom from 20.8.9 to 20.9.0
Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 20.8.9 to 20.9.0.
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](https://github.com/capricorn86/happy-dom/compare/v20.8.9...v20.9.0)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 07:54:41 +00:00
Ewald ALOEBOETOE e6ced8c3b4 Merge pull request #85 from MajoorWaldi/dependabot/npm_and_yarn/vitejs/plugin-vue-6.0.6
chore(deps-dev): bump @vitejs/plugin-vue from 5.2.4 to 6.0.6
2026-04-17 09:53:57 +02:00
Ewald ALOEBOETOE b1210d72f1 Merge pull request #86 from MajoorWaldi/dependabot/npm_and_yarn/prettier-3.8.3
chore(deps-dev): bump prettier from 3.8.2 to 3.8.3
2026-04-17 09:53:42 +02:00
Ewald ALOEBOETOE 092401a03a Merge pull request #87 from MajoorWaldi/dependabot/npm_and_yarn/vue-3.5.32
chore(deps): bump vue from 3.5.31 to 3.5.32
2026-04-17 09:53:25 +02:00
Ewald ALOEBOETOE 7af53cc0c6 Merge pull request #81 from Forsion07/Multi-staged-workflow-parsing
Multi-checkpoint fix
2026-04-17 09:52:45 +02:00
MajoorWaldi 106375f5d6 chore(deps): bump vue from 3.5.31 to 3.5.32
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 07:37:31 +00:00
MajoorWaldi a627822271 chore(deps-dev): bump prettier from 3.8.2 to 3.8.3
Bumps [prettier](https://github.com/prettier/prettier) from 3.8.2 to 3.8.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.8.2...3.8.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.8.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 07:37:25 +00:00
MajoorWaldi 11ed66ee83 chore(deps-dev): bump @vitejs/plugin-vue from 5.2.4 to 6.0.6
Bumps [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) from 5.2.4 to 6.0.6.
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@6.0.6/packages/plugin-vue)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-vue"
  dependency-version: 6.0.6
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 07:37:20 +00:00