maziggy 4142c5dcab fix(inventory): spool replaced mid-print is charged its part (issue #3325) před 7 hodinami
..
core 0dfcff5925 Keep the RTSPS proxy's handler set off the server object (issue #3001) před 1 měsícem
services a8dd164c71 fix(spoolman): failed print is charged only for what it used (issue #3317) před 22 hodinami
utils 922f781a4b Fill in missing generic filament IDs and fix support-filament setting IDs (#3273) před 2 týdny
__init__.py ff53e62ef8 Add comprehensive automated testing infrastructure před 10 měsíci
test_3mf_fallback_matching.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_3mf_files_for_print.py bb0bf03f68 fix(archives): an offline stop is logged and its real end replaces it; one log entry per run; untracked completions and print start find the print's own archive and 3MF před 4 dny
test_a2l_ams_lite_2619.py 5a9415e2e1 fix(ams): Load and Unload work on an AMS-HT před 5 dny
test_a2l_captured_mapping.py be0ad787b4 fix(a2l): AMS Lite trays in captured and slicer mappings keep their global id před 6 dny
test_accessory_plug_queue_stall_2629.py 56accd24de fix(smart-plugs): don't blank printer state when an accessory plug switches off (#2629) před 3 měsíci
test_ams_alarm_gating.py 6c0292b09a fix(ams): show a parked drying command as not started instead of an active cycle (#3096) před 3 týdny
test_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 před 4 dny
test_ams_ht_load_unload.py 5a9415e2e1 fix(ams): Load and Unload work on an AMS-HT před 5 dny
test_ams_humidity_index_guard_3140.py 113f08a1a1 fix(printers): REST and WebSocket share the AMS serialiser, override picker sees both nozzles without an AMS před 6 dny
test_ams_mapping_per_printer_2799.py dc72a0daea fix(virtual-printer): queued prints keep the slicer's options, not another printer's nozzles před 6 dny
test_ams_mapping_unresolved_2589.py 47a2a77cd3 fix(filament): don't dispatch an unresolved AMS mapping to the external spool (#2589) před 3 měsíci
test_ams_slot_location_cleanup.py 537b4d2509 Stop offering AMS slots as places to store a spool před 2 měsíci
test_ams_temp_alarm_dispatch_2905.py c3677865b6 Give the AMS temperature alarm its own threshold (issue #2905) (#2943) před 1 měsícem
test_ams_tray_tar_parse_2587.py e77e10896f feat(ams): name the expected slot when a paused print hits an AMS runout (#2587) před 3 měsíci
test_announcements_service.py 3fae2b402b Announcements: history, collapsed list, instant refresh, footer icon před 3 týdny
test_archive_bed_temperature_2989.py c001f596bf Read the bed temperature from the plate the project is sliced for (issue #2989) před 1 měsícem
test_archive_delete_no_3mf_dirs_2968.py d4477e9b71 Log ffmpeg's error instead of its build banner před 1 měsícem
test_archive_file_path_guard.py 055243683c Fix archive endpoints crash with "Is a directory" for BambuStudio prints (#475) před 8 měsíci
test_archive_filtering.py b342124f0e fix(timelapse): a video goes to the run it belongs to (scan stops on a newer run, claimed videos left out of matching, camera video replaces the printer's without orphaning it); every timelapse change refreshes open Archives pages před 4 dny
test_archive_nozzle_temperature_of_the_plate.py 879acdbf1f fix(archives): archives made without their 3MF store #RRGGBB colours (existing ones repaired at startup), find AMS-HT filament and are priced from their spools once the 3MF arrives; nozzle temperature of the printed plate před 4 dny
test_archive_plate_2603.py 0033001945 fix(db): SQLite applies the ON DELETE rules of archives, library files, queue jobs, batches and projects před 1 týdnem
test_archive_print_plate.py 12422a7c7e fix(archive): runs of another plate are logged and charged for that plate před 1 týdnem
test_archive_run_aggregation.py cc25cbe774 fix(archives): #1608 suppress card time-accuracy badge for multi-run archives před 4 měsíci
test_archive_updated_scope.py f43be8098e Security hardening (maziggy/bambuddy-security #29) před 1 týdnem
test_archived_spool_slots_migration.py 23d04c8645 fix(inventory): archived or deleted spools release their AMS slots, safely in both modes před 6 dny
test_assign_uses_model_preset_override.py a7b563334e Configure a spool's filament preset and K profile per nozzle před 1 měsícem
test_assignment_verification_2582.py 2e74f2ad41 feat(ams): confirm spool assignments landed instead of fire-and-forget (#2582) před 3 měsíci
test_asyncio_handlers.py 56800589ff fix(#1113): silence Windows asyncio Proactor cleanup-RST noise před 5 měsíci
test_auth_fail_closed.py 845ad39b19 fix(security): GHSA-6mf4-q26m-47pv — fail-closed on auth-probe DB errors (CVSS 9.8) před 4 měsíci
test_bambu_mqtt_cfg_parse.py e7dd899963 Read AMS Filament Backup from home_flag on printers without cfg (#3259) před 2 týdny
test_bed_jog.py 2c7c97c130 fix(jog): send the nozzle-bed gap the API promises on every model (issue #1334) před 1 měsícem
test_bed_temperature_backfill_2989.py b0ecb8fd88 Repair the bed temperature on archives written before the fix (issue #2989) před 1 měsícem
test_billing_run_id_migration.py bf525661d3 Three fixes on top of the billing branch, all found by running the suite against před 2 měsíci
test_bug_report.py dc4d77b93a [Feature] Redesign bug report debug log capture flow před 7 měsíci
test_bug_report_no_email_stored.py 346b58ed8f fix(settings): printer temperature history retention gets a setting; no retention can wipe history; bug reports keep no email před 5 dny
test_bulk_spool_create.py 053cfa73ad Suppliers as a managed list with per-spool assignments (#2996) před 3 týdny
test_bundled_compatible_printers_2982.py e9daa2124e Match slicer presets on what they declare, not what they are named (issue #2982) před 1 měsícem
test_callmebot_url_encoding.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 před 5 dny
test_camera_ffmpeg_termination.py 18cc906fad fix(camera): drain ffmpeg's pipes during teardown (#NNNN) před 2 měsíci
test_camera_frozen_output_3218.py e0149ae4ac Restart a camera stream that keeps repeating one frame (#3218, #3189) před 3 týdny
test_camera_janitor_spares_reconnect.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 před 3 dny
test_camera_reconnect_budget.py 4a1f602bf2 fix(camera): a frozen external RTSP camera is reconnected před 6 dny
test_camera_stderr_summary.py 056f06a396 fix(camera): capture ffmpeg stderr when an RTSP stream stalls (#1395) před 5 měsíci
test_camera_stderr_tail.py d3827e646a Security hardening (maziggy/bambuddy-security #23) před 1 týdnem
test_camera_stop_spares_live_external.py 31888777ae fix(camera): external cameras share one stream per printer před 6 dny
test_camera_stream_registry_isolation.py f26bcbbcce fix(camera): one registry key per stream, not per printer (issue #2707) před 2 měsíci
test_camera_usb_stream_cleanup.py 217ab5f53a fix(camera): the orphan cleanup only kills ffmpeg this Bambuddy started před 6 dny
test_cancel_during_dispatch.py 010361f378 fix(queue): a job cancelled while it is being sent stays cancelled před 1 týdnem
test_cancellation_cascade_recovery_migration.py edaf7c4559 fix(queue): cancelled prints no longer block require_previous_success chain (#1667) před 4 měsíci
test_cancelled_pool_filter.py 9884018497 fix: cancel-safe get_db + drop sqlalchemy.pool cancellation noise před 5 měsíci
test_capture_pid_tracking.py d3827e646a Security hardening (maziggy/bambuddy-security #23) před 1 týdnem
test_catalog_bulk_delete.py a7ddc483b3 Add bulk delete for spool and color catalog entries (#646) před 7 měsíci
test_chamber_temp_ceiling.py b04664c64a Raise the chamber-temperature ceiling from 60 to 65 C před 2 měsíci
test_check_postgres_upgrade.py 1927e077f3 ci: check that upgrading a PostgreSQL database gives a fresh install's schema před 1 týdnem
test_check_previous_success.py 2fe9896917 fix(queue): close #1818 — Resume after failure clears the gate před 4 měsíci
test_cli.py 6a627a85e1 fix(api-keys): a deleted key's connections and links don't pass to the next key před 1 týdnem
test_cloud_captcha_2790.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import před 1 měsícem
test_cloud_filament_id_map_single_flight.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 před 3 dny
test_cloud_token_expiry.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import před 1 měsícem
test_cloud_totp_csrf.py dd171252dc fix(cloud): complete the CSRF handshake on Bambu Cloud TOTP sign-in (#2696) před 2 měsíci
test_code_quality.py ccc354f347 refactor(models): declare the notification models' columns with Mapped[] před 1 týdnem
test_color_substitutions_3279.py 918353a945 feat(queue): a job sent with a spool of another colour says so on its row (#3279) před 1 dnem
test_color_utils.py 73912d4f05 Let a clear spool stay clear on the way to Spoolman (issue #2912) (#2924) před 1 měsícem
test_completion_queue_item_match.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_completion_subtask_match_2829.py 71a98800e1 Close the queue run of a file whose name ends in a space (#3241) před 2 týdny
test_compose_dir_setting.py 689f5276e4 Show the compose directory in the Docker update command (#2664) před 2 měsíci
test_config_env_warnings.py ad785a95cb fix(queue): withdraw an expected print when the command never goes out před 2 měsíci
test_confirm_link_unattended_fetch_1898.py b9e3fdc84f Post work PR #3047 před 3 týdny
test_confirm_page_escaping.py 098fa5273f Security hardening před 2 týdny
test_confirm_token_retirement_migration_1898.py 44c7e6fb39 Post-print outcome confirmation: good/reject verdicts, one-tap links, yield stats (#3047) před 3 týdny
test_conftest_query_cancellations.py fa5f300a4d test: test scripts run the build, type check and lint exits; finish query cancellations and release the app engine per test; refresh the type-check baseline před 4 dny
test_connection_watchdog.py 9f2d15f70f Merge perf/farm-fanout: batched printer-card reads (/api/v1/bulk) and server-paged queue history před 2 dny
test_cost_tracking.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 před 3 dny
test_cover_coalescing_2572.py cfecfa360e Restore the skip-objects list after a restart mid-print před 2 měsíci
test_cover_rechecks_3mf_cache_2957.py 7c10412f99 Refuse a same-named 3MF that contradicts the running print (issue #2957) před 1 měsícem
test_db_dialect.py cfb5c54f19 Security hardening (maziggy/bambuddy-security #13) před 1 týdnem
test_db_pool_and_auth_cache.py 3ce9b917cb fix(db): cap SQLite pool fd bill + raise container nofile — prevents fd-exhaustion DB corruption (#2884) před 2 týdny
test_db_session_timezone.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_debug_start_logs_no_credentials.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) před 1 týdnem
test_design_settings.py 7e77bf5833 Take the layer height from the plate that actually printed před 2 měsíci
test_diagnostic_snapshot.py a36c0009a5 fix(diagnostics): name the stalled step when a bundle's connection check times out (issue #3164) před 3 týdny
test_dispatch_claim_recovery.py ad785a95cb fix(queue): withdraw an expected print when the command never goes out před 2 měsíci
test_donor_3mf_validation_2957.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_download_deadline_and_gate_2957.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 před 5 dny
test_drying_preflight.py d37ce94f81 Feature: Scheduled drying (#2703) před 2 měsíci
test_energy_plug_selection_2859.py 5a05e03c8e Use the printer's own plug for energy when several are linked (issue #2859) před 2 měsíci
test_energy_price_1251.py b596b55456 Take the electricity price from Home Assistant and cost energy hour by hour (#1251) před 2 týdny
test_energy_snapshots.py b1be388a7d Security hardening (maziggy/bambuddy-security #18) před 1 týdnem
test_expected_print_creator_cleared.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 před 3 dny
test_expected_print_rollback.py 3b7c287f68 fix(queue): a print is charged with its own plate and AMS mapping (a fresh dispatch replaces a never-started one's, a failed send leaves a running plate's, completion drains the mapping) před 4 dny
test_external_camera_live_frame_reuse.py d9da60dd8d fix(camera): reuse the live view's frame for external-camera captures (#2707) před 2 měsíci
test_external_camera_rtsp_probe_3082.py 9fc2c6df2d fix(camera): stream an external RTSP camera that describes itself late (issue #3082) před 1 měsícem
test_external_camera_rtsp_redirects.py d3827e646a Security hardening (maziggy/bambuddy-security #23) před 1 týdnem
test_external_camera_ssrf.py 930a6661d7 Security hardening (maziggy/bambuddy-security #21) před 1 týdnem
test_external_dispatch_detection.py 89ea337612 Recognise our own print dispatch instead of guessing at a magic number před 2 měsíci
test_external_mapping_on_ams_printer_3239.py 57dd8651d8 Match a location job's trays on the printer it gets (#3239) před 2 týdny
test_external_spool_mapping_3087.py 5be18ff57a fix(queue): print a plate whose filaments are all on the external spool (issue #3087) před 1 měsícem
test_external_spool_usage_3166.py 37502719b7 Fix external-spool usage charged to an AMS spool (#3166) před 3 týdny
test_extract_video_last_frame.py 12d17bfbe7 fix(photo): source finish photo from forced timelapse + cleanup (#1397) před 4 měsíci
test_failed_start_releases_printer.py e965d22f38 A queued print that never starts no longer marks the printer's next print as started by Bambuddy. před 1 týdnem
test_failure_reason_derivation.py a6ce26205a Give the AI's own halt a name in the archive (issue #2946) (#2954) před 3 týdny
test_fallback_3mf_transfer_retry_3063.py a4cfbd4212 fix(archives): come back for a 3MF whose transfer ran out of time (issue #3063) před 1 měsícem
test_fallback_archive_mqtt_filament.py 879acdbf1f fix(archives): archives made without their 3MF store #RRGGBB colours (existing ones repaired at startup), find AMS-HT filament and are priced from their spools once the 3MF arrives; nozzle temperature of the printed plate před 4 dny
test_fallback_archive_recovery_2957.py 879acdbf1f fix(archives): archives made without their 3MF store #RRGGBB colours (existing ones repaired at startup), find AMS-HT filament and are priced from their spools once the 3MF arrives; nozzle temperature of the printed plate před 4 dny
test_fallback_name_keeps_project_3126.py ebc72e1d41 fix(archives): keep the project name when the wrong-plate guard rejects a 3MF (issue #3126) před 1 měsícem
test_fallback_timelapse_baseline_2957.py 59d2713acf Give a no-3MF archive the timelapse baseline it never took (issue #2957) před 1 měsícem
test_fd_limit_2883.py 3ce9b917cb fix(db): cap SQLite pool fd bill + raise container nofile — prevents fd-exhaustion DB corruption (#2884) před 2 týdny
test_ffmpeg_output_summary.py d4477e9b71 Log ffmpeg's error instead of its build banner před 1 měsícem
test_ffmpeg_rtsp_timeout_flag.py eae96da56e fix(camera): probe ffmpeg for the right RTSP socket-timeout flag (#1504) před 5 měsíci
test_filament_colour_2977.py 4f10d15584 Record the colour a slice is actually printed in (issue #2977) před 1 měsícem
test_filament_fields_options.py bfbf5d59af fix(profiles): add PLA-CF + Bambu CF/GF/specialty variants to filament_type select (#1686) před 4 měsíci
test_filament_finish.py 26e9a05707 fix(queue): a plate printed from the external spool keeps the AMS off on multi-plate files; slot reuse respects the finish; any-model VPs keep the AMS on; cloud filament id read from the preset too před 5 dny
test_filament_info_single_flight_2572.py e4866937c3 Security hardening (maziggy/bambuddy-security #36) před 1 týdnem
test_filament_type_equivalence.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 před 2 dny
test_filename_validation.py 6d316c5593 fix(dispatch): align SD cleanup with upload path so doubled-extension library rows don't leave ghost prints (#1542) před 4 měsíci
test_finish_photo_from_timelapse.py 432e956eff fix(camera): rotate every still exactly once, and cover the sources that let ffmpeg write the file před 2 měsíci
test_finish_photo_link_auth.py 919aa69f83 Make the {finish_photo_url} link open with authentication on před 3 týdny
test_finish_photo_moment_sync.py 71a98800e1 Close the queue run of a file whose name ends in a space (#3241) před 2 týdny
test_firmware_versions.py 4bcab89eee fix(firmware-check): bypass Cloudflare TLS-fingerprint gate via curl_cffi (#1666) před 4 měsíci
test_force_color_pinned_3280.py 1c86625b82 fix(queue): Force color match is kept for a job queued to a specific printer: it waits for a spool of the exact colour and variant instead of printing on the first spool of the same material, and two slots asking for the same filament need two spools of it (#3280) před 1 dnem
test_force_color_plate_scope_migration.py a0d4b3d837 fix(queue): scope force-colour overrides to the plate the item prints (#2551) před 3 měsíci
test_forget_printer.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 před 3 dny
test_fts_kprofile_routing.py c5e0055864 Track which nozzle each AMS feeds through the Filament Track Switch před 2 měsíci
test_gcode_injection.py b414af6b1c feat(gcode-injection): per-VP opt-in auto-print injection toggle (#1516) (#1656) před 4 měsíci
test_generic_filament_ids.py 922f781a4b Fill in missing generic filament IDs and fix support-filament setting IDs (#3273) před 2 týdny
test_get_db_cancel_safety.py 9884018497 fix: cancel-safe get_db + drop sqlalchemy.pool cancellation noise před 5 měsíci
test_get_db_function_scope.py d8375fab2f fix(api): write routes commit before they respond (issue #3320) před 8 hodinami
test_git_providers.py 306b9ba7fd Accept Forgejo tokens scoped to a single repository (#2775) před 2 měsíci
test_git_providers_restore.py 0be6ccd090 fix(backup): stop Gitea's tree pager failing open on a missing total_count (#2656) před 2 měsíci
test_github_backup_cloud_profiles.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import před 1 měsícem
test_github_backup_preset_secrets.py b1be388a7d Security hardening (maziggy/bambuddy-security #18) před 1 týdnem
test_github_backup_schemas.py e45f967616 feat(backup): Extend Backup to other Git providers (#1160) před 5 měsíci
test_github_backup_settings_secrets.py 473cdf3f0e Security hardening (maziggy/bambuddy-security #41) před 6 dny
test_github_backup_spool_fields.py 5cda4c6913 fix(backup): a Git restore brings back a print that was running at backup time as cancelled ("No status update received") instead of a print that failed on the next reconnect, and an archive this instance still has keeps its own status on overwrite; each spool's last-used time is backed up and restored před 3 dny
test_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 před 2 dny
test_github_restore_numbers.py 3c2ab99635 fix(archives): re-sliced archives read as not printed with a cost; restore checks its numbers; prints are bound under one set of names před 5 dny
test_github_restore_secret_destination.py 047fe0df49 Security hardening (maziggy/bambuddy-security #20) před 1 týdnem
test_github_restore_validation.py 8701e2b6b3 Security hardening (maziggy/bambuddy-security #18) před 1 týdnem
test_h2d_tray_now_same_frame_g11.py e3824097fa fix(mqtt): an H2D's active slot is read against the same message's nozzle data, and older nozzle data no longer overrules it před 5 dny
test_ha_scripts_on_automatic_switch.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 před 5 dny
test_ha_sensor_alert_template_rename_migration_2824.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) před 1 měsícem
test_ha_sensor_manager_1148.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) před 1 měsícem
test_history_retention_minimum.py 346b58ed8f fix(settings): printer temperature history retention gets a setting; no retention can wipe history; bug reports keep no email před 5 dny
test_hms_description_surfaces.py 6988a30eae Carry a fault's description in the status response (issue #2926) před 2 měsíci
test_hms_error_summary.py 033eff1254 Show Bambu's own HMS descriptions and the real alert level (issue #2728) před 3 týdny
test_homeassistant_settings.py eda1f5a9e7 Home Assistant: add environment variable configuration support před 8 měsíci
test_http_utils.py 55cc64c87d Add printer video downloads and range selection (#2853) před 2 měsíci
test_id_list.py f559d8461c Batch per-printer reads into bulk requests před 2 týdny
test_internal_printer_jobs.py df6ad0fa60 test: the no-archive notification tests close the coroutine they capture instead of leaking it into a later test's unraisable warning před 2 dny
test_internal_storage_probe_2856.py 4e79f9c2f7 Fill in a fallback archive when the 3MF finally arrives (issue #2957) před 1 měsícem
test_invalidate_all_sessions.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_inventory_remain_endpoint.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 před 3 dny
test_jti_revoked_session_reuse_2572.py 5afdaa83d1 fix(db): configurable pool, auth_enabled cache, single-checkout auth (#2572) před 3 měsíci
test_kprofile_ack_state_g7.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 před 5 dny
test_launcher_shutdown_config.py 08df660f6c Replace the embedded G-code viewer with the slicer's own renderer před 2 měsíci
test_layer_timelapse_attach.py b342124f0e fix(timelapse): a video goes to the run it belongs to (scan stops on a newer run, claimed videos left out of matching, camera video replaces the printer's without orphaning it); every timelapse change refreshes open Archives pages před 4 dny
test_layer_timelapse_expected_archive.py 5db4c75ca0 fix(camera): apply camera_rotation to layer-timelapse frames too před 2 měsíci
test_ldap_migration.py 3d893b22f3 fix(auth): make password_hash nullable on upgraded SQLite installs (#794) před 6 měsíci
test_library_classify_file_type.py a837a3acbd ● fix(library): #1600 thumbnail extraction for external-folder .gcode.3mf před 4 měsíci
test_library_file_path_guard.py 3adce435ee feat: add embedded GCode viewer (#963) před 6 měsíci
test_library_file_type_backfill_migration.py a837a3acbd ● fix(library): #1600 thumbnail extraction for external-folder .gcode.3mf před 4 měsíci
test_library_photo_move.py 12dddada0a File Manager: external link, notes and photos on library files (#3128) před 3 týdny
test_library_print_name.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_local_backup.py 5bbfeefa65 fix(backup): diagnose an unwritable backup path instead of quoting errno 30 (#2544) před 3 měsíci
test_local_config.py 4dcd37bc87 feat(system): NTP-gate state on /api/v1/system/appliance před 4 měsíci
test_local_date_bounds.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) před 3 dny
test_location_ha_sensor_manager_2824.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) před 1 měsícem
test_location_ha_sensor_unique_binding_migration_2824.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) před 1 měsícem
test_location_migration.py af5d24e289 feat(inventory): structured storage locations catalog (#1505) před 4 měsíci
test_location_service.py 537b4d2509 Stop offering AMS slots as places to store a spool před 2 měsíci
test_log_credential_redaction.py 929e89d6ce Security hardening (maziggy/bambuddy-security #17) před 1 týdnem
test_log_error_detection.py b99536cc33 Remove unused imports, variables, and fix minor CodeQL findings před 8 měsíci
test_logging_filters.py 1878d2aab5 feat(observability): trace ID column on every log line + X-Trace-Id header před 6 měsíci
test_main_plug_rank_2830.py 9a2b811566 Show the plug that powers the printer in the card's Power row (#2830) před 2 měsíci
test_maintenance_rod_filtering.py dfb995bfe9 [Fix] Remove incorrect "Lubricate Carbon Rods" maintenance task (#755) před 7 měsíci
test_makerworld_routes.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import před 1 měsícem
test_makerworld_s3_tls.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import před 1 měsícem
test_material_number_migration.py 71d4b2f70d Material number as a first-class spool field (#2994) před 3 týdny
test_media_scope_matches_media_gate.py d1f50973c6 Security hardening (maziggy/bambuddy-security #37) před 1 týdnem
test_mesh_combine.py b67c9b572c Add "Combine to 3MF" for slicing several STLs on one plate (#3162) před 3 týdny
test_mfa_helpers.py ba1c97c808 feat: Two-Factor Authentication (TOTP, Email OTP) and OIDC/SSO – full implementation with admin UI (#933) před 6 měsíci
test_mfa_login_response_auth_source.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 před 3 dny
test_mid_print_spool_swap_3325.py 4142c5dcab fix(inventory): spool replaced mid-print is charged its part (issue #3325) před 7 hodinami
test_migration_error_classification_2949.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_model_assign_drops_nozzle_mapping.py 3c2ab99635 fix(archives): re-sliced archives read as not printed with a cost; restore checks its numbers; prints are bound under one set of names před 5 dny
test_model_metadata.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_model_path_unmatched_filament.py aed9d91a58 fix(queue): a job queued for "Any" model is only given a printer whose spools the slot matcher can map (filament on the right nozzle, a spool per slot), instead of being held there, handed back and given the same printer again před 1 dnem
test_model_provider_registry.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import před 1 měsícem
test_mqtt_client_retirement_3068.py 8e9821dd2a fix(mqtt): never wait for a wedged paho network thread (issue #3068) před 1 měsícem
test_mqtt_debug_on_change.py ce807fb1cc fix(queue): upload to printers in parallel, cap wedge retries, make debug logs survive a farm před 3 měsíci
test_mqtt_relay_events.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 před 5 dny
test_natural_sort.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) před 1 měsícem
test_nearest_colour_match_2804.py e6842e1d3c Rank near-colour matches by how they look, and share one filament type table (#2804) před 2 měsíci
test_no_3mf_archive_paths.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_no_fail_open_in_auth.py b7d7c82501 fix(security): WebSocket auth gate + audit-driven hardening sweep před 4 měsíci
test_no_hardcoded_secrets.py b7d7c82501 fix(security): WebSocket auth gate + audit-driven hardening sweep před 4 měsíci
test_no_unsafe_path_joins.py 171848a0fc fix(slicer-presets): #1581 SliceModal refresh + invalidate on local-profile delete/import před 4 měsíci
test_not_null_update_schemas.py 29a81520d9 feat(external-links): an app can show a count on its sidebar link (PUT /external-links/badge with "Send notifications"; Bambuddy Orders shows its To do count), the count disappears when not updated for ten minutes před 1 dnem
test_notification_plate_scope.py 2f6007a148 fix(notifications): scope completion notification to printed plate on multi-plate 3MFs (#1785) před 4 měsíci
test_notification_provider_field_parity.py 4fdc55b884 Let the two stock alert toggles reach the database (issue #2945) (#2956) před 3 týdny
test_notification_template_sample_data.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) před 1 měsícem
test_notify_callback_isolation.py b42d39ffcc Add native Notify! alerts, Live Activities and Lock Screen widgets (#3265) před 2 týdny
test_notify_no_archive_duration.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 před 3 dny
test_nozzle_rack_mapping_2800.py 45dc139c41 Print an H2C two-nozzle plate from the carriage it was levelled on před 2 měsíci
test_nozzle_rack_positions_1784.py 3954d3a7e6 Choose which rack nozzle each filament prints from on an H2C (#1784) před 2 měsíci
test_obico_detection.py d2ea32ef6f Add Bambuddy Internal URL for Obico snapshots (#3255) před 2 týdny
test_obico_smoothing.py eec7793955 feat(obico): AI print-failure detection via self-hosted Obico ML API (#172) před 6 měsíci
test_oidc_env_managed_migration.py e3cada51ac feat(oidc): add is_env_managed column to oidc_providers před 2 měsíci
test_oidc_env_provider.py e3cada51ac feat(oidc): add is_env_managed column to oidc_providers před 2 měsíci
test_oidc_env_reader.py aef4f3a3e9 fix(oidc): strip the required BAMBUDDY_OIDC_* values and register the local-login bypass před 2 měsíci
test_oidc_icon_helpers.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) před 5 měsíci
test_oidc_icon_migration_pg.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) před 5 měsíci
test_oidc_icon_service.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) před 5 měsíci
test_oidc_icon_validation.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) před 5 měsíci
test_opentag3d.py b30a283184 Feature/spoolman inventory UI (#1241) před 5 měsíci
test_orca_cloud_refresh.py f3b1c59169 fix(orca-cloud): close the HTTP client when an authenticated build fails před 1 měsícem
test_orca_profiles.py 330d77198a Fix AMS slot showing wrong material for "Support for" profiles před 7 měsíci
test_orphan_auth_cleanup_migration.py 70857af393 feat(auth): SSO autologin + disable local username/password login (#1589) před 4 měsíci
test_outbound_url_ssrf_guards.py 29a81520d9 feat(external-links): an app can show a count on its sidebar link (PUT /external-links/badge with "Send notifications"; Bambuddy Orders shows its To do count), the count disappears when not updated for ten minutes před 1 dnem
test_override_color_match_equivalent_types.py a6a4b7648c fix(queue): an override counts an equivalent filament type in its colour; preheat and keep-warm heat the bed for the plate the job prints; queue colour names and the colour name saved with an override follow the filament's product line před 4 dny
test_pdf_thumbnail.py 86bd9e1bd4 fix(file-manager): harden the merged previews - PDF.js legacy build, server PDF thumbnails, STEP progress (issue #2976) před 3 týdny
test_perceptual_color_distance.py e6842e1d3c Rank near-colour matches by how they look, and share one filament type table (#2804) před 2 měsíci
test_permissions.py f66bd26f6e Add inventory:view_assignments permission so admins can grant users před 7 měsíci
test_permissions_stats_filter.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 před 2 dny
test_pg_columns_set_from_model.py 4588e7632c fix(db): give older PostgreSQL databases a new install's defaults and NOT NULLs před 1 týdnem
test_pg_migration_quiet_log.py 824e6c6e3a Stop every start from logging ~320 errors on PostgreSQL před 2 týdny
test_pg_test_schema_reset.py be7182ae9b test(postgres): build the test schema once per worker and empty it between tests před 5 dny
test_phantom_print_hardening.py 44a5c7a7f5 test(queue,billing,vp): pin dispatch failures, creator scope and busy-printer holds, aborted-print usage fallbacks, end-to-end print completion and billing, VP MQTT pre-login and rate-limit guards; test schema loads every model před 4 dny
test_pipeline_job_status_writers.py 176161f0d2 fix(pipelines): a pipeline run remembers how each copy ended před 1 týdnem
test_plate_check_chamber_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 před 3 dny
test_plate_clear_mqtt_notification.py 05d87a9740 Release the plate-clear gate on a powered-down printer (issue #2864) před 2 měsíci
test_plate_detection_failure_reason.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 před 5 dny
test_plate_gcode_selection.py 89dde591f2 Resolve dispatch plate_id from the archive instead of assuming 1 (#2951) před 3 týdny
test_plate_object_extraction.py b99536cc33 Remove unused imports, variables, and fix minor CodeQL findings před 8 měsíci
test_plug_datetimes_are_naive_utc.py b596b55456 Take the electricity price from Home Assistant and cost energy hour by hour (#1251) před 2 týdny
test_pool_fits_server.py 56e067753a fix(db): PostgreSQL pool default fits a stock server před 3 týdny
test_postgres_restore_drop_cascade.py b5cd369f51 chore: remove dead code and fail CI on unused frontend files před 1 týdnem
test_power_alerts.py 47795649ae fix(smart-plugs): power alerts are sent, checked in the background, once per crossing před 1 týdnem
test_previous_success_per_printer.py 3542005110 test: register sqlite_only and docker marks in pytest.ini, drop redundant asyncio marks před 6 dny
test_print_again_reuses_archived_3mf_3307.py 5f70e363c8 fix(archive): "Print again" on the printer's screen is archived with its 3MF (#3307) před 1 dnem
test_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 před 3 dny
test_print_log.py 44c7e6fb39 Post-print outcome confirmation: good/reject verdicts, one-tap links, yield stats (#3047) před 3 týdny
test_print_log_backfill_migration.py 481d43638d fix(db): add the foreign keys older PostgreSQL databases are missing před 1 týdnem
test_print_speed.py 0e712c72a1 [Feature] Add quick print speed control to printer card (#256) před 7 měsíci
test_print_start_assigns_printer_id_to_vp_archive.py bfd3fc755d Fix: capture timelapse baseline on expected-archive on_print_start branch (#1403 follow-up) před 5 měsíci
test_print_start_expected_promotion.py 72044e3a53 fix(usage): scope 3MF filament tracking to dispatched plate (#1697) před 4 měsíci
test_print_start_no_second_download_3308.py f0818ff183 fix(archive): a 3MF whose transfer timed out at print start is not downloaded again (#3308) před 1 dnem
test_print_start_skips_unreachable_storage_2780.py a4cfbd4212 fix(archives): come back for a 3MF whose transfer ran out of time (issue #3063) před 1 měsícem
test_print_start_subtask_with_extension_3009.py 5b62df754a Find the file of a print started from the printer's screen on the first try (#3009) před 2 týdny
test_print_storage_2780.py 5dd7bd213f Read a print's destination from the report topic, not just the request one (issue #1820) před 1 měsícem
test_printable_objects_releases_db.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 před 3 dny
test_printer_camera_rtsp_redirects.py d3827e646a Security hardening (maziggy/bambuddy-security #23) před 1 týdnem
test_printer_camera_url_redaction.py 929e89d6ce Security hardening (maziggy/bambuddy-security #17) před 1 týdnem
test_printer_kill_switch.py 808e461c52 fix(printers): live updates carry the airduct (cooling/heating) mode, also when it is the only change on an idle printer, and each H2C rack slot's filament type; the recovered-3MF Spoolman tests no longer depend on plate ids another test left behind před 3 dny
test_printer_maintenance_unique_migration.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 před 3 dny
test_printer_manager_status_broadcast.py 808e461c52 fix(printers): live updates carry the airduct (cooling/heating) mode, also when it is the only change on an idle printer, and each H2C rack slot's filament type; the recovered-3MF Spoolman tests no longer depend on plate ids another test left behind před 3 dny
test_printer_manager_tray_carryover_2876.py dd50c51c1b Stop waking printers that cannot print the queued job (issue #2876) před 2 měsíci
test_printer_media.py 55cc64c87d Add printer video downloads and range selection (#2853) před 2 měsíci
test_printer_model_codes.py ad3b5f1982 Map the P-series model codes to the right printers před 3 týdny
test_printer_models.py 18938a10ee fix(kprofiles): stop reporting rejected K-profile writes as saved před 2 měsíci
test_printer_offline_notification.py 808e461c52 fix(printers): live updates carry the airduct (cooling/heating) mode, also when it is the only change on an idle printer, and each H2C rack slot's filament type; the recovered-3MF Spoolman tests no longer depend on plate ids another test left behind před 3 dny
test_printer_schema.py 01787eb1e6 fix(printers): normalize serial numbers + diagnose connect-but-no-reports (#1465) před 5 měsíci
test_printer_scope.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 před 2 dny
test_printer_sensor_history.py dd6696470f Security hardening (maziggy/bambuddy-security #28) před 1 týdnem
test_printer_status_fields_g6.py 808e461c52 fix(printers): live updates carry the airduct (cooling/heating) mode, also when it is the only change on an idle printer, and each H2C rack slot's filament type; the recovered-3MF Spoolman tests no longer depend on plate ids another test left behind před 3 dny
test_process_overrides.py f0500578bd Edit the full print-parameter set from the slice dialog před 2 měsíci
test_progress_milestones_3211.py 995b4ada59 Count progress milestones from the first layer (#3211) před 3 týdny
test_project_settings_sentinel_sanitiser.py 9a837d19a1 fix(slicer): strip zero-valued filament-index sentinels, and sanitise the preview slice too (issue #3030) před 1 měsícem
test_pushover_priority.py 1555fad539 fix(notifications): send Pushover retry/expire for Emergency priority (#2586) před 3 měsíci
test_query_token_redaction.py 929e89d6ce Security hardening (maziggy/bambuddy-security #17) před 1 týdnem
test_queued_plate_bed_temperature.py a6a4b7648c fix(queue): an override counts an equivalent filament type in its colour; preheat and keep-warm heat the bed for the plate the job prints; queue colour names and the colour name saved with an override follow the filament's product line před 4 dny
test_reconcile_stale_active_prints.py d0d6a659e9 fix(reconcile): don't synthesize aborted PRINT COMPLETE on the bare-connect edge before push_status arrives (#1679) před 4 měsíci
test_refused_header_redaction.py d3827e646a Security hardening (maziggy/bambuddy-security #23) před 1 týdnem
test_refused_header_response_mask.py d3827e646a Security hardening (maziggy/bambuddy-security #23) před 1 týdnem
test_refused_project_file_ack.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 před 4 dny
test_remain_delta_silence_1820.py 0623cc46df Repair no-3MF archives' photos and their silent filament writes (#1820) před 2 měsíci
test_report_topic_project_file_1820.py cacaaf4dae fix(printers): live status carries nozzles, firmware, developer mode and the print's AMS mapping; run-out hint narrows by nozzle; AMS-HT is its unit id; rotate check sees loaded slots před 5 dny
test_reprint_clears_stale_timelapse.py 219d8a4a8c Keep other plates' timelapses on a shared archive and keep a long print's plate until it completes (#3275) před 2 týdny
test_reprint_unplated_timelapse.py 3c2ab99635 fix(archives): re-sliced archives read as not printed with a cost; restore checks its numbers; prints are bound under one set of names před 5 dny
test_reprint_updates_subtask_id.py 5c673620f3 fix(notifications): false-positive Print Stopped on reprint after MQTT reconnect (#1807) před 4 měsíci
test_request_topic_probe_2953.py 935d4b5bbf Charge the tray the printer said it used, not the first one loaded (issue #2953) před 1 měsícem
test_requirements_lock.py 56c131ef01 chore(deps): pin what ships in requirements.lock and install it everywhere před 1 týdnem
test_resolve_expected_tray_2587.py e77e10896f feat(ams): name the expected slot when a paused print hits an AMS runout (#2587) před 3 měsíci
test_restore_project_values.py 369ce6e1b5 fix(settings): restoring an old SQLite backup onto PostgreSQL no longer fails on project values před 1 týdnem
test_restore_schema_compat.py a10d5430de fix(settings): remove the "Save thumbnails" and "Notification Language" controls, which nothing read (the API keeps both fields); a SQLite-to-PostgreSQL restore fills empty required timestamps in UTC instead of the host's local time před 3 dny
test_restore_sqlite_wal_safety.py b5c7b1a8a8 fix(restore): replace shutil.copy2 with SQLite backup API to prevent WAL leftover (#1211, #668) před 5 měsíci
test_rfid_assign_picks_the_right_hotend.py e5a18bf58b Key a K profile on its nozzle's flow type před 1 měsícem
test_rfid_core_weight_repair_2909.py b38022ec5c Draw a spool the way the AMS described it, and correct the tare it was added with před 2 měsíci
test_rfid_refresh_ack_3206.py 1cc4bae5d2 Report a refused RFID refresh, and fall back to M620 R (#3206) před 3 týdny
test_route_auth_coverage.py 69c2ff1b44 test(auth): pin disabled keys, ended sessions on every gate, own-only key owners, long-lived token scope, model targets of limited keys; stricter route-auth backstop před 4 dny
test_run_estimate_plate.py 12422a7c7e fix(archive): runs of another plate are logged and charged for that plate před 1 týdnem
test_run_filament_helper.py 4436349a03 fix(stats): scope per-run filament to the printed plate, not the whole 3MF (#2614) před 3 měsíci
test_run_filament_plate_scope_2614.py 4436349a03 fix(stats): scope per-run filament to the printed plate, not the whole 3MF (#2614) před 3 měsíci
test_run_with_retry.py 2d9a56b3d0 Fix ghost jobs from SQLite lock on print completion (#897) před 6 měsíci
test_runtime_tracking_pause.py 554a73070f fix(maintenance): paused prints no longer accumulate runtime hours (#1521) před 5 měsíci
test_safe_path.py 396e9aa09e security: harden path-traversal class across routes + services; fifth CI backstop před 4 měsíci
test_scheduled_drying_model.py d37ce94f81 Feature: Scheduled drying (#2703) před 2 měsíci
test_scheduled_drying_routes.py b04d753186 (Post work): parked AMS drying timers and translated drying failures (issue #2896) před 3 týdny
test_scheduled_drying_schema.py d37ce94f81 Feature: Scheduled drying (#2703) před 2 měsíci
test_scheduler_ams_mapping.py 70312b0a11 fix(scheduler): skip per-nozzle filter under FTS so dispatch feeds the right spool (#2186) před 3 měsíci
test_scheduler_auto_drying.py e05a917445 fix(notifications,drying): printer-limited channels get only their printer's events; blocking mode pre-dries for scheduled jobs; model jobs say "(drying)"; remove dead load-tray state před 5 dny
test_scheduler_backup_gate.py 70312b0a11 fix(scheduler): skip per-nozzle filter under FTS so dispatch feeds the right spool (#2186) před 3 měsíci
test_scheduler_block_mode_predry.py e05a917445 fix(notifications,drying): printer-limited channels get only their printer's events; blocking mode pre-dries for scheduled jobs; model jobs say "(drying)"; remove dead load-tray state před 5 dny
test_scheduler_busy_defer_2598.py a4795c5ca3 Let API keys read and run slicer pipelines (#1425 follow-up) před 2 měsíci
test_scheduler_busy_only.py 35ce075486 [Fix] Suppress spurious "waiting for filament" notification when printers are busy (#753) před 7 měsíci
test_scheduler_busy_reasons_3018.py 0a3e341584 Map each printer against its own AMS, and stop dispatching a job whose filament is not loaded (#2799) (#2803) před 2 týdny
test_scheduler_cancel_race.py a4795c5ca3 Let API keys read and run slicer pipelines (#1425 follow-up) před 2 měsíci
test_scheduler_chamber_soak.py f86f5a7c34 feat(queue): keep the chamber warm between prints and skip redundant soak před 2 měsíci
test_scheduler_check_queue_holds.py 44a5c7a7f5 test(queue,billing,vp): pin dispatch failures, creator scope and busy-printer holds, aborted-print usage fallbacks, end-to-end print completion and billing, VP MQTT pre-login and rate-limit guards; test schema loads every model před 4 dny
test_scheduler_class_target_smart_plug_2786.py dd50c51c1b Stop waking printers that cannot print the queued job (issue #2876) před 2 měsíci
test_scheduler_cleanup_library.py bff7f68106 Put back a slot's K-profile when the printer loses it (#3219) před 3 týdny
test_scheduler_clear_plate.py d37ce94f81 Feature: Scheduled drying (#2703) před 2 měsíci
test_scheduler_concurrent_dispatch.py 222f28c7f8 fix(tests): assemble the upload batch instead of racing a sleep před 4 týdny
test_scheduler_cross_model_variants.py aed9d91a58 fix(queue): a job queued for "Any" model is only given a printer whose spools the slot matcher can map (filament on the right nozzle, a spool per slot), instead of being held there, handed back and given the same printer again před 1 dnem
test_scheduler_dispatch_failures.py 44a5c7a7f5 test(queue,billing,vp): pin dispatch failures, creator scope and busy-printer holds, aborted-print usage fallbacks, end-to-end print completion and billing, VP MQTT pre-login and rate-limit guards; test schema loads every model před 4 dny
test_scheduler_dispatch_hold.py 724bc92c22 fix(scheduler): post-dispatch hold prevents H2D Pro double-fire (#1157) před 5 měsíci
test_scheduler_drying_plate_hold_2801.py 71709c16aa Stop tearing down AMS drying for a print that cannot start (#2801) před 2 měsíci
test_scheduler_effective_plate_id.py 89dde591f2 Resolve dispatch plate_id from the archive instead of assuming 1 (#2951) před 3 týdny
test_scheduler_external_spool_nozzle_2771.py 945d4ca6eb Route external spools to a nozzle when the printer has no AMS (#2771) před 2 měsíci
test_scheduler_filament_deficit.py e05a917445 fix(notifications,drying): printer-limited channels get only their printer's events; blocking mode pre-dries for scheduled jobs; model jobs say "(drying)"; remove dead load-tray state před 5 dny
test_scheduler_filament_override.py 38af5df050 Add filament override for model-based queue assignment (#486) před 8 měsíci
test_scheduler_force_color_ams_fallback.py 1c86625b82 fix(queue): Force color match is kept for a job queued to a specific printer: it waits for a spool of the exact colour and variant instead of printing on the first spool of the same material, and two slots asking for the same filament need two spools of it (#3280) před 1 dnem
test_scheduler_global_queue_order_3200.py e9627e44a2 Start queued jobs in list order, whether pinned or "Any <model>" (#3200) před 3 týdny
test_scheduler_ha_interlock_1148.py 48244bcfcf fix(queue): tell a pinned queue item why it is waiting (issue #3074) před 1 měsícem
test_scheduler_inventory_remain.py 03896d1af0 fix(scheduler): use inventory weight for "Prefer Lowest Filament" sort (#1508) před 5 měsíci
test_scheduler_keep_warm.py a6a4b7648c fix(queue): an override counts an equivalent filament type in its colour; preheat and keep-warm heat the bed for the plate the job prints; queue colour names and the colour name saved with an override follow the filament's product line před 4 dny
test_scheduler_model_filament_short_3137.py dc72a0daea fix(virtual-printer): queued prints keep the slicer's options, not another printer's nozzles před 6 dny
test_scheduler_model_job_drying_c5.py e05a917445 fix(notifications,drying): printer-limited channels get only their printer's events; blocking mode pre-dries for scheduled jobs; model jobs say "(drying)"; remove dead load-tray state před 5 dny
test_scheduler_model_mismatch.py ad3b5f1982 Map the P-series model codes to the right printers před 3 týdny
test_scheduler_nozzle_mismatch.py 4961990a7a Let a print start on a nozzle the printer can fetch (issue #2885) před 2 měsíci
test_scheduler_pinned_waiting_reason_3074.py e05a917445 fix(notifications,drying): printer-limited channels get only their printer's events; blocking mode pre-dries for scheduled jobs; model jobs say "(drying)"; remove dead load-tray state před 5 dny
test_scheduler_power_plug_pick_2629.py 56accd24de fix(smart-plugs): don't blank printer state when an accessory plug switches off (#2629) před 3 měsíci
test_scheduler_preheat.py a6a4b7648c fix(queue): an override counts an equivalent filament type in its colour; preheat and keep-warm heat the bed for the plate the job prints; queue colour names and the colour name saved with an override follow the filament's product line před 4 dny
test_scheduler_preheat_ams_mapping_2886.py a6a4b7648c fix(queue): an override counts an equivalent filament type in its colour; preheat and keep-warm heat the bed for the plate the job prints; queue colour names and the colour name saved with an override follow the filament's product line před 4 dny
test_scheduler_preheat_fast_path.py a6a4b7648c fix(queue): an override counts an equivalent filament type in its colour; preheat and keep-warm heat the bed for the plate the job prints; queue colour names and the colour name saved with an override follow the filament's product line před 4 dny
test_scheduler_reassign_race_2615.py 64f9d04c80 fix(queue): claim a queue item before dispatch so it can't be reassigned mid-upload (#2615) před 3 měsíci
test_scheduler_release_conn_before_ftp_2572.py a6a4b7648c fix(queue): an override counts an equivalent filament type in its colour; preheat and keep-warm heat the bed for the plate the job prints; queue colour names and the colour name saved with an override follow the filament's product line před 4 dny
test_scheduler_scheduled_drying.py b04d753186 (Post work): parked AMS drying timers and translated drying failures (issue #2896) před 3 týdny
test_scheduler_scheduled_drying_check_queue.py d37ce94f81 Feature: Scheduled drying (#2703) před 2 měsíci
test_scheduler_snapshot_races.py abc971a718 fix(queue): a job edited during a scheduler round waits for the next one instead of being dispatched or mapped from the stale copy; the claim requires the selected printer; bulk edit rechecks the claim; no transaction held through a power-on wait před 4 dny
test_scheduler_upload_requeue_3210.py d4f66d99a4 Keep queued jobs when a printer refuses the upload (#3210) před 3 týdny
test_scheduler_watchdog.py 918353a945 feat(queue): a job sent with a spool of another colour says so on its row (#3279) před 1 dnem
test_sd_cleanup_file_in_use_3009.py cdb78f1321 Never delete the SD-card file the printer is printing (#3009) před 2 týdny
test_send_all_timelapse_per_plate_3275.py 219d8a4a8c Keep other plates' timelapses on a shared archive and keep a long print's plate until it completes (#3275) před 2 týdny
test_settings_dedupe_migration.py 9c5c2a765f Post work PR #1070 před 6 měsíci
test_shared_tray_usage_3230.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 před 4 dny
test_shutdown_cancel_log_filter.py df52e8873e fix(logging): a stream closed at shutdown is one INFO line, not an ERROR traceback před 6 dny
test_sidebar_settings.py 48d3f68ae6 feat: Centralise sidebar ordering and add page visibility options (#1673) před 4 měsíci
test_skip_objects_confirmation_g7.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 před 5 dny
test_skip_objects_survive_restart.py cfecfa360e Restore the skip-objects list after a restart mid-print před 2 měsíci
test_slice_backstop_wiring_2838.py f3b6a503bd fix(profiles): read the companion files that hold a preset's real gcode před 2 měsíci
test_slice_external_folder_output.py 3dc681d9f1 fix(slicer): write slice output to the source's external folder (#2810) před 2 měsíci
test_slice_output_check_2838.py f3b6a503bd fix(profiles): read the companion files that hold a preset's real gcode před 2 měsíci
test_slice_output_name_2832.py aff737999f Build the slice output's path from a name a folder can have (#2832) před 2 měsíci
test_slice_process_support_patch.py b1f5ec9642 Let one checkbox say where a slice's settings come from (issue #2942) před 2 měsíci
test_slice_progress_timeout_detail.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 před 3 dny
test_slice_request_bed_type.py ccf985abfc feat(slicing): build-plate override in the SliceModal (#1337) před 5 měsíci
test_slice_request_schema.py e95c42c021 Add auto-orient and auto-arrange to server-side slicing (#2548) před 2 měsíci
test_slice_unresolved_filament_2977.py 4f10d15584 Record the colour a slice is actually printed in (issue #2977) před 1 měsícem
test_sliced_3mf_named_as_source_2993.py 2e405afcd1 Decide whether a 3MF is sliced by looking inside it (issue #2993) před 1 měsícem
test_sliced_3mf_reclassify_migration_2993.py 2e405afcd1 Decide whether a 3MF is sliced by looking inside it (issue #2993) před 1 měsícem
test_slicer_preset_values.py b6027b7138 Say why a preset's values are unavailable, not just that they are před 2 měsíci
test_slicer_presets.py 3acc52d938 Slice with a printer preset saved under a name of its own (#3250) před 2 týdny
test_slicer_settings.py 8d42b05f62 Add configurable slicer preference — Bambu Studio or OrcaSlicer (#313) před 8 měsíci
test_slicer_stall_timeout.py ce3e59884a fix(slicer): bound slices by silence, not by total slicing time (#2730) před 2 měsíci
test_slicer_upload_size_rejection.py d120a804ff fix(slicer): name the sidecar service in the update command (#2802) před 2 měsíci
test_slot_nozzle_resolution.py e5a18bf58b Key a K profile on its nozzle's flow type před 1 měsícem
test_slot_preset_key.py 87a5aa36e9 fix(ams): HT slot shows "Generic" after configuring custom preset (#1053) před 6 měsíci
test_smart_plug_power_flag_migration_2629.py 4588e7632c fix(db): give older PostgreSQL databases a new install's defaults and NOT NULLs před 1 týdnem
test_spawn_patch_does_not_leak_coroutines.py a4795c5ca3 Let API keys read and run slicer pipelines (#1425 follow-up) před 2 měsíci
test_sponsor_prompt_service.py 8f4c8375cb test: silence Bandit B108 on hardcoded /tmp test-fixture paths před 3 měsíci
test_spool_drying_record_2863.py 84f320b859 Remember when each spool was last dried (#2863) před 2 týdny
test_spool_filament_preset_cascade.py a7b563334e Configure a spool's filament preset and K profile per nozzle před 1 měsícem
test_spool_schemas_colors.py a34beaa599 feat(inventory): multi-colour gradients, transparency, visual effects (#1154) před 5 měsíci
test_spool_schemas_rgba.py 4304a42542 feat(#729): per-spool category + low-stock threshold override před 6 měsíci
test_spool_schemas_storage_location.py 1d6e1b9e88 fix(inventory): persist storage_location for internal spools (#1291) před 5 měsíci
test_spool_swap_writers_3325.py 4142c5dcab fix(inventory): spool replaced mid-print is charged its part (issue #3325) před 7 hodinami
test_spool_usage_spool_migration.py e1714b5115 fix(inventory): deleting a spool keeps its usage history; spool ids are never reused před 1 týdnem
test_spoolbuddy_schema_validation.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 před 2 dny
test_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 před 3 dny
test_spoolbuddy_system_stats.py 67f91d94de v0.2.2.2 (#830) před 7 měsíci
test_spoolman_extra_lock.py b30a283184 Feature/spoolman inventory UI (#1241) před 5 měsíci
test_spoolman_failed_run_cost.py 141ec5dbb3 fix(spoolman): failed prints are logged with their spool cost, queue estimates use Spoolman prices před 6 dny
test_spoolman_inventory_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) před 3 dny
test_spoolman_inventory_methods.py b6521e93f8 Let a spool keep its own empty weight (issue #2908) (#3011) před 3 týdny
test_spoolman_multi_colors_2967.py 699fc419fe Paint an AMS slot card with the spool's colours, not the tray's (issue #2967) před 1 měsícem
test_spoolman_no3mf_remain_fallback.py 1a2560270f fix(spoolman): a failed print that switched to the backup spool charges each spool its share před 6 dny
test_spoolman_partial_usage_layer_reset.py 44a5c7a7f5 test(queue,billing,vp): pin dispatch failures, creator scope and busy-printer holds, aborted-print usage fallbacks, end-to-end print completion and billing, VP MQTT pre-login and rate-limit guards; test schema loads every model před 4 dny
test_spoolman_recovered_3mf_tracking.py c1ea484a5a test: the no-archive notification tests close the coroutine they capture; the Spoolman recovery tests archive under their own tmp_path instead of the shared archive/, where another worker could write the same 3MF path at the same time před 2 dny
test_spoolman_settings_value_coercion.py 88dc56d6e1 Security hardening (maziggy/bambuddy-security #7) před 2 měsíci
test_spoolman_slot_ddl.py af52c4f2ff fix(spoolman): allow AMS-HT ams_id range in slot-assignment table (#1274) před 5 měsíci
test_spoolman_stale_tag_cleanup.py 12b0c138f7 fix(spoolman): clear stale fallback-tag links on assign + link, prefer slot-assignment over tag-link in UI (#1457) před 5 měsíci
test_spoolman_tracking.py fb69a665d8 fix(spoolman): concurrent copies of an archive are charged, unfed slots charge nothing před 6 dny
test_spoolman_tray_now_migration_1820.py 0623cc46df Repair no-3MF archives' photos and their silent filament writes (#1820) před 2 měsíci
test_sqlite_autoincrement.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_sqlite_fk.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority před 1 týdnem
test_sqlite_import_sequences.py 6b017efe1c fix(db): SQLite no longer reuses the ids of users, API keys, printers, archives and camera tokens před 1 týdnem
test_sqlite_orphan_cleanup.py 0033001945 fix(db): SQLite applies the ON DELETE rules of archives, library files, queue jobs, batches and projects před 1 týdnem
test_ssrf_guard.py b30a283184 Feature/spoolman inventory UI (#1241) před 5 měsíci
test_state_writers.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 před 4 dny
test_static_assets.py 89a9a81195 Compress and cache the web interface's asset files (#3175) před 2 týdny
test_status_broadcast_ams_slot_config.py 808e461c52 fix(printers): live updates carry the airduct (cooling/heating) mode, also when it is the only change on an idle printer, and each H2C rack slot's filament type; the recovered-3MF Spoolman tests no longer depend on plate ids another test left behind před 3 dny
test_stock_alert_template_migration_2955.py 318430f0f4 Give the two stock alerts something that fires them (issue #2955) (#3196) před 3 týdny
test_subtask_archive_resume.py 29774ff975 fix(archive): a print of a file whose last print was never closed gets its own archive před 1 týdnem
test_supplier_tables_migration.py 053cfa73ad Suppliers as a managed list with per-spool assignments (#2996) před 3 týdny
test_support_bundle_rotated_logs.py ce807fb1cc fix(queue): upload to printers in parallel, cap wedge retries, make debug logs survive a farm před 3 měsíci
test_support_helpers.py ee2d6e69aa test: close the coroutines that mocked create_task, wait_for, run_coroutine_threadsafe, spawn_background_task and AsyncMock sessions left unawaited (reported as unraisable warnings in unrelated later tests); the Spoolman recovery tests archive under their own tmp_path instead of the shared archive/ před 2 dny
test_sync_ams_weights.py be569f7577 fix: prevent spool weight corruption, add AMS weight sync, fix extruder_id před 8 měsíci
test_systemd_backup_paths.py e70fbfb961 fix(spoolbuddy): unregistered devices register again, refused requests stop blocking the buffer před 6 dny
test_tag_normalization_tray_uuid.py 12e543b1b4 Fix SpoolBuddy reading the filament type as the Bambu spool ID (#984) před 2 týdny
test_telegram_forum_topic.py 6cda236dce feat(notifications): optional Telegram forum topic via message_thread_id (#1518) před 2 měsíci
test_telegram_outcome_buttons_1898.py 44c7e6fb39 Post-print outcome confirmation: good/reject verdicts, one-tap links, yield stats (#3047) před 3 týdny
test_temperature_fan_presets.py b04664c64a Raise the chamber-temperature ceiling from 60 to 65 C před 2 měsíci
test_threemf_tools.py a8dd164c71 fix(spoolman): failed print is charged only for what it used (issue #3317) před 22 hodinami
test_timelapse_baseline_restart_recovery.py 9a397f46e9 implemented pr feedback #2 před 2 měsíci
test_timelapse_match.py 4ee4bdb0d3 fix(archives): scan_timelapse picked stale video at false offset (#1278) před 5 měsíci
test_timelapse_scan_2704.py b342124f0e fix(timelapse): a video goes to the run it belongs to (scan stops on a newer run, claimed videos left out of matching, camera video replaces the printer's without orphaning it); every timelapse change refreshes open Archives pages před 4 dny
test_timelapse_scan_newer_run.py b342124f0e fix(timelapse): a video goes to the run it belongs to (scan stops on a newer run, claimed videos left out of matching, camera video replaces the printer's without orphaning it); every timelapse change refreshes open Archives pages před 4 dny
test_tls_proxy_teardown_2968.py a735f8c43a chore: Python 3.11 is the minimum, and the installer finds or installs it před 1 týdnem
test_trace.py 88b5f56eb2 fix: cancel = layer shift, stuck "1 problem", and dropped child-logger logs před 6 měsíci
test_unnamed_print_stage_logging.py d1c65a6659 Report a print stage we cannot name at the default log level před 2 měsíci
test_updater_step_timeouts.py b10fd5ed1a fix(updates,timelapse): a hung update step or slow timelapse stitch no longer gets stuck or loses its work před 6 dny
test_upload_progress_bridge.py 9033b0f81e feat(toast): restore upload-progress toast for scheduler dispatches (#1625 follow-up) před 3 měsíci
test_url_safety.py 930a6661d7 Security hardening (maziggy/bambuddy-security #21) před 1 týdnem
test_usage_tracker.py 12422a7c7e fix(archive): runs of another plate are logged and charged for that plate před 1 týdnem
test_usage_tracker_charge_race.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 před 4 dny
test_usage_tracker_restart_recovery.py b63189f2be fix(printers): the print slot labels on AMS slots stay on when Bambuddy restarts during a print (the mapping captured from the print command is restored with the print session) před 2 dny
test_use_ams_reconcile_2595.py 26e9a05707 fix(queue): a plate printed from the external spool keeps the AMS off on multi-plate files; slot reuse respects the finish; any-model VPs keep the AMS on; cloud filament id read from the preset too před 5 dny
test_user_notifications.py a6d307d739 Post work PR #693 před 7 měsíci
test_user_print_template_rename_migration.py 7e6b390d74 feat(notifications): template-driven finish-photo email embed + user_print_* rename (#1792) před 4 měsíci
test_variant_group_backfill_migration.py da07c5884b Add variant-group data model for cross-model queue alternatives (#671) před 2 měsíci
test_vp_access_code_sync_migration.py 19073f5c84 fix(vp): auto-derive access code from target printer in non-proxy modes před 4 měsíci
test_vp_delete_cleanup.py 8a6faab0d2 Security hardening (maziggy/bambuddy-security #34) před 1 týdnem
test_vp_ftp_port.py fc746ae218 [Fix] Virtual Printer FTP routed to wrong VP with different access codes (#735) před 7 měsíci
test_vp_ftp_stor.py 7d4dfd5a7d fix(vp): stop uvloop from silently truncating VP FTP uploads (#1896) před 3 měsíci
test_vp_mode_rename_migration.py 5d6d928b3f fix(virtual-printer): #1429 net.info[*].ip cache leak + mode wire-value rename před 4 měsíci
test_vp_mqtt_bridge.py 9d35a4e8c6 Mark four test-side bandit false positives před 1 měsícem
test_vp_mqtt_server.py 44a5c7a7f5 test(queue,billing,vp): pin dispatch failures, creator scope and busy-printer holds, aborted-print usage fallbacks, end-to-end print completion and billing, VP MQTT pre-login and rate-limit guards; test schema loads every model před 4 dny
test_vp_tls_ciphers.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 před 2 dny
test_vp_wire_dump.py 19eed8eba0 debug(vp): env-flagged command-flow trace for slicer↔printer #1622 round-2 triage před 4 měsíci
test_wallet_currency_drop_migration.py 4a85e033c0 fix(finance): show the currency the install is configured for (issue #3123) před 1 měsícem
test_wallet_transactions_user_migration.py c39e678204 Security hardening (maziggy/bambuddy-security #12) před 1 týdnem
test_webhook_endpoint_list.py 132dcbde06 fix(settings): the webhook endpoint list shows the endpoints that exist před 1 týdnem
test_ws_broadcast_to_user.py 45921b7a56 Limit groups to selected printers (issue #1727) před 3 týdny
test_ws_status_carries_rest_fields.py 808e461c52 fix(printers): live updates carry the airduct (cooling/heating) mode, also when it is the only change on an idle printer, and each H2C rack slot's filament type; the recovered-3MF Spoolman tests no longer depend on plate ids another test left behind před 3 dny