You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fbe3080
Browse filesBrowse the repository at this point in the historyBrowse files
Fixed
- Catalogue images stopped loading permanently once the search box was used.
The image loader caps in-flight requests at six and only decremented that
count from the load/error handlers -- but an <img> destroyed mid-flight
fires neither, and the catalogue search wipes and rebuilds its grid on every
keystroke. Six images torn down that way held all six slots for the rest of
the session: the queue jammed at the cap and nothing loaded again until
restart. In-flight images are now held in a Set rather than counted, so the
pump reclaims the slots of anything that left the DOM. Holding the elements
instead of counting them removes the class of bug, not just this instance.
- The macOS release build could no longer sign itself (carried from the CI fix
committed before the tag): electron-builder hands the certificate's import
password to a flag that authenticates against the keychain. Upstream's fix
is in an alpha only, so the workflow owns the keychain instead.
Verified by the reporter in real use. Worth recording: my own automated
readings were all zero and would have said the fix failed -- the Electron
window was in the background, where visibilityState is 'hidden' and Chromium
throttles IntersectionObserver, so nothing loads whatever the code does.
-**Catalogue images stopped loading permanently after using the search box.** The product-image loader caps in-flight requests at six, and the counter was only decremented from the `load` / `error` handlers. An `<img>` destroyed mid-flight fires neither, and `_catViewSearch()` wipes and rebuilds `#catalogViewBody` on every keystroke — so six images torn down that way held all six slots for the lifetime of the session: `_imgPump()` found no free slot, the queue never drained, and no image loaded again until restart. In-flight images are now tracked in a `Set` instead of a counter, and `_imgPump()` reclaims the slots of any entry no longer `isConnected` before filling. Same shape of leak would have been possible from any list that rebuilds itself; holding the elements rather than counting them removes the class, not just the instance — `renderer/inventory.js`.
13
+
- **The macOS release build could no longer sign itself.** electron-builder passes the certificate's IMPORT password to `security set-key-partition-list -k`, but that flag authenticates against the KEYCHAIN — a different secret. macOS did not previously verify it; the runner image carrying macOS 26 does, so the v2.27.0 build failed with `SecKeychainUnlock: The user name or passphrase you entered is not correct` with nothing changed on our side (same certificate, valid to 2031; same secrets, untouched since May; same electron-builder, 26.15.3 — only the image, 20260728 → 20260907). Fixed upstream in PR #10101, which is in `27.0.0-alpha.8` and in no stable release (26.15.7 and 26.16.1 both lack it). The workflow therefore builds the signing keychain itself — create, import, authorise `codesign` with the keychain's OWN generated password — and passes `CSC_KEYCHAIN` so electron-builder skips its own path; `CSC_LINK` is deliberately unset, since passing it makes electron-builder rebuild its keychain and take that path again. The step states its own removal condition — `.github/workflows/build.yml`.
Copy file name to clipboardExpand all lines: FEATURES.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Tiger Studio Manager — Feature Catalogue
2
2
3
-
Tiger Studio Manager is the Electron desktop companion to the TigerTag ecosystem: a filament-inventory manager built around RFID/NFC-tagged spools ("TigerTag" chips), a fully-digital "TigerData" tier (and its catalogue-identified "TigerData+" rung), live 3D-printer integration across six brands, physical storage/rack management, a Firebase-backed social layer (friends, shareable wishlists, public profiles), and companion hardware (TD1S color sensor, TigerScale, TigerPOD dual-reader stand). This document catalogues every **shipped** feature, grouped by domain, current as of **v2.27.0**. Per-version release detail lives in `CHANGELOG.md`; forward-looking / in-progress work lives in `ROADMAP.md`.
3
+
Tiger Studio Manager is the Electron desktop companion to the TigerTag ecosystem: a filament-inventory manager built around RFID/NFC-tagged spools ("TigerTag" chips), a fully-digital "TigerData" tier (and its catalogue-identified "TigerData+" rung), live 3D-printer integration across six brands, physical storage/rack management, a Firebase-backed social layer (friends, shareable wishlists, public profiles), and companion hardware (TD1S color sensor, TigerScale, TigerPOD dual-reader stand). This document catalogues every **shipped** feature, grouped by domain, current as of **v2.27.1**. Per-version release detail lives in `CHANGELOG.md`; forward-looking / in-progress work lives in `ROADMAP.md`.
Copy file name to clipboardExpand all lines: WORKLOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@
5
5
## Changed
6
6
7
7
## Fixed
8
+
-**Searching the catalogue stopped its pictures loading — for good.** The image loader caps how many requests are in flight, and the counter only came back down when an image fired `load` or `error`. An element destroyed mid-flight fires NEITHER, and the catalogue search wipes and rebuilds its grid on every keystroke: six images torn down that way held all six slots permanently, the queue jammed at the cap, and not one picture loaded again for the rest of the session — hence "never again" rather than "sometimes". In-flight images are now held in a SET rather than counted, so the pump can see the ones that left the DOM and take their slots back. Reported from real use; the mechanism matches the symptom exactly, but the fix was confirmed by the reporter rather than by measurement here — an Electron window left in the background reports `visibilityState: "hidden"`, and Chromium throttles IntersectionObserver there, so every automated reading was zero regardless of the code — `renderer/inventory.js`
8
9
- **The macOS release build could no longer sign itself.** `security set-key-partition-list -k` was being handed the CERTIFICATE's import password, but that flag authenticates against the KEYCHAIN — two different secrets. macOS used not to check; the runner image that ships macOS 26 does, so v2.27.0 failed with `SecKeychainUnlock: The user name or passphrase you entered is not correct` while nothing on our side had moved: same certificate (valid to 2031), same secrets (untouched since May), same electron-builder (26.15.3) — only the image, 20260728 → 20260907. It is electron-builder's bug, fixed upstream in PR #10101, which sits in `27.0.0-alpha.8` and in NO stable release (26.15.7 and 26.16.1 both lack it). So the workflow builds the signing keychain itself — create, import, authorise codesign with the keychain's OWN password — and hands `CSC_KEYCHAIN` to electron-builder, which then skips the broken path. `CSC_LINK` is deliberately unset: passing it makes electron-builder rebuild its own keychain and take that path again. The keychain password is generated per run and never leaves the runner. The step carries its own removal condition — delete it once the fix reaches a stable electron-builder — `.github/workflows/build.yml`
- Fixed an issue where product pictures in the Catalogue stopped loading entirely once you used the search box, and stayed blank until the app was restarted.
6
+
7
+
---
8
+
9
+
📖 **[Full changelog](https://github.com/TigerTag-Project/TigerTag-Studio-Manager/blob/main/CHANGELOG.md)** · ⬇️ Grab the installer for your OS from the **Assets** below (macOS `.dmg`, Windows `Setup .exe` or `portable .exe`, Linux `.AppImage`).
0 commit comments