Developer
e8b0f1144b
feat(frontend): slice 7a — DataTable wrapper + FileBrowser (TanStack Table)
...
Web UI rework. Highest-risk slice, part 1 of 2:
- New components/ui/data-table.tsx: generic TanStack Table wrapper on the
shadcn Table primitive. Controlled rowSelection/columnVisibility/
pagination, optional selection column (stopPropagation on cell click),
row-click, column-visibility dropdown, manual-pagination support.
Hard rule honored: NO getSortedRowModel, NO column resizing/sizing.
- Migrate pages/FileBrowser.impl.tsx off @mui/x-data-grid + @mui/material
onto DataTable: 5 columns (type/name/ext/size/modified), row-click ->
ffprobe preview preserved, column-visibility toggle, no pagination.
- DataTable + FileBrowser component tests (RED->GREEN).
Gate: build + lint + test green (22 files / 58 tests).
2026-06-17 18:02:47 +00:00
Developer
04f2e59c92
feat(frontend): slice 6b — Users compose dialog + 9 icons (finish Users)
...
Web UI rework. Completes the Users migration (6a directory + 6b compose):
- Compose dialog off @mui: shadcn Dialog family + Input (subject) +
Textarea (html body) + Separator + Label; IconButton -> Button ghost
- 9 @mui/icons-material -> lucide-react: Close->X, AttachFile->Paperclip,
FormatBold->Bold, FormatItalic->Italic, Link->Link,
FormatListBulleted->List, MailOutlined->Mail, Send->Send,
DeleteOutlined->Trash2
- Rich-text compose parity: markup insertion, attachments (FormData),
queue-status polling, send via useSendUserMessage
- UsersPage.impl.tsx now has ZERO @mui imports
Gate: build + lint + test green (20 files / 46 tests).
2026-06-17 16:18:49 +00:00
Developer
1e23c07a20
feat(frontend): slice 6a — Users directory surface + drawer (shadcn)
...
Web UI rework. Slice 6a (force-split; 6b = compose dialog next):
- UsersPage.impl.tsx directory surface off @mui: shadcn Table family +
Checkbox + Badge (status: success=chart-2/destructive/secondary) +
Avatar + Tooltip + Progress + Alert/Button/Stack/Typography
- MUI Drawer -> shadcn Sheet side="right" for user detail drawer
(buildUserDrawerModel rendering preserved)
- Selection-across-pagination + search/filter parity preserved
- Compose-dialog MUI subset (Dialog/TextField/Divider/IconButton +
9 icons) intentionally LEFT for slice 6b
Gate: build + lint + test green.
2026-06-17 14:36:07 +00:00
Developer
b6da7df7f9
feat(frontend): slice 5 — migrate Settings + Actions to shadcn/Tailwind
...
Web UI rework. Form-heavy pair (controlled useState parity, no form lib):
- pages/Settings.tsx off @mui: monitoring-machine CRUD, SSH-key mgmt,
SSH test/validation feedback, danger-zone reset (ConfirmDialog), tabs
- pages/Actions.tsx off @mui: saved-task editor, machine selection,
run history, tabs
- Both reuse migrated shared components (SectionCard/SelectionRailCard/
TabbedCard/HoverEditButton/ConfirmDialog/DialogFooter) as before
- Behavioral tests added (mocked hooks; no live SSH)
Gate: build + lint + test green (19 files / 39 tests).
2026-06-17 13:47:57 +00:00
Developer
c721f0dece
feat(frontend): slice 4 — migrate Dashboard + Applications to shadcn/Tailwind
...
Web UI rework.
- Migrate pages/Dashboard.tsx off @mui (shortcut CRUD dialogs, machine
switcher, BackupDashboardWidget mount; shortcuts reuse ConfirmDialog/
DialogFooter from slice 2)
- Migrate pages/Applications.tsx shell off @mui (tabs + library counts);
keeps <Media/> child intact (Media.tsx still MUI, deferred to slice 7
with its DataGrid)
- Behavioral tests for both pages
Gate: build + lint + test green.
2026-06-17 13:15:51 +00:00
Developer
e2ad731b5f
feat(observability): add Prometheus/Grafana/Loki/Alertmanager/Alloy stack and remove legacy Monitoring UI
2026-06-16 13:44:35 +00:00
alex
322b3d1a3b
feat(backups): wire up routes, nav, dashboard widget, and docs
...
- Add /backups route and navigation tab in App.tsx
- Add BackupDashboardWidget to Dashboard page
- Document backup monitoring feature in REQUIREMENTS.md
2026-05-11 21:54:50 +02:00
alex
3718045d7b
refactor(actions): unify add button placement with outline variant in list footer
2026-05-11 19:12:13 +02:00
alex
4940466054
fixes and improvements
2026-05-11 19:05:59 +02:00
alex
2a84553575
feat(settings): redesign SSH keys section with two-column layout
...
Refactor SSHKeyManager to match app layout pattern:
- List of SSH keys on the left (SelectionRailCard)
- Key details and form on the right (SectionCard)
- Add selectedSSHKeyId state to Settings component
- Click a key to select and populate the form
- New key button to create a new key
- Shows fingerprint and public key for selected key
- Delete button moved to the right panel
2026-05-11 18:54:00 +02:00
alex
8b26cd4fe0
fixes and improvements
2026-05-11 17:31:20 +02:00
alex
80d38ed86d
fixes and improvements
2026-05-11 17:00:46 +02:00
alex
7c704fc290
fixes and improvements
2026-05-11 15:45:59 +02:00
alex
befddf93ce
fix: pass jellyfin/jellyseerr secrets via get_machine_config and add placeholder for set fields
2026-05-07 23:39:59 +02:00
alex
26a30a5572
fixes and improvements
2026-05-07 22:24:08 +02:00
alex
a85c9a0df4
Fix collector warm-up and add enable toggle to MachineEditor
2026-05-07 21:43:13 +02:00
alex
6bf1cdd845
fixes and improvements
2026-05-07 21:09:43 +02:00
alex
3934893099
Auto-start collectors when saving machines
2026-05-07 21:09:05 +02:00
alex
02f6617f71
Validate SSH when saving machines
2026-05-07 20:59:23 +02:00
alex
dd7b8f133c
fixes and improvements
2026-05-07 18:58:38 +02:00
alex
84dc2bd2f6
Add SSH connection validation for settings
2026-05-07 18:31:49 +02:00
alex
efc9b247c7
fixes and improvements
2026-05-07 13:48:10 +02:00
alex
bba23165ab
fixes and improvements
2026-05-07 12:34:16 +02:00
alex
016e3255f5
Add missing frontend and backend files
2026-05-06 23:46:08 +02:00
alex
b789034bbe
fixes and improvements
2026-05-06 23:37:19 +02:00
alex
5277f21577
fixes and improvements
2026-05-06 16:33:02 +02:00
alex
d8d80867ce
now supports multi machine monitoring
2026-05-06 15:09:15 +02:00
alex
8f0a9650b0
refactor frontend and backend modules
2026-05-04 22:57:57 +02:00
alex
e0e461502b
ui improvements
2026-05-04 22:25:23 +02:00
alex
7950bc9f64
redesign
2026-05-04 17:24:41 +02:00
alex
4cdb4b144c
simplifications and refactorings
2026-05-04 16:59:06 +02:00
alex
4226628d5a
Phase 2: Docker and OIDC auth
2026-05-04 13:50:53 +02:00
alex
3c432473e5
Add FastAPI backend and React frontend subprojects
...
Backend:
- FastAPI app with 17 REST endpoints covering dashboard, monitoring,
media index, file browser, and jobs
- Reuses existing clients/domain/services unchanged
- pydantic-settings config, dependency injection, CORS setup
- Auto-generated OpenAPI docs at /docs
Frontend:
- Vite + React + TypeScript SPA
- @tanstack/react-query for data fetching with polling
- ag-grid-react for media table and file browser
- recharts for monitoring charts
- Tailwind CSS styling
- 4 pages: Dashboard, Monitoring, Media, File Browser
- Typed API client matching all backend endpoints
Also:
- docs/MIGRATION_PLAN.md with full architecture plan
- Updated .gitignore for both subprojects
- Streamlit app preserved for now (can coexist)
2026-04-30 21:40:18 +02:00