Note
A quick personal note from the maintainer:
It has been an exceptionally busy couple of days on my end. In hindsight, I probably shouldn't have rushed changes and hotfixes under such tight time constraints, but I was eager to help out and resolve community issues as quickly as possible. Unfortunately, rushing led to a few unnecessary oversights slipping through between v2.2.1 and v2.2.2.
To make sure this doesn't happen again even during hectic times, I've heavily fortified the automated CI test suite with a permanent AST scope & import checker and a multi-format upload test matrix. Thank you for your patience, support, and understanding! ❤️
GyroidVault v2.2.3
🐛 Bug Fixes
- Fix missing
getSettingBoolimport on ZIP file upload (#81): Resolves a runtimeReferenceErrorwhere uploading a.ziparchive caused model creation to fail when evaluating thescan_zip_archivessetting (server/routes/models.js).
🛡️ Test Suite Hardening & CI Enhancements
- Permanent Static AST Scope & Undeclared Identifier Scanner: Added a full Abstract Syntax Tree (AST) scope scanner (
tests/ast-scope-checker.js) usingacornacross all 22 backend files and frontend application scripts. The pre-release test suite (npm test) now strictly verifies that 100% of variables, function calls, and module imports are declared before any code can be committed or released. - Multi-Format Upload Matrix in CI: Added real automated E2E upload verification for
.stl,.ziparchives (verifying internal file inspection),.3mf",.gcode,.step`, and images to guarantee file ingest reliability. - Direct Slicer Upload Endpoint Test: Added test coverage for the OctoPrint/slicer upload hook (
/api/upload-slicer). - Viewer Scoping Polish: Fixed variable scoping in
public/js/viewer.jsaround the STEP importer timeout timer and viewer part selector.
Full Changelog: v2.2.2...v2.2.3