Changelog
Changed
- Resource list tables (containers, images, volumes, networks, pods, secrets, machines, registries) now render only on-screen rows (virtualization), so large lists scroll and search smoothly. Grouping, connectors, striping, sorting, selection and sticky headers unchanged; the containers Image column is fixed-width with ellipsis so it no longer resizes while scrolling.
- Mock mode (
CONTAINER_DESKTOP_MOCK) generates its sample data from a fixed seed instead of static fixtures — deterministic and semantically-sound, scaled for UI stress-testing (60+ containers and 30+ of every other resource per engine, now including registries and machines). Dev/test only; tree-shaken out of production builds. - Network settings: test-before-save global proxy for app traffic and native Podman commands.
- Added AI chatbot.
- Refactored the engine-communication layer into smaller, single-responsibility modules — no functional change.
- Refactored
Application.ts— moved the registry catalog/search, security-report and environment helpers into focusedcontainer-client/application/modules — no functional change. - Settings split into categories with a left nav rail: Appearance, Startup & behavior, AI Assistant, Configuration, Logging.
- Logs can be saved to a local file on demand, with rotation and a size cap — on-device, never uploaded.
- Cleaned up code comments across the codebase — no functional change.
Fixed
- Connection info shows the real socket (DOCKER_HOST) instead of a blank
unix://— the resolved per-connection socket now reaches the renderer, and a settings refresh can't erase it. - Live container logs no longer crash on
getApiDriverof undefined — the stream targets the container's own connection, not an undefined global engine. - Settings: the monospace-font picker keeps its filter on top and caps the list height; the "Check for new versions" buttons render at equal size.