Commit Graph
5808 Commits
Author SHA1 Message Date
Bergasha 33991f4e22 Added flexShrink to the session avatar so it stops getting squished in a tight row 2026-08-19 13:31:33 +10:00
Bergasha df300919fc Gated season/episode fields on episode type - was showing S/E labels on movies and music too, using the episode number as season 2026-08-19 13:31:27 +10:00
Thomas Camlong 315245e048 fix(media-server): close Stack element in session table cell 2026-08-18 10:28:44 +02:00
BergashaandThomas ebdfeb724b fix(media widget): text size fix and added season + Episode info (#6605)
Co-authored-by: Thomas <thomas@ajnart.fr>
2026-08-18 09:44:12 +02:00
Thomas e842177d9b feat: port release-v2 experience improvements from #6582 (audited subset) (#6609) 2026-08-18 09:40:02 +02:00
Thomas Camlong e3a713d2df Revert "fix: use stable selfhst icons for flaky integrations"
This reverts commit e7879ed3a2.
2026-08-18 09:24:00 +02:00
ajnart e7879ed3a2 fix: use stable selfhst icons for flaky integrations 2026-08-17 18:12:02 +02:00
ajnart 19e72fc757 fix: use stable readarr icon URL 2026-08-17 17:41:00 +02:00
Thomas Camlong 38fc5dd582 feat(custom-widgets): configure missing credentials 2026-08-17 15:47:42 +02:00
Thomas Camlong 6d284adb98 fix(media-server): stack user details reliably 2026-08-17 15:40:49 +02:00
Thomas Camlong bd171bf73b fix(custom-widgets): reduce action menu file below architecture line limit 2026-08-17 08:39:29 +02:00
Bergasha 1ee519bb7a fix(beszel): stop small text from vanishing under board zoom (#6616) 2026-08-17 07:14:29 +02:00
Thomas Camlong c53852fdb6 refactor(ui): adopt Mantine Marquee and drop mount guards
Rebuild the integration marquee on Mantine's Marquee, SimpleGrid and
ThemeIcon instead of the hand-rolled grid, track and keyframes, and
reduce the stylesheet to the mask and reduced-motion rule.

Drop the useMounted guards from the login form and let the buttons rely
on the pending state alone, and use Group for the restore flow's file
summary.
2026-08-17 01:15:45 +02:00
Thomas Camlong 206905ea2d feat(workshop): rebuild install and publish as pages
Replace the stacked install modals (browse -> details -> import review)
with page-based flows so the primary action is always reachable:

- /manage/custom-widgets/workshop browses submissions as a card grid
  with large previews, sitting in a tab next to the installed widgets
- /manage/custom-widgets/workshop/[id] merges the listing, security
  review and source setup onto one page with a sticky install footer
- /manage/custom-widgets/publish/[id] replaces the publish modal
- /manage/workshop redirects; its navbar entry is gone
- the Custom CSS picker collapses from three modals to one

Extract useCustomWidgetImport and ImportReviewContent so the Workshop
page and the file/clipboard dialog share one import pipeline.

Votes now show the viewer's own choice filled Reddit-style, backed by a
new user-votes query, and screenshots get a zoomable lightbox.

Rework the installed list onto ManageCollectionItem: show the widget
description, replace the cryptic "JSX - 2" badge with plain request and
origin facts, and swap the toggle and bare pencil for a status badge,
a labelled Edit button and a menu entry for enable/disable.

Fixes found while reviewing:

- importing could run twice and duplicate a widget; guard on pending and
  succeeded, and return to the installed list instead of the heavy edit
  form
- a background refetch of the submission (window focus, or the
  invalidation a vote triggers) reset the source setup and silently wiped
  part-typed credentials; key the reset on the sources, not the object
- breadcrumbs raised MISSING_MESSAGE for unmapped dynamic segments; fall
  back to the raw segment via t.has
- publishing had no in-flight guard and could post duplicate listings
- tooltips on disabled vote and report controls never fired, making the
  sign-in hint unreachable
2026-08-17 01:14:38 +02:00
Thomas Camlong 50537d077c feat(custom-widgets): export legacy definitions 2026-08-16 23:33:07 +02:00
Thomas Camlong 229a559aff fix: replace Workshop detail with import review 2026-08-16 23:16:29 +02:00
Thomas Camlong 4e514ab151 fix: show Workshop voting as net score 2026-08-16 23:15:09 +02:00
Thomas Camlong 960551f573 feat: simplify Workshop widget installation 2026-08-16 23:11:52 +02:00
Thomas Camlong 304ea089a2 fix: resolve backup migrations in development 2026-08-16 22:32:05 +02:00
Thomas Camlong 199f6ffc3b fix: run custom migrations on backup restore 2026-08-16 22:25:15 +02:00
Thomas Camlong 7e569bff4c fix: skip restore confirmation during onboarding 2026-08-16 22:10:12 +02:00
Thomas Camlong 0ec5f36050 ci: publish release v2 test image 2026-08-16 21:25:08 +02:00
Thomas e22be4dca6 Merge pull request #6607 from homarr-labs/fix/dnd-kit-widget-options-overlap
fix(board): render widget options above grid resize handles
2026-08-16 15:12:20 +02:00
ajnart 3237d5953f fix(board): render widget options above grid resize handles
The widget options ActionIcon rendered inside the widget Card, whose
containerType: size creates a stacking context, trapping its zIndex and
letting the dnd-kit resize handles paint over and block it.

Hoist BoardItemMenu out of the Card to the item root (same layer as the
title badge) and raise it to zIndex 30, above the handles (20). Error
recovery after edits is preserved via resetKeys=[item], which replaces
the resetErrorBoundary prop the in-card menu used to receive.
2026-08-16 14:15:14 +02:00
Thomas 1325418300 fix: complete location input test options (#6602)
* fix: complete location input test options

* fix: run CI for slash-named branches
2026-08-15 13:50:46 +02:00
Thomas 4505ce96c9 fix: refine dashboard interactions and widget options (#6597)
* fix: refine dashboard item interactions

* fix board interactions and widget options

* feat: improve bookmark selection

* fix: address dashboard review feedback
2026-08-15 10:44:37 +02:00
Thomas Camlong b491d45fdc feat: improve workshop publishing flow 2026-08-14 23:16:39 +02:00
Thomas Camlong 168091134d fix: bound preview query context 2026-08-14 22:46:15 +02:00
Thomas Camlong 28e58a5a5c fix: expose assistant provider errors 2026-08-14 22:37:28 +02:00
Thomas Camlong 3c533f2d96 fix: isolate downloads stats state 2026-08-14 22:07:12 +02:00
Thomas Camlong 2e3e654748 fix: improve auth form semantics 2026-08-14 21:22:14 +02:00
Thomas Camlong 409e8ed71a feat: unify authentication pages 2026-08-14 21:18:06 +02:00
Thomas Camlong 95489b692c fix: derive workshop web url 2026-08-14 21:10:34 +02:00
Thomas Camlong b8c06a8622 feat(dev): support direct environment overrides 2026-08-14 21:09:41 +02:00
Thomas Camlong f62add8ae4 Remove obsolete DeepSource config and Workshop critiques 2026-08-14 20:47:21 +02:00
Thomas Camlong 498d781e19 fix: isolate node instrumentation 2026-08-14 20:16:34 +02:00
Thomas Camlong 0afed2c3f6 fix: contain media server streams 2026-08-14 20:09:57 +02:00
ajnart efc0ee470b test: remove obsolete advanced interactions e2e 2026-08-14 15:14:42 +02:00
ajnart fe41382074 test: remove obsolete advanced focus assertion 2026-08-14 14:47:02 +02:00
Thomas Camlong c851609041 fix: stabilize media streams and edit hover 2026-08-14 14:33:02 +02:00
ajnart 03338b1755 revert: remove advanced mode from compact widgets 2026-08-14 13:30:10 +02:00
ajnart 8a44451c72 docs: simplify advanced view guidance 2026-08-14 12:11:33 +02:00
ajnart d434953478 test: skip removed universal create flow 2026-08-14 12:11:33 +02:00
ajnart 7aaa646b82 test: restore release advanced focus flows 2026-08-14 12:11:33 +02:00
ajnart c4f6d98300 fix: stabilize release e2e flows 2026-08-14 12:11:33 +02:00
ajnart 81fdc5856b test: preserve release advanced focus 2026-08-14 12:11:33 +02:00
ajnart 4e193da3a4 fix: preserve release advanced widget support 2026-08-14 12:11:33 +02:00
Thomas Camlong 29f7c35fc1 test: align widget modernization fixtures 2026-08-14 12:11:33 +02:00
Thomas Camlong 8775597d5a feat: expand advanced widget experiences 2026-08-14 12:11:33 +02:00
ajnart 339a0d8e2b docs: simplify assistant guide 2026-08-14 12:11:33 +02:00