Skip to content

Conversation

@Aatricks
Copy link
Owner

@Aatricks Aatricks commented Feb 9, 2026

This pull request introduces a new React + TypeScript + Vite-based frontend application, replacing the previous Streamlit configuration. The new setup includes a modern UI built with Mantine, state management with Zustand, image upload and preview capabilities, a gallery, and API/WebSocket integration for real-time updates. Additionally, it establishes a robust ESLint configuration and PostCSS setup for styling.

Frontend application setup and configuration:

  • Added a new frontend directory with a React + TypeScript + Vite project, including package.json with dependencies for Mantine UI, Zustand, Axios, and development tools like Vite and ESLint.
  • Introduced a comprehensive ESLint configuration using recommended rules for JavaScript, TypeScript, React Hooks, and Vite, along with example documentation for further ESLint customization in frontend/README.md. [1] [2]
  • Configured PostCSS with Mantine and custom breakpoint variables for responsive design in postcss.config.cjs.

Core application structure and UI:

  • Implemented the main application shell in App.tsx, featuring a responsive layout with a header, navigation sidebar, color scheme toggle, server connection status, and integration of key components (GenerationSettings, ImagePreview, Gallery).
  • Added global and component-specific CSS for consistent styling and layout in index.css and App.css. [1] [2]
  • Established the application entry point and Mantine provider setup in main.tsx, and provided a basic HTML template in index.html. [1] [2]

Image generation, preview, and gallery features:

  • Created an API client (api/client.ts) for image generation, model listing, and server communication, including WebSocket support for real-time image preview updates.
  • Developed the ImagePreview component to display real-time generation progress and preview images, handling WebSocket messages and progress logic.
  • Built a Gallery component to showcase recent image generations, and an ImageInput component for drag-and-drop image uploads with preview and removal functionality. [1] [2]

Removal of legacy configuration:

  • Removed the previous .streamlit/config.toml, indicating the deprecation of Streamlit in favor of the new React-based frontend.

…e pipeline and UI, and add comprehensive tests.
…hared persistence

- HistoryManager with deduplication, backup rotation, and in-memory cache
- Search/filter UI with live search (keyword, model, date range)
- Fix null model_type/model_path/denoise in metadata
- 33 unit tests
Flux2/SDXL pipelines
- Replace Streamlit-based UI with a modern React + Vite + Mantine
  frontend.
- Refactor backend server with enhanced batching, model type detection,
  and synchronized previews.
- Implement SDXL Refiner and ControlNet support in the core generation
  pipeline.
- Optimize Flux2 Klein integration with corrected RoPE logic and
  resolution-aware sampling.
- Enhance ModelCache with multi-checkpoint support and LRU eviction.
- Improve memory management and HiDiffusion compatibility across model
  architectures.
- Remove legacy Streamlit components, configuration, and app.py.
workflows

- Resolve UnboundLocalError for hf_neg in Pipeline.py by defining
  prompts before conditional blocks.
- Integrate ADetailer into run_img2img and run_controlnet pipeline
  paths.
- Fix ADetailer.apply argument order where negative conditioning was
  incorrectly passed as positive.
- Replace non-existent sampler_object with ksampler in ADetailer.py.
- Fix device mismatch RuntimeError in tensor_util.py by ensuring
  consistent tensor placement in tensor_paste.
- Update /api/models to return model capabilities and implement
  intelligent UI disabling in GenerationSettings.tsx based on model
  support.
- Add E2E verification test for comprehensive feature testing across
  SD1.5, SDXL, and Flux architectures.
- Flatten Adetailer image results in src/Core/Pipeline.py to prevent
  nested lists in batched result
- Add defensive type-checking in server.py's image processing loop to
  safely handle unexpected data structures.
- Fixes a crash occurring when Adetailer is enabled during batched
  generation.
- Synchronize frontend default sampler (dpmpp_sde_cfgpp) and scheduler (ays) with server defaults.
- Implement automatic model selection on load to ensure valid settings are initialized.
- Add missing supported samplers to the selection list.
- Fix Model selector dropdown issue by disabling 'searchable' and stabilizing options with useMemo.
- Improve UX for Refiner and ControlNet selectors with better empty states.
@Aatricks Aatricks self-assigned this Feb 9, 2026
@Aatricks Aatricks merged commit 5285f53 into main Feb 9, 2026
0 of 2 checks passed
@Aatricks Aatricks deleted the server-first branch February 9, 2026 20:05
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.

1 participant