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