Timon and Thomas
98bb1aecf8
feat(integrations): add What's Up Docker (WUD) integration and widget ( #6523 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-08-10 08:42:23 +00: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
Anil K Tiwari and Thomas
9fb2e37605
feat(widgets): add missing & queued media widget for Radarr and Sonarr ( #6078 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 17:31:08 +02:00
Felix-Ayush and Thomas
2c5368dd4e
feat: add Bazarr integration and subtitle status widget ( #6156 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 17:29:10 +02:00
Nerdy Technician and Thomas
9864fed775
feat: Add Traefik Integration with dedicated widget and Add optional Icons for Gotify/Notifcation Widget (ONLY GOTIFY) ( #6206 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 16:49:24 +02:00
Thomas Camlong
77884a3179
feat: add per-widget secret storage for release provider authentication
...
Adds encrypted token storage per release widget so users can authenticate
with GitHub, GitLab, Docker Hub, etc. without needing full integration setup.
- New `widget_secret` table (all 3 DB drivers) keyed by (itemId, kind)
- tRPC router with setSecret/deleteSecret/getConfiguredKinds (board modify access required)
- Releases router injects decrypted tokens into provider requests (board view access required)
- Tokens only used for repos matching widget's stored configuration (prevents proxy abuse)
- Provider auth: GitHub (Octokit auth), GitLab (PRIVATE-TOKEN), Docker Hub (Bearer),
GHCR (registry token), npm (Bearer), Codeberg (token header)
- UI: "Provider Tokens" section in widget editor with PasswordInput per provider
2026-06-27 10:57:13 +02:00
a2bb53a8b8
feat: add VPN status widget ( #5812 )
...
Co-authored-by: Lokesh-Kumar-Dudi <lkumardudi@gmail.com >
Co-authored-by: Thomas Camlong <thomas@ajnart.fr >
2026-06-26 14:29:23 +02:00
Glare and Manuel
dd57ee2102
feat(integrations): add ArchiveTeam Warrior widget ( #5784 )
...
* feat(integrations): add ArchiveTeam Warrior widget
* feat(integrations): add support for basic auth for archive warrior
* refactor(integrations): address ArchiveTeam Warrior review feedback
* Increase cache duration from 1 to 5 minutes
---------
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com >
2026-06-16 10:43:55 +02:00
Thomas
aecbca2b81
feat: custom widgets ( #5889 )
2026-06-10 18:58:14 +02:00
Thomas
d77c6f8d4e
feat: add Uptime Kuma, Audiobookshelf, Paperless-ngx, and Navidrome integrations ( #5910 )
2026-06-10 18:27:24 +02:00
Thomas
a4db9cf0dc
feat(beszel): add Beszel integration with system monitoring widgets ( #5900 )
2026-06-10 18:27:05 +02:00
Afonso Jorge Ramos
0dc2558faf
feat: add PeaNUT integration and UPS monitoring widget ( #5862 )
2026-06-05 16:51:09 +02:00
43cc68bdd4
feat: add Umami Analytics integration and widget ( #5362 )
...
Co-authored-by: Josh G <febrile42@users.noreply.github.com >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-05-07 17:50:58 +02:00
7879b31630
feat: Anchor integration and Anchor Note widget ( #5040 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-04-10 20:43:43 +02:00
Kyle and Meier Lukas
22d599c0cf
feat: speedtest tracker integration ( #5363 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-04-10 19:04:42 +02:00
Meier Lukas
abb2dfc92a
feat(integrations): add search.ch integration with timetable widget ( #5180 )
2026-04-03 20:23:15 +02:00
StrandedTurtle
f68600150a
feat: Tracearr integration ( #5060 )
2026-03-13 19:19:43 +01:00
Manuel
cdd90b8aa0
feat: add immich integration and widget ( #5165 )
...
* feat: add immich integration and widget
* feat: use sdk
2026-03-07 09:39:31 +01:00
Rhiz3K and Meier Lukas
81dac58005
feat(integrations): add Coolify integration and widget ( #4789 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-01-23 19:09:53 +01:00
Meier Lukas
1623fbaaeb
perf(memory): lazy routers ( #4868 )
2026-01-19 22:37:05 +01:00
1dc1854cbf
feat: OPNsense integration and widget ( #3424 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
Co-authored-by: deepsource-io[bot] <42547082+deepsource-io[bot]@users.noreply.github.com>
2025-08-01 18:34:06 +02:00
Meier Lukas
66ebb5061f
feat(widgets): add media release widget ( #3219 )
2025-07-20 16:59:03 +02:00
Meow and Meier Lukas
e110a84fdd
feat: add ntfy integration ( #2900 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2025-06-23 19:40:49 +02:00
3dcee8cb86
feat: add releases widget ( #2497 )
...
Co-authored-by: Andre Silva <asilva01@acuitysso.com >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com >
2025-04-25 18:49:32 +00:00
c1cd563048
feat: unifi controller integration ( #2236 )
...
* feat: unifi controller integration
* fix: pr feedback
* fix: pr feedback
* fix: pr feedback
* fix: formatting
* fix: pr feedback
* fix: typecheck
---------
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2025-04-06 10:17:51 +00:00
Jack Weller and Meier Lukas
91a69c162a
feat: stock price widget ( #2579 )
...
* feat: added stock price widget
* fix: formatting
* fix: broken lock file
* fix: requested changes
* fix: added parsing schema
* fix: improve time range and interval inputs
* fix: only return required data
* fix: formatting
* fix: deepsource tests
* fix: moved all time frames into one location
* fix: formatting
* fix: requested changes
* fix: formatting
* fix: parse response data
* fix: update packages
* fix: typescript issues
* fix: formatting
* fix: broken lockfile
---------
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2025-03-20 17:49:19 +01:00
Meier Lukas
dff6cb9d31
feat(settings): add simple-ping settings ( #2118 )
2025-02-07 22:10:35 +01:00
Meier Lukas
0ebf4bc55e
feat(widget): add minecraft server status widget ( #1801 )
2024-12-31 09:45:48 +01:00
Manuel and Meier Lukas
032509e462
feat: add tdarr integration ( #1657 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2024-12-15 15:53:02 +01:00
Yossi Hillali
0f56dc1ecd
feat: OMV integration & health monitoring widget ( #1142 )
2024-09-30 14:05:13 +03:00
Manuel
2535192b2c
feat: downloads widget ( #844 )
...
Usenet and Torrent downloads in 1 widget.
sabNZBd, NzbGet, Deluge, qBitTorrent, and transmission support.
Columns can be reordered in Edit mode.
Sorting enabled.
Time uses Dayjs with auto translation.
Can pause/resume single items, clients, or all.
Can delete items (With option to delete assossiated files).
Clients list and details.
Include all filtering and processing for ratio from oldmarr torrent widget.
Invalidation of old data (older than 30 seconds) to show an integration is not responding anymore.
Misc (So many miscs):
Fixed validation error with multiText.
Fixed translation application for multiSelect to behave the same as select.
Added background to gitignore (I needed to add a background to visually test opacity, probably will in the future too)
Added setOptions to frontend components so potential updates made from the Dashboard can be saved.
Extracted background and border color to use in widgets.
humanFileSize function based on the si format (powers of 1024, not 1000).
Improved integrationCreatorByKind by @Meierschlumpf.
Changed integrationCreatorByKind to integrationCreator so it functions directly from the integration.
Added integrationCreatorFromSecrets to directly work with secrets from db.
Added getIntegrationKindsByCategory to get a list of integrations sharing categories.
Added IntegrationKindByCategory type to get the types possible for a category (Great to cast on integration.kind that isn't already properly limited/typed but for which we know the limitation)
Added a common AtLeastOneOf type. Applied to TKind and IntegrationSecretKind[] where it was already being used and Added to the getIntegrationKindsByCategory's output to be more freely used.
Added the Modify type, instead of omiting to then add again just to change a parameters type, use the modify instead. Applied code wide already.
Hook to get list of integration depending on permission level of user. (By @Meierschlumpf)
2024-09-11 17:30:21 +02:00
Yossi Hillali and Meier Lukas
08d4472d8b
feat: indexer manager widget ( #1057 )
...
* fix(deps): update tanstack-query monorepo to ^5.53.2 (#1055 )
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
<br/>
<div align="center">
<img src="https://homarr.dev/img/logo.png " height="80" alt="" />
<h3>Homarr</h3>
</div>
**Thank you for your contribution. Please ensure that your pull request meets the following pull request:**
- [ ] Builds without warnings or errors (``pnpm buid``, autofix with ``pnpm format:fix``)
- [ ] Pull request targets ``dev`` branch
- [ ] Commits follow the [conventional commits guideline](https://www.conventionalcommits.org/en/v1.0.0/ )
- [ ] No shorthand variable names are used (eg. ``x``, ``y``, ``i`` or any abbrevation)
* fix: requested changes
* fix: requested changes
* feat: add cron job
* fix: review changes
* fix: add missing oldmarr import mappings
---------
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2024-09-07 23:18:16 +02:00
acbb834889
feat: add media requests widget ( #774 )
...
Co-authored-by: SeDemal <Tagaishi@hotmail.ch >
Co-authored-by: SeDemal <demal.sebastien@bluewin.ch >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2024-08-24 15:23:16 +02:00
Manuel and SeDemal
15d9327d46
feat: add rss widget ( #760 )
...
Co-authored-by: SeDemal <demal.sebastien@bluewin.ch >
2024-07-27 18:11:29 +02:00
Manuel
bb8640b162
feat: add jellyfin integration ( #672 )
...
* feat: #655 implement jellyfin media server
* fix: table overflow
* feat: pr feedback
* refactor: format
* refactor: merge existing code
* fix: code smells
* refactor: format commit
2024-07-03 20:06:57 +02:00
Manuel
dba97a3bd6
feat: add calendar widget ( #663 )
...
* feat: add calendar widget
* feat: add artifacts to gitignore
2024-07-02 12:13:13 +02:00
Manuel
2e782ae442
feat: add homeassistant integration ( #578 )
2024-06-10 21:16:39 +02:00
Meier Lukas
d7ecdf5567
feat: add simple app ping ( #580 )
...
* feat: add simple ping
* refactor: make ping run on server and show errors
* fix: format issues
* fix: missing translation for enabled ping option for app
* refactor: remove ping queue as no longer needed
* chore: address pull request feedback
* test: add some unit tests
* fix: format issues
* fix: deepsource issues
2024-06-08 17:33:16 +02:00
Meier Lukas
d57b771a17
feat: add pi hole summary integration ( #521 )
...
* feat: add pi hole summary integration
* feat: add pi hole summary widget
* fix: type issues with integrations and integrationIds
* feat: add middleware for integrations and improve cache redis channel
* feat: add error boundary for widgets
* fix: broken lock file
* fix: format format issues
* fix: typecheck issue
* fix: deepsource issues
* fix: widget sandbox without error boundary
* chore: address pull request feedback
* chore: remove todo comment and created issue
* fix: format issues
* fix: deepsource issue
2024-05-26 17:13:34 +02:00
Meier Lukas
6b1879cbb1
feat: add notebook widget ( #294 )
...
* feat: add nestjs replacement, remove nestjs
* feat: add notebook widget
* fix: format issue
* fix: add missing tiptap packages
* refactor: improve structure of table options
* fix: downgrade to tiptap 2.2.5 as not yet supported by mantine/tiptap
* fix: format issue
* fix: deepsource issues
* fix: typecheck issues
* refactor: move default notebook content to seperate file
* fix: format issue
2024-04-13 12:32:55 +02:00
Meier Lukas
80d2d485b8
feat: add weather widget ( #286 )
...
* feat: add nestjs replacement, remove nestjs
* feat: add weather widget
* fix: lock issue
* fix: format issue
* fix: deepsource issues
* fix: change timezone to auto
2024-04-13 11:34:55 +02:00