Merge origin/dev into feat/phase1-perf-impl
The branch was 12 commits behind dev and GitHub reported it CONFLICTING, which is
why the real CI workflow had not run since 2026-08-10 - a conflicting PR has no
mergeable ref, so pull_request-triggered workflows are skipped. Only the
lightweight checks (semantic title, CodeQL, CodeRabbit) were still reporting,
which made the PR look green while nothing was actually being tested.
Three conflicts, all of them this branch's barrel-diet work meeting dev's new
What's Up Docker integration. In every case the branch's structure is kept and
WUD is absorbed into it rather than the reverse:
integrations/base/creator.ts keep the lazy loader map; add wud as
() => import(...) rather than dev's static import,
which would have undone the lazy creator
integrations/src/index.ts keep the slim barrel; re-export WudStats and
WudContainerUpdate as `export type`, which is
erased at build and so adds no runtime module
widgets/src/index.tsx stays deleted - this was the barrel that put
every widget in the initial client graph
Registering WUD in the slimmed structures then needed three more entries that the
merge could not infer: base/kind-map.ts (type-only kind -> class map),
widgets/src/import.ts (type-only WidgetImports map, both the import and the
member). Each was found by typecheck rather than guessed at.
Verified: 37/37 packages typecheck, 1866/1881 unit tests pass. The 3 failures are
home-assistant and pi-hole, both testcontainers-based; both pass 11/11 in
isolation and fail only under 150-file parallel load with the container's payload
half-initialised.
This commit is contained in:
92 files changed
+3645
-2049
No files matched your search
@@ -429,6 +429,13 @@
|
||||
<br/>
|
||||
<p align="center">Uptime<br/>Kuma</p>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://homarr.dev/docs/integrations/whats-up-docker" target="_blank" rel="noreferrer noopener">
|
||||
<img src="https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/whats-up-docker.svg" alt="What's Up Docker" width="90" height="90" />
|
||||
<br/>
|
||||
<p align="center">What's<br/>Up<br/>Docker</p>
|
||||
</a>
|
||||
</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
+15
-2
@@ -95,9 +95,22 @@ lines-of-code to performance ratio. On the evidence, that set is:
|
||||
| `serverExternalPackages` (mysql2/pg + 8 more) | 1 block | −21 MiB idle |
|
||||
| `content-visibility` on media-release cards | 4 lines | −59% image requests, −41% layout objects |
|
||||
| ssh2 WASM heap (docker-modem patch) | 1 patch | −15 to −18 MiB external at every stage |
|
||||
| Reuse the certificate agent instead of one per request | 1 file | 5.11 → 1.69 ms/request, 60 → 2 TLS handshakes over 60 requests |
|
||||
| Stream proxied images instead of buffering | 2 files | −36% peak RSS on 30 concurrent 2 MiB images (116 → 74 MiB) |
|
||||
|
||||
Together these produce the headline: **−26% peak anon, −52% at idle**, no overlapping ranges at any
|
||||
stage, for **+18% CPU**.
|
||||
Together the server changes produce the headline: **−26% peak anon, −52% at idle**, no overlapping
|
||||
ranges at any stage, for **+18% CPU**.
|
||||
|
||||
Two notes for whoever cuts it:
|
||||
|
||||
- **Split the formatting out of `media-missing/component.tsx`.** Its 77-line diff is roughly 8 lines of
|
||||
semantic change plus **69 lines of pre-existing formatting debt** that `oxfmt` swept up when the file
|
||||
was touched. Every other file changed in this work was already `oxfmt`-clean, so this is the only one
|
||||
affected. Landing the reformat as its own commit keeps the perf change reviewable.
|
||||
- The client changes worth carrying are `OverflowBadge`, the `calendar` day-cell `HoverCard`, the
|
||||
`beszelSystemTable` inline `PercentCell`, `content-visibility` on the data-driven lists, the two
|
||||
`keepMounted={false}` widgets, and the `placehold.co` removal. The last of those is a bug fix rather
|
||||
than an optimisation and should probably ship regardless.
|
||||
|
||||
Two things to leave out or flag:
|
||||
|
||||
|
||||
Reference in new issue
Block a user