|
1 | | -# Worklog — v2.18.1 (in progress) |
| 1 | +# Worklog — v2.19.1 (in progress) |
2 | 2 |
|
3 | 3 | ## Added |
4 | | -- Add-material source picker — "+ Material" now opens a side card asking where the material comes |
5 | | - from: **From Catalogue** (opens the catalogue in grid view — picking an unfamiliar product is a |
6 | | - visual task — and yields a TigerData+) or **Manually** (you fill it in, yields a TigerData). Each |
7 | | - row shows the tier pair its path leads to — `TigerData+` `TigerTag+` / `TigerData` `TigerTag`, |
8 | | - drawn with the header stats' own capsules — so the outcome, chipless now and once burned, is |
9 | | - named before you commit; the explanation sits in the shared ⓘ bubble. No scrim, like the spool |
10 | | - detail card — the app stays visible and clickable behind it — and it joins the side-card cascade |
11 | | - as its leftmost member, so opening a spool or a printer pushes it left instead of burying it. |
12 | | - Same side card + rows as the printer add flow — |
13 | | - `renderer/inventory.html`, `renderer/inventory.js`, `renderer/css/40-printers.css` |
14 | | -- "Get it on MakerWorld" button in the TigerScale panel's empty state, next to "View on GitHub" — |
15 | | - links to the printable TigerScale V3 body. Both CTAs now stack full-width so the pair reads the |
16 | | - same in all 9 locales — `renderer/IoT/tigerscale/index.js`, `renderer/IoT/tigerscale/tigerscale.css` |
17 | 4 |
|
18 | 5 | ## Changed |
19 | | -- TigerScale onboarding card rebuilt around the V3 machine — the photo sits on a lit stage with a |
20 | | - "V3" generation badge, the ✓ list became six icon-led feature rows (dual NFC readers, real |
21 | | - remaining weight, on-board touchscreen + calibration wizard, account sync, offline recognition, |
22 | | - runs unattended), and both destinations keep the brand colour they already have in the sidebar |
23 | | - (GitHub slate, MakerWorld teal + package icon) — |
24 | | - `renderer/IoT/tigerscale/index.js`, `renderer/IoT/tigerscale/tigerscale.css` |
25 | | -- TigerScale illustration + header icon replaced with the V3 body (empty state, scale card |
26 | | - thumbnail, README, header health icon) — `assets/img/TigerScale_Photo.png`, |
27 | | - `assets/svg/icons/icon_tigerscale_3d.svg` (masters archived in `assets-src/`) |
28 | | -- The TigerScale "View on GitHub" button pointed at the V2 repo (`TigerTag-Scale`, no longer |
29 | | - developed); it now opens `Tiger-Scale-V3` — `renderer/IoT/tigerscale/index.js` |
30 | 6 |
|
31 | 7 | ## Fixed |
32 | | -- Printer photos showed as black silhouettes in the Printers list view in dark mode — the row |
33 | | - thumbnail carried a leftover `mix-blend-mode: multiply` (needed back when the catalogue images had |
34 | | - a white background; they are transparent PNGs now), which multiplied each photo with the dark row |
35 | | - background. Permanent on Windows, hover-only on macOS. Blend mode dropped — `renderer/css/40-printers.css` |
36 | | -- Windows virtual smart-card readers ("Windows Hello for Business", "Microsoft Virtual Smart Card") |
37 | | - are no longer treated as NFC readers — PC/SC enumerates these TPM-backed certificate readers |
38 | | - exactly like an ACR122U and they permanently report a card present, so a user with 2 readers got a |
39 | | - 3rd burn slot that never turned green and the Burn button stayed disabled. Added to the existing |
40 | | - name filter at the reader-registration gate — `services/nfc-process.js`, `docs/READER-SELECTION-BRIEF.md` |
| 8 | +- Snapmaker printer side card showed "0m" next to the clock on a running print while the table |
| 9 | + showed the real 21m — the card printed `printDuration`, which is the time ELAPSED, not remaining. |
| 10 | + Moonraker sends no remaining time, so the card now reads the same normalised job the table does |
| 11 | + (slicer estimate − elapsed, else extrapolated from progress) via a new `ctx.getPrinterJob`, and |
| 12 | + shows "—" rather than a wrong "0m" while there is nothing to derive from yet — |
| 13 | + `renderer/printers/snapmaker/cards.js`, `renderer/printers/context.js`, `renderer/inventory.js` |
| 14 | +- Bambu Lab printer side card showed "0m" remaining on a running print while the table column |
| 15 | + showed the real figure. `mc_remaining_time` is reported in MINUTES, but the card fed it straight |
| 16 | + into a seconds formatter, so a 32-minute job floored to 0. The table was right because it goes |
| 17 | + through `_getPrinterJob`, which converts. `PROTOCOL.md` documented the field as seconds — the |
| 18 | + source of the mistake — and is corrected with the observed value — `renderer/printers/bambulab/cards.js`, |
| 19 | + `renderer/printers/bambulab/PROTOCOL.md` |
| 20 | +- Dependency refresh — 18 advisories (1 critical, 17 high) down to 0, entirely within the existing |
| 21 | + semver ranges: `package.json` is untouched, only the lockfile was stale. Covers the reported |
| 22 | + **CVE-2026-54673** / GHSA-p2f4-r6v6-j797 (`builder-util-runtime` 9.5.1 → 9.7.0 — electron-updater |
| 23 | + leaked `Authorization` / `PRIVATE-TOKEN` headers across a cross-origin redirect; `electron-updater` |
| 24 | + is a runtime dependency, though our update feed is a public GitHub release that carries no |
| 25 | + credentials), plus electron-builder/app-builder-lib 26.8.1 → 26.15.3 (AppImage search-path advisory), |
| 26 | + electron 41.3.0 → 41.10.6 (three advisories), and tar, undici, ws, js-yaml, tmp, form-data, |
| 27 | + ip-address. Supersedes external PR #10, which pinned a single package through `overrides` — |
| 28 | + `package-lock.json` |
| 29 | +- Six column headers in the Printers table view stayed in English in every language (Brand, Name, |
| 30 | + Model, Status, Job, Last seen) — they were hardcoded literals while their neighbours (Preview, |
| 31 | + Ends at) went through `t()`. They now reuse the existing table-header key family; switching |
| 32 | + language already re-renders this view, so they follow immediately — `renderer/inventory.js` |
41 | 33 |
|
42 | 34 | ## Removed |
43 | | -- The standalone "From Catalogue" button in the inventory action bar — it is now the first choice of |
44 | | - the "+ Material" side card, so adding a material has one entry point instead of two. |
45 | | - `renderer/inventory.html`, `renderer/inventory.js` (handler + its `_syncInvBarButtons` visibility |
46 | | - line), i18n key `catalogBtn` |
47 | 35 |
|
48 | 36 | ## i18n |
49 | | -- Added: `matSourceTitle`, `matSourceSub`, `matSourceCatalogue`, `matSourceCatalogueHint`, |
50 | | - `matSourceManual`, `matSourceManualHint` — 9 locales |
51 | | -- Added: `scaleEmptyCtaModel`, `scaleEmptyBullet4`, `scaleEmptyBullet5`, `scaleEmptyBullet6` — 9 locales |
52 | | -- Removed: `catalogBtn` — 9 locales |
53 | | -- Rewritten for the V3 machine: `scaleEmptySub`, `scaleEmptyBullet1`, `scaleEmptyBullet2`, |
54 | | - `scaleEmptyBullet3` — 9 locales |
| 37 | +- Added: `thModel`, `thStatus`, `thJob` — 9 locales (the Printers table headers; `thBrand`, `thName` |
| 38 | + and `printersLastSeen` already existed and are reused) |
0 commit comments