Skip to content

Upstream watch 2026-W32 #379

Description

@github-actions

Weekly upstream watch. Check items off as they are triaged; record port verdicts in the
porting PRs via Upstream-commit: <sha> ported|skipped — reason trailers.
(Upstream refs are backticked on purpose — listings must not cross-link upstream.)

New upstream commits (200)

  • c82e3911e WIP: add v2 client (Svelte) with spool grouping backend (.gitignore, client_v2, spoolman, tests_integration) — port / skip?
  • 46b69808a WIP: add label designer and misc v2 client improvements (.gitignore, client_v2, spoolman) — port / skip?
  • 99928b546 Fix QR logo backing corners and preserve tab state in label designer (client_v2) — port / skip?
  • 0f7cdc6fa Add location rename and richer spool info on Locations page (client_v2) — port / skip?
  • cf82d5b68 Add camera QR scanner to v2 client (client_v2) — port / skip?
  • 4bdebbdde Add localization to v2 client (svelte-i18n) (client_v2) — port / skip?
  • 7ea89dc34 Add cross-entity search to v2 client (client_v2, spoolman, tests_integration) — port / skip?
  • 9dcd6d56d Add rich text support for svelte i18n, parsing <p> tags etc. Also fixed some tags. (client_v2) — port / skip?
  • d65b50d5a Use paraglide for i18n in client_v2. Update base path handling (client_v2, pyproject.toml, spoolman) — port / skip?
  • 30e2daf78 i18n wip updates (client_v2) — port / skip?
  • bcdcf6f47 i18n updates (client_v2) — port / skip?
  • 48650cff9 i18n updates (client_v2) — port / skip?
  • d9c0a2a04 Empty box for no location in library (client_v2) — port / skip?
  • d2435871d Improved layout of extra fields in inspector (client_v2) — port / skip?
  • 532ffc8cc Added some measurement validation to new spool form (client_v2) — port / skip?
  • c9cf7a6a1 Fixed some typescript errors (client_v2) — port / skip?
  • cae436ee8 make label templates match old client better (client_v2) — port / skip?
  • 7642eaae2 Fixed inspector not updating when adding new spools (client_v2) — port / skip?
  • 35f35b8bd Align COMMON_MATERIALS densities with SpoolmanDB (client_v2) — port / skip?
  • 63c2ad5d7 Use custom DateTimeField in add spool form (client_v2) — port / skip?
  • a9d93520e Add custom Combobox for location/vendor/material inputs (client_v2) — port / skip?
  • ebadc045a client_v2: add archived-spool visibility to the library (client_v2) — port / skip?
  • c30bbfea9 client_v2: render unused-spool summary as a sub-section divider under filament group (client_v2) — port / skip?
  • bb2a21cb9 client_v2: store print layout per-design so margin edits are saveable (client_v2) — port / skip?
  • a1685f742 client_v2: render color swatches as glossy chips (flat on labels) (client_v2) — port / skip?
  • 287d3010a client_v2: add light theme with system/light/dark preference (client_v2) — port / skip?
  • ab38eb73a client_v2: add unit-box numeric input and apply it across forms & inspectors (client_v2) — port / skip?
  • 871fbdb44 Move locales out of static dir (client_v2) — port / skip?
  • 351a09ca6 client_v2: replace deprecated $app/paths base with resolve()/asset() (client_v2) — port / skip?
  • 8ab2060b9 client_v2: rework sheet print layout, import v1 presets, widen label field coverage (client_v2) — port / skip?
  • 2b592abd5 client_v2: make DateTimeField week-start and clock locale-aware (client_v2) — port / skip?
  • c0142c9bc client_v2: fix Print N Labels count to include copies (client_v2) — port / skip?
  • f23f5611b client_v2: replace emoji/glyph icons with @lucide/svelte (client_v2) — port / skip?
  • 7c188c113 client_v2: quick-select recently added spools when printing labels (client_v2) — port / skip?
  • 9f893fb28 client_v2: auto-focus search box when Add Spools modal opens (client_v2) — port / skip?
  • d7486d5d5 Improved filtering/sorting. Allows filtering/sorting by extra fields. (client_v2, spoolman, tests_integration) — port / skip?
  • 9b16121ed Minor search backend issue fix (spoolman, tests_integration) — port / skip?
  • 28d840fc8 client_v2: move mobile Add Spools button into header (client_v2) — port / skip?
  • 18b0a818b client_v2: keep Library group control visible on mobile (client_v2) — port / skip?
  • 8ae45c03c client_v2: make label designer and print panels mobile responsive (client_v2) — port / skip?
  • 0c673f040 client_v2: allow reordering location containers via drag-drop (client_v2) — port / skip?
  • f7103ec9e client_v2: live drag-drop for location cards and spools (client_v2) — port / skip?
  • ed758a117 client_v2: search external filament catalog server-side (client_v2, spoolman) — port / skip?
  • 581135367 client_v2: reuse cross-entity /search for the add-spool filament picker (client_v2) — port / skip?
  • 6d2ba2002 search: match filaments by their vendor's name (client_v2, spoolman) — port / skip?
  • 913e9116f Make external filament library display name configurable (.env.example, client_v2, spoolman) — port / skip?
  • 638466bc7 Bake client_v2 into the image and serve it by default (.dockerignore, .github, Dockerfile, spoolman, tests_frontend) — port / skip?
  • 29f0f362d client_v2: add multi-color filament support (client_v2, spoolman) — port / skip?
  • 57869fab8 Fix 500 on /info from unresolved get_external_db_name (spoolman) — port / skip?
  • d194cf348 Reused some old strings (client_v2) — port / skip?
  • 0e5573bc1 Added save/error toasts (client_v2) — port / skip?
  • 3f3f87231 client_v2: make the mobile inspector drawer draggable (client_v2) — port / skip?
  • 593b65384 Match every whitespace-separated term in search (spoolman, tests_integration) — port / skip?
  • c72036f65 client_v2: save labels as images, with a configurable DPI (client_v2) — port / skip?
  • 5bfaf9c5b client_v2: reuse v1 QR link strings in the label inspector (client_v2) — port / skip?
  • 43034dce5 client_v2: show help text on an empty locations page (client_v2) — port / skip?
  • 06eff55cc client_v2: finish spool archiving in the library (client_v2) — port / skip?
  • 5bd4fa594 client_v2: don't link a missing manufacturer in the breadcrumbs (client_v2) — port / skip?
  • c90cf9eb4 client_v2: fix crash inspecting a spool of a colorless filament (client_v2) — port / skip?
  • 4e4313204 client_v2: add weight and spool weight to the filament inspector (client_v2) — port / skip?
  • d580924d1 client_v2: add field help toggles to the inspector details (client_v2) — port / skip?
  • e2a08c0cf client_v2: load the locations page lazily instead of all at once (client_v2) — port / skip?
  • 505faf3b3 Load entity extra-fields with selectin instead of joined (spoolman) — port / skip?
  • a733366be client_v2: abort in-flight list queries on navigation (client_v2) — port / skip?
  • 2f25e76f5 client_v2: lighten print tab spool load, keep Recent complete (client_v2) — port / skip?
  • 4118ca5f2 client_v2: stop locations grid flickering as cards load (client_v2) — port / skip?
  • 128a0a4a3 client_v2: localize datetime formatting for extra fields and labels (client_v2) — port / skip?
  • 38397424e client_v2: page grouped "show more" incrementally (client_v2) — port / skip?
  • 5b5e07e2c client_v2: flatten color swatch and vary multi-color gradient (client_v2) — port / skip?
  • a34d52a59 client_v2: fall back empty locale values to base language (client_v2) — port / skip?
  • 9582962e3 client_v2: keep grouped-view sorting coherent (client_v2) — port / skip?
  • 990f16a8e client_v2: fetch deep-linked entities missing from the cache (client_v2) — port / skip?
  • 6ade40517 backend: notify spools when their filament changes (spoolman, tests_integration) — port / skip?
  • 64d5f84bc Fixed swatch being messed up in addspoolmodal (client_v2) — port / skip?
  • ecd43bd51 backend: make color similarity search scale with matches, not catalog size (spoolman) — port / skip?
  • 9b79135c1 client_v2: show an add-spools CTA when the library is empty (client_v2) — port / skip?
  • acb367262 client_v2: don't collapse a lone unused spool under a header (client_v2) — port / skip?
  • 3a2fc68e1 client_v2: configurable custom QR URL target with {id} template (client_v2) — port / skip?
  • ca8dba9e5 client_v2: redirect legacy /spool/show/<id> QR URLs to the library (client_v2) — port / skip?
  • 3d6888ec2 Added filament labels (client_v2) — port / skip?
  • df2cd09bc client_v2: use real <a href> links for navigation (client_v2) — port / skip?
  • f69d09847 client_v2: approve esbuild install script for npm 11 allowScripts (client_v2) — port / skip?
  • 01be7b757 minor package lock json update (client_v2) — port / skip?
  • 52b0580df removed unused locales (client_v2) — port / skip?
  • 5eb660f42 client_v2: add ESLint + wire lint/format/typecheck into lefthook (client_v2, lefthook.yml) — port / skip?
  • 5222df98a client_v2: hide color swatch on non-filament group headers (client_v2) — port / skip?
  • 054c59948 client_v2: portal inspector popovers to fix mobile misplacement (client_v2) — port / skip?
  • 7e309e36b client_v2: add material suggestions to filament inspector (client_v2) — port / skip?
  • e6e3be277 client_v2: add filament total-remaining summary; show large weights in kg (client_v2) — port / skip?
  • 2f9259227 client_v2: drop "g each" from unused summary when spool weights differ (client_v2) — port / skip?
  • b7772ca74 client_v2: fix base path for direct loads of non-prerendered routes (spoolman) — port / skip?
  • 8a5cf7ec7 client_v2: add mobile accessibility audit (Playwright + axe-core) (client_v2) — port / skip?
  • 386ec36d1 client_v2: set <html lang>/<dir> to the resolved locale at runtime (client_v2) — port / skip?
  • 18214ee0f client_v2: fix low-contrast text/accent tokens for WCAG AA (client_v2) — port / skip?
  • f6827c0a6 client_v2: improve mobile tap targets and inspector actions (client_v2) — port / skip?
  • cd5ef6f8d client_v2: close Combobox dropdown on blur (tab-away) (client_v2) — port / skip?
  • 1d5164b62 client_v2: label form controls for a11y (select-name/label) (client_v2) — port / skip?
  • bf3896b1f client_v2: fix nested-interactive a11y on add-spool modal (client_v2) — port / skip?
  • 06ae67858 client_v2: stop idle-tab data/CPU drain (WS backoff + coalesced refetch) (client_v2) — port / skip?
  • 7d4728ae9 security: add shared origin-trust helper (lefthook.yml, pyproject.toml, spoolman, tests) — port / skip?
  • c33f65243 security: refuse cross-origin writes and websockets, and non-JSON setting bodies (spoolman, tests, tests_integration) — port / skip?
  • 404b03173 security: stop backup rotation from churning away the restore history (spoolman, tests, tests_integration) — port / skip?
  • 1b1dbbb78 security: drop CORS credentials under a wildcard origin, document the model (README.md, spoolman, tests) — port / skip?
  • 7d683eb24 security: escape CSV formulas and bound extra-field sizes (spoolman, tests) — port / skip?
  • 5d812e269 fix: return 400 instead of 500 for malformed sort parameters (spoolman, tests) — port / skip?
  • a2e9e6615 client_v2: fix WS reconnect race clobbering the live socket (client_v2) — port / skip?
  • d1ab338b9 client_v2: stop dropdown Escape from closing the add-spool modal (client_v2) — port / skip?
  • b369cf049 Clamp grouped remaining weight at 0 for over-used spools (spoolman, tests_integration) — port / skip?
  • 292485031 Drop the filament->spool websocket fan-out (client_v2, spoolman, tests_integration) — port / skip?
  • 9a93892a9 Add allow_archived to /search and stop the candidate cap hiding new rows (spoolman, tests_integration) — port / skip?
  • 1262eb664 Document SPOOLMAN_LEGACY_CLIENT in .env.example (.env.example) — port / skip?
  • 733dcf920 client_v2: add vitest and cover migrateV1 and format (client_v2) — port / skip?
  • f08e27c6f Record why remaining_length does not need the dropped fan-out (client_v2, spoolman) — port / skip?
  • 2e396d6cd Fail loudly when the SPA fallback base-path rewrite matches nothing (spoolman) — port / skip?
  • 89ffd3e4b Key the external filament catalog cache on size as well as mtime (spoolman) — port / skip?
  • 64e94bd97 client_v2: re-enable no-navigation-without-resolve, scoped per file (client_v2) — port / skip?
  • e8b363c10 client_v2: restore the muted/dim/faint contrast ramp (client_v2) — port / skip?
  • 7ab45ca1a client_v2: don't quote "0 g each" for unused spools of unknown weight (client_v2) — port / skip?
  • 8f7794e48 client_v2: make the FilamentList live refetch leading-edge (client_v2) — port / skip?
  • 2befcfc38 client_v2: give inspector form controls accessible names (client_v2) — port / skip?
  • 6af053b68 client_v2: split the accent fill from --accent so white text clears AA (client_v2) — port / skip?
  • 17f8b9fee client_v2: add Playwright frontend integration tests (.github, pyproject.toml, tests_frontend, tests_frontend_v2) — port / skip?
  • 4219230aa Translations update (#977) (client) — port / skip?
  • 39f6ededf client_v2: show spool weight in the add-spool search results (client_v2) — port / skip?
  • bf3480cfb client_v2: let you duplicate a filament into another color (client_v2) — port / skip?
  • 21651216a Turn the locations page into a group-by-anything dashboard (client_v2, spoolman, tests_integration) — port / skip?
  • aa447dd05 Let any spool field value be renamed everywhere at once (client_v2, spoolman, tests_integration) — port / skip?
  • c4be425dc client_v2: give a new label design something worth printing (client_v2) — port / skip?
  • 372554adb client_v2: stop the add-spool form assuming you know what it means (client_v2) — port / skip?
  • aa47cd015 client_v2: fold a group's spools away behind its header (client_v2) — port / skip?
  • 814ddfcd9 client_v2: point people at extra fields instead of hiding them (client_v2) — port / skip?
  • bf15e64fe client_v2: scale the label preview down to the screen it's on (client_v2) — port / skip?
  • 680f2a063 client_v2: let the dashboard header wrap instead of squeezing (client_v2) — port / skip?
  • 04d6ee72b client_v2: make the group-by hint go where it points (client_v2) — port / skip?
  • ae3208a9c Let an extra field's value be cleared again (client, client_v2, spoolman, tests_integration) — port / skip?
  • 87a07a556 tests_frontend_v2: follow the locations page to the dashboard (tests_frontend_v2) — port / skip?
  • d2cabd5d2 client_v2: unregister the legacy client's service worker on upgrade (client_v2, tests_frontend_v2) — port / skip?
  • b38468ffe client_v2: ship a web app manifest and PWA icons (client_v2, spoolman) — port / skip?
  • c9ae367dc Say what to do when the client bundle is missing (spoolman) — port / skip?
  • 6ca753bca Move the stress-seed script into scripts/ (pyproject.toml, scripts) — port / skip?
  • 7e353595c bump.py: keep client_v2's version in sync with the release (client_v2, spoolman) — port / skip?
  • a76c8ed3d tests_frontend_v2: cover labels, settings, search and installability (tests_frontend_v2) — port / skip?
  • c781869d0 Refresh the README screenshot and note the legacy-client rollback (.github, README.md) — port / skip?
  • 59672ecb3 Merge master into feature/v2-client (.github, Dockerfile, pyproject.toml, spoolman) — port / skip?
  • f4eba480d Catch client_v2 up to 0.25.0 (client_v2) — port / skip?
  • 24e6f7fd3 Escape backslashes in the a11y report's table escaper (client_v2) — port / skip?
  • 9bdf4d1a5 Install client_v2 deps in the style job (.github, client_v2) — port / skip?
  • aad337234 Compile paraglide before type-checking client_v2 (client_v2, lefthook.yml) — port / skip?
  • c1d5c6b46 Merge pull request #978 from Donkie/feature/v2-client (.) — port / skip?
  • 4ab99768a Abort last workflow run for PRs when new push (.github) — port / skip?
  • 67022e7c6 Regenerate the README screenshot from catalog-imported filaments (.github, pyproject.toml, scripts) — port / skip?
  • 0c03f8b40 Stop promoting a spool's comment to its library row title (.github, client_v2, scripts) — port / skip?
  • b00c1b875 Add dashboard and label-designer screenshots to the README (.github, README.md, client_v2, scripts) — port / skip?
  • 3c414503d Move client_v2 to Vite 8 and refresh the rest of its dependencies (client_v2) — port / skip?
  • ff7170f0f Build on Node 24, which is not end-of-life (.github, client) — port / skip?
  • 388e87ec9 Merge branch 'master' into security/backend-audit-todo (README.md, lefthook.yml, pyproject.toml, spoolman) — port / skip?
  • e3dbd3e60 Move the security notes out of the README and into the Wiki's remit (README.md) — port / skip?
  • 97524b110 security: refuse requests addressed to a host we do not answer to (spoolman, tests, tests_integration) — port / skip?
  • 7e9533965 security: make the host guard opt-in (spoolman, tests) — port / skip?
  • 72daa29cd security: finish the audit's low-severity items (spoolman, tests) — port / skip?
  • a8b3641a9 Document the two origin/host settings in .env.example (.env.example) — port / skip?
  • dd6b334a7 Test config.js rendering without importing main (spoolman, tests) — port / skip?
  • f369253c6 Bump version to 0.26.0 (client, client_v2, pyproject.toml, uv.lock) — port / skip?
  • 4e1e3c50c Point the translation workflows at client_v2, close the legacy client (.github, README.md) — port / skip?
  • 673ca1d2f Drop the README wording change (README.md) — port / skip?
  • 7405ce77f Merge pull request #983 from Donkie/worktree-weblate-client-v2 (.) — port / skip?
  • 57f2b30a4 fix(api): strip leading # from filament color codes (spoolman, tests) — port / skip?
  • c8be881e0 fix(sort): keep never-used spools and filaments at the bottom (spoolman, tests_integration) — port / skip?
  • a8da5e312 fix(library): stop unopened spools reporting themselves as "in use" (client_v2) — port / skip?
  • 09c29703f Merge pull request #990 from Donkie/fix/last-used-null-sort (.) — port / skip?
  • c9c59b3d9 fix(add): let filament extra fields be filled in while creating a filament (client_v2, tests_frontend_v2) — port / skip?
  • c7b59fe32 Merge pull request #997 from Donkie/fix/988-filament-extra-fields (.) — port / skip?
  • 8318a5f97 fix(library): make the group header's two destinations findable (client_v2) — port / skip?
  • e08c930ef client_v2: add delete for filaments and manufacturers (client_v2, tests_integration) — port / skip?
  • 35cc1c7d4 Show all filament and manufacturer fields in the detail views (client_v2) — port / skip?
  • dadc2ba76 Fold mirrored extra fields into the grid above them (client_v2) — port / skip?
  • b34b87214 client_v2: make duplicate and delete quiet icon actions (client_v2) — port / skip?
  • 6663a42ab client_v2: add delete for spools (client_v2, tests_integration) — port / skip?
  • 7c29d5f54 Merge pull request #998 from Donkie/worktree-client-v2-delete-991 (.) — port / skip?
  • 13b7a9b62 Merge pull request #999 from Donkie/worktree-issue-992-detail-fields (client_v2) — port / skip?
  • cbc6458c5 Translated using Weblate (Swedish) (#1000) (client_v2) — port / skip?
  • a5e4bc0bf fix(library): drop the group header arrow (client_v2) — port / skip?
  • e175708b3 fix(ci): diff PRs from the merge base in guard-translations (.github) — port / skip?
  • 2cdfcc1ba Translations update from Hosted Weblate (#1002) (client_v2) — port / skip?
  • 95230eaa7 fix(security): unsafe json parsing of application settings (client) — port / skip?
  • f8db2a0f0 Merge pull request #1001 from Donkie/fix/library-header-affordances (client_v2) — port / skip?
  • a2cfe33cd Merge pull request #1003 from tomaioo/fix/security/unsafe-json-parsing-of-application-setti (.) — port / skip?
  • 20462e86e Translations update from Hosted Weblate (#1004) (client_v2) — port / skip?
  • 3c1d8bfa6 client_v2: separate the search result's material tag from the match tag (client_v2) — port / skip?
  • 18f114419 Let extra field choices be reordered by dragging (client, client_v2) — port / skip?
  • 46beda226 Offer a filament's spools in the search results (client_v2, spoolman, tests_frontend_v2, tests_integration) — port / skip?
  • 7e4d2ee41 fix(api): repair filament rows already stored with a leading # (migrations, spoolman, tests) — port / skip?
  • ac3ec7d1a Merge pull request #1005 from Donkie/search-material-tag (.) — port / skip?
  • 0c3ce54da Merge pull request #1007 from Donkie/worktree-issue-994-reorder-choices (.) — port / skip?
  • 3beb2b448 Merge pull request #1006 from Donkie/worktree-search-spool-pills (client_v2) — port / skip?
  • cefd2caa4 Merge pull request #987 from Sanjays2402/fix/color-hex-strip-hash (spoolman) — port / skip?
  • 2a03f9f64 client_v2: reload on 401 so a forward-auth session can recover (client_v2) — port / skip?
  • ae12072cd Merge remote-tracking branch 'origin/master' into worktree-client-v2-401-reload (client_v2) — port / skip?
  • 708af05ab ci: run the client_v2 unit tests (lefthook.yml) — port / skip?
  • 9d53a3f29 Merge pull request #1008 from Donkie/worktree-client-v2-401-reload (.) — port / skip?

New upstream issues (14)

  • Donkie/Spoolman#1013 Add/allow override of Weight and Spool Weight on a per spool basis (0.26.0) — fix / implement / skip?
  • Donkie/Spoolman#1012 Color Grouping issue when using Group:Manufacturer — fix / implement / skip?
  • Donkie/Spoolman#1011 Notification system — fix / implement / skip?
  • Donkie/Spoolman#1010 v0.26.0 - Reassigning filament of a given spool number? — fix / implement / skip?
  • Donkie/Spoolman#996 Other UX changes/improvements — fix / implement / skip?
  • Donkie/Spoolman#994 Allow reordering of choices in extra fields — fix / implement / skip?
  • Donkie/Spoolman#993 Search only matches filaments, not spools, in the new UI — fix / implement / skip?
  • Donkie/Spoolman#992 Show more filament and manufacturer fields in the library detail views — fix / implement / skip?
  • Donkie/Spoolman#991 Add delete for filaments and manufacturers in the new UI — fix / implement / skip?
  • Donkie/Spoolman#989 Impossible to list, edit, or delete filaments or manufacturers in the new UI — fix / implement / skip?
  • Donkie/Spoolman#988 Filament adding screen on the new UI lacks extra fields — fix / implement / skip?
  • Donkie/Spoolman#986 Erroneous "in use" status for spools in new web UI — fix / implement / skip?
  • Donkie/Spoolman#985 Sorting by last used is broken in the new UI — fix / implement / skip?
  • Donkie/Spoolman#984 new web ui: last used sort incorrectly raises unused spools — fix / implement / skip?

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstream-watchWeekly upstream watch report

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions