maziggy 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 ден
..
__init__.py 09677861ba Added screenshots преди 10 месеца
_oidc_helpers.py b6847f246e Security hardening (maziggy/bambuddy-security #21) преди 1 седмица
_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 дни
_url_safety.py 930a6661d7 Security hardening (maziggy/bambuddy-security #21) преди 1 седмица
ams_history.py dd6696470f Security hardening (maziggy/bambuddy-security #28) преди 6 дни
announcements.py a81ac2cfb5 Keep the Announcements entry for whoever may see announcements преди 2 седмици
api_keys.py be915fa308 fix(auth): taking away live updates or camera access through a group ends them преди 1 седмица
archive_purge.py e7045597bc fix(archives): bulk and auto purge now honour the soft / hard delete choice from #1343 (#1390 follow-up) преди 5 месеца
archives.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. преди 1 ден
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 ден
bug_report.py dd6696470f Security hardening (maziggy/bambuddy-security #28) преди 6 дни
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 дни
camwall.py 45921b7a56 Limit groups to selected printers (issue #1727) преди 2 седмици
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 преди 1 ден
connected_apps.py 473cdf3f0e Security hardening (maziggy/bambuddy-security #41) преди 5 дни
discovery.py f243e4e598 fix(asyncio): track strong refs on orphan create_task sites преди 4 месеца
external_links.py 816f073a9e fix(auth): decouple media routes from the camera stream token (issue #3025) преди 1 месец
filaments.py 2fd90e9dce refactor(api): rename /filaments/ to /filament-catalog/ for clarity (#427) преди 8 месеца
finance.py c39e678204 Security hardening (maziggy/bambuddy-security #12) преди 1 седмица
firmware.py 741539a740 chore(api): remove dead firmware WS progress, the delete-all plate calibration route and unused client wrappers преди 4 дни
github_backup.py 57ed8253ea Security hardening (maziggy/bambuddy-security #N) преди 1 ден
groups.py be915fa308 fix(auth): taking away live updates or camera access through a group ends them преди 1 седмица
ha_sensors.py 2a03aa612d Security hardening (maziggy/bambuddy-security #32) преди 6 дни
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) преди 1 ден
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 преди 3 дни
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 дни
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. преди 1 ден
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. преди 1 ден
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. преди 1 ден
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. преди 1 ден
local_backup.py 473cdf3f0e Security hardening (maziggy/bambuddy-security #41) преди 5 дни
local_presets.py edf244c469 Add local profiles — import OrcaSlicer presets without Bambu Cloud (#310) преди 8 месеца
location_ha_sensors.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) преди 1 месец
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 дни
makerworld.py c39e678204 Security hardening (maziggy/bambuddy-security #12) преди 1 седмица
manyfold.py c39e678204 Security hardening (maziggy/bambuddy-security #12) преди 1 седмица
metrics.py b7d7c82501 fix(security): WebSocket auth gate + audit-driven hardening sweep преди 4 месеца
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 ден
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 дни
notifications.py 7b27d2a654 Security hardening (maziggy/bambuddy-security #31) преди 6 дни
obico.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) преди 1 седмица
orca_cloud.py f3b1c59169 fix(orca-cloud): close the HTTP client when an authenticated build fails преди 1 месец
overlay_branding.py d336bb2ad2 Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev преди 2 седмици
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. преди 1 ден
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 преди 2 дни
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. преди 1 ден
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. преди 1 ден
printer_locations.py d336bb2ad2 Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev преди 2 седмици
printer_sensor_history.py dd6696470f Security hardening (maziggy/bambuddy-security #28) преди 6 дни
printers.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 ден
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 дни
scheduled_dryings.py 45921b7a56 Limit groups to selected printers (issue #1727) преди 2 седмици
settings.py b9b62f739f fix(virtual-printer): a late slicer update leaves a queue job the scheduler already claimed alone (its archive still keeps the slicer's AMS pick); a backup restore really stops the virtual printers; the legacy PUT /settings/virtual-printer refuses the settings it no longer applies and is no longer blocked by stale legacy values преди 2 дни
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. преди 1 ден
slicer_pipelines.py cfb5c54f19 Security hardening (maziggy/bambuddy-security #13) преди 1 седмица
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. преди 1 ден
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 преди 3 дни
sponsor_prompt.py a5fe5cb3d4 feat(sponsor-prompt): in-app toast at earned milestones преди 4 месеца
spoolbuddy.py ba93abdb9d fix(spoolbuddy): writing a sticker no longer replaces a Bambu spool's AMS link in Spoolman (refused with the reason on Spoolman before 0.27, and such spools are not listed as untagged); the colour-name warning only appears when the name is really missing; an update stops when installing dependencies times out instead of restarting the daemon and reporting success преди 2 дни
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 дни
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 дни
support.py 8a6faab0d2 Security hardening (maziggy/bambuddy-security #34) преди 6 дни
system.py 8a6faab0d2 Security hardening (maziggy/bambuddy-security #34) преди 6 дни
updates.py b10fd5ed1a fix(updates,timelapse): a hung update step or slow timelapse stitch no longer gets stuck or loses its work преди 4 дни
user_notifications.py d27c85de45 Fix ruff format for user_notifications and spoolman преди 7 месеца
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 ден
virtual_printers.py 8a6faab0d2 Security hardening (maziggy/bambuddy-security #34) преди 6 дни
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 дни
websocket.py be915fa308 fix(auth): taking away live updates or camera access through a group ends them преди 1 седмица