maziggy 14d0d14365 Power on a printer for jobs queued to a printer class (#2786) hai 4 semanas
..
core f243e4e598 fix(asyncio): track strong refs on orphan create_task sites hai 3 meses
services 91acac2b35 Stop retrying a printer whose FTPS handshake fails, and name the cause (#2780) hai 4 semanas
utils 9f4f16e5bd fix(spoolman): split mid-print usage across AMS backup switch (#1793) hai 2 meses
__init__.py ff53e62ef8 Add comprehensive automated testing infrastructure hai 8 meses
test_a2l_ams_lite_2619.py d0efb9db9e fix(vp): relay A2L AMS filament to the slicer instead of blanking every slot hai 1 mes
test_accessory_plug_queue_stall_2629.py 56accd24de fix(smart-plugs): don't blank printer state when an accessory plug switches off (#2629) hai 1 mes
test_ams_alarm_gating.py 51730a7bf1 feat(ams): gate humidity/temperature alarms on AMS-has-filament (#1619) hai 3 meses
test_ams_assignment_lock.py 352e619ad7 fix(inventory): serialise spool auto-assign per printer to fix Postgres race hai 4 meses
test_ams_mapping_unresolved_2589.py 47a2a77cd3 fix(filament): don't dispatch an unresolved AMS mapping to the external spool (#2589) hai 1 mes
test_ams_tray_tar_parse_2587.py e77e10896f feat(ams): name the expected slot when a paused print hits an AMS runout (#2587) hai 1 mes
test_archive_file_path_guard.py 055243683c Fix archive endpoints crash with "Is a directory" for BambuStudio prints (#475) hai 6 meses
test_archive_filtering.py 5a67dffe4f fix(timelapse): poll longer, diff without a clock, delete once archived (#2704) hai 1 mes
test_archive_plate_2603.py 83a7b75b14 fix(queue): persist selected plate to the archive; reconcile archive on offline stop (#2603) hai 1 mes
test_archive_run_aggregation.py cc25cbe774 fix(archives): #1608 suppress card time-accuracy badge for multi-run archives hai 3 meses
test_assignment_verification_2582.py 2e74f2ad41 feat(ams): confirm spool assignments landed instead of fire-and-forget (#2582) hai 1 mes
test_asyncio_handlers.py 56800589ff fix(#1113): silence Windows asyncio Proactor cleanup-RST noise hai 4 meses
test_auth_fail_closed.py 845ad39b19 fix(security): GHSA-6mf4-q26m-47pv — fail-closed on auth-probe DB errors (CVSS 9.8) hai 3 meses
test_bambu_mqtt_cfg_parse.py b1cb26f6ee feat(ams-backup): add status badge + toggle, fix prefer-lowest (#1766) hai 2 meses
test_bed_jog.py a6e7d671f2 fix(jog): stop disabling firmware endstops; warn that limits aren't enforced (#2579) hai 1 mes
test_bug_report.py dc4d77b93a [Feature] Redesign bug report debug log capture flow hai 5 meses
test_bulk_spool_create.py 16fa84bc16 Add bulk spool addition and stock spools hai 6 meses
test_camera_ffmpeg_termination.py 18cc906fad fix(camera): drain ffmpeg's pipes during teardown (#NNNN) hai 1 mes
test_camera_stderr_summary.py 056f06a396 fix(camera): capture ffmpeg stderr when an RTSP stream stalls (#1395) hai 3 meses
test_camera_stderr_tail.py 40e7b60e8c fix(camera): drain a streaming ffmpeg's stderr continuously (#2707) hai 1 mes
test_camera_stream_registry_isolation.py f26bcbbcce fix(camera): one registry key per stream, not per printer (issue #2707) hai 1 mes
test_camera_usb_stream_cleanup.py 18cc906fad fix(camera): drain ffmpeg's pipes during teardown (#NNNN) hai 1 mes
test_cancellation_cascade_recovery_migration.py edaf7c4559 fix(queue): cancelled prints no longer block require_previous_success chain (#1667) hai 3 meses
test_cancelled_pool_filter.py 9884018497 fix: cancel-safe get_db + drop sqlalchemy.pool cancellation noise hai 4 meses
test_capture_pid_tracking.py ef37ffa7c7 fix(obico): exclude snapshot capture PIDs from stream cleanup (#172) hai 4 meses
test_catalog_bulk_delete.py a7ddc483b3 Add bulk delete for spool and color catalog entries (#646) hai 6 meses
test_chamber_temp_ceiling.py b04664c64a Raise the chamber-temperature ceiling from 60 to 65 C hai 1 mes
test_check_previous_success.py 2fe9896917 fix(queue): close #1818 — Resume after failure clears the gate hai 2 meses
test_cli.py 464d56ea0d fix(install): make SpoolBuddy kiosk usable on first boot in full-mode install hai 4 meses
test_cloud_token_expiry.py ba40f5731d fix(cloud): only sign out on Bambu's real token-expiry 401, not any 401 hai 1 mes
test_cloud_totp_csrf.py 9d549050f7 fix(cloud): complete the CSRF handshake on Bambu Cloud TOTP sign-in (#2696) hai 1 mes
test_code_quality.py 4fac9ff12c fix(test): stop sys.modules-deleting backend.app.main in test_code_quality hai 3 meses
test_color_utils.py cf7c459099 fix(inventory): fix usage tracking for remapped AMS slots and slicer prints hai 6 meses
test_compose_dir_setting.py 689f5276e4 Show the compose directory in the Docker update command (#2664) hai 1 mes
test_config_env_warnings.py ad785a95cb fix(queue): withdraw an expected print when the command never goes out hai 1 mes
test_connection_watchdog.py 3abab1fd45 fix(printers): recover MQTT sessions that stopped reconnecting (#2732) hai 1 mes
test_cost_tracking.py b5a83924eb fix(cost): top-up untracked filament at default rate so multi-color hai 3 meses
test_cover_coalescing_2572.py 80687982c1 fix(db): release scheduler/cloud/cover sessions across slow I/O, add LIFO pool (#2572) hai 1 mes
test_db_dialect.py b30a283184 Feature/spoolman inventory UI (#1241) hai 4 meses
test_db_pool_and_auth_cache.py 5afdaa83d1 fix(db): configurable pool, auth_enabled cache, single-checkout auth (#2572) hai 1 mes
test_design_settings.py 8551e32f14 feat(slicer): keep the designer's print settings when re-slicing for another printer (#2622) hai 1 mes
test_diagnostic_snapshot.py 3b9633a178 ● feat(support): include sanitized connection / VP / log-health diagnostics in support bundle and bug report (#1506 follow-up) hai 3 meses
test_dispatch_claim_recovery.py ad785a95cb fix(queue): withdraw an expected print when the command never goes out hai 1 mes
test_energy_snapshots.py 8266d225d2 fix(energy): date-range energy in total mode + restart-resilient per-print tracking (#941) hai 4 meses
test_expected_print_rollback.py ad785a95cb fix(queue): withdraw an expected print when the command never goes out hai 1 mes
test_external_camera_live_frame_reuse.py d9da60dd8d fix(camera): reuse the live view's frame for external-camera captures (#2707) hai 1 mes
test_external_camera_ssrf.py 16c8c6f2ea Security hardening (maziggy/bambuddy-security #9) hai 1 mes
test_extract_video_last_frame.py 12d17bfbe7 fix(photo): source finish photo from forced timelapse + cleanup (#1397) hai 3 meses
test_failure_reason_derivation.py 88b5f56eb2 fix: cancel = layer shift, stuck "1 problem", and dropped child-logger logs hai 4 meses
test_fallback_archive_mqtt_filament.py 7a7dfed81a fix(archives): resolve raw_data wrapper in fallback-archive filament extraction (#1533 follow-up) hai 3 meses
test_ffmpeg_rtsp_timeout_flag.py eae96da56e fix(camera): probe ffmpeg for the right RTSP socket-timeout flag (#1504) hai 3 meses
test_filament_fields_options.py bfbf5d59af fix(profiles): add PLA-CF + Bambu CF/GF/specialty variants to filament_type select (#1686) hai 2 meses
test_filament_info_single_flight_2572.py 80687982c1 fix(db): release scheduler/cloud/cover sessions across slow I/O, add LIFO pool (#2572) hai 1 mes
test_filename_validation.py 6d316c5593 fix(dispatch): align SD cleanup with upload path so doubled-extension library rows don't leave ghost prints (#1542) hai 3 meses
test_finish_photo_from_timelapse.py 432e956eff fix(camera): rotate every still exactly once, and cover the sources that let ffmpeg write the file hai 1 mes
test_finish_photo_moment_sync.py db6cdb0745 fix(camera): take the finish photo when the print ends, not when its last layer starts (#2547) hai 1 mes
test_firmware_versions.py 4bcab89eee fix(firmware-check): bypass Cloudflare TLS-fingerprint gate via curl_cffi (#1666) hai 3 meses
test_force_color_plate_scope_migration.py a0d4b3d837 fix(queue): scope force-colour overrides to the plate the item prints (#2551) hai 1 mes
test_gcode_injection.py b414af6b1c feat(gcode-injection): per-VP opt-in auto-print injection toggle (#1516) (#1656) hai 2 meses
test_get_db_cancel_safety.py 9884018497 fix: cancel-safe get_db + drop sqlalchemy.pool cancellation noise hai 4 meses
test_git_providers.py 306b9ba7fd Accept Forgejo tokens scoped to a single repository (#2775) hai 1 mes
test_git_providers_restore.py 0be6ccd090 fix(backup): stop Gitea's tree pager failing open on a missing total_count (#2656) hai 1 mes
test_github_backup_cloud_profiles.py 455a9e4ba7 fix(backup): collect cloud profiles from every connected account (#2717) hai 1 mes
test_github_backup_schemas.py e45f967616 feat(backup): Extend Backup to other Git providers (#1160) hai 4 meses
test_github_restore.py b5163b94f8 fix(backup): report the categories a failed restore already committed (#2656) hai 1 mes
test_ha_sensor_manager_1148.py cd004df817 Show Home Assistant sensors on the printer card (#1148, #448) hai 1 mes
test_hms_error_summary.py 08601b4772 ● fix(#1111): advance queue item when print fails before reaching RUNNING hai 4 meses
test_homeassistant_settings.py eda1f5a9e7 Home Assistant: add environment variable configuration support hai 7 meses
test_http_utils.py 3f58fc74b4 fix(http): RFC 6266-encode Content-Disposition so non-ASCII filenames don't crash response (issue #1245) hai 4 meses
test_inventory_remain_endpoint.py b1cb26f6ee feat(ams-backup): add status badge + toggle, fix prefer-lowest (#1766) hai 2 meses
test_jti_revoked_session_reuse_2572.py 5afdaa83d1 fix(db): configurable pool, auth_enabled cache, single-checkout auth (#2572) hai 1 mes
test_launcher_shutdown_config.py 29e78e85d5 test(launcher): skip repo-root launcher checks when files aren't shipped hai 1 mes
test_layer_timelapse_expected_archive.py 5db4c75ca0 fix(camera): apply camera_rotation to layer-timelapse frames too hai 1 mes
test_ldap_migration.py 3d893b22f3 fix(auth): make password_hash nullable on upgraded SQLite installs (#794) hai 4 meses
test_library_classify_file_type.py a837a3acbd ● fix(library): #1600 thumbnail extraction for external-folder .gcode.3mf hai 3 meses
test_library_file_path_guard.py 3adce435ee feat: add embedded GCode viewer (#963) hai 4 meses
test_library_file_type_backfill_migration.py a837a3acbd ● fix(library): #1600 thumbnail extraction for external-folder .gcode.3mf hai 3 meses
test_library_print_name.py 71e58e6cf1 fix(library): show the filename, not the embedded 3MF Title (#1489) hai 3 meses
test_local_backup.py 5bbfeefa65 fix(backup): diagnose an unwritable backup path instead of quoting errno 30 (#2544) hai 1 mes
test_local_config.py 4dcd37bc87 feat(system): NTP-gate state on /api/v1/system/appliance hai 2 meses
test_location_migration.py af5d24e289 feat(inventory): structured storage locations catalog (#1505) hai 2 meses
test_location_service.py af5d24e289 feat(inventory): structured storage locations catalog (#1505) hai 2 meses
test_log_credential_redaction.py bbbb9d35c7 Bound the scheme repetition in the log credential-redaction pattern. As an hai 1 mes
test_log_error_detection.py b99536cc33 Remove unused imports, variables, and fix minor CodeQL findings hai 7 meses
test_logging_filters.py 1878d2aab5 feat(observability): trace ID column on every log line + X-Trace-Id header hai 4 meses
test_maintenance_rod_filtering.py dfb995bfe9 [Fix] Remove incorrect "Lubricate Carbon Rods" maintenance task (#755) hai 5 meses
test_makerworld_routes.py 09b739b95d fix(cloud): stop reporting an expired Bambu Cloud sign-in as connected (issue #2562) hai 1 mes
test_makerworld_s3_tls.py 09b739b95d fix(cloud): stop reporting an expired Bambu Cloud sign-in as connected (issue #2562) hai 1 mes
test_mfa_helpers.py ba1c97c808 feat: Two-Factor Authentication (TOTP, Email OTP) and OIDC/SSO – full implementation with admin UI (#933) hai 4 meses
test_mqtt_debug_on_change.py ce807fb1cc fix(queue): upload to printers in parallel, cap wedge retries, make debug logs survive a farm hai 1 mes
test_no_fail_open_in_auth.py b7d7c82501 fix(security): WebSocket auth gate + audit-driven hardening sweep hai 3 meses
test_no_hardcoded_secrets.py b7d7c82501 fix(security): WebSocket auth gate + audit-driven hardening sweep hai 3 meses
test_no_unsafe_path_joins.py 171848a0fc fix(slicer-presets): #1581 SliceModal refresh + invalidate on local-profile delete/import hai 3 meses
test_notification_plate_scope.py 2f6007a148 fix(notifications): scope completion notification to printed plate on multi-plate 3MFs (#1785) hai 2 meses
test_obico_detection.py 11dc612bc4 feat(obico): authenticate to a token-protected ML API (#2733) hai 1 mes
test_obico_smoothing.py eec7793955 feat(obico): AI print-failure detection via self-hosted Obico ML API (#172) hai 4 meses
test_oidc_env_managed_migration.py e3cada51ac feat(oidc): add is_env_managed column to oidc_providers hai 1 mes
test_oidc_env_provider.py e3cada51ac feat(oidc): add is_env_managed column to oidc_providers hai 1 mes
test_oidc_env_reader.py aef4f3a3e9 fix(oidc): strip the required BAMBUDDY_OIDC_* values and register the local-login bypass hai 1 mes
test_oidc_icon_helpers.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) hai 3 meses
test_oidc_icon_migration_pg.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) hai 3 meses
test_oidc_icon_service.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) hai 3 meses
test_oidc_icon_validation.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) hai 3 meses
test_opentag3d.py b30a283184 Feature/spoolman inventory UI (#1241) hai 4 meses
test_orca_cloud_refresh.py 455a9e4ba7 fix(backup): collect cloud profiles from every connected account (#2717) hai 1 mes
test_orca_profiles.py 330d77198a Fix AMS slot showing wrong material for "Support for" profiles hai 6 meses
test_orphan_auth_cleanup_migration.py 70857af393 feat(auth): SSO autologin + disable local username/password login (#1589) hai 2 meses
test_outbound_url_ssrf_guards.py bf424493ba Suppress Bandit B104 false positive in the SSRF guard tests hai 1 mes
test_permissions.py f66bd26f6e Add inventory:view_assignments permission so admins can grant users hai 6 meses
test_permissions_stats_filter.py ec0ae162e8 Add per-user statistics filtering (#730) hai 5 meses
test_phantom_print_hardening.py 950286ad40 fix(queue): prevent duplicate dispatch and stale progress on batch prints hai 4 meses
test_plate_clear_mqtt_notification.py b938b83136 fix(tests): add the new fan fields to the plate-clear status fixture hai 1 mes
test_plate_object_extraction.py b99536cc33 Remove unused imports, variables, and fix minor CodeQL findings hai 7 meses
test_plug_datetimes_are_naive_utc.py aba00598bb fix(smart-plugs): read a REST plug's lifetime counter, and derive Today/Yesterday from it (issue #2539) hai 1 mes
test_pool_fits_server.py ad785a95cb fix(queue): withdraw an expected print when the command never goes out hai 1 mes
test_postgres_restore_drop_cascade.py be6342932f fix(restore): drop tables with CASCADE so orphan FKs can't abort restore hai 4 meses
test_print_log.py a08d3e62f3 Show the Print Log's per-run cost and energy, and let users pick columns (#2636) hai 1 mes
test_print_log_backfill_migration.py 8e4f815b37 fix(stats): backfill PrintLogEntry.cost/energy/archive_id for pre-#1378 rows (#1390) hai 3 meses
test_print_speed.py 0e712c72a1 [Feature] Add quick print speed control to printer card (#256) hai 5 meses
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) hai 3 meses
test_print_start_expected_promotion.py 72044e3a53 fix(usage): scope 3MF filament tracking to dispatched plate (#1697) hai 2 meses
test_printer_manager_status_broadcast.py 9ee162d51a feat(printers): expose P2S/X2D accessory fans (left aux + exhaust) hai 1 mes
test_printer_models.py 18938a10ee fix(kprofiles): stop reporting rejected K-profile writes as saved hai 1 mes
test_printer_offline_notification.py 77135aaf8f Fix unawaited coroutine warning in printer offline notification tests hai 1 mes
test_printer_schema.py 01787eb1e6 fix(printers): normalize serial numbers + diagnose connect-but-no-reports (#1465) hai 3 meses
test_printer_sensor_history.py 090c180ebf feat(heater-history): track nozzle / bed / chamber readings + per-tile chart-icon overlay opens history modal hai 2 meses
test_project_settings_sentinel_sanitiser.py aecf8283b5 fix(slicer): strip "-1" inherit sentinels from project_settings.config (#1201) hai 4 meses
test_pushover_priority.py 1555fad539 fix(notifications): send Pushover retry/expire for Emergency priority (#2586) hai 1 mes
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) hai 3 meses
test_reprint_clears_stale_timelapse.py bf781e0566 fix(notifications): reprint-from-archive sent original print's finish photo (#1707) hai 2 meses
test_reprint_updates_subtask_id.py 5c673620f3 fix(notifications): false-positive Print Stopped on reprint after MQTT reconnect (#1807) hai 2 meses
test_resolve_expected_tray_2587.py e77e10896f feat(ams): name the expected slot when a paused print hits an AMS runout (#2587) hai 1 mes
test_restore_sqlite_wal_safety.py b5c7b1a8a8 fix(restore): replace shutil.copy2 with SQLite backup API to prevent WAL leftover (#1211, #668) hai 4 meses
test_route_auth_coverage.py f4a4d6dceb feat(system): appliance locale defaults endpoint + frontend i18n bootstrap hai 2 meses
test_run_filament_helper.py 4436349a03 fix(stats): scope per-run filament to the printed plate, not the whole 3MF (#2614) hai 1 mes
test_run_filament_plate_scope_2614.py 4436349a03 fix(stats): scope per-run filament to the printed plate, not the whole 3MF (#2614) hai 1 mes
test_run_with_retry.py 2d9a56b3d0 Fix ghost jobs from SQLite lock on print completion (#897) hai 5 meses
test_runtime_tracking_pause.py 554a73070f fix(maintenance): paused prints no longer accumulate runtime hours (#1521) hai 3 meses
test_safe_path.py 396e9aa09e security: harden path-traversal class across routes + services; fifth CI backstop hai 3 meses
test_scheduler_ams_mapping.py 70312b0a11 fix(scheduler): skip per-nozzle filter under FTS so dispatch feeds the right spool (#2186) hai 2 meses
test_scheduler_auto_drying.py 53ae5fb620 fix(drying): don't stop a running AMS dry on an unreliable humidity re-check (#1892) hai 2 meses
test_scheduler_backup_gate.py 70312b0a11 fix(scheduler): skip per-nozzle filter under FTS so dispatch feeds the right spool (#2186) hai 2 meses
test_scheduler_busy_defer_2598.py d7093c7fe4 fix(dispatch): don't send start-print to a busy printer; scheduler defers (#2598) hai 1 mes
test_scheduler_busy_only.py 35ce075486 [Fix] Suppress spurious "waiting for filament" notification when printers are busy (#753) hai 5 meses
test_scheduler_cancel_race.py 2e45893dd5 feat(print-options): add "Auto" state to bed levelling, flow & nozzle-offset calibration hai 1 mes
test_scheduler_class_target_smart_plug_2786.py 14d0d14365 Power on a printer for jobs queued to a printer class (#2786) hai 4 semanas
test_scheduler_cleanup_library.py af7874546a feat(projects): per-file print progress and complete-sets tracking (#1897) hai 1 mes
test_scheduler_clear_plate.py 45f0ba47db fix(scheduler): default require_plate_clear to False to match schema/UI (#1865) hai 2 meses
test_scheduler_concurrent_dispatch.py 4a0b14ed0e fix(queue): make upload concurrency a refillable pool, not a per-batch cap (#2602) hai 1 mes
test_scheduler_cross_model_variants.py 945d4ca6eb Route external spools to a nozzle when the printer has no AMS (#2771) hai 1 mes
test_scheduler_dispatch_hold.py 724bc92c22 fix(scheduler): post-dispatch hold prevents H2D Pro double-fire (#1157) hai 4 meses
test_scheduler_external_spool_nozzle_2771.py 945d4ca6eb Route external spools to a nozzle when the printer has no AMS (#2771) hai 1 mes
test_scheduler_filament_deficit.py 85fbd7fc35 fix(queue): persist "Print Anyway" so scheduler stops re-flagging it hai 2 meses
test_scheduler_filament_override.py 38af5df050 Add filament override for model-based queue assignment (#486) hai 6 meses
test_scheduler_force_color_ams_fallback.py 800c45536e fix(scheduler): pin the force-color variant when selecting the AMS slot (#2650) hai 1 mes
test_scheduler_ha_interlock_1148.py cd004df817 Show Home Assistant sensors on the printer card (#1148, #448) hai 1 mes
test_scheduler_inventory_remain.py 03896d1af0 fix(scheduler): use inventory weight for "Prefer Lowest Filament" sort (#1508) hai 3 meses
test_scheduler_model_mismatch.py e97413edc7 fix(queue): enforce sliced-model compatibility on cross-model dispatch (#2578) hai 1 mes
test_scheduler_nozzle_mismatch.py 2e45893dd5 feat(print-options): add "Auto" state to bed levelling, flow & nozzle-offset calibration hai 1 mes
test_scheduler_power_plug_pick_2629.py 56accd24de fix(smart-plugs): don't blank printer state when an accessory plug switches off (#2629) hai 1 mes
test_scheduler_preheat.py 80687982c1 fix(db): release scheduler/cloud/cover sessions across slow I/O, add LIFO pool (#2572) hai 1 mes
test_scheduler_reassign_race_2615.py 64f9d04c80 fix(queue): claim a queue item before dispatch so it can't be reassigned mid-upload (#2615) hai 1 mes
test_scheduler_release_conn_before_ftp_2572.py 80687982c1 fix(db): release scheduler/cloud/cover sessions across slow I/O, add LIFO pool (#2572) hai 1 mes
test_scheduler_watchdog.py ebc73e46ba Say when AMS drying was running and a print never started (#2758) hai 1 mes
test_settings_dedupe_migration.py 9c5c2a765f Post work PR #1070 hai 4 meses
test_sidebar_settings.py 48d3f68ae6 feat: Centralise sidebar ordering and add page visibility options (#1673) hai 2 meses
test_slice_process_support_patch.py bdac27ebee fix(slicer): preserve PVA-for-support intent across re-slice of source 3MF (#1881) hai 2 meses
test_slice_request_bed_type.py ccf985abfc feat(slicing): build-plate override in the SliceModal (#1337) hai 3 meses
test_slice_request_schema.py e95c42c021 Add auto-orient and auto-arrange to server-side slicing (#2548) hai 1 mes
test_slicer_presets.py fdd6ec416f fix(slicer): classify filament profiles by their real printer scope, not just their name (#2628 follow-up) hai 1 mes
test_slicer_settings.py 8d42b05f62 Add configurable slicer preference — Bambu Studio or OrcaSlicer (#313) hai 6 meses
test_slicer_stall_timeout.py ce3e59884a fix(slicer): bound slices by silence, not by total slicing time (#2730) hai 1 mes
test_slot_preset_key.py 87a5aa36e9 fix(ams): HT slot shows "Generic" after configuring custom preset (#1053) hai 4 meses
test_smart_plug_power_flag_migration_2629.py 56accd24de fix(smart-plugs): don't blank printer state when an accessory plug switches off (#2629) hai 1 mes
test_sponsor_prompt_service.py 8f4c8375cb test: silence Bandit B108 on hardcoded /tmp test-fixture paths hai 2 meses
test_spool_schemas_colors.py a34beaa599 feat(inventory): multi-colour gradients, transparency, visual effects (#1154) hai 4 meses
test_spool_schemas_rgba.py 4304a42542 feat(#729): per-spool category + low-stock threshold override hai 4 meses
test_spool_schemas_storage_location.py 1d6e1b9e88 fix(inventory): persist storage_location for internal spools (#1291) hai 3 meses
test_spoolbuddy_schema_validation.py b30a283184 Feature/spoolman inventory UI (#1241) hai 4 meses
test_spoolbuddy_ssh.py f5ecc61cda fix(spoolbuddy): lower /update permission to INVENTORY_UPDATE so kiosk's own Settings -> Update button works hai 4 meses
test_spoolbuddy_system_stats.py 67f91d94de v0.2.2.2 (#830) hai 5 meses
test_spoolman_clear_location.py 813d9dde38 Fix Spoolman location not cleared on auto-sync when spool removed from AMS (#921) hai 5 meses
test_spoolman_extra_lock.py b30a283184 Feature/spoolman inventory UI (#1241) hai 4 meses
test_spoolman_inventory_helpers.py e61a454a0f fix(inventory): "Reset usage to 0" preserves remaining in both modes (#1390) hai 3 meses
test_spoolman_inventory_methods.py af5d24e289 feat(inventory): structured storage locations catalog (#1505) hai 2 meses
test_spoolman_no3mf_remain_fallback.py e09a33be16 feat(spoolman): remain%-delta fallback for no-3MF "Untitled" prints (#1820) hai 2 meses
test_spoolman_settings_value_coercion.py 88dc56d6e1 Security hardening (maziggy/bambuddy-security #7) hai 1 mes
test_spoolman_slot_ddl.py af52c4f2ff fix(spoolman): allow AMS-HT ams_id range in slot-assignment table (#1274) hai 3 meses
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) hai 3 meses
test_spoolman_tracking.py 001f2f120c fix(inventory): record the mapped spool's material, not the sliced type (#2563) hai 1 mes
test_ssrf_guard.py b30a283184 Feature/spoolman inventory UI (#1241) hai 4 meses
test_status_broadcast_ams_slot_config.py 684a328d6f Broadcast AMS slot changes that keep the same material hai 1 mes
test_subtask_archive_resume.py 745ed847e6 fix(archive): stop duplicating the job on a backend restart mid-print (#1485) hai 3 meses
test_support_bundle_rotated_logs.py ce807fb1cc fix(queue): upload to printers in parallel, cap wedge retries, make debug logs survive a farm hai 1 mes
test_support_helpers.py c457cf54bf feat(support): record process memory, threads and children in bundles (#2734) hai 1 mes
test_sync_ams_weights.py be569f7577 fix: prevent spool weight corruption, add AMS weight sync, fix extruder_id hai 6 meses
test_systemd_backup_paths.py 29e78e85d5 test(launcher): skip repo-root launcher checks when files aren't shipped hai 1 mes
test_telegram_forum_topic.py 6cda236dce feat(notifications): optional Telegram forum topic via message_thread_id (#1518) hai 1 mes
test_temperature_fan_presets.py b04664c64a Raise the chamber-temperature ceiling from 60 to 65 C hai 1 mes
test_threemf_tools.py db6cdb0745 fix(camera): take the finish photo when the print ends, not when its last layer starts (#2547) hai 1 mes
test_timelapse_baseline_restart_recovery.py af03a6f384 fix(test): snapshot _timelapse_baselines inside the patch context to dodge CI race hai 3 meses
test_timelapse_match.py 4ee4bdb0d3 fix(archives): scan_timelapse picked stale video at false offset (#1278) hai 3 meses
test_timelapse_scan_2704.py 5a67dffe4f fix(timelapse): poll longer, diff without a clock, delete once archived (#2704) hai 1 mes
test_trace.py 88b5f56eb2 fix: cancel = layer shift, stuck "1 problem", and dropped child-logger logs hai 4 meses
test_upload_progress_bridge.py 9033b0f81e feat(toast): restore upload-progress toast for scheduler dispatches (#1625 follow-up) hai 2 meses
test_url_safety.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) hai 3 meses
test_usage_tracker.py 001f2f120c fix(inventory): record the mapped spool's material, not the sliced type (#2563) hai 1 mes
test_use_ams_reconcile_2595.py 88ae595268 fix(dispatch): honor a resolved AMS mapping over a stale use_ams=false (#2595) hai 1 mes
test_user_notifications.py a6d307d739 Post work PR #693 hai 5 meses
test_user_print_template_rename_migration.py 7e6b390d74 feat(notifications): template-driven finish-photo email embed + user_print_* rename (#1792) hai 2 meses
test_variant_group_backfill_migration.py da07c5884b Add variant-group data model for cross-model queue alternatives (#671) hai 1 mes
test_vp_access_code_sync_migration.py 19073f5c84 fix(vp): auto-derive access code from target printer in non-proxy modes hai 3 meses
test_vp_certificate_rotation.py 597762685c fix(virtual-printer): #1558 Send pre-flight + slicer-surface audit bundle hai 3 meses
test_vp_delete_cleanup.py 597762685c fix(virtual-printer): #1558 Send pre-flight + slicer-surface audit bundle hai 3 meses
test_vp_ftp_port.py fc746ae218 [Fix] Virtual Printer FTP routed to wrong VP with different access codes (#735) hai 5 meses
test_vp_ftp_stor.py 7d4dfd5a7d fix(vp): stop uvloop from silently truncating VP FTP uploads (#1896) hai 2 meses
test_vp_mode_rename_migration.py 5d6d928b3f fix(virtual-printer): #1429 net.info[*].ip cache leak + mode wire-value rename hai 3 meses
test_vp_mqtt_bridge.py d0efb9db9e fix(vp): relay A2L AMS filament to the slicer instead of blanking every slot hai 1 mes
test_vp_mqtt_server.py ba6b1a8436 fix(vp): evict MQTT clients on drain timeout + tighten TCP keepalive (#1872) hai 2 meses
test_vp_tls_ciphers.py 9cc4b6aa60 fix(virtual-printer): #1610 add Bambu cipher pin to every slicer-facing TLS context hai 3 meses
test_vp_wire_dump.py 19eed8eba0 debug(vp): env-flagged command-flow trace for slicer↔printer #1622 round-2 triage hai 2 meses
test_ws_broadcast_to_user.py 9033b0f81e feat(toast): restore upload-progress toast for scheduler dispatches (#1625 follow-up) hai 2 meses