| .. |
|
__init__.py
|
09677861ba
Added screenshots
|
10 mesi fa |
|
_oidc_helpers.py
|
b6847f246e
Security hardening (maziggy/bambuddy-security #21)
|
1 settimana fa |
|
_spoolman_helpers.py
|
2e30470dfb
fix(spoolman): Cost/kg in the inventory and on the SpoolBuddy spool card shows the rate prints are charged, falling back to the filament price when the spool has none (or 0)
|
2 giorni fa |
|
_url_safety.py
|
930a6661d7
Security hardening (maziggy/bambuddy-security #21)
|
1 settimana fa |
|
ams_history.py
|
dd6696470f
Security hardening (maziggy/bambuddy-security #28)
|
1 settimana fa |
|
announcements.py
|
a81ac2cfb5
Keep the Announcements entry for whoever may see announcements
|
3 settimane fa |
|
api_keys.py
|
be915fa308
fix(auth): taking away live updates or camera access through a group ends them
|
1 settimana fa |
|
archive_purge.py
|
e7045597bc
fix(archives): bulk and auto purge now honour the soft / hard delete choice from #1343 (#1390 follow-up)
|
5 mesi fa |
|
archives.py
|
2443cea174
feat: USB cameras are picked from a list of detected devices (refresh, not-found marking, manual fallback, Docker hint; device listing off the event loop, /dev/video0-99 only); fix: timelapse editor saves as a background job with progress and cancel (ffmpeg stopped on cancel, no overwrite of a timelapse removed or replaced meanwhile, ffprobe/thumbnail timeouts), and the music volume is applied
|
1 giorno fa |
|
auth.py
|
770c6bfdf9
fix: firmware upload only for idle printers (dialog, server, re-check after download, queue waits during upload); AMS Reset Slot asks first and is refused while printing; confirms for shopping list Clear all, Git history Clear and SSO unlink (last SSO link of an account without password stays); LDAP/SMTP test use the form's values; emptying a user's email removes it; local backup delete errors are shown; removed the unreachable printer-card Spoolman link/unlink
|
1 giorno fa |
|
bug_report.py
|
dd6696470f
Security hardening (maziggy/bambuddy-security #28)
|
1 settimana fa |
|
camera.py
|
cf0ba31f19
fix(camera): the plate check holds the chamber light like other camera uses, so a live view opened meanwhile keeps it; captures use the live frame of a watched single-client external camera; a reconnecting X1C live view is not ended by the cleanup; camera test/diagnose/plate routes release their DB connection before capturing
|
2 giorni fa |
|
camwall.py
|
45921b7a56
Limit groups to selected printers (issue #1727)
|
3 settimane fa |
|
cloud.py
|
ac4806f029
fix: a failed first run no longer leaves the archive at its partial cost (built-in inventory); completion stops the start cost estimate before writing the real cost; 2FA/SSO logins report LDAP/OIDC users' auth source; a fault in both print_error and HMS is listed once; a refused H2D load's tray target expires; refused K-profile re-applies are logged; the cloud filament-name map is fetched once per account without holding a DB connection; the library edit route refuses folder changes across the external boundary; a slow slice-progress answer is not reported as an unreachable sidecar
|
2 giorni fa |
|
connected_apps.py
|
473cdf3f0e
Security hardening (maziggy/bambuddy-security #41)
|
5 giorni fa |
|
discovery.py
|
f243e4e598
fix(asyncio): track strong refs on orphan create_task sites
|
4 mesi fa |
|
external_links.py
|
816f073a9e
fix(auth): decouple media routes from the camera stream token (issue #3025)
|
1 mese fa |
|
filaments.py
|
2fd90e9dce
refactor(api): rename /filaments/ to /filament-catalog/ for clarity (#427)
|
8 mesi fa |
|
finance.py
|
c39e678204
Security hardening (maziggy/bambuddy-security #12)
|
1 settimana fa |
|
firmware.py
|
741539a740
chore(api): remove dead firmware WS progress, the delete-all plate calibration route and unused client wrappers
|
4 giorni fa |
|
github_backup.py
|
57ed8253ea
Security hardening (maziggy/bambuddy-security #N)
|
1 giorno fa |
|
groups.py
|
be915fa308
fix(auth): taking away live updates or camera access through a group ends them
|
1 settimana fa |
|
ha_sensors.py
|
2a03aa612d
Security hardening (maziggy/bambuddy-security #32)
|
6 giorni fa |
|
inventory.py
|
bd692ac3c7
fix(stats): date filters use calendar days in the browser's time zone instead of UTC days; the Statistics page sends its zone, and the date-filtered archive, statistics and inventory-statistics endpoints take an optional tz (Bambuddy's own TZ when omitted)
|
2 giorni fa |
|
kprofiles.py
|
f45cc599f3
fix(kprofiles): an AMS change leaves the K-profile to the lost-selection check; command answers no longer change the nozzle; unconfirmed writes say so and edits read back; skip refusals are logged; stop-drying toast says sent
|
4 giorni fa |
|
labels.py
|
c2bc41a5ef
fix(spoolman): a location delete is refused while Spoolman can't be read; labels print for archived spools; archived spools are not assigned or linked to slots; slot requests outside the AMS ranges are refused before Spoolman is written; bulk counter resets report the spools that failed
|
2 giorni fa |
|
library.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
library_tags.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
library_trash.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
library_variants.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
local_backup.py
|
473cdf3f0e
Security hardening (maziggy/bambuddy-security #41)
|
5 giorni fa |
|
local_presets.py
|
edf244c469
Add local profiles — import OrcaSlicer presets without Bambu Cloud (#310)
|
8 mesi fa |
|
location_ha_sensors.py
|
54af3146a3
[Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827)
|
1 mese fa |
|
maintenance.py
|
175758d25a
fix(maintenance): a printer's time offline is not counted as print time; duplicate maintenance items are merged on upgrade and prevented by a unique index; the "performed" response honours the item's own interval type
|
2 giorni fa |
|
makerworld.py
|
c39e678204
Security hardening (maziggy/bambuddy-security #12)
|
1 settimana fa |
|
manyfold.py
|
c39e678204
Security hardening (maziggy/bambuddy-security #12)
|
1 settimana fa |
|
metrics.py
|
b7d7c82501
fix(security): WebSocket auth gate + audit-driven hardening sweep
|
4 mesi fa |
|
mfa.py
|
770c6bfdf9
fix: firmware upload only for idle printers (dialog, server, re-check after download, queue waits during upload); AMS Reset Slot asks first and is refused while printing; confirms for shopping list Clear all, Git history Clear and SSO unlink (last SSO link of an account without password stays); LDAP/SMTP test use the form's values; emptying a user's email removes it; local backup delete errors are shown; removed the unreachable printer-card Spoolman link/unlink
|
1 giorno fa |
|
notification_templates.py
|
dad7fea37b
fix(notifications): the daily digest goes out during quiet hours and a failed one keeps its events for the next (dropped after two days); a deleted queued archive no longer leaves its creator to be named on a later print; a print closed at reconnect reports no actual duration; the template editor knows the print outcome confirmation and names every event
|
2 giorni fa |
|
notifications.py
|
7b27d2a654
Security hardening (maziggy/bambuddy-security #31)
|
6 giorni fa |
|
obico.py
|
487b48c5af
Security hardening (maziggy/bambuddy-security #16)
|
1 settimana fa |
|
orca_cloud.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 giorno fa |
|
overlay_branding.py
|
d336bb2ad2
Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev
|
2 settimane fa |
|
pending_uploads.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
pipeline_runs.py
|
2b5cd87c7f
fix(queue): pipeline cancel stops the preheat and frees the budget; an offline stop frees the budget; the SD cleanup at a print's end is bounded to 45 s; a refused print start is logged and retried at once without a reconnect
|
3 giorni fa |
|
print_log.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
print_queue.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
printer_locations.py
|
d336bb2ad2
Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev
|
2 settimane fa |
|
printer_sensor_history.py
|
dd6696470f
Security hardening (maziggy/bambuddy-security #28)
|
1 settimana fa |
|
printers.py
|
2443cea174
feat: USB cameras are picked from a list of detected devices (refresh, not-found marking, manual fallback, Docker hint; device listing off the event loop, /dev/video0-99 only); fix: timelapse editor saves as a background job with progress and cancel (ffmpeg stopped on cancel, no overwrite of a timelapse removed or replaced meanwhile, ffprobe/thumbnail timeouts), and the music volume is applied
|
1 giorno fa |
|
projects.py
|
07d99f3383
fix(queue): GET /queue?status= takes several comma-separated statuses, as documented; remove the archive rescan and project attachment routes that had no UI (cover images keep their storage)
|
2 giorni fa |
|
scheduled_dryings.py
|
45921b7a56
Limit groups to selected printers (issue #1727)
|
3 settimane fa |
|
settings.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 giorno fa |
|
slice_jobs.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
slicer_pipelines.py
|
cfb5c54f19
Security hardening (maziggy/bambuddy-security #13)
|
1 settimana fa |
|
slicer_presets.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 giorni fa |
|
smart_plugs.py
|
1de2d51634
fix(smart-plugs): Home Assistant scripts linked to a printer run when Bambuddy switches its power plug off or on by schedule, not only by hand
|
4 giorni fa |
|
sponsor_prompt.py
|
a5fe5cb3d4
feat(sponsor-prompt): in-app toast at earned milestones
|
4 mesi fa |
|
spoolbuddy.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 giorno fa |
|
spoolman.py
|
fcc20cb62c
fix(spoolman): AMS syncs write only the slots whose spool they changed and keep a spool assigned meanwhile; the Sync buttons announce slot changes and update the slot preset; a new Spoolman spool is not seeded from leftover built-in assignments
|
2 giorni fa |
|
spoolman_inventory.py
|
c2bc41a5ef
fix(spoolman): a location delete is refused while Spoolman can't be read; labels print for archived spools; archived spools are not assigned or linked to slots; slot requests outside the AMS ranges are refused before Spoolman is written; bulk counter resets report the spools that failed
|
2 giorni fa |
|
support.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 giorno fa |
|
system.py
|
8a6faab0d2
Security hardening (maziggy/bambuddy-security #34)
|
6 giorni fa |
|
updates.py
|
b10fd5ed1a
fix(updates,timelapse): a hung update step or slow timelapse stitch no longer gets stuck or loses its work
|
5 giorni fa |
|
user_notifications.py
|
d27c85de45
Fix ruff format for user_notifications and spoolman
|
7 mesi fa |
|
users.py
|
770c6bfdf9
fix: firmware upload only for idle printers (dialog, server, re-check after download, queue waits during upload); AMS Reset Slot asks first and is refused while printing; confirms for shopping list Clear all, Git history Clear and SSO unlink (last SSO link of an account without password stays); LDAP/SMTP test use the form's values; emptying a user's email removes it; local backup delete errors are shown; removed the unreachable printer-card Spoolman link/unlink
|
1 giorno fa |
|
virtual_printers.py
|
8a6faab0d2
Security hardening (maziggy/bambuddy-security #34)
|
6 giorni fa |
|
webhook.py
|
918aa26ffa
fix(queue): models matched without regard to case when adding jobs and in pipelines, stored in the printers' spelling; webhook reprints reuse the slicer's AMS slots; a multi-plate file queued without a plate stores the plate that prints
|
3 giorni fa |
|
websocket.py
|
be915fa308
fix(auth): taking away live updates or camera access through a group ends them
|
1 settimana fa |