Commit Graph
718 Commits
Author SHA1 Message Date
Dariusz L 9d0321bb81 refactor(frontend): extract base model aliases 2026-08-02 13:36:12 +02:00
Dariusz L 57e6f8c61d refactor(frontend): extract search source policies 2026-08-02 13:34:02 +02:00
Dariusz L c2aaf3b7e6 test(frontend): cover persisted search source flags 2026-08-02 13:32:11 +02:00
Dariusz L eb8f27cecb test(frontend): cover search source policies 2026-08-02 13:31:23 +02:00
Dariusz L 10ef9504dd test(frontend): cover download progress states 2026-08-02 13:28:17 +02:00
Dariusz L 396a28ba4f refactor(frontend): extract download progress policy 2026-08-02 13:27:21 +02:00
Dariusz L f2d11bd477 refactor(frontend): extract queue storage methods 2026-08-02 13:26:21 +02:00
Dariusz L 922a30fdd4 refactor(frontend): extract shared API client 2026-08-02 13:20:20 +02:00
Dariusz L 64022c8509 test(frontend): cover ComfyUI entrypoint contract 2026-08-02 13:17:54 +02:00
Dariusz L bbd3965eac chore(frontend): add JavaScript test tooling 2026-08-02 13:16:35 +02:00
Dariusz L f9a03a65a9 Add footer version check failure retry interval
Use a separate shorter refresh interval when footer version checks fail,
track the failure state, and schedule retries via a dedicated timer.
On success, clear any pending retry timer so recovery is immediate.
2026-08-02 13:10:40 +02:00
Dariusz L ccd2585663 Add Comfy Registry fallback and retry logic to version checks
- Retry GitHub pyproject version fetch up to 3 times on failure
- Fall back to Comfy Registry install endpoint when GitHub is unavailable
- Avoid caching failed version checks, so stale unavailable states do not persist
- Add targeted tests for registry fallback and failed-check caching behavior
2026-08-02 13:04:47 +02:00
Dariusz L abb92b2138 refactor(frontend): clean unused catches and regex escapes 2026-08-02 04:20:44 +02:00
Dariusz L 4e0d11e7cc refactor(frontend): remove unused imports and locals 2026-08-02 04:14:54 +02:00
Dariusz L 57b79ba208 refactor: remove dead compatibility shims 2026-08-02 04:03:09 +02:00
Dariusz L bb0e921511 refactor(routes): remove unused compatibility facades 2026-08-02 03:45:51 +02:00
Dariusz L 8eca219420 docs: document backend architecture and checks 2026-08-02 03:31:01 +02:00
Dariusz L e489c3fac7 test(integration): exercise public route entrypoint 2026-08-02 03:25:51 +02:00
Dariusz L c725dfa05f test(routes): cover compatibility registrations 2026-08-02 03:23:56 +02:00
Dariusz L e09d3c2bf8 refactor(entrypoint): extract node definitions 2026-08-02 03:19:32 +02:00
Dariusz L a6e8fe1c55 refactor(entrypoint): extract extension runtime state 2026-08-02 03:15:43 +02:00
Dariusz L f3a6c9db6f fix(routes): preserve HTTP error statuses 2026-08-02 03:12:21 +02:00
Dariusz L 4d65a4dc87 refactor(search): extract search support service 2026-08-02 03:08:50 +02:00
Dariusz L 3f0359e1f4 refactor(context): require hash and download dependencies 2026-08-02 03:04:29 +02:00
Dariusz L 0b2166ae58 refactor(context): require metadata service dependencies 2026-08-02 03:01:10 +02:00
Dariusz L d43fd41d32 refactor(context): require loaded models dependencies 2026-08-02 02:59:38 +02:00
Dariusz L b7a1b1cf07 refactor(context): require workflow service dependencies 2026-08-02 02:58:08 +02:00
Dariusz L 9cd8966d13 refactor(context): require directory service dependencies 2026-08-02 02:55:06 +02:00
Dariusz L 39a0606afa refactor(context): require scanner service dependencies 2026-08-02 02:52:37 +02:00
Dariusz L 8744da536b refactor(settings): extract settings routes into SettingsService 2026-08-02 02:48:51 +02:00
Dariusz L 23d3585395 test(workflow): cover workflow analysis service routes 2026-08-02 02:42:03 +02:00
Dariusz L 3fdec8c24e refactor(loaded): extract loaded model route handlers into service 2026-08-02 02:38:08 +02:00
Dariusz L d8aed83e04 refactor(directories): extract directory route handlers into DirectoryService 2026-08-02 02:25:08 +02:00
Dariusz L c2f44e7831 refactor(metadata): extract metadata route handlers into MetadataService and add tests 2026-08-02 02:14:10 +02:00
Dariusz L 627dd5a84a refactor(scanner): extract scanner route handlers into ScannerService and add tests 2026-08-02 02:05:27 +02:00
Dariusz L e5bbedad46 Update .gitignore 2026-08-02 01:58:32 +02:00
Dariusz L ffc63529ed test(downloads): add download route tests for headers, metadata, and error handling 2026-08-02 01:56:23 +02:00
Dariusz L 68321b7799 refactor(downloads): extract download route handlers into DownloadService and add tests 2026-08-02 01:50:27 +02:00
Dariusz L e9ffb8f632 refactor(hash): extract hash route handlers into HashService and add tests 2026-08-02 01:38:01 +02:00
Dariusz L a6634a5f61 test(search): add SearchOrchestrator component tests 2026-08-02 01:24:41 +02:00
Dariusz L 1f82523bef test(search): add search service component tests, coverage config, and dev dependencies 2026-08-02 01:15:45 +02:00
Dariusz L b9054f0d22 refactor(search): centralize route context dependency resolution in SearchDependencies 2026-08-02 01:04:10 +02:00
Dariusz L b4b03bb335 refactor(search): extract orchestrator, providers, and cache from SearchService
Replace the 1095-line monolithic SearchService with a thin facade that
delegates to SearchOrchestrator. Split the implementation into three
focused modules:

- search_orchestrator.py: request parsing, provider coordination, and
  response construction
- search_providers.py: per-source execution, progress callbacks, and
  async task creation
- search_cache.py: timestamping and stable cache stamping for results

Add unit tests for the new components in
tests/test_search_service_components.py. Preserve the existing HTTP
route behavior by keeping SearchService.search_sources as the stable
route-facing API.
2026-08-02 00:56:18 +02:00
Dariusz L 632ce2a4ce Add route registry tests 2026-08-02 00:42:10 +02:00
Dariusz L 380e5d4f9b refactor: replace generic DependencyCallable with explicit Protocols for model services 2026-08-02 00:32:57 +02:00
Dariusz L 1dd1b50635 refactor: introduce typed dependency dataclasses for model services
Replace dynamic MODEL_SERVICE_DEPENDENCIES injection with frozen dataclasses
(CivitAISearchDependencies, CustomUrlDependencies, ModelDetailsDependencies)
to make service dependencies explicit and type-safe. Update model services to
construct via RouteContext, and add tests enforcing minimal dataclass fields.
2026-08-02 00:25:45 +02:00
Dariusz L c247c4a7a4 refactor: split model_service into focused service classes
Break down the monolithic model_service into smaller, single-responsibility
services: CivitAISearchService, CustomUrlService, and ModelDetailsService.
Introduce ModelServiceDependencies base class to centralize RouteContext
dependency injection. Update model_service to act as a thin facade that
delegates to the specialized services. Add unit tests validating the new
service boundaries and basic request validation behavior.
2026-08-02 00:17:45 +02:00
Dariusz L 5fd9bc5802 refactor: extract model route handlers into ModelService 2026-08-02 00:10:25 +02:00
Dariusz L be0794e36d refactor: extract workflow route handlers into WorkflowService 2026-08-01 23:56:17 +02:00
Dariusz L 91fa8f391d refactor(search): extract search orchestration into SearchService 2026-08-01 23:50:56 +02:00