Commit Graph

70 Commits

Author SHA1 Message Date
f63f70ce86 Make auth toggle a settings option instead of env var
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Issue Manager / issue-manager (push) Has been cancelled
- Auth enabled state now stored in database setting (auth_enabled)
- Add POST /auth/toggle endpoint to enable/disable auth from UI
- Add auth toggle section to Settings > General page
- Enabling auth without users prompts to create first admin
- Disabling auth requires admin password confirmation
- Auth setting cached in memory and loaded on startup

Removes need for SPOOLMAN_AUTH_ENABLED env var

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 01:01:14 -06:00
e782b89929 Bump version to 0.23C.4
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Includes:
- Issue #22: Authentication system
- Issue #38: Sticky Save/Cancel buttons

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 00:53:02 -06:00
a730dd1ec9 fix(auth): Fix passlib/bcrypt dependency resolution
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
2026-01-16 00:49:47 -06:00
3613e7739a feat(auth): Add optional authentication system (#22)
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Backend:
- Add User model with username, hashed password, role, is_active
- Add passlib[bcrypt] and python-jose[cryptography] dependencies
- Create auth.py with JWT utilities, password hashing, role checking
- Add /auth endpoints: status, setup, login, me, users CRUD
- Add role-based permission system (viewer/operator/editor/admin)
- Environment: SPOOLMAN_AUTH_ENABLED, SPOOLMAN_AUTH_SECRET_KEY
- Migration for user table

Frontend:
- Add AuthProvider context with login/logout/setup
- Add LoginPage component with setup mode for first user
- Add ProtectedRoute wrapper for auth-required pages
- Add axios interceptor to attach JWT token to requests
- Add User Management tab in Settings (admin only)
- Add translation keys for auth UI

When SPOOLMAN_AUTH_ENABLED=true:
- Users must login to access the app
- First visit shows setup page to create admin account
- Role-based access control for future endpoint protection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 00:15:36 -06:00
9365e399be Add Print Queue UI and slicer post-processing script
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
- Create Print Queue page showing pending/completed/cancelled jobs
- Add needs_weighing filter to spool API for flagged spools
- Add IPrintJob interface and needs_weighing to ISpool model
- Add slicer_post_process.py for Elegoo/Orca Slicer integration
- Add translations for print queue feature
- Bump version to 0.23C.3

The workflow:
1. Slicer post-processing script creates pending print job
2. After print, user confirms (deducts filament) or cancels (flags for weighing)
3. Spools needing weigh-in are shown in Print Queue UI

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 21:40:22 -06:00
75ddebb963 Bump version to 0.23C.2
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
- Fixed temp range display in show page and label templates
- Added prev/next navigation buttons to edit pages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 00:13:00 -06:00
767e0aea95 chore: Bump version to 0.23C.1
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Features in this release:
- Clickable dashboard cards
- Theme color selector (orange, teal, red, green, blue)
- Temperature range fields in filament edit page
- QR code size setting

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:45:47 -06:00
49d4bf85fd chore: Bump version to 0.23C.0 (C = Claude assisted)
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Authors: Tony, Donkie (upstream), Claude

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:38:30 -06:00
bf458b6077 fix: Add python-multipart dependency for file uploads
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:09:09 -06:00
Donkie
753140ecc3 Replaced su-exec with gosu, fixed pdm using wrong python version 2026-01-05 23:53:41 +01:00
Donkie
1888240044 Bump version to 0.22.1 2025-03-18 21:41:35 +01:00
Donkie
a5df70a803 Bump version to 0.22.0 2025-03-16 21:34:21 +01:00
Donkie
70ea7ad414 Update python dependencies and ruff/black versions 2025-03-16 21:34:02 +01:00
Donkie
92065fd8df Update python dependencies 2025-03-16 18:23:40 +01:00
Donkie
053b20f19c Bump version to 0.21.0 2024-12-01 14:54:31 +01:00
Donkie
a3f506ce85 Bumped python dependencies 2024-12-01 14:53:58 +01:00
Donkie
4f8d5abcec Bump version to 0.20.0 2024-09-08 22:42:34 +02:00
Donkie
5c5bd4627b Bump version to 0.19.3 2024-08-10 11:50:16 +02:00
Donkie
2e414af9bb Bump version to 0.19.2 2024-08-09 17:16:08 +02:00
Donkie
2fd80038e3 Bump version to 0.19.1 2024-08-09 17:07:13 +02:00
Donkie
c93ca5d916 Bump version to 0.19.0 2024-08-07 15:44:24 +02:00
Donkie
535fa40ad2 Updated most python dependencies
Primarily FastAPI and Pydantic to v2. Also ruff to latest.

Updated some code to support Pydantic v2
2024-05-23 19:42:27 +02:00
Donkie
306dbe40af Bump version to 0.18.1 2024-05-22 20:16:22 +02:00
Donkie
4eee6712c1 Bump version to 0.18.0 2024-05-20 22:55:22 +02:00
Donkie
21d541a680 Added script to download files from external db 2024-05-12 10:48:33 +02:00
Donkie
4f93fdd4ea Bump version to 0.17.0 2024-05-04 20:35:35 +02:00
Dmitry Belousov
91d922d0b8 fixed version prometheus-client
added env variable SPOOLMAN_METRICS_ENABLED for enabled database collector

set metrics path as /metrics

checked Null values at vendors, init weight and price
removed some logs
2024-04-15 00:17:36 +03:00
Dmitry Belousov
fc8df5346d Rollback pdm.lock to cadb707
Rollback pyproject.toml
2024-04-14 22:59:35 +03:00
Dmitry Belousov
28b2bfec50 Added prometheus client
Added scheduler for compute current spool metrics and info
2024-04-09 15:25:09 +03:00
Donkie
babb95d086 Bump version to 0.16.1 2024-02-04 10:02:52 +00:00
Donkie
6d63519bee Bump version to 0.16.0 2024-02-01 17:27:26 +00:00
Donkie
3340da3067 Allow relative imports in tests 2024-01-23 18:58:57 +01:00
Donkie
b57ca68250 Bump version to 0.15.0 2023-12-29 11:01:32 +00:00
Donkie
286e519eaa Bump version to 0.14.0 2023-12-02 12:05:31 +01:00
Donkie
e52675e131 Bump version to 0.13.1 2023-10-24 20:23:20 +02:00
Donkie
aa2e79b101 Bump version to 0.13.0 2023-10-21 11:57:01 +02:00
Donkie
a6d527aaf0 Added/deleted-type websocket messages
Events are now sent for not only when an object changes but also when one is created or deleted.

For now it's not really possible to subscribe to these events however.

This breaks backwards-compatibility with the websocket messages.
2023-10-15 19:46:10 +02:00
Donkie
8ade10db11 Bump version to 0.12.2 2023-10-08 11:40:49 +02:00
Donkie
cacd38a9f5 Bump version to 0.12.1 2023-09-20 21:12:51 +02:00
Donkie
556b80a5ce Bump version to 0.12.0 2023-09-20 20:26:04 +02:00
Donkie
b795680226 Added missing timezone in responses
Fixes #114
2023-09-20 20:13:02 +02:00
Donkie
cadb707fdd Added WebSocket notify API for spools 2023-09-17 22:00:00 +02:00
Donkie
9a7375d781 Added test cases for finding empty spool fields 2023-09-16 11:13:30 +02:00
Donkie
de16dd7be0 Added database support for finding empty fields 2023-09-16 11:13:30 +02:00
Donkie
3bba0b1dce Added pdm cmd to run spoolman 2023-09-16 11:13:30 +02:00
Donkie
871e5282e5 Updated python packages 2023-08-28 21:10:07 +02:00
Donkie
d9f9e74d43 Bump version to 0.11.0 2023-08-13 12:21:40 +02:00
Donkie
8767e3951a Bump version to 0.10.0 2023-08-12 22:40:44 +02:00
Donkie
adb0d6e1f4 Bump version to 0.9.1 2023-07-14 19:05:11 +02:00
Donkie
3bc47cc686 Bump version to 0.9.0 2023-07-14 15:01:47 +02:00