maziggy 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 hace 4 días
..
__init__.py ff53e62ef8 Add comprehensive automated testing infrastructure hace 10 meses
test_active_print_binding_names.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 hace 4 días
test_admin_only_auth_config.py 3542005110 test: register sqlite_only and docker marks in pytest.ini, drop redundant asyncio marks hace 5 días
test_advanced_auth_api.py ba1c97c808 feat: Two-Factor Authentication (TOTP, Email OTP) and OIDC/SSO – full implementation with admin UI (#933) hace 6 meses
test_ams_change_kprofile_reapply_44.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 hace 4 días
test_ams_drying_latch_persistence.py 7a9b4921bd Stop the AMS temperature alert firing for heat the user asked for (#1802) hace 2 meses
test_ams_history_api.py dd6696470f Security hardening (maziggy/bambuddy-security #28) hace 1 semana
test_ams_labels_api.py ed462c5cca Add tests, docs, and lint fix for AMS Info Card feature (#570) hace 7 meses
test_ams_remain_sync_while_printing.py 5f13d5770c fix(inventory): filament of a print spanning a restart is no longer counted twice hace 6 días
test_ams_rest_ws_parity.py 113f08a1a1 fix(printers): REST and WebSocket share the AMS serialiser, override picker sees both nozzles without an AMS hace 5 días
test_ams_slot_material_2902.py a8965b0e9f Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252) hace 2 semanas
test_ams_slot_sub_brand_none_2987.py 0d21239e18 Send AMS tray colours as uppercase hex (issue #2987) hace 1 mes
test_announcements_api.py a81ac2cfb5 Keep the Announcements entry for whoever may see announcements hace 3 semanas
test_api_key_cloud_access.py cf98daa0bb Security hardening (maziggy/bambuddy-security #10) hace 2 semanas
test_api_key_id_reuse.py 6a627a85e1 fix(api-keys): a deleted key's connections and links don't pass to the next key hace 1 semana
test_api_key_infra_errors.py 8d6e53954c fix(auth): a database error while checking an API key is a 503, not an invalid key hace 1 semana
test_api_key_owner_authority_1894.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_api_key_queue_acts_as_owner.py cf98daa0bb Security hardening (maziggy/bambuddy-security #10) hace 2 semanas
test_archive_cost_fields_by_owner.py 5782e46639 Security hardening (maziggy/bambuddy-security #39) hace 6 días
test_archive_edit_status_words.py a3ab88c9b2 fix(archive): Edit Archive sets finished outcomes only, cancelled and aborted apart hace 6 días
test_archive_purge_api.py e7045597bc fix(archives): bulk and auto purge now honour the soft / hard delete choice from #1343 (#1390 follow-up) hace 5 meses
test_archive_update_targets.py e0e2799f40 fix(archives): an archive edit cannot move it to a printer outside the user's groups hace 1 semana
test_archives_api.py 45921b7a56 Limit groups to selected printers (issue #1727) hace 3 semanas
test_archives_last_per_printer.py 7d46baea65 Show the last print on printer cards and lazy-load file thumbnails hace 2 semanas
test_auth_api.py 7c117dc6bc Let API clients resolve user ids to names (#1894) hace 2 meses
test_auth_apikey_rbac.py a4795c5ca3 Let API keys read and run slicer pipelines (#1425 follow-up) hace 2 meses
test_auth_middleware_errors.py eef0e4bd92 fix(auth): route errors are 500s and reach bambuddy.log, and a database error no longer signs users out hace 1 semana
test_available_filaments.py 113f08a1a1 fix(printers): REST and WebSocket share the AMS serialiser, override picker sees both nozzles without an AMS hace 5 días
test_background_dispatch_api.py 4c67d8a4e1 feat: Unify print dispatch through the scheduler (#1625) hace 3 meses
test_backup_manifest.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_batch_status_after_cancel.py e250281c17 feat(queue): a grouping that ended in failures is marked failed hace 6 días
test_bulk_archive_routes_scope.py f43be8098e Security hardening (maziggy/bambuddy-security #29) hace 1 semana
test_camera_api.py 741539a740 chore(api): remove dead firmware WS progress, the delete-all plate calibration route and unused client wrappers hace 4 días
test_camera_external_fanout.py 31888777ae fix(camera): external cameras share one stream per printer hace 5 días
test_camera_light_api.py 6954cff3ee Turn on the chamber light while the camera is in use hace 2 semanas
test_camera_live_view_snapshots.py 7cea7acf0a fix(camera): snapshots and the camera test use the live view, the janitor kills only our ffmpeg hace 5 días
test_camera_stream_recheck.py 31888777ae fix(camera): external cameras share one stream per printer hace 5 días
test_camwall_api.py 45921b7a56 Limit groups to selected printers (issue #1727) hace 3 semanas
test_client_ip.py ba1c97c808 feat: Two-Factor Authentication (TOTP, Email OTP) and OIDC/SSO – full implementation with admin UI (#933) hace 6 meses
test_cloud_auth.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import hace 1 mes
test_cloud_filament_id_map_accounts.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 hace 4 días
test_cloud_token_auth_migration.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import hace 1 mes
test_cloud_upstream_errors.py bdd3111547 fix(cloud): report an unreachable Bambu Cloud as 502, not as a server error or wrong credentials hace 1 semana
test_color_catalog_extras.py 6b477088a2 fix(queue): extend Charcoal-style label fix to Specific-Printer panel (#1718 round 3) hace 4 meses
test_color_map_api.py 3901043238 Name an AMS slot's colour by its material, not its hex alone (issue #2875) hace 2 meses
test_completion_guard_wiring_2829.py a9624d3887 Match a print completion to its queue job the way the printer names it (#2829) hace 2 meses
test_confirm_outcome_queue_defaults_1898.py 44c7e6fb39 Post-print outcome confirmation: good/reject verdicts, one-tap links, yield stats (#3047) hace 3 semanas
test_connected_apps.py d56b48c499 feat(auth): connected apps - sign in to external applications with Bambuddy hace 3 semanas
test_cost_statistics.py 9613d65e0d fix(archives): archives a spool was used for can be deleted on PostgreSQL hace 1 semana
test_deleted_printer_keeps_name_2873.py 28781ea558 Keep the printer's name on statistics after it is deleted (issue #2873) hace 2 meses
test_design_settings_plates.py 7e77bf5833 Take the layer height from the plate that actually printed hace 2 meses
test_discovery_api.py d73da5e0ef Auto-detect subnet for printer discovery hace 8 meses
test_dispatched_print_named_like_calibration.py 92d299bf20 Security hardening (maziggy/bambuddy-security #43) hace 4 días
test_drying_screen_only.py ca3f6e5ee0 fix(drying): P1 AMS drying is screen-only — stop offering it (#2533) hace 3 meses
test_endpoint_auth.py 2fd90e9dce refactor(api): rename /filaments/ to /filament-catalog/ for clarity (#427) hace 8 meses
test_export_date_to_and_speed_mode.py 85097fbfda fix(api): export date_to includes the whole end day; invalid print speed mode is a 422 hace 5 días
test_external_folders_api.py 1bdd7d224a fix(library): sort File Manager by real filesystem mtime, recursively (#2680) hace 2 meses
test_external_links_api.py 83cbac04b7 - Add interactive API Browser to Settings > API Keys hace 9 meses
test_external_print_confirmation_1898.py 5fec296d72 chore(virtual-printer): log K-profile, filament and load commands from the slicer in full hace 4 días
test_external_spool_use_ams_3087.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 hace 4 días
test_failure_reason_vocabulary_migration.py ac976e0003 fix(archives): kill-switch stops archive as cancelled; offline queue stop stores a reason key; SpoolBuddy config save offers a daemon restart hace 4 días
test_fallback_archive_photos_1820.py 0623cc46df Repair no-3MF archives' photos and their silent filament writes (#1820) hace 2 meses
test_filament_requirements_plate_nozzle.py 19212d066d fix(print): Print Anyway per printer, variant plate, nozzle per plate, sliced .3mf drop hace 6 días
test_filaments_api.py 2fd90e9dce refactor(api): rename /filaments/ to /filament-catalog/ for clarity (#427) hace 8 meses
test_finance_api.py 4a85e033c0 fix(finance): show the currency the install is configured for (issue #3123) hace 1 mes
test_firmware_check_setting.py 0165dafd29 Stop firmware lookups when "Check printer firmware" is off hace 3 semanas
test_github_backup_api.py 48a7024b96 security(github-backup): refuse to save against a non-private repository hace 5 meses
test_github_restore_api.py 9284240279 fix(backup): gate every restore category on the permission owning its rows (#2656) hace 2 meses
test_global_auto_archive_switch.py c9b551df0b fix(settings): saved settings take effect, unused ones are removed hace 5 días
test_groups_api.py cecdf8f5a7 feat(auth): permission-delegated Settings + Group editor routes; fix group-edit cache stale-read (#1083) hace 6 meses
test_ha_sensor_scope.py 2a03aa612d Security hardening (maziggy/bambuddy-security #32) hace 1 semana
test_ha_sensors_api_1148.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_inventory_ams_weight_sync_lock.py 0b1d6c238b fix(inventory): AMS weight sync skips printing printers, scale weights lock, force sync unlocks hace 6 días
test_inventory_assign.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 hace 4 días
test_inventory_bulk.py fb3821630f feat(inventory): batch / mass edit on the Filament tab (#1795) hace 4 meses
test_inventory_csv.py 66c09dff2d feat(inventory): CSV import/export for the inventory page (#1576) (#1659) hace 4 meses
test_inventory_from_slot_no_tag.py 8a26e7d753 fix(inventory): stop popping the unknown-tag modal for slots with no RFID hace 3 meses
test_inventory_link_tag.py eef0e4bd92 fix(auth): route errors are 500s and reach bambuddy.log, and a database error no longer signs users out hace 1 semana
test_kill_switch_owned_prints.py 5fec296d72 chore(virtual-printer): log K-profile, filament and load commands from the slicer in full hace 4 días
test_kill_switch_stop_archived_cancelled.py ac976e0003 fix(archives): kill-switch stops archive as cancelled; offline queue stop stores a reason key; SpoolBuddy config save offers a daemon restart hace 4 días
test_kprofile_save_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 hace 4 días
test_labels.py bf7fc67dc0 Choose what a spool label shows, preview it, and save it as PNG (#2981, #2980) hace 3 semanas
test_ldap_group_sync.py 5fea138f5d fix(auth): preserve manually-assigned groups across LDAP logins (#1292) hace 5 meses
test_ldap_provision.py 1bb5e49d6a Security hardening (maziggy/bambuddy-security #40) hace 5 días
test_library_api.py 226826f3bd File Manager previews: fullscreen and zoom, image previews, double-click to open (#2990) hace 3 semanas
test_library_combine.py b67c9b572c Add "Combine to 3MF" for slicing several STLs on one plate (#3162) hace 3 semanas
test_library_file_metadata_3077.py 12dddada0a File Manager: external link, notes and photos on library files (#3128) hace 3 semanas
test_library_folder_archive_scope.py 978d70370d Security hardening (maziggy/bambuddy-security #33) hace 1 semana
test_library_folder_ownership_3201.py 6735e45563 Give library folders an owner and let admins share them (#3201) hace 2 semanas
test_library_pdf_thumbnail.py 926957f648 Post work-2 PR #2990 hace 3 semanas
test_library_preview_thumbnail_api.py 226826f3bd File Manager previews: fullscreen and zoom, image previews, double-click to open (#2990) hace 3 semanas
test_library_slice_api.py ad3b5f1982 Map the P-series model codes to the right printers hace 3 semanas
test_library_tags_api.py bb42b423af feat(file-manager): user-authored tags for cross-cutting filtering (#1268) hace 4 meses
test_library_trash_api.py 02616f0c91 fix(queue): stop a library-file delete from destroying the jobs queued against it (#2819) hace 2 meses
test_library_variants_api.py a9b57ccd3c Add variant-group endpoints and cross-model queue creation (#671, #2570) hace 2 meses
test_local_login_gate.py aef4f3a3e9 fix(oidc): strip the required BAMBUDDY_OIDC_* values and register the local-login bypass hace 2 meses
test_location_ha_sensors_api.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_locations_api.py 54af3146a3 [Feature]: Bind Home Assistant sensors to storage locations (dryboxes/bins) (#2827) hace 1 mes
test_long_lived_tokens_api.py d336bb2ad2 Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev hace 2 semanas
test_main_plug_pick_2830.py 9a2b811566 Show the plug that powers the printer in the card's Power row (#2830) hace 2 meses
test_maintenance_api.py 673001e3cd fix(maintenance): #1596 persist wiki_url on Custom Type create + correct hace 4 meses
test_makerworld_apikey_auth.py cf98daa0bb Security hardening (maziggy/bambuddy-security #10) hace 2 semanas
test_makerworld_permission_gate.py 036f0a688f Merge pull request #2845 from pascalheidmann/refactor/modular-import hace 1 mes
test_manyfold_api.py 3480d39434 Browse a Manyfold library and import its files (issue #1471) hace 2 semanas
test_material_number_api.py 71d4b2f70d Material number as a first-class spool field (#2994) hace 3 semanas
test_media_token_3025.py 89c4ac5583 Post work PR #2956 hace 3 semanas
test_media_token_with_headers_scope.py d1f50973c6 Security hardening (maziggy/bambuddy-security #37) hace 6 días
test_metrics_api.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) hace 1 semana
test_mfa_api.py 9fe528d9a3 fix(users): admins can remove a locked-out user's 2FA from Edit user hace 5 días
test_mode_switch_preserves_assignments_2812.py 08a58b1ef4 Keep both modes' slot assignments across an inventory mode switch (issue #2812) hace 1 mes
test_notification_app_message.py 6855d65d12 Let other applications send messages through the notification channels hace 3 semanas
test_notification_provider_secrets.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) hace 1 semana
test_notification_scope.py 7b27d2a654 Security hardening (maziggy/bambuddy-security #31) hace 1 semana
test_notification_scope_without_printer.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 hace 4 días
test_notifications_api.py 4fdc55b884 Let the two stock alert toggles reach the database (issue #2945) (#2956) hace 3 semanas
test_notify_provider_api.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) hace 1 semana
test_obico_api.py cfb5c54f19 Security hardening (maziggy/bambuddy-security #13) hace 1 semana
test_oidc_env_apply.py 77c9bdd694 fix(oidc): reject an unrecognized boolean instead of guessing hace 2 meses
test_oidc_env_lock.py c9ee259807 feat(oidc): refuse API writes to the env-managed provider hace 2 meses
test_oidc_env_startup.py e7a413e745 feat(oidc): apply the env provider during startup hace 2 meses
test_oidc_group_sync.py d04514c842 Sync OIDC provider groups to BamBuddy groups on every login (issue #3107) (#3122) hace 3 semanas
test_oidc_group_sync_routes.py d04514c842 Sync OIDC provider groups to BamBuddy groups on every login (issue #3107) (#3122) hace 3 semanas
test_oidc_icon_api.py 7d07b92bec Post work PR #1333 hace 5 meses
test_oidc_icon_blob_roundtrip.py 9e7f6cafd9 fix(backup): preserve NOT NULL/DEFAULT/FK/UNIQUE in Postgres→SQLite backup (#2526) hace 3 meses
test_oidc_icon_deferred_load.py 8a7598f6b5 feat(auth): proxy OIDC provider icons server-side (#1333) (#1342) hace 5 meses
test_oidc_relogin.py 4d8dbc8336 fix(auth): cleanup orphan OIDC/MFA rows when user is deleted (#1285) (#1295) hace 5 meses
test_one_print_cost_b5.py 95ea683b74 fix(archive): an archive's cost is the cost of one print of it hace 6 días
test_orca_cloud_device.py 00251fe808 feat(orca-cloud): pair via RFC 8628 device flow, replacing the paste-based sign-in hace 3 meses
test_orca_slot_filament_id_3216.py 02e39b18b9 Configure Orca Cloud filaments with their own filament ID (#3216) hace 2 semanas
test_overlay_branding.py 67d3e7e869 Add stream overlay logos and progress colours (#3208) hace 2 semanas
test_overlay_status_api.py d336bb2ad2 Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev hace 2 semanas
test_ownership_permissions.py 6735e45563 Give library folders an owner and let admins share them (#3201) hace 2 semanas
test_password_reset_template_routes.py 9d91887ee9 fix(auth): the password reset email is built from the Password Reset template hace 1 semana
test_patch_null_on_required_fields.py 8e5116fe20 fix(api): null for a field that can't be empty leaves it unchanged hace 1 semana
test_pending_upload_archive_project.py a399ef0361 fix(pending-uploads): check the project before archiving an upload into it hace 1 semana
test_pending_upload_display_name.py ac72aacbfa Tool: Bandit B108 hace 5 meses
test_permission_backfills_once_3238.py 175e683837 Give backfilled group permissions once, not on every start (#3238) hace 2 semanas
test_pipeline_runs_api.py 176161f0d2 fix(pipelines): a pipeline run remembers how each copy ended hace 1 semana
test_plate_clear_notification.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_print_batch_orders.py e9627e44a2 Start queued jobs in list order, whether pinned or "Any <model>" (#3200) hace 3 semanas
test_print_confirmation.py 44c7e6fb39 Post-print outcome confirmation: good/reject verdicts, one-tap links, yield stats (#3047) hace 3 semanas
test_print_lifecycle.py 449060ce0a bugfix (aborted prints were not billed in specific cases) hace 2 meses
test_print_queue_api.py ac976e0003 fix(archives): kill-switch stops archive as cancelled; offline queue stop stores a reason key; SpoolBuddy config save offers a daemon restart hace 4 días
test_print_start_name_match_ap2.py 29774ff975 fix(archive): a print of a file whose last print was never closed gets its own archive hace 6 días
test_print_start_printer_deleted_midway.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_printer_camera_url_credentials.py 929e89d6ce Security hardening (maziggy/bambuddy-security #17) hace 1 semana
test_printer_delete_leftovers.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_printer_delete_scopes.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_printer_file_download_errors.py 026acaf511 fix(printers): the plate picker downloads a printer's 3MF once hace 5 días
test_printer_id_zero.py 26a8a09937 fix(projects): refuse an unknown priority on create, keep imported statuses valid, repair stored ones hace 1 semana
test_printer_ip_change_syncs_vps.py c23c073dd1 fix(virtual-printer): proxy VPs stop restarting on every sync, renames and printer IP changes reach the slicer hace 5 días
test_printer_locations_api.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_printer_scope_1727.py 49879b8d69 fix(projects): the project timeline loads again with queued or printing jobs hace 1 semana
test_printers_api.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 hace 4 días
test_project_batch_scope.py fbd506557a fix(projects): adding archives or queue jobs to a project keeps to the user's printers and prints hace 1 semana
test_project_bom_archive_link.py 9c9278e673 fix(projects): a project's BOM no longer shows archives from printers outside the user's groups hace 1 semana
test_project_import_folders.py df3d016b53 Security hardening (maziggy/bambuddy-security #35) hace 6 días
test_project_import_priority.py 26a8a09937 fix(projects): refuse an unknown priority on create, keep imported statuses valid, repair stored ones hace 1 semana
test_project_priority_status_repair.py 26a8a09937 fix(projects): refuse an unknown priority on create, keep imported statuses valid, repair stored ones hace 1 semana
test_projects_api.py 49879b8d69 fix(projects): the project timeline loads again with queued or printing jobs hace 1 semana
test_projects_batches_scope.py fa8d670691 Security hardening (maziggy/bambuddy-security #30) hace 1 semana
test_queue_creation_attribution.py cfc6512599 Security hardening (maziggy/bambuddy-security #25) hace 1 semana
test_queue_creation_paths_c4.py f761a3ae97 fix(queue): every way of adding a job announces it, applies the default print options and keeps its cost centre hace 5 días
test_queue_estimate_spoolman_prices.py 141ec5dbb3 fix(spoolman): failed prints are logged with their spool cost, queue estimates use Spoolman prices hace 6 días
test_queue_item_printer_change.py 2699bebc37 fix(queue): a job moved to another printer drops the old printer's settings hace 6 días
test_queue_nozzle_rack_choice_api_1784.py 3954d3a7e6 Choose which rack nozzle each filament prints from on an H2C (#1784) hace 2 meses
test_queue_review_1620.py 24509b17e0 Let jobs wait for staff review before they print (#1620) hace 2 semanas
test_queue_source_gate.py 72dfa7b168 Apply the reprint checks to re-slicing an archive with the built-in slicer. hace 1 semana
test_queue_start_user_attribution.py e965d22f38 A queued print that never starts no longer marks the printer's next print as started by Bambuddy. hace 6 días
test_queue_variants_api.py f98381f3d1 fix(queue): send the copy count for a cross-model print (issue #3101) hace 1 mes
test_read_permission_backfill_migration.py b23cb69a66 fix(permissions): self-heal Administrators to ALL_PERMISSIONS on upgrade + Pipelines runs dashboard polish hace 3 meses
test_recreated_username.py 6a627a85e1 fix(api-keys): a deleted key's connections and links don't pass to the next key hace 1 semana
test_refused_header_error_texts.py d3827e646a Security hardening (maziggy/bambuddy-security #23) hace 1 semana
test_reprint_adoption.py a8270b8fa2 fix(archive): reprints start clean, deleted archives are archived anew hace 6 días
test_reslice_archive_status_cost.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 hace 4 días
test_scheduler_budget_reservation.py 4a85e033c0 fix(finance): show the currency the install is configured for (issue #3123) hace 1 mes
test_scheduler_nozzle_rack_dispatch_1784.py 89dde591f2 Resolve dispatch plate_id from the archive instead of assuming 1 (#2951) hace 3 semanas
test_security.py 877b5e3afe Security hardening (maziggy/bambuddy-security #14) hace 1 semana
test_security_headers.py 226826f3bd File Manager previews: fullscreen and zoom, image previews, double-click to open (#2990) hace 3 semanas
test_session_end_closes_sockets.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_session_policy.py 2940fbdcf7 feat(auth): admin-configurable session lifetime ceiling (#1706) hace 4 meses
test_settings_and_plug_secrets.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) hace 1 semana
test_settings_api.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) hace 1 semana
test_settings_api_key_scrubbing.py f5ecc61cda fix(spoolbuddy): lower /update permission to INVENTORY_UPDATE so kiosk's own Settings -> Update button works hace 5 meses
test_settings_electricity_price.py ae29a7dcd3 fix(api-keys): expose narrowly-scoped "Update electricity price" toggle (#1356) hace 5 meses
test_settings_ui_flags_3023.py c9b551df0b fix(settings): saved settings take effect, unused ones are removed hace 5 días
test_settings_ui_preferences.py 68b9d741d9 feat(humidity): per-filament humidity threshold for auto-drying + alarms (#1605) hace 4 meses
test_sjf_scheduling.py 10c261dcf2 chore(tests): suppress B108 on dummy /tmp test fixtures hace 6 meses
test_slice_archive_output_path_2832.py aff737999f Build the slice output's path from a name a folder can have (#2832) hace 2 meses
test_slicer_loaded_spools_3172.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 hace 4 días
test_slicer_pipelines_api.py d6bdb7e200 feat(slicer): Slicer Pipelines — save & reuse a preset bundle in one click (#1425 PR A) hace 3 meses
test_slicer_token_reuse_3029.py 89c4ac5583 Post work PR #2956 hace 3 semanas
test_slot_spool_defaults.py a7b563334e Configure a spool's filament preset and K profile per nozzle hace 1 mes
test_smart_plug_rest_fields.py a51283ad76 Security hardening (maziggy/bambuddy-security #19) hace 1 semana
test_smart_plug_update_type_rules.py 47fbd23ff8 fix(smart-plugs): an edit can no longer save a plug that cannot be read back hace 1 semana
test_smart_plugs_api.py 487b48c5af Security hardening (maziggy/bambuddy-security #16) hace 1 semana
test_sponsor_prompt_api.py a5fe5cb3d4 feat(sponsor-prompt): in-app toast at earned milestones hace 4 meses
test_spool_archive_unassigns.py 23d04c8645 fix(inventory): archived or deleted spools release their AMS slots, safely in both modes hace 6 días
test_spool_by_tag_lookup.py 57e312b38c feat(inventory): by-tag spool lookup, readable with Manage-Inventory keys (#1663) (#1700) hace 4 meses
test_spool_delete_keeps_usage.py e1714b5115 fix(inventory): deleting a spool keeps its usage history; spool ids are never reused hace 1 semana
test_spool_drying_2863.py 84f320b859 Remember when each spool was last dried (#2863) hace 2 semanas
test_spool_filament_preset_endpoints.py a7b563334e Configure a spool's filament preset and K profile per nozzle hace 1 mes
test_spool_reset_usage.py 9554ebd05d refactor(inventory): rename /reset-usage to /reset-consumed-counter to match what it actually does (issue #1644) hace 4 meses
test_spool_usage_outlives_archive.py 9613d65e0d fix(archives): archives a spool was used for can be deleted on PostgreSQL hace 1 semana
test_spool_weight_entry.py f7bd06641a fix(inventory): a used weight entered for a new spool is kept; Spoolman last_used means print use; the slot K picker accounts for nozzle flow hace 4 días
test_spoolbuddy.py a202f2502d fix(spoolbuddy): tag link failures, lookup failures and a refused Spoolman URL are reported hace 6 días
test_spoolbuddy_color_name_3090.py a8965b0e9f Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252) hace 2 semanas
test_spoolbuddy_spool_colours_3033.py a8965b0e9f Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252) hace 2 semanas
test_spoolbuddy_spoolman_mode_unusable.py a202f2502d fix(spoolbuddy): tag link failures, lookup failures and a refused Spoolman URL are reported hace 6 días
test_spoolbuddy_spoolman_nfc.py a8965b0e9f Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252) hace 2 semanas
test_spoolman_ams_sync.py 0b1d6c238b fix(inventory): AMS weight sync skips printing printers, scale weights lock, force sync unlocks hace 6 días
test_spoolman_ams_sync_broadcast.py 3497cf0d46 Hold an automatic slot unlink until the slot stays empty (issue #3186) hace 3 semanas
test_spoolman_api.py a8965b0e9f Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252) hace 2 semanas
test_spoolman_assignment_verification.py 53ef17dc56 fix(spoolman): slot assignments are verified, and the spool's own preset is used for the slot hace 6 días
test_spoolman_cost_preserved_2591.py 39835437a3 Price a print from the spool that fed it, not the default rate (issue #2591) hace 1 mes
test_spoolman_filament_patch.py c145b3ebc1 Use the vendor's empty spool weight as tare in Spoolman mode (#3195) hace 3 semanas
test_spoolman_initial_weight_3194.py 2f7f17a891 Use the Spoolman spool's own initial_weight as its label weight (#3194) hace 3 semanas
test_spoolman_inventory_api.py 53ef17dc56 fix(spoolman): slot assignments are verified, and the spool's own preset is used for the slot hace 6 días
test_spoolman_inventory_bulk.py fb3821630f feat(inventory): batch / mass edit on the Filament tab (#1795) hace 4 meses
test_spoolman_k_profiles.py af5d24e289 feat(inventory): structured storage locations catalog (#1505) hace 4 meses
test_spoolman_manual_sync_empty_slots.py 23d04c8645 fix(inventory): archived or deleted spools release their AMS slots, safely in both modes hace 6 días
test_spoolman_native_tags_3168.py 842dd9109b docs(spoolman): native tags lookup order, written tags and padded chip UIDs hace 2 semanas
test_spoolman_slot_assignment_mqtt.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 hace 4 días
test_spoolman_slot_assignments.py 3497cf0d46 Hold an automatic slot unlink until the slot stays empty (issue #3186) hace 3 semanas
test_spoolman_slot_concurrency.py 12b0c138f7 fix(spoolman): clear stale fallback-tag links on assign + link, prefer slot-assignment over tag-link in UI (#1457) hace 5 meses
test_spoolman_slot_own_preset.py 53ef17dc56 fix(spoolman): slot assignments are verified, and the spool's own preset is used for the slot hace 6 días
test_spoolman_status_2903.py a8965b0e9f Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252) hace 2 semanas
test_spoolman_tracking_shared_archive.py fb69a665d8 fix(spoolman): concurrent copies of an archive are charged, unfed slots charge nothing hace 6 días
test_spoolman_tracking_slot_fallback.py d3f0e9ac73 fix(spoolman): per-print weight tracker falls back to local slot-assignment table for tag-less spools (#1459) hace 5 meses
test_sqlite_dangling_references.py 0033001945 fix(db): SQLite applies the ON DELETE rules of archives, library files, queue jobs, batches and projects hace 1 semana
test_static_html_cache_headers.py 0b92172322 fix(tests): make SPA cache-header tests work without a built frontend hace 5 meses
test_stats_reconciled_duration_2592.py 8d618678a2 fix(stats): don't bank the disconnect gap as print time on reconnect (#2592) hace 3 meses
test_stl_thumbnail_off_loop.py bdbfa5d8fd fix(library): STL thumbnails are made off the event loop, one at a time hace 5 días
test_stranded_printing_recovery_2829.py a9624d3887 Match a print completion to its queue job the way the printer names it (#2829) hace 2 meses
test_stuck_budget_reservations.py 7ece330c53 fix(finance): release budget held by prints that ended hace 1 semana
test_suppliers_api.py 053cfa73ad Suppliers as a managed list with per-spool assignments (#2996) hace 3 semanas
test_support_api.py e222a0ef0e feat(system): log-health scanner + Add/Edit-Printer setup pre-flight hace 5 meses
test_system_api.py 4dcd37bc87 feat(system): NTP-gate state on /api/v1/system/appliance hace 4 meses
test_system_support_vp_scope.py 8a6faab0d2 Security hardening (maziggy/bambuddy-security #34) hace 6 días
test_tailscale_api.py 91a3d391ff feat(virtual-printer): add Tailscale opt-out toggle (closes #701 point 3) (#1070) hace 6 meses
test_telegram_reactions.py 1c316e2ad6 Answer the outcome prompt by reacting to the Telegram message (#3129) hace 3 semanas
test_timelapse_scan_session.py 6488a33488 Stop a print with no 3MF borrowing another model's data (#2843) hace 2 meses
test_token_outlived_session.py 877b5e3afe Security hardening (maziggy/bambuddy-security #14) hace 1 semana
test_trace_middleware.py 1878d2aab5 feat(observability): trace ID column on every log line + X-Trace-Id header hace 5 meses
test_ui_flags_default_printer.py c9b551df0b fix(settings): saved settings take effect, unused ones are removed hace 5 días
test_updates_api.py 689f5276e4 Show the compose directory in the Docker update command (#2664) hace 2 meses
test_user_delete_id_reuse.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_user_delete_in_flight_work.py 6b017efe1c fix(db): SQLite no longer reuses the ids of users, API keys, printers, archives and camera tokens hace 1 semana
test_user_deleted_during_request.py 6b017efe1c fix(db): SQLite no longer reuses the ids of users, API keys, printers, archives and camera tokens hace 1 semana
test_user_notifications_api.py a6d307d739 Post work PR #693 hace 7 meses
test_users_auth_cleanup.py d56b48c499 feat(auth): connected apps - sign in to external applications with Bambuddy hace 3 semanas
test_users_groups_privilege_escalation.py 912f9feba2 test(users/groups): generate privilege-escalation test password at runtime hace 4 meses
test_users_slim_1894.py 7c117dc6bc Let API clients resolve user ids to names (#1894) hace 2 meses
test_virtual_printer_api.py fe2bc43720 test: run the backend suite on PostgreSQL too; fix the project import priority hace 1 semana
test_wear_cost_694.py 6c8a821bca Add a wear cost per printing hour to printers (#694) hace 2 semanas
test_webhook_api_key_check.py fe064f6ee1 fix(webhook): check API keys with the shared check, so errors are 503s hace 1 semana
test_webhook_printer_status.py 9c7db6e37c refactor(printers): every user stop goes through one function that also marks it, including the HMS dialog's Stop Printing hace 1 semana
test_webhook_start_print.py 2e45893dd5 feat(print-options): add "Auto" state to bed levelling, flow & nozzle-offset calibration hace 3 meses
test_welcome_template_password_route.py afdd950b63 Security hardening (maziggy/bambuddy-security #15) hace 1 semana
test_writes_need_write_permissions.py 741539a740 chore(api): remove dead firmware WS progress, the delete-all plate calibration route and unused client wrappers hace 4 días
test_ws_connect_permission.py be915fa308 fix(auth): taking away live updates or camera access through a group ends them hace 1 semana
test_zero_ids_on_create.py d1100f5a33 Security hardening (maziggy/bambuddy-security #26) hace 1 semana