|
|
|
@@ -46,6 +46,7 @@ All notable changes to Bambuddy will be documented in this file.
|
|
|
|
|
- **The frontend build no longer warns about `path` and `crypto` being externalized for the STEP previewer (#2976)** — `occt-import-js`, the Emscripten build behind STEP previews, requires both modules, but only inside its `ENVIRONMENT_IS_NODE` branches; in the browser it loads its `.wasm` from the URL the preview worker passes and draws randomness from `crypto.getRandomValues`. Vite still externalized both and printed two warnings on every build. `vite.config.ts` now drops exactly those two warnings for that one package through `build.rolldownOptions.onLog`, so an externalization anywhere else, or of any other module, still shows.
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
- **Installing or updating no longer runs out of memory on 2 GB machines (#3181, reported by @PhilippeP62)** — Every installer and updater builds the frontend with `npm run build`, which also ran the TypeScript type check. That check alone needs about 1 GB of Node memory, the whole default allowance on a 2 GB machine such as the standard Proxmox LXC or a 2 GB Raspberry Pi, so the build crashed with "JavaScript heap out of memory". On the Proxmox helper script that left the install without its database and nobody could sign in; Bambuddy's own update script rolled back but could never finish an update. The build now only bundles the frontend, and the type check runs on its own in development and CI (`npm run typecheck`). That also fixes CI's type-check job and the pre-commit hook, which ran `tsc --noEmit` against a config that lists no files and so had been passing without checking anything.
|
|
|
|
|
- **Remember Me is back on the login page when only SSO sign-in is allowed (#2784, reported and contributed by @vuthanhtrung2010 in #3117)** — Turning off local username/password login hid the whole sign-in form, and the Remember Me checkbox went with it. An SSO sign-in could then only ever last until the browser closed, so SSO users signed in again every time they came back. The checkbox now sits above the SSO buttons when local login is off, and the "or continue with" divider, which had nothing left to divide, is hidden. Signing in with Remember Me unticked now also clears a choice left over from an abandoned attempt; before, ticking it, backing out of the sign-in provider and then signing in unticked still kept you signed in. With automatic SSO sign-in configured, Bambuddy now also remembers the page you were trying to open and returns you there after signing in, instead of to the dashboard. Automatic sign-in redirects before the page can show the checkbox, so those sign-ins still last only until the browser closes.
|
|
|
|
|
- **A queued file whose only plate isn't plate 1 now prints instead of hanging the printer (#2947, reported and contributed by @sgiffhorn in #2951)** — A queue item with no plate chosen was always sent as plate 1. A file exported with a single plate keeps that plate's original number, so a file holding only `plate_2.gcode` made the printer look for a plate that isn't there. The printer accepted the command, raised an HMS error and sat idle until it was power-cycled, while the queue blamed the SD card. An item with no plate now prints the lowest plate the file actually contains, and falls back to plate 1 only when the file can't be read. A stored plate of 0 counts as no plate. The same plate is now used everywhere a queued print is prepared: the G-code tweaks, filament usage, the H2C nozzle-rack checks, the external-spool check and the print command. Before, each one assumed plate 1 on its own.
|
|
|
|
|
- **A Spoolman spool's own empty spool weight is saved, so weigh-ins subtract the right tare (#2908, reported and contributed by @ojimpo in #3011)** — Spoolman keeps an empty spool weight per spool, and Bambuddy already read it ahead of the filament type's. It never wrote it: the Inventory form hid the picker behind "Empty spool weight is managed per filament type in Spoolman", and the backend dropped the value on create, bulk create and edit. A spool whose real empty weight differs from its filament type's, for example a 180 g third-party spool against Bambu's 250 g, recorded a wrong remaining weight on every weigh-in. The picker now shows in Spoolman mode and saves to the spool. It is sent only when you change it, so a spool you don't touch keeps following its filament type. Copying a spool keeps its own empty weight, and a 0 g empty weight (a spool-less coil) loads as 0 instead of 250. The SpoolBuddy quick-add no longer sends a placeholder 250 g, and Inventory's bulk edit, whose Empty Spool Weight field was silently ignored in Spoolman mode, now applies it.
|
|
|
|
|