ajnart
bbd1abd4f0
fix: address responsive layout review
2026-08-14 11:32:09 +02:00
ajnart
02fe99d5aa
refactor: simplify mobile board layouts
2026-08-14 11:32:09 +02:00
ajnart
747234c040
fix: keep mobile board widgets unchanged
2026-08-14 11:32:09 +02:00
ajnart
a9c8b65c14
Revert "feat: complete automatic mobile board UX"
...
This reverts commit 7959c20d88 .
2026-08-14 11:32:09 +02:00
ajnart
e336059079
Revert "fix: harden automatic mobile boards"
...
This reverts commit d0b9348b86 .
2026-08-14 11:32:09 +02:00
ajnart
708105ab3f
fix: harden automatic mobile boards
2026-08-14 11:32:09 +02:00
ajnart
e6bd1adfc2
feat: complete automatic mobile board UX
2026-08-14 11:32:09 +02:00
ajnart
c1da19c9b2
feat: refine mobile dashboard experience
2026-08-14 11:32:09 +02:00
ajnart
d63653142d
feat: add automatic mobile board layout
2026-08-14 11:32:09 +02:00
ajnart
bd4bbcaca2
chore: reconcile widget layer after stack rebase
2026-08-14 11:07:09 +02:00
Thomas Camlong
a3a89db727
test: align widget modernization fixtures
2026-08-14 11:07:09 +02:00
Thomas Camlong
c099a8eef6
feat: expand advanced widget experiences
2026-08-14 11:07:09 +02:00
Thomas Camlong
836a4cd46b
feat: modernize widget experience
2026-08-14 11:07:08 +02:00
Thomas Camlong
c09ed96978
fix: address final widget review findings
2026-08-14 11:07:08 +02:00
Thomas Camlong
44b55a401c
fix: complete widget review cleanup
2026-08-14 11:07:08 +02:00
Thomas Camlong
f00f5b83b5
fix: address remaining widget review feedback
2026-08-14 11:07:08 +02:00
Thomas Camlong
0f9d038aaf
fix: complete widget modernization review
2026-08-14 11:07:08 +02:00
Thomas Camlong
a38e731209
fix: address widget review feedback
2026-08-14 11:07:08 +02:00
Thomas Camlong
a2763d1f6f
feat: modernize dashboard widgets
2026-08-14 11:07:07 +02:00
Thomas Camlong
4227e392b5
fix: address board grid CI and review
2026-08-14 11:07:06 +02:00
Thomas Camlong
28ac23e66b
fix: address board grid review
2026-08-14 11:07:06 +02:00
Thomas Camlong
cddae6719e
feat: rebuild board grid with dnd-kit
2026-08-14 11:07:06 +02:00
ajnart
d6b114e423
feat: rebuild board grid experience
2026-08-14 11:07:06 +02:00
ajnart
e41d938a5f
test: match custom widget cache version
2026-08-14 11:07:02 +02:00
ajnart
afa54755fd
fix custom widget review findings
2026-08-14 10:35:21 +02:00
ajnart
0482c040ec
chore: reconcile v2 after stack rebase
2026-08-13 19:59:46 +02:00
Thomas
f3f2778f1f
test: cover public custom widgets for guests ( #6558 )
2026-08-13 19:51:44 +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
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
83e3b22f9a
feat(custom-widgets): Full Mantine v9 + SubFetch support for custom JSX ( #6304 )
2026-08-13 19:45:44 +02:00
Thomas
ff2cdecc86
feat: rewrite image picker ( #6556 )
...
* feat: rewrite image picker
* style: auto-fix lint and format
* fix: address image picker review
* fix: preserve unicode icon searches
* test: stabilize custom widget login
* fix: suggest image searches only on create
2026-08-11 14:49:52 +02:00
Thomas
b32ad82850
perf: cut cold route compilation and unblock preview images ( #6441 )
2026-08-07 20:24:26 +02:00
Thomas
cf0e469465
feat: restrict apps management to board modifiers ( #6425 )
2026-07-21 16:56:33 +02:00
Thomas
5e39c8813a
feat(preferences): add enableRightClickOnWidgets user preference ( #6298 )
2026-07-17 14:42:19 +02:00
Josh Preston and Thomas
33395ae226
feat(integrations): add PatchMon integration and widget ( #6119 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 17:48:43 +02:00
Thomas
7c152cf4fe
feat(api): expose board automation endpoints ( #6213 )
...
* feat(api): expose board automation endpoints
* style: auto-fix lint and format
* test(api): cover board settings updates
* Delete .opencode/changelog/2026-07-06.md
2026-07-10 17:27:42 +02:00
Thomas
f19033e0d5
feat: simplify caching — TanStack Query as single source of truth ( #6075 )
2026-07-03 16:33:03 +02:00
ajnart
d18d07d2f1
style: auto-fix lint and format
2026-06-27 10:57:12 +02:00
Thomas Camlong
fb348044fb
refactor widget-only integrations
2026-06-27 10:57:12 +02:00
Thomas
d059023b51
feat(analytics): migrate from Umami to PostHog server-side analytics ( #5983 )
...
* feat(analytics): migrate from Umami to PostHog server-side analytics
Replace @umami/node with posthog-node for all server-side telemetry.
Add singleton PostHog client, feature tracking POC, DAU heartbeat,
and tRPC analytics router. Cron job is now locked (no manual trigger,
no custom interval). Update consent copy to explain what we collect
and why.
* style: auto-fix lint and format
* refactor(analytics): simplify + add client-side posthog-js init
- Inline constants.ts and track.ts into client.ts (single source)
- Remove dead exports (shutdownPostHogAsync, getPostHogClient)
- Flatten all DB queries into one Promise.all (no waterfall)
- Derive integration/widget totals from group-by (drop redundant counts)
- Add posthog-js with dynamic import, gated on enableGeneral
- Move Analytics component to body, pass consent from server settings
* style: auto-fix lint and format
* feat(cron): add hidden flag to cron jobs, hide analytics from task panel
The analytics job runs silently in the background — users don't need
to see or interact with it. Hidden jobs are filtered out of getAllAsync
so they never appear in the management UI.
* refactor(analytics): simplify to single toggle, always collect all data
Remove granular enableWidgetData/enableIntegrationData/enableUserData
toggles. Analytics is now a single on/off switch. When enabled, all
anonymous usage data is collected in one flat Promise.all call.
Side effect: existing users with enableGeneral=true who had granular
flags off will now send all data. This is by design — the granular
controls added complexity without meaningful privacy benefit since
the data is already anonymous counts.
* style: auto-fix lint and format
2026-06-19 21:21:50 +02:00
Louis Bailleau
fb18b975b2
feat: add local group support for OIDC users ( #5952 )
2026-06-16 13:45:44 +02:00
Thomas and copilot-swe-agent[bot]
dbf021e04a
feat(docker): add container logs modal and stats columns ( #4807 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-05 16:57:26 +02:00
Thomas
3d3e3059a9
feat: media request search as first-class spotlight mode ( #5823 )
2026-06-05 16:09:14 +02:00
Thomas
fd10788838
fix(auth): relax password complexity requirements to suggestions-only ( #5764 )
2026-06-04 07:56:34 +02:00
Meier Lukas
6ec058c835
feat(rss-feed): add optional poster ( #5452 )
2026-04-10 18:11:20 +02:00
Meier Lukas
fce970c706
Merge commit from fork
...
* fix(security): restrict rss-feed urls based on authentication
* fix: lint issues
* fix: incrase the limit to 100
2026-02-27 19:13:43 +01:00
Meier Lukas and ajnart
8811af5e6e
Merge commit from fork
...
* fix(security): resolve ssrf issue with simple ping
* refactor: improve testability of app-access-control and fix tests
* fix: unnecessary space
Co-authored-by: ajnart <thomas@ajnart.fr >
---------
Co-authored-by: ajnart <thomas@ajnart.fr >
2026-01-30 18:31:13 +01:00
a2a34124ae
feat(users): add libravatar / gravatar support ( #4277 )
...
Co-authored-by: HeapReaper <kelivn@heapreaper.nl >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-01-09 13:10:52 +01:00