maziggy 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 päivä sitten
..
git_providers 306b9ba7fd Accept Forgejo tokens scoped to a single repository (#2775) 2 kuukautta sitten
model_providers ce9853c056 fix(printing): a plate check that could not run says so; the archive recovery download follows the file size; an unconfirmed upload is read back; broken MakerWorld downloads are refused; bulk-edit toast reflects the result; CallMeBot values are encoded 4 päivää sitten
virtual_printer 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 päivä sitten
__init__.py 09677861ba Added screenshots 10 kuukautta sitten
ams_assignment_lock.py 5b34997dfa fix(inventory): hand assign, unassign and add-from-slot wait for the printer's slot lock; the AMS remain sync and a print's usage no longer overwrite a weight set by hand or weighed meanwhile; a spool deleted while a print is charged is skipped 3 päivää sitten
ams_slot_presence.py 905bda4f3f fix(ams): read the firmware presence bit, not the tray state (issue #3084) 1 kuukausi sitten
announcements.py 3fae2b402b Announcements: history, collapsed list, instant refresh, footer icon 3 viikkoa sitten
archive.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 päivää sitten
archive_comparison.py f43be8098e Security hardening (maziggy/bambuddy-security #29) 1 viikko sitten
archive_cost_estimate.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 päivää sitten
archive_purge.py 0033001945 fix(db): SQLite applies the ON DELETE rules of archives, library files, queue jobs, batches and projects 1 viikko sitten
backup_path.py 5bbfeefa65 fix(backup): diagnose an unwritable backup path instead of quoting errno 30 (#2544) 3 kuukautta sitten
bambu_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 päivä sitten
bambu_cloud_credentials.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import 1 kuukausi sitten
bambu_ftp.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 päivä sitten
bambu_mqtt.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 päivä sitten
bug_report.py 346b58ed8f fix(settings): printer temperature history retention gets a setting; no retention can wipe history; bug reports keep no email 4 päivää sitten
camera.py d3827e646a Security hardening (maziggy/bambuddy-security #23) 1 viikko sitten
camera_diagnose.py a735f8c43a chore: Python 3.11 is the minimum, and the installer finds or installs it 1 viikko sitten
camera_fanout.py 31888777ae fix(camera): external cameras share one stream per printer 5 päivää sitten
camera_light.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 päivää sitten
camera_profiles.py 2315b8fb5d Count camera reconnects in a row, not for the life of the stream 3 viikkoa sitten
color_catalog_lookup.py cb924e5c4a Match a Bambu roll to its own product line, not just its colour (issue #2907) (#2944) 3 viikkoa sitten
design_settings.py 7e77bf5833 Take the layer height from the plate that actually printed 2 kuukautta sitten
diagnostic_snapshot.py a735f8c43a chore: Python 3.11 is the minimum, and the installer finds or installs it 1 viikko sitten
discovery.py 3a5f802cdc fix(diagnostics): read the subnet the host is actually on (issue #3092) 1 kuukausi sitten
drying_preflight.py b04d753186 (Post work): parked AMS drying timers and translated drying failures (issue #2896) 3 viikkoa sitten
email_service.py afdd950b63 Security hardening (maziggy/bambuddy-security #15) 1 viikko sitten
energy_plug.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 päivää sitten
energy_price.py b596b55456 Take the electricity price from Home Assistant and cost energy hour by hour (#1251) 2 viikkoa sitten
export.py 6c8a821bca Add a wear cost per printing hour to printers (#694) 2 viikkoa sitten
external_camera.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 päivä sitten
failure_analysis.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 päivää sitten
filament_deficit.py 5649f836da fix(spoolman): the print dialog's cost estimate and each slot's grams left come from the spool bound to the slot, priced the way the print is charged, instead of the built-in assignments; they refresh when a slot's assignment changes 2 päivää sitten
filament_requirements.py 3954d3a7e6 Choose which rack nozzle each filament prints from on an H2C (#1784) 2 kuukautta sitten
finance_balance.py c39e678204 Security hardening (maziggy/bambuddy-security #12) 1 viikko sitten
finance_billing.py b2ed37b6c3 fix(finance): a print whose user was deleted while it ran is billed to its cost centre 1 viikko sitten
finance_budget.py f761a3ae97 fix(queue): every way of adding a job announces it, applies the default print options and keeps its cost centre 5 päivää sitten
finance_defaults.py 4a85e033c0 fix(finance): show the currency the install is configured for (issue #3123) 1 kuukausi sitten
firmware_check.py ae3c27f3df fix(firmware): log an unreachable Bambu Lab site once, not on every firmware check 1 viikko sitten
firmware_update.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 2 päivää sitten
ftp_profiles.py cc39acfc74 Ask a printer that refuses FTPS what it actually said (issue #2780) 2 kuukautta sitten
github_backup.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 päivä sitten
github_restore.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 päivä sitten
ha_sensor_manager.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) 1 kuukausi sitten
hms_actions.py 3ddf8d847e [Feature]: HMS Actions (#1743) 3 kuukautta sitten
hms_errors.py 033eff1254 Show Bambu's own HMS descriptions and the real alert level (issue #2728) 3 viikkoa sitten
homeassistant.py d3827e646a Security hardening (maziggy/bambuddy-security #23) 1 viikko sitten
inventory_mode.py 08a58b1ef4 Keep both modes' slot assignments across an inventory mode switch (issue #2812) 1 kuukausi sitten
kprofile_drift.py 578add28d8 fix(printers): a printer added after a delete starts clean 1 viikko sitten
label_renderer.py b5cd369f51 chore: remove dead code and fail CI on unused frontend files 1 viikko sitten
layer_timelapse.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 päivä sitten
ldap_service.py 29e6d28205 Resolve LDAP groups on lldap and OpenLDAP (#3197) 3 viikkoa sitten
library_folder_access.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 päivää sitten
library_trash.py a3ba9994fe fix(queue): orders and groupings show as finished however their last job ended 6 päivää sitten
local_backup.py 5bbfeefa65 fix(backup): diagnose an unwritable backup path instead of quoting errno 30 (#2544) 3 kuukautta sitten
location_ha_sensor_manager.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) 1 kuukausi sitten
location_service.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 päivä sitten
log_health.py 604fa44593 Explain Bambu Cloud's CAPTCHA challenge instead of repeating it (#2790) 2 kuukautta sitten
log_reader.py a51283ad76 Security hardening (maziggy/bambuddy-security #19) 1 viikko sitten
long_lived_tokens.py 258db95483 fix(overlay): authenticate the OBS overlay with a token when login is enabled (#2613) 3 kuukautta sitten
loop_watchdog.py 774eba73c8 feat(diagnostics): event-loop stall watchdog to catch silent backend freezes 5 kuukautta sitten
material_number.py 71d4b2f70d Material number as a first-class spool field (#2994) 3 viikkoa sitten
mesh_combine.py b67c9b572c Add "Combine to 3MF" for slicing several STLs on one plate (#3162) 3 viikkoa sitten
mqtt_relay.py dbb560dfb6 fix(mqtt-relay): publish the documented events, from every place they happen 1 viikko sitten
mqtt_smart_plug.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 päivä sitten
network_utils.py b5cd369f51 chore: remove dead code and fail CI on unused frontend files 1 viikko sitten
notification_service.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 päivää sitten
notify_client.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 päivä sitten
notify_live_activities.py 578add28d8 fix(printers): a printer added after a delete starts clean 1 viikko sitten
notify_widgets.py b42d39ffcc Add native Notify! alerts, Live Activities and Lock Screen widgets (#3265) 1 viikko sitten
notify_worker.py b42d39ffcc Add native Notify! alerts, Live Activities and Lock Screen widgets (#3265) 1 viikko sitten
obico_actions.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 päivää sitten
obico_detection.py 578add28d8 fix(printers): a printer added after a delete starts clean 1 viikko sitten
obico_smoothing.py eec7793955 feat(obico): AI print-failure detection via self-hosted Obico ML API (#172) 6 kuukautta sitten
oidc_group_sync.py 45921b7a56 Limit groups to selected printers (issue #1727) 3 viikkoa sitten
oidc_icon.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) 5 kuukautta sitten
opentag3d.py b30a283184 Feature/spoolman inventory UI (#1241) 5 kuukautta sitten
orca_cloud.py 00251fe808 feat(orca-cloud): pair via RFC 8628 device flow, replacing the paste-based sign-in 3 kuukautta sitten
orca_profiles.py 330d77198a Fix AMS slot showing wrong material for "Support for" profiles 7 kuukautta sitten
pdf_thumbnail.py 86bd9e1bd4 fix(file-manager): harden the merged previews - PDF.js legacy build, server PDF thumbnails, STEP progress (issue #2976) 3 viikkoa sitten
pipeline_eligibility.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 päivää sitten
pipeline_job_status.py 176161f0d2 fix(pipelines): a pipeline run remembers how each copy ended 1 viikko sitten
plate_detection.py ce9853c056 fix(printing): a plate check that could not run says so; the archive recovery download follows the file size; an unconfirmed upload is read back; broken MakerWorld downloads are refused; bulk-edit toast reflects the result; CallMeBot values are encoded 4 päivää sitten
plate_thumbnail.py bdbfa5d8fd fix(library): STL thumbnails are made off the event loop, one at a time 5 päivää sitten
plug_energy.py 47795649ae fix(smart-plugs): power alerts are sent, checked in the background, once per crossing 1 viikko sitten
plug_energy_history.py aba00598bb fix(smart-plugs): read a REST plug's lifetime counter, and derive Today/Yesterday from it (issue #2539) 3 kuukautta sitten
power_alerts.py 47795649ae fix(smart-plugs): power alerts are sent, checked in the background, once per crossing 1 viikko sitten
preset_resolver.py cf98daa0bb Security hardening (maziggy/bambuddy-security #10) 2 viikkoa sitten
print_batch.py f761a3ae97 fix(queue): every way of adding a job announces it, applies the default print options and keeps its cost centre 5 päivää sitten
print_confirmation.py 1c316e2ad6 Answer the outcome prompt by reacting to the Telegram message (#3129) 3 viikkoa sitten
print_control.py ab5ccc1082 fix(printers): a Stop on an idle printer no longer marks it as user-stopped, so a later failed print is not reported as cancelled; Configure Slot warns when a manual K value could not be sent; Skip Objects and the connection diagnostic release their DB connection before talking to the printer 2 päivää sitten
print_cost_estimate.py 141ec5dbb3 fix(spoolman): failed prints are logged with their spool cost, queue estimates use Spoolman prices 6 päivää sitten
print_defaults.py f761a3ae97 fix(queue): every way of adding a job announces it, applies the default print options and keeps its cost centre 5 päivää sitten
print_dispatch_context.py db6cdb0745 fix(camera): take the finish photo when the print ends, not when its last layer starts (#2547) 2 kuukautta sitten
print_log.py 461c3f045d fix(archives): a cost set through the API or by Recalculate reaches the run that had it; edits during a reprint leave the previous run alone; archive cost bounded; a 422 survives Infinity/NaN 3 päivää sitten
print_scheduler.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 2 päivää sitten
print_storage.py ebc72e1d41 fix(archives): keep the project name when the wrong-plate guard rejects a 3MF (issue #3126) 1 kuukausi sitten
printer_diagnostic.py a36c0009a5 fix(diagnostics): name the stalled step when a bundle's connection check times out (issue #3164) 3 viikkoa sitten
printer_file_cache.py 026acaf511 fix(printers): the plate picker downloads a printer's 3MF once 5 päivää sitten
printer_manager.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 päivä sitten
printer_media.py 7a2fd80b91 fix(ftp): printer downloads stop at their deadline, fit the file's size and say what failed 5 päivää sitten
process_overrides.py f0500578bd Edit the full print-parameter set from the slice dialog 2 kuukautta sitten
queue_announcements.py f761a3ae97 fix(queue): every way of adding a job announces it, applies the default print options and keeps its cost centre 5 päivää sitten
queue_item_printer.py 2699bebc37 fix(queue): a job moved to another printer drops the old printer's settings 6 päivää sitten
queue_position.py e9627e44a2 Start queued jobs in list order, whether pinned or "Any <model>" (#3200) 3 viikkoa sitten
rest_smart_plug.py a51283ad76 Security hardening (maziggy/bambuddy-security #19) 1 viikko sitten
secret_fields.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 päivä sitten
slice_dispatch.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 päivää sitten
slice_output_check.py 4f10d15584 Record the colour a slice is actually printed in (issue #2977) 1 kuukausi sitten
slice_preview.py 9a837d19a1 fix(slicer): strip zero-valued filament-index sentinels, and sanitise the preview slice too (issue #3030) 1 kuukausi sitten
slicer_3mf_convert.py 83142c726c fix(slice): report a finished slice once, not once per queued poll 2 kuukautta sitten
slicer_api.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 päivä sitten
slicer_filament_resolver.py 02e39b18b9 Configure Orca Cloud filaments with their own filament ID (#3216) 2 viikkoa sitten
slot_kprofile.py 53ef17dc56 fix(spoolman): slot assignments are verified, and the spool's own preset is used for the slot 6 päivää sitten
slot_nozzle.py 113f08a1a1 fix(printers): REST and WebSocket share the AMS serialiser, override picker sees both nozzles without an AMS 5 päivää sitten
slot_preset_writer.py 02e39b18b9 Configure Orca Cloud filaments with their own filament ID (#3216) 2 viikkoa sitten
slot_unlink_grace.py 3497cf0d46 Hold an automatic slot unlink until the slot stays empty (issue #3186) 3 viikkoa sitten
smart_plug_manager.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 päivä sitten
sponsor_prompt.py 31e61cebd7 feat(sponsor-prompt): lower print/archive/cost thresholds to fire for typical new installs 3 kuukautta sitten
spool_assignment_notifications.py 08a58b1ef4 Keep both modes' slot assignments across an inventory mode switch (issue #2812) 1 kuukausi sitten
spool_csv.py 5edbe7586d fix(inventory): deleting a spool frees and announces its slots; scale, AMS and manual weight syncs and a finished print's usage refresh other tabs and the printer cards; a deleted printer's spool assignments go with it on SQLite; a pre-assigned slot the printer could not be told about is retried; CSV last_used is stored in UTC 3 päivää sitten
spool_drying.py 84f320b859 Remember when each spool was last dried (#2863) 2 viikkoa sitten
spool_filament_preset.py 53ef17dc56 fix(spoolman): slot assignments are verified, and the spool's own preset is used for the slot 6 päivää sitten
spool_tag_matcher.py 23d04c8645 fix(inventory): archived or deleted spools release their AMS slots, safely in both modes 6 päivää sitten
spoolbuddy_ssh.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 päivää sitten
spoolman.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 päivä sitten
spoolman_slot_sync.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 3 päivää sitten
spoolman_tracking.py 005b34af6d deleted. Nothing would have been charged twice, but that printer would have looked mid-print to later spool archiving. It's closed using the "completion in progress" 2 päivää sitten
stl_thumbnail.py bdbfa5d8fd fix(library): STL thumbnails are made off the event loop, one at a time 5 päivää sitten
stock_forecast.py 318430f0f4 Give the two stock alerts something that fires them (issue #2955) (#3196) 3 viikkoa sitten
supplier_links.py 053cfa73ad Suppliers as a managed list with per-spool assignments (#2996) 3 viikkoa sitten
tag_conflict.py 0db028f9e6 fix(inventory): one structured 409 for a tag another spool holds (issue #3110) 1 kuukausi sitten
tasmota.py 3daae22f3d Security hardening (maziggy/bambuddy-security #8) 2 kuukautta sitten
telegram_reactions.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 päivä sitten
timelapse_jobs.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 päivä sitten
timelapse_processor.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 päivä sitten
usage_tracker.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 päivää sitten