Address CodeRabbit review on #6510:
- gridstack: only suppress recalculation when the width delta is
insignificant AND (non-dynamic OR height unchanged), so dynamic
sections still rebuild on height changes
- beszel: propagate the response parse failure via { cause } in both
error wrappers
- auth tests: cover invalid (non-string) OIDC groups claims
The Uptime-Kuma status-page API (toPublicJSON) does not emit a status
field on monitor objects, so the added status schema field and paused
early-return were dead code and did not resolve#6002. Paused monitors
stop producing heartbeats and the two consumed endpoints expose no
paused signal, so revert the change.
Unraid CPU: divide by cpus.length (the array actually being averaged)
instead of info.cpu.threads, which is more robust if the two ever
disagree, while keeping the SMT over-reporting fix.
- **Unraid CPU calculation** (#6082): Use thread count instead of core count
when normalizing CPU utilization. Each cpus[] entry is one thread, so
dividing by physical cores (cores) over-reports on SMT systems.
- **OIDC single-group sync** (#5716): Normalize the groups claim to always
be an array. Some providers (e.g. Jumpcloud) send a single group as a
plain string instead of an array, which caused the Array.isArray check
to skip group synchronization entirely.
- **Uptime-Kuma paused status** (#6002): Add the status field to the
monitor schema and check it before falling back to heartbeat inference.
When a monitor is paused, heartbeats stop arriving, so the latest
heartbeat may still show 'up' from before pausing. The status page
returns status=2 for paused monitors, which this change now respects.
* fix(immich): use thumbnail endpoint instead of original for album carousel
Switches from /api/assets/:id/original to /api/assets/:id/thumbnail to fix
HEIC image incompatibility (thumbnails are always JPEG), reduce bandwidth,
and improve loading speed.
Closes#6388
* working on immich
* Improve image proxy error handling
* fix(image-proxy): use trusted fetch response type
* docs(immich): require Asset View permission
The widget-only integrations refactor incorrectly removed the
ArchiveTeam Warrior integration entirely. It only needed to be
excluded from auto-seeding (by removing defaultUrl), not deleted.
This restores the integration class, reverts the widget/router/handler
to use integration middleware, and removes archiveTeamWarrior from the
widget-only-integrations migration.