Commit Graph
19 Commits
Author SHA1 Message Date
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 960551f573 feat: simplify Workshop widget installation 2026-08-16 23:11:52 +02:00
Thomas 45d8bc9443 feat: add the community-funded Homarr assistant provider (#6563)
* Add Homarr provider proxy foundation

* Complete Homarr provider integration

* Harden Homarr provider integration

* Address Homarr provider review feedback

* Address CodeRabbit provider feedback

* Localize provider errors

* Handle provider activity load failures

* docs: improve workshop and homepage

* Harden Homarr provider limits

* fix: harden the Homarr provider

* fix: address provider review feedback

* fix: clarify provider request accounting

* feat: complete the Homarr provider endpoint

* fix: terminate invalid provider streams
2026-08-14 11:32:11 +02:00
ajnart dfafad15bf test custom widget assistant authoring 2026-08-14 11:32:11 +02:00
ajnart ceed0979a1 fix assistant custom widget creation 2026-08-14 11:32:11 +02:00
ajnart d80e883479 fix: harden assistant authoring and UI 2026-08-14 11:32:10 +02:00
ajnart 60ea03e72e Revert "feat: refine mobile dashboard experience"
This reverts commit 315520beca.
2026-08-14 11:32:09 +02:00
ajnart c1da19c9b2 feat: refine mobile dashboard experience 2026-08-14 11:32:09 +02:00
ajnart afa54755fd fix custom widget review findings 2026-08-14 10:35:21 +02:00
Thomas Camlong 327e5c15ae fix(workshop): stack widget install flow 2026-08-13 19:51:44 +02:00
Thomas Camlong 0871e4cf0d test: validate Workshop source locale 2026-08-13 19:51:25 +02:00
Thomas Camlong 2c44c7f2b8 test: fix custom option repair fixture 2026-08-13 19:51:25 +02:00
Thomas Camlong c2cf25b4fb fix: repair stale custom widget options 2026-08-13 19:51:25 +02:00
Thomas 400127b45c fix: harden v2 custom widgets and Workshop (#6480) 2026-08-13 19:50:46 +02:00
Thomas 825636c4f6 fix(custom-widgets): address final v2 review feedback (#6451) 2026-08-13 19:49:25 +02:00
Thomas 3aa14e22ed fix(custom-widgets): address v2 merge review (#6446) 2026-08-13 19:49:25 +02:00
Thomas acdfcbb18e feat(custom-widgets): complete Custom JSX v2 (#6390) 2026-08-13 19:48:57 +02:00
Thomas 3a1245cbc5 fix(custom-widgets): fix v2 editor crash and definition-not-found race (#6377) 2026-08-13 19:47:16 +02:00
Thomas 83e3b22f9a feat(custom-widgets): Full Mantine v9 + SubFetch support for custom JSX (#6304) 2026-08-13 19:45:44 +02:00