| .. |
|
__init__.py
|
ff53e62ef8
Add comprehensive automated testing infrastructure
|
10 bulan lalu |
|
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
|
4 hari lalu |
|
test_admin_only_auth_config.py
|
3542005110
test: register sqlite_only and docker marks in pytest.ini, drop redundant asyncio marks
|
5 hari lalu |
|
test_advanced_auth_api.py
|
ba1c97c808
feat: Two-Factor Authentication (TOTP, Email OTP) and OIDC/SSO – full implementation with admin UI (#933)
|
6 bulan lalu |
|
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
|
4 hari lalu |
|
test_ams_drying_latch_persistence.py
|
7a9b4921bd
Stop the AMS temperature alert firing for heat the user asked for (#1802)
|
2 bulan lalu |
|
test_ams_history_api.py
|
dd6696470f
Security hardening (maziggy/bambuddy-security #28)
|
1 Minggu lalu |
|
test_ams_labels_api.py
|
ed462c5cca
Add tests, docs, and lint fix for AMS Info Card feature (#570)
|
7 bulan lalu |
|
test_ams_remain_sync_while_printing.py
|
5afb485c12
fix(inventory): a finished print is not charged a second time by an AMS update while its usage is booked; a completion reported without any file name closes the print session instead of keeping the AMS weight sync off until the next print
|
3 hari lalu |
|
test_ams_rest_ws_parity.py
|
113f08a1a1
fix(printers): REST and WebSocket share the AMS serialiser, override picker sees both nozzles without an AMS
|
5 hari lalu |
|
test_ams_slot_material_2902.py
|
a8965b0e9f
Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252)
|
2 minggu lalu |
|
test_ams_slot_sub_brand_none_2987.py
|
0d21239e18
Send AMS tray colours as uppercase hex (issue #2987)
|
1 bulan lalu |
|
test_announcements_api.py
|
a81ac2cfb5
Keep the Announcements entry for whoever may see announcements
|
3 minggu lalu |
|
test_api_key_cloud_access.py
|
cf98daa0bb
Security hardening (maziggy/bambuddy-security #10)
|
2 minggu lalu |
|
test_api_key_id_reuse.py
|
6a627a85e1
fix(api-keys): a deleted key's connections and links don't pass to the next key
|
1 Minggu lalu |
|
test_api_key_infra_errors.py
|
8d6e53954c
fix(auth): a database error while checking an API key is a 503, not an invalid key
|
1 Minggu lalu |
|
test_api_key_own_rows.py
|
9f2d15f70f
Merge perf/farm-fanout: batched printer-card reads (/api/v1/bulk) and server-paged queue history
|
1 hari lalu |
|
test_api_key_owner_authority_1894.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_api_key_queue_acts_as_owner.py
|
6cdf4eb2d0
Tests: 21 in the new test_api_key_own_rows.py. Before the change, 8 of them failed; the rest pass either way because they check refusals and unchanged behaviour. All 7 mutations were killed. In the #3256 tests (test_api_key_queue_acts_as_owner.py), I tightened the bulk assertion and fixed the outdated docstring. The wiki's API keys page had documented the old refusal; that block is rewritten.
|
2 hari lalu |
|
test_archive_cost_fields_by_owner.py
|
5782e46639
Security hardening (maziggy/bambuddy-security #39)
|
6 hari lalu |
|
test_archive_edit_cost_and_reprint.py
|
461c3f045d
fix(archives): a cost set through the API or by Recalculate reaches the run that had it; edits during a reprint leave the previous run alone; archive cost bounded; a 422 survives Infinity/NaN
|
3 hari lalu |
|
test_archive_edit_status_words.py
|
a3ab88c9b2
fix(archive): Edit Archive sets finished outcomes only, cancelled and aborted apart
|
6 hari lalu |
|
test_archive_purge_api.py
|
e7045597bc
fix(archives): bulk and auto purge now honour the soft / hard delete choice from #1343 (#1390 follow-up)
|
5 bulan lalu |
|
test_archive_update_targets.py
|
e0e2799f40
fix(archives): an archive edit cannot move it to a printer outside the user's groups
|
1 Minggu lalu |
|
test_archives_api.py
|
07d99f3383
fix(queue): GET /queue?status= takes several comma-separated statuses, as documented; remove the archive rescan and project attachment routes that had no UI (cover images keep their storage)
|
2 hari lalu |
|
test_archives_last_per_printer.py
|
7d46baea65
Show the last print on printer cards and lazy-load file thumbnails
|
2 minggu lalu |
|
test_assignment_routes_take_the_slot_lock.py
|
5b34997dfa
fix(inventory): hand assign, unassign and add-from-slot wait for the printer's slot lock; the AMS remain sync and a print's usage no longer overwrite a weight set by hand or weighed meanwhile; a spool deleted while a print is charged is skipped
|
3 hari lalu |
|
test_auth_api.py
|
7c117dc6bc
Let API clients resolve user ids to names (#1894)
|
2 bulan lalu |
|
test_auth_apikey_rbac.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
|
3 hari lalu |
|
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
|
1 Minggu lalu |
|
test_available_filaments.py
|
113f08a1a1
fix(printers): REST and WebSocket share the AMS serialiser, override picker sees both nozzles without an AMS
|
5 hari lalu |
|
test_background_dispatch_api.py
|
4c67d8a4e1
feat: Unify print dispatch through the scheduler (#1625)
|
3 bulan lalu |
|
test_backup_manifest.py
|
b9b62f739f
fix(virtual-printer): a late slicer update leaves a queue job the scheduler already claimed alone (its archive still keeps the slicer's AMS pick); a backup restore really stops the virtual printers; the legacy PUT /settings/virtual-printer refuses the settings it no longer applies and is no longer blocked by stale legacy values
|
2 hari lalu |
|
test_bare_hex_filament_color_repair.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
|
3 hari lalu |
|
test_batch_status_after_cancel.py
|
e250281c17
feat(queue): a grouping that ended in failures is marked failed
|
6 hari lalu |
|
test_bulk_archive_routes_scope.py
|
07d99f3383
fix(queue): GET /queue?status= takes several comma-separated statuses, as documented; remove the archive rescan and project attachment routes that had no UI (cover images keep their storage)
|
2 hari lalu |
|
test_bulk_edit_dispatch_claim.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
|
3 hari lalu |
|
test_bulk_reads_api.py
|
9f2d15f70f
Merge perf/farm-fanout: batched printer-card reads (/api/v1/bulk) and server-paged queue history
|
1 hari lalu |
|
test_camera_api.py
|
cf0ba31f19
fix(camera): the plate check holds the chamber light like other camera uses, so a live view opened meanwhile keeps it; captures use the live frame of a watched single-client external camera; a reconnecting X1C live view is not ended by the cleanup; camera test/diagnose/plate routes release their DB connection before capturing
|
2 hari lalu |
|
test_camera_external_fanout.py
|
31888777ae
fix(camera): external cameras share one stream per printer
|
5 hari lalu |
|
test_camera_light_api.py
|
6954cff3ee
Turn on the chamber light while the camera is in use
|
2 minggu lalu |
|
test_camera_live_view_snapshots.py
|
7cea7acf0a
fix(camera): snapshots and the camera test use the live view, the janitor kills only our ffmpeg
|
5 hari lalu |
|
test_camera_stream_recheck.py
|
31888777ae
fix(camera): external cameras share one stream per printer
|
5 hari lalu |
|
test_camwall_api.py
|
45921b7a56
Limit groups to selected printers (issue #1727)
|
3 minggu lalu |
|
test_client_ip.py
|
ba1c97c808
feat: Two-Factor Authentication (TOTP, Email OTP) and OIDC/SSO – full implementation with admin UI (#933)
|
6 bulan lalu |
|
test_cloud_auth.py
|
036f0a688f
Merge pull request #2845 from pascalheidmann/refactor/modular-import
|
1 bulan lalu |
|
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
|
4 hari lalu |
|
test_cloud_token_auth_migration.py
|
036f0a688f
Merge pull request #2845 from pascalheidmann/refactor/modular-import
|
1 bulan lalu |
|
test_cloud_upstream_errors.py
|
bdd3111547
fix(cloud): report an unreachable Bambu Cloud as 502, not as a server error or wrong credentials
|
1 Minggu lalu |
|
test_color_catalog_extras.py
|
6b477088a2
fix(queue): extend Charcoal-style label fix to Specific-Printer panel (#1718 round 3)
|
4 bulan lalu |
|
test_color_map_api.py
|
3901043238
Name an AMS slot's colour by its material, not its hex alone (issue #2875)
|
2 bulan lalu |
|
test_completion_guard_wiring_2829.py
|
a9624d3887
Match a print completion to its queue job the way the printer names it (#2829)
|
2 bulan lalu |
|
test_completion_keeps_printer_charging.py
|
5afb485c12
fix(inventory): a finished print is not charged a second time by an AMS update while its usage is booked; a completion reported without any file name closes the print session instead of keeping the AMS weight sync off until the next print
|
3 hari lalu |
|
test_confirm_outcome_queue_defaults_1898.py
|
44c7e6fb39
Post-print outcome confirmation: good/reject verdicts, one-tap links, yield stats (#3047)
|
3 minggu lalu |
|
test_connected_apps.py
|
d56b48c499
feat(auth): connected apps - sign in to external applications with Bambuddy
|
3 minggu lalu |
|
test_connection_tests_use_the_form.py
|
770c6bfdf9
fix: firmware upload only for idle printers (dialog, server, re-check after download, queue waits during upload); AMS Reset Slot asks first and is refused while printing; confirms for shopping list Clear all, Git history Clear and SSO unlink (last SSO link of an account without password stays); LDAP/SMTP test use the form's values; emptying a user's email removes it; local backup delete errors are shown; removed the unreachable printer-card Spoolman link/unlink
|
1 hari lalu |
|
test_cost_statistics.py
|
9613d65e0d
fix(archives): archives a spool was used for can be deleted on PostgreSQL
|
1 Minggu lalu |
|
test_daily_digest_delivery.py
|
dad7fea37b
fix(notifications): the daily digest goes out during quiet hours and a failed one keeps its events for the next (dropped after two days); a deleted queued archive no longer leaves its creator to be named on a later print; a print closed at reconnect reports no actual duration; the template editor knows the print outcome confirmation and names every event
|
2 hari lalu |
|
test_deleted_printer_keeps_name_2873.py
|
28781ea558
Keep the printer's name on statistics after it is deleted (issue #2873)
|
2 bulan lalu |
|
test_design_settings_plates.py
|
7e77bf5833
Take the layer height from the plate that actually printed
|
2 bulan lalu |
|
test_discovery_api.py
|
d73da5e0ef
Auto-detect subnet for printer discovery
|
8 bulan lalu |
|
test_dispatched_print_named_like_calibration.py
|
92d299bf20
Security hardening (maziggy/bambuddy-security #43)
|
4 hari lalu |
|
test_drying_screen_only.py
|
ca3f6e5ee0
fix(drying): P1 AMS drying is screen-only — stop offering it (#2533)
|
3 bulan lalu |
|
test_ended_session_gates.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
|
3 hari lalu |
|
test_endpoint_auth.py
|
2fd90e9dce
refactor(api): rename /filaments/ to /filament-catalog/ for clarity (#427)
|
8 bulan lalu |
|
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
|
5 hari lalu |
|
test_external_folders_api.py
|
1bdd7d224a
fix(library): sort File Manager by real filesystem mtime, recursively (#2680)
|
2 bulan lalu |
|
test_external_links_api.py
|
83cbac04b7
- Add interactive API Browser to Settings > API Keys
|
9 bulan lalu |
|
test_external_live_view_defers_captures.py
|
cf0ba31f19
fix(camera): the plate check holds the chamber light like other camera uses, so a live view opened meanwhile keeps it; captures use the live frame of a watched single-client external camera; a reconnecting X1C live view is not ended by the cleanup; camera test/diagnose/plate routes release their DB connection before capturing
|
2 hari lalu |
|
test_external_print_confirmation_1898.py
|
5fec296d72
chore(virtual-printer): log K-profile, filament and load commands from the slicer in full
|
4 hari lalu |
|
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
|
4 hari lalu |
|
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
|
4 hari lalu |
|
test_fallback_archive_photos_1820.py
|
0623cc46df
Repair no-3MF archives' photos and their silent filament writes (#1820)
|
2 bulan lalu |
|
test_filament_requirements_plate_nozzle.py
|
19212d066d
fix(print): Print Anyway per printer, variant plate, nozzle per plate, sliced .3mf drop
|
6 hari lalu |
|
test_filaments_api.py
|
2fd90e9dce
refactor(api): rename /filaments/ to /filament-catalog/ for clarity (#427)
|
8 bulan lalu |
|
test_finance_api.py
|
4a85e033c0
fix(finance): show the currency the install is configured for (issue #3123)
|
1 bulan lalu |
|
test_firmware_check_setting.py
|
0165dafd29
Stop firmware lookups when "Check printer firmware" is off
|
3 minggu lalu |
|
test_ftp_list_timeout_route.py
|
27003de368
fix(ftp): a slow folder listing is reported as slow instead of "printer unavailable", and a refresh joins the listing still running instead of starting another; printer file times without a year are dated against UTC, so evening files on hosts behind UTC are not dated a year back
|
2 hari lalu |
|
test_github_backup_api.py
|
57ed8253ea
Security hardening (maziggy/bambuddy-security #N)
|
1 hari lalu |
|
test_github_restore_api.py
|
9284240279
fix(backup): gate every restore category on the permission owning its rows (#2656)
|
2 bulan lalu |
|
test_global_auto_archive_switch.py
|
c9b551df0b
fix(settings): saved settings take effect, unused ones are removed
|
5 hari lalu |
|
test_groups_api.py
|
cecdf8f5a7
feat(auth): permission-delegated Settings + Group editor routes; fix group-edit cache stale-read (#1083)
|
6 bulan lalu |
|
test_ha_sensor_scope.py
|
2a03aa612d
Security hardening (maziggy/bambuddy-security #32)
|
1 Minggu lalu |
|
test_ha_sensors_api_1148.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_idle_only_printer_actions.py
|
770c6bfdf9
fix: firmware upload only for idle printers (dialog, server, re-check after download, queue waits during upload); AMS Reset Slot asks first and is refused while printing; confirms for shopping list Clear all, Git history Clear and SSO unlink (last SSO link of an account without password stays); LDAP/SMTP test use the form's values; emptying a user's email removes it; local backup delete errors are shown; removed the unreachable printer-card Spoolman link/unlink
|
1 hari lalu |
|
test_inventory_ams_weight_sync_lock.py
|
5afb485c12
fix(inventory): a finished print is not charged a second time by an AMS update while its usage is booked; a completion reported without any file name closes the print session instead of keeping the AMS weight sync off until the next print
|
3 hari lalu |
|
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
|
4 hari lalu |
|
test_inventory_bulk.py
|
fb3821630f
feat(inventory): batch / mass edit on the Filament tab (#1795)
|
4 bulan lalu |
|
test_inventory_csv.py
|
5edbe7586d
fix(inventory): deleting a spool frees and announces its slots; scale, AMS and manual weight syncs and a finished print's usage refresh other tabs and the printer cards; a deleted printer's spool assignments go with it on SQLite; a pre-assigned slot the printer could not be told about is retried; CSV last_used is stored in UTC
|
3 hari lalu |
|
test_inventory_from_slot_no_tag.py
|
8a26e7d753
fix(inventory): stop popping the unknown-tag modal for slots with no RFID
|
3 bulan lalu |
|
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
|
1 Minggu lalu |
|
test_kill_switch_owned_prints.py
|
c9c13b6440
fix(archives): the A1/A1 Mini/P1/A2L built-in calibration is not archived as a print
|
4 hari lalu |
|
test_kill_switch_stop_archived_cancelled.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/
|
1 hari lalu |
|
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
|
4 hari lalu |
|
test_labels.py
|
c2bc41a5ef
fix(spoolman): a location delete is refused while Spoolman can't be read; labels print for archived spools; archived spools are not assigned or linked to slots; slot requests outside the AMS ranges are refused before Spoolman is written; bulk counter resets report the spools that failed
|
2 hari lalu |
|
test_ldap_group_sync.py
|
5fea138f5d
fix(auth): preserve manually-assigned groups across LDAP logins (#1292)
|
5 bulan lalu |
|
test_ldap_provision.py
|
1bb5e49d6a
Security hardening (maziggy/bambuddy-security #40)
|
5 hari lalu |
|
test_library_add_to_queue_plate_filament.py
|
918aa26ffa
fix(queue): models matched without regard to case when adding jobs and in pipelines, stored in the printers' spelling; webhook reprints reuse the slicer's AMS slots; a multi-plate file queued without a plate stores the plate that prints
|
3 hari lalu |
|
test_library_api.py
|
c6598afec8
test: library/queue probe files get unique names, so parallel workers no longer delete each other's files ("File not found on disk" flake)
|
2 hari lalu |
|
test_library_combine.py
|
b67c9b572c
Add "Combine to 3MF" for slicing several STLs on one plate (#3162)
|
3 minggu lalu |
|
test_library_file_metadata_3077.py
|
12dddada0a
File Manager: external link, notes and photos on library files (#3128)
|
3 minggu lalu |
|
test_library_folder_archive_scope.py
|
978d70370d
Security hardening (maziggy/bambuddy-security #33)
|
1 Minggu lalu |
|
test_library_folder_ownership_3201.py
|
6735e45563
Give library folders an owner and let admins share them (#3201)
|
2 minggu lalu |
|
test_library_pdf_thumbnail.py
|
926957f648
Post work-2 PR #2990
|
3 minggu lalu |
|
test_library_preview_thumbnail_api.py
|
226826f3bd
File Manager previews: fullscreen and zoom, image previews, double-click to open (#2990)
|
3 minggu lalu |
|
test_library_slice_api.py
|
ad3b5f1982
Map the P-series model codes to the right printers
|
3 minggu lalu |
|
test_library_tags_api.py
|
bb42b423af
feat(file-manager): user-authored tags for cross-cutting filtering (#1268)
|
4 bulan lalu |
|
test_library_trash_api.py
|
02616f0c91
fix(queue): stop a library-file delete from destroying the jobs queued against it (#2819)
|
2 bulan lalu |
|
test_library_variants_api.py
|
a9b57ccd3c
Add variant-group endpoints and cross-model queue creation (#671, #2570)
|
2 bulan lalu |
|
test_local_login_gate.py
|
aef4f3a3e9
fix(oidc): strip the required BAMBUDDY_OIDC_* values and register the local-login bypass
|
2 bulan lalu |
|
test_location_ha_sensors_api.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_locations_api.py
|
c2bc41a5ef
fix(spoolman): a location delete is refused while Spoolman can't be read; labels print for archived spools; archived spools are not assigned or linked to slots; slot requests outside the AMS ranges are refused before Spoolman is written; bulk counter resets report the spools that failed
|
2 hari lalu |
|
test_long_lived_tokens_api.py
|
d336bb2ad2
Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev
|
2 minggu lalu |
|
test_main_plug_pick_2830.py
|
9a2b811566
Show the plug that powers the printer in the card's Power row (#2830)
|
2 bulan lalu |
|
test_maintenance_api.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
|
2 hari lalu |
|
test_maintenance_item_get_or_create.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
|
2 hari lalu |
|
test_makerworld_apikey_auth.py
|
cf98daa0bb
Security hardening (maziggy/bambuddy-security #10)
|
2 minggu lalu |
|
test_makerworld_permission_gate.py
|
036f0a688f
Merge pull request #2845 from pascalheidmann/refactor/modular-import
|
1 bulan lalu |
|
test_manyfold_api.py
|
3480d39434
Browse a Manyfold library and import its files (issue #1471)
|
2 minggu lalu |
|
test_material_number_api.py
|
71d4b2f70d
Material number as a first-class spool field (#2994)
|
3 minggu lalu |
|
test_media_token_3025.py
|
89c4ac5583
Post work PR #2956
|
3 minggu lalu |
|
test_media_token_with_headers_scope.py
|
d1f50973c6
Security hardening (maziggy/bambuddy-security #37)
|
6 hari lalu |
|
test_metrics_api.py
|
487b48c5af
Security hardening (maziggy/bambuddy-security #16)
|
1 Minggu lalu |
|
test_mfa_api.py
|
9fe528d9a3
fix(users): admins can remove a locked-out user's 2FA from Edit user
|
5 hari lalu |
|
test_mode_switch_preserves_assignments_2812.py
|
08a58b1ef4
Keep both modes' slot assignments across an inventory mode switch (issue #2812)
|
1 bulan lalu |
|
test_notification_app_message.py
|
6855d65d12
Let other applications send messages through the notification channels
|
3 minggu lalu |
|
test_notification_provider_secrets.py
|
487b48c5af
Security hardening (maziggy/bambuddy-security #16)
|
1 Minggu lalu |
|
test_notification_scope.py
|
7b27d2a654
Security hardening (maziggy/bambuddy-security #31)
|
1 Minggu lalu |
|
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
|
4 hari lalu |
|
test_notification_template_editor_events.py
|
dad7fea37b
fix(notifications): the daily digest goes out during quiet hours and a failed one keeps its events for the next (dropped after two days); a deleted queued archive no longer leaves its creator to be named on a later print; a print closed at reconnect reports no actual duration; the template editor knows the print outcome confirmation and names every event
|
2 hari lalu |
|
test_notifications_api.py
|
4fdc55b884
Let the two stock alert toggles reach the database (issue #2945) (#2956)
|
3 minggu lalu |
|
test_notify_provider_api.py
|
487b48c5af
Security hardening (maziggy/bambuddy-security #16)
|
1 Minggu lalu |
|
test_obico_api.py
|
cfb5c54f19
Security hardening (maziggy/bambuddy-security #13)
|
1 Minggu lalu |
|
test_oidc_env_apply.py
|
77c9bdd694
fix(oidc): reject an unrecognized boolean instead of guessing
|
2 bulan lalu |
|
test_oidc_env_lock.py
|
c9ee259807
feat(oidc): refuse API writes to the env-managed provider
|
2 bulan lalu |
|
test_oidc_env_startup.py
|
e7a413e745
feat(oidc): apply the env provider during startup
|
2 bulan lalu |
|
test_oidc_group_sync.py
|
d04514c842
Sync OIDC provider groups to BamBuddy groups on every login (issue #3107) (#3122)
|
3 minggu lalu |
|
test_oidc_group_sync_routes.py
|
d04514c842
Sync OIDC provider groups to BamBuddy groups on every login (issue #3107) (#3122)
|
3 minggu lalu |
|
test_oidc_icon_api.py
|
7d07b92bec
Post work PR #1333
|
5 bulan lalu |
|
test_oidc_icon_blob_roundtrip.py
|
9e7f6cafd9
fix(backup): preserve NOT NULL/DEFAULT/FK/UNIQUE in Postgres→SQLite backup (#2526)
|
3 bulan lalu |
|
test_oidc_icon_deferred_load.py
|
8a7598f6b5
feat(auth): proxy OIDC provider icons server-side (#1333) (#1342)
|
5 bulan lalu |
|
test_oidc_relogin.py
|
4d8dbc8336
fix(auth): cleanup orphan OIDC/MFA rows when user is deleted (#1285) (#1295)
|
5 bulan lalu |
|
test_oidc_unlink_last_link.py
|
770c6bfdf9
fix: firmware upload only for idle printers (dialog, server, re-check after download, queue waits during upload); AMS Reset Slot asks first and is refused while printing; confirms for shopping list Clear all, Git history Clear and SSO unlink (last SSO link of an account without password stays); LDAP/SMTP test use the form's values; emptying a user's email removes it; local backup delete errors are shown; removed the unreachable printer-card Spoolman link/unlink
|
1 hari lalu |
|
test_one_print_cost_b5.py
|
07d99f3383
fix(queue): GET /queue?status= takes several comma-separated statuses, as documented; remove the archive rescan and project attachment routes that had no UI (cover images keep their storage)
|
2 hari lalu |
|
test_orca_cloud_device.py
|
00251fe808
feat(orca-cloud): pair via RFC 8628 device flow, replacing the paste-based sign-in
|
3 bulan lalu |
|
test_orca_slot_filament_id_3216.py
|
02e39b18b9
Configure Orca Cloud filaments with their own filament ID (#3216)
|
2 minggu lalu |
|
test_overlay_branding.py
|
67d3e7e869
Add stream overlay logos and progress colours (#3208)
|
2 minggu lalu |
|
test_overlay_status_api.py
|
d336bb2ad2
Merge printer-scoped access (#1727) and the queue review gate (#1620) into dev
|
2 minggu lalu |
|
test_ownership_permissions.py
|
6735e45563
Give library folders an owner and let admins share them (#3201)
|
2 minggu lalu |
|
test_password_reset_template_routes.py
|
9d91887ee9
fix(auth): the password reset email is built from the Password Reset template
|
1 Minggu lalu |
|
test_patch_null_on_required_fields.py
|
8e5116fe20
fix(api): null for a field that can't be empty leaves it unchanged
|
1 Minggu lalu |
|
test_pending_upload_archive_project.py
|
a399ef0361
fix(pending-uploads): check the project before archiving an upload into it
|
1 Minggu lalu |
|
test_pending_upload_display_name.py
|
ac72aacbfa
Tool: Bandit B108
|
5 bulan lalu |
|
test_permission_backfills_once_3238.py
|
175e683837
Give backfilled group permissions once, not on every start (#3238)
|
2 minggu lalu |
|
test_pipeline_runs_api.py
|
833a096da6
test/chore: Bandit findings on PR #3350 marked with reasons (ftplib in tests, migration SQL built from module constants), a misplaced nosec moved to its SQL line; layer timelapse tests use tmp_path instead of a shared /tmp/test_bambuddy
|
1 hari lalu |
|
test_plate_clear_notification.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_plate_filament_preset.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
|
3 hari lalu |
|
test_preconfig_replay_failure.py
|
5edbe7586d
fix(inventory): deleting a spool frees and announces its slots; scale, AMS and manual weight syncs and a finished print's usage refresh other tabs and the printer cards; a deleted printer's spool assignments go with it on SQLite; a pre-assigned slot the printer could not be told about is retried; CSV last_used is stored in UTC
|
3 hari lalu |
|
test_print_batch_orders.py
|
e9627e44a2
Start queued jobs in list order, whether pinned or "Any <model>" (#3200)
|
3 minggu lalu |
|
test_print_complete_end_to_end.py
|
ac4806f029
fix: a failed first run no longer leaves the archive at its partial cost (built-in inventory); completion stops the start cost estimate before writing the real cost; 2FA/SSO logins report LDAP/OIDC users' auth source; a fault in both print_error and HMS is listed once; a refused H2D load's tray target expires; refused K-profile re-applies are logged; the cloud filament-name map is fetched once per account without holding a DB connection; the library edit route refuses folder changes across the external boundary; a slow slice-progress answer is not reported as an unreachable sidecar
|
2 hari lalu |
|
test_print_confirmation.py
|
44c7e6fb39
Post-print outcome confirmation: good/reject verdicts, one-tap links, yield stats (#3047)
|
3 minggu lalu |
|
test_print_lifecycle.py
|
449060ce0a
bugfix (aborted prints were not billed in specific cases)
|
2 bulan lalu |
|
test_print_log_one_entry_per_run.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
|
3 hari lalu |
|
test_print_queue_api.py
|
833a096da6
test/chore: Bandit findings on PR #3350 marked with reasons (ftplib in tests, migration SQL built from module constants), a misplaced nosec moved to its SQL line; layer timelapse tests use tmp_path instead of a shared /tmp/test_bambuddy
|
1 hari lalu |
|
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
|
6 hari lalu |
|
test_print_start_printer_deleted_midway.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_printer_camera_url_credentials.py
|
929e89d6ce
Security hardening (maziggy/bambuddy-security #17)
|
1 Minggu lalu |
|
test_printer_delete_leftovers.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_printer_delete_scopes.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_printer_file_download_errors.py
|
026acaf511
fix(printers): the plate picker downloads a printer's 3MF once
|
5 hari lalu |
|
test_printer_id_zero.py
|
26a8a09937
fix(projects): refuse an unknown priority on create, keep imported statuses valid, repair stored ones
|
1 Minggu lalu |
|
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
|
5 hari lalu |
|
test_printer_locations_api.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_printer_scope_1727.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
|
3 hari lalu |
|
test_printers_api.py
|
ab5ccc1082
fix(printers): a Stop on an idle printer no longer marks it as user-stopped, so a later failed print is not reported as cancelled; Configure Slot warns when a manual K value could not be sent; Skip Objects and the connection diagnostic release their DB connection before talking to the printer
|
2 hari lalu |
|
test_project_batch_scope.py
|
fbd506557a
fix(projects): adding archives or queue jobs to a project keeps to the user's printers and prints
|
1 Minggu lalu |
|
test_project_bom_archive_link.py
|
9c9278e673
fix(projects): a project's BOM no longer shows archives from printers outside the user's groups
|
1 Minggu lalu |
|
test_project_import_folders.py
|
df3d016b53
Security hardening (maziggy/bambuddy-security #35)
|
6 hari lalu |
|
test_project_import_priority.py
|
26a8a09937
fix(projects): refuse an unknown priority on create, keep imported statuses valid, repair stored ones
|
1 Minggu lalu |
|
test_project_priority_status_repair.py
|
26a8a09937
fix(projects): refuse an unknown priority on create, keep imported statuses valid, repair stored ones
|
1 Minggu lalu |
|
test_projects_api.py
|
49879b8d69
fix(projects): the project timeline loads again with queued or printing jobs
|
1 Minggu lalu |
|
test_projects_batches_scope.py
|
fa8d670691
Security hardening (maziggy/bambuddy-security #30)
|
1 Minggu lalu |
|
test_queue_creation_attribution.py
|
c6598afec8
test: library/queue probe files get unique names, so parallel workers no longer delete each other's files ("File not found on disk" flake)
|
2 hari lalu |
|
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
|
5 hari lalu |
|
test_queue_estimate_spoolman_prices.py
|
141ec5dbb3
fix(spoolman): failed prints are logged with their spool cost, queue estimates use Spoolman prices
|
6 hari lalu |
|
test_queue_history_api.py
|
9f2d15f70f
Merge perf/farm-fanout: batched printer-card reads (/api/v1/bulk) and server-paged queue history
|
1 hari lalu |
|
test_queue_item_printer_change.py
|
2699bebc37
fix(queue): a job moved to another printer drops the old printer's settings
|
6 hari lalu |
|
test_queue_nozzle_rack_choice_api_1784.py
|
3954d3a7e6
Choose which rack nozzle each filament prints from on an H2C (#1784)
|
2 bulan lalu |
|
test_queue_review_1620.py
|
c6598afec8
test: library/queue probe files get unique names, so parallel workers no longer delete each other's files ("File not found on disk" flake)
|
2 hari lalu |
|
test_queue_source_gate.py
|
72dfa7b168
Apply the reprint checks to re-slicing an archive with the built-in slicer.
|
1 Minggu lalu |
|
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.
|
6 hari lalu |
|
test_queue_target_model_case.py
|
918aa26ffa
fix(queue): models matched without regard to case when adding jobs and in pipelines, stored in the printers' spelling; webhook reprints reuse the slicer's AMS slots; a multi-plate file queued without a plate stores the plate that prints
|
3 hari lalu |
|
test_queue_variants_api.py
|
918aa26ffa
fix(queue): models matched without regard to case when adding jobs and in pipelines, stored in the printers' spelling; webhook reprints reuse the slicer's AMS slots; a multi-plate file queued without a plate stores the plate that prints
|
3 hari lalu |
|
test_read_permission_backfill_migration.py
|
b23cb69a66
fix(permissions): self-heal Administrators to ALL_PERMISSIONS on upgrade + Pipelines runs dashboard polish
|
3 bulan lalu |
|
test_recreated_username.py
|
6a627a85e1
fix(api-keys): a deleted key's connections and links don't pass to the next key
|
1 Minggu lalu |
|
test_refused_header_error_texts.py
|
d3827e646a
Security hardening (maziggy/bambuddy-security #23)
|
1 Minggu lalu |
|
test_removed_unwired_routes.py
|
07d99f3383
fix(queue): GET /queue?status= takes several comma-separated statuses, as documented; remove the archive rescan and project attachment routes that had no UI (cover images keep their storage)
|
2 hari lalu |
|
test_reprint_adoption.py
|
a8270b8fa2
fix(archive): reprints start clean, deleted archives are archived anew
|
6 hari lalu |
|
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
|
4 hari lalu |
|
test_runtime_disconnect_gap.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
|
2 hari lalu |
|
test_scheduler_budget_reservation.py
|
4a85e033c0
fix(finance): show the currency the install is configured for (issue #3123)
|
1 bulan lalu |
|
test_scheduler_nozzle_rack_dispatch_1784.py
|
89dde591f2
Resolve dispatch plate_id from the archive instead of assuming 1 (#2951)
|
3 minggu lalu |
|
test_security.py
|
877b5e3afe
Security hardening (maziggy/bambuddy-security #14)
|
1 Minggu lalu |
|
test_security_headers.py
|
226826f3bd
File Manager previews: fullscreen and zoom, image previews, double-click to open (#2990)
|
3 minggu lalu |
|
test_session_end_closes_sockets.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
test_session_policy.py
|
2940fbdcf7
feat(auth): admin-configurable session lifetime ceiling (#1706)
|
4 bulan lalu |
|
test_settings_and_plug_secrets.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 hari lalu |
|
test_settings_api.py
|
487b48c5af
Security hardening (maziggy/bambuddy-security #16)
|
1 Minggu lalu |
|
test_settings_api_key_scrubbing.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 hari lalu |
|
test_settings_electricity_price.py
|
ae29a7dcd3
fix(api-keys): expose narrowly-scoped "Update electricity price" toggle (#1356)
|
5 bulan lalu |
|
test_settings_ui_flags_3023.py
|
c9b551df0b
fix(settings): saved settings take effect, unused ones are removed
|
5 hari lalu |
|
test_settings_ui_preferences.py
|
68b9d741d9
feat(humidity): per-filament humidity threshold for auto-drying + alarms (#1605)
|
4 bulan lalu |
|
test_sjf_scheduling.py
|
10c261dcf2
chore(tests): suppress B108 on dummy /tmp test fixtures
|
6 bulan lalu |
|
test_slice_archive_output_path_2832.py
|
07d99f3383
fix(queue): GET /queue?status= takes several comma-separated statuses, as documented; remove the archive rescan and project attachment routes that had no UI (cover images keep their storage)
|
2 hari lalu |
|
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
|
4 hari lalu |
|
test_slicer_pipelines_api.py
|
d6bdb7e200
feat(slicer): Slicer Pipelines — save & reuse a preset bundle in one click (#1425 PR A)
|
3 bulan lalu |
|
test_slicer_token_reuse_3029.py
|
89c4ac5583
Post work PR #2956
|
3 minggu lalu |
|
test_slot_spool_defaults.py
|
a7b563334e
Configure a spool's filament preset and K profile per nozzle
|
1 bulan lalu |
|
test_smart_plug_rest_fields.py
|
a51283ad76
Security hardening (maziggy/bambuddy-security #19)
|
1 Minggu lalu |
|
test_smart_plug_update_type_rules.py
|
47fbd23ff8
fix(smart-plugs): an edit can no longer save a plug that cannot be read back
|
1 Minggu lalu |
|
test_smart_plugs_api.py
|
487b48c5af
Security hardening (maziggy/bambuddy-security #16)
|
1 Minggu lalu |
|
test_sponsor_prompt_api.py
|
a5fe5cb3d4
feat(sponsor-prompt): in-app toast at earned milestones
|
4 bulan lalu |
|
test_spool_archive_unassigns.py
|
5edbe7586d
fix(inventory): deleting a spool frees and announces its slots; scale, AMS and manual weight syncs and a finished print's usage refresh other tabs and the printer cards; a deleted printer's spool assignments go with it on SQLite; a pre-assigned slot the printer could not be told about is retried; CSV last_used is stored in UTC
|
3 hari lalu |
|
test_spool_by_tag_lookup.py
|
57e312b38c
feat(inventory): by-tag spool lookup, readable with Manage-Inventory keys (#1663) (#1700)
|
4 bulan lalu |
|
test_spool_delete_keeps_usage.py
|
e1714b5115
fix(inventory): deleting a spool keeps its usage history; spool ids are never reused
|
1 Minggu lalu |
|
test_spool_drying_2863.py
|
84f320b859
Remember when each spool was last dried (#2863)
|
2 minggu lalu |
|
test_spool_filament_preset_endpoints.py
|
a7b563334e
Configure a spool's filament preset and K profile per nozzle
|
1 bulan lalu |
|
test_spool_reset_usage.py
|
c2bc41a5ef
fix(spoolman): a location delete is refused while Spoolman can't be read; labels print for archived spools; archived spools are not assigned or linked to slots; slot requests outside the AMS ranges are refused before Spoolman is written; bulk counter resets report the spools that failed
|
2 hari lalu |
|
test_spool_usage_outlives_archive.py
|
9613d65e0d
fix(archives): archives a spool was used for can be deleted on PostgreSQL
|
1 Minggu lalu |
|
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
|
4 hari lalu |
|
test_spoolbuddy.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 hari lalu |
|
test_spoolbuddy_color_name_3090.py
|
a8965b0e9f
Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252)
|
2 minggu lalu |
|
test_spoolbuddy_spool_colours_3033.py
|
a8965b0e9f
Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252)
|
2 minggu lalu |
|
test_spoolbuddy_spoolman_mode_unusable.py
|
a202f2502d
fix(spoolbuddy): tag link failures, lookup failures and a refused Spoolman URL are reported
|
6 hari lalu |
|
test_spoolbuddy_spoolman_nfc.py
|
a8965b0e9f
Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252)
|
2 minggu lalu |
|
test_spoolbuddy_write_tag_spoolman.py
|
ba93abdb9d
fix(spoolbuddy): writing a sticker no longer replaces a Bambu spool's AMS link in Spoolman (refused with the reason on Spoolman before 0.27, and such spools are not listed as untagged); the colour-name warning only appears when the name is really missing; an update stops when installing dependencies times out instead of restarting the daemon and reporting success
|
2 hari lalu |
|
test_spoolman_ams_sync.py
|
0b1d6c238b
fix(inventory): AMS weight sync skips printing printers, scale weights lock, force sync unlocks
|
6 hari lalu |
|
test_spoolman_ams_sync_broadcast.py
|
fcc20cb62c
fix(spoolman): AMS syncs write only the slots whose spool they changed and keep a spool assigned meanwhile; the Sync buttons announce slot changes and update the slot preset; a new Spoolman spool is not seeded from leftover built-in assignments
|
2 hari lalu |
|
test_spoolman_api.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 hari lalu |
|
test_spoolman_assignment_verification.py
|
53ef17dc56
fix(spoolman): slot assignments are verified, and the spool's own preset is used for the slot
|
6 hari lalu |
|
test_spoolman_cost_preserved_2591.py
|
07d99f3383
fix(queue): GET /queue?status= takes several comma-separated statuses, as documented; remove the archive rescan and project attachment routes that had no UI (cover images keep their storage)
|
2 hari lalu |
|
test_spoolman_filament_patch.py
|
c145b3ebc1
Use the vendor's empty spool weight as tare in Spoolman mode (#3195)
|
3 minggu lalu |
|
test_spoolman_initial_weight_3194.py
|
2f7f17a891
Use the Spoolman spool's own initial_weight as its label weight (#3194)
|
3 minggu lalu |
|
test_spoolman_inventory_api.py
|
c2bc41a5ef
fix(spoolman): a location delete is refused while Spoolman can't be read; labels print for archived spools; archived spools are not assigned or linked to slots; slot requests outside the AMS ranges are refused before Spoolman is written; bulk counter resets report the spools that failed
|
2 hari lalu |
|
test_spoolman_inventory_bulk.py
|
fb3821630f
feat(inventory): batch / mass edit on the Filament tab (#1795)
|
4 bulan lalu |
|
test_spoolman_k_profiles.py
|
af5d24e289
feat(inventory): structured storage locations catalog (#1505)
|
4 bulan lalu |
|
test_spoolman_manual_sync_empty_slots.py
|
23d04c8645
fix(inventory): archived or deleted spools release their AMS slots, safely in both modes
|
6 hari lalu |
|
test_spoolman_native_tags_3168.py
|
842dd9109b
docs(spoolman): native tags lookup order, written tags and padded chip UIDs
|
2 minggu lalu |
|
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
|
4 hari lalu |
|
test_spoolman_slot_assignments.py
|
3497cf0d46
Hold an automatic slot unlink until the slot stays empty (issue #3186)
|
3 minggu lalu |
|
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)
|
5 bulan lalu |
|
test_spoolman_slot_own_preset.py
|
53ef17dc56
fix(spoolman): slot assignments are verified, and the spool's own preset is used for the slot
|
6 hari lalu |
|
test_spoolman_slot_requests.py
|
c2bc41a5ef
fix(spoolman): a location delete is refused while Spoolman can't be read; labels print for archived spools; archived spools are not assigned or linked to slots; slot requests outside the AMS ranges are refused before Spoolman is written; bulk counter resets report the spools that failed
|
2 hari lalu |
|
test_spoolman_slot_sync_writes.py
|
fcc20cb62c
fix(spoolman): AMS syncs write only the slots whose spool they changed and keep a spool assigned meanwhile; the Sync buttons announce slot changes and update the slot preset; a new Spoolman spool is not seeded from leftover built-in assignments
|
2 hari lalu |
|
test_spoolman_status_2903.py
|
a8965b0e9f
Use Spoolman 0.27's native tags in Spoolman mode (issue #3168) (#3252)
|
2 minggu lalu |
|
test_spoolman_tracking_shared_archive.py
|
fb69a665d8
fix(spoolman): concurrent copies of an archive are charged, unfed slots charge nothing
|
6 hari lalu |
|
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)
|
5 bulan lalu |
|
test_sqlite_dangling_references.py
|
5edbe7586d
fix(inventory): deleting a spool frees and announces its slots; scale, AMS and manual weight syncs and a finished print's usage refresh other tabs and the printer cards; a deleted printer's spool assignments go with it on SQLite; a pre-assigned slot the printer could not be told about is retried; CSV last_used is stored in UTC
|
3 hari lalu |
|
test_static_html_cache_headers.py
|
0b92172322
fix(tests): make SPA cache-header tests work without a built frontend
|
5 bulan lalu |
|
test_stats_local_days.py
|
bd692ac3c7
fix(stats): date filters use calendar days in the browser's time zone instead of UTC days; the Statistics page sends its zone, and the date-filtered archive, statistics and inventory-statistics endpoints take an optional tz (Bambuddy's own TZ when omitted)
|
2 hari lalu |
|
test_stats_reconciled_duration_2592.py
|
8d618678a2
fix(stats): don't bank the disconnect gap as print time on reconnect (#2592)
|
3 bulan lalu |
|
test_stl_thumbnail_off_loop.py
|
bdbfa5d8fd
fix(library): STL thumbnails are made off the event loop, one at a time
|
5 hari lalu |
|
test_stranded_printing_recovery_2829.py
|
a9624d3887
Match a print completion to its queue job the way the printer names it (#2829)
|
2 bulan lalu |
|
test_stuck_budget_reservations.py
|
7ece330c53
fix(finance): release budget held by prints that ended
|
1 Minggu lalu |
|
test_suppliers_api.py
|
053cfa73ad
Suppliers as a managed list with per-spool assignments (#2996)
|
3 minggu lalu |
|
test_support_api.py
|
e222a0ef0e
feat(system): log-health scanner + Add/Edit-Printer setup pre-flight
|
5 bulan lalu |
|
test_system_api.py
|
4dcd37bc87
feat(system): NTP-gate state on /api/v1/system/appliance
|
4 bulan lalu |
|
test_system_support_vp_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
|
1 hari lalu |
|
test_tailscale_api.py
|
91a3d391ff
feat(virtual-printer): add Tailscale opt-out toggle (closes #701 point 3) (#1070)
|
6 bulan lalu |
|
test_telegram_reactions.py
|
460c11ca30
chore: remove dead code (audit step 4): unused backend helpers and schema classes, 51 unused API client wrappers, test-only components (BackupModal, RestoreModal, VirtualPrinterSettings, TagDetectedModal, WeightDisplay, useLongPress) and their translations; removed POST /printers/test, the two printer debug routes and the SpoolBuddy update-status channel; legacy virtual printer settings fields removed from the settings API; first-run setup redirect tested
|
1 hari lalu |
|
test_timelapse_changes_announced.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
|
3 hari lalu |
|
test_timelapse_editor_job.py
|
2443cea174
feat: USB cameras are picked from a list of detected devices (refresh, not-found marking, manual fallback, Docker hint; device listing off the event loop, /dev/video0-99 only); fix: timelapse editor saves as a background job with progress and cancel (ffmpeg stopped on cancel, no overwrite of a timelapse removed or replaced meanwhile, ffprobe/thumbnail timeouts), and the music volume is applied
|
1 hari lalu |
|
test_timelapse_scan_session.py
|
6488a33488
Stop a print with no 3MF borrowing another model's data (#2843)
|
2 bulan lalu |
|
test_token_outlived_session.py
|
877b5e3afe
Security hardening (maziggy/bambuddy-security #14)
|
1 Minggu lalu |
|
test_trace_middleware.py
|
1878d2aab5
feat(observability): trace ID column on every log line + X-Trace-Id header
|
5 bulan lalu |
|
test_ui_flags_default_printer.py
|
c9b551df0b
fix(settings): saved settings take effect, unused ones are removed
|
5 hari lalu |
|
test_updates_api.py
|
689f5276e4
Show the compose directory in the Docker update command (#2664)
|
2 bulan lalu |
|
test_user_delete_id_reuse.py
|
fe2bc43720
test: run the backend suite on PostgreSQL too; fix the project import priority
|
1 Minggu lalu |
|
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
|
1 Minggu lalu |
|
test_user_deleted_during_request.py
|
6b017efe1c
fix(db): SQLite no longer reuses the ids of users, API keys, printers, archives and camera tokens
|
1 Minggu lalu |
|
test_user_email_clear.py
|
770c6bfdf9
fix: firmware upload only for idle printers (dialog, server, re-check after download, queue waits during upload); AMS Reset Slot asks first and is refused while printing; confirms for shopping list Clear all, Git history Clear and SSO unlink (last SSO link of an account without password stays); LDAP/SMTP test use the form's values; emptying a user's email removes it; local backup delete errors are shown; removed the unreachable printer-card Spoolman link/unlink
|
1 hari lalu |
|
test_user_notifications_api.py
|
a6d307d739
Post work PR #693
|
7 bulan lalu |
|
test_users_auth_cleanup.py
|
d56b48c499
feat(auth): connected apps - sign in to external applications with Bambuddy
|
3 minggu lalu |
|
test_users_groups_privilege_escalation.py
|
912f9feba2
test(users/groups): generate privilege-escalation test password at runtime
|
4 bulan lalu |
|
test_users_slim_1894.py
|
7c117dc6bc
Let API clients resolve user ids to names (#1894)
|
2 bulan lalu |
|
test_virtual_printer_api.py
|
833a096da6
test/chore: Bandit findings on PR #3350 marked with reasons (ftplib in tests, migration SQL built from module constants), a misplaced nosec moved to its SQL line; layer timelapse tests use tmp_path instead of a shared /tmp/test_bambuddy
|
1 hari lalu |
|
test_vp_restamp_claimed_item.py
|
b9b62f739f
fix(virtual-printer): a late slicer update leaves a queue job the scheduler already claimed alone (its archive still keeps the slicer's AMS pick); a backup restore really stops the virtual printers; the legacy PUT /settings/virtual-printer refuses the settings it no longer applies and is no longer blocked by stale legacy values
|
2 hari lalu |
|
test_wear_cost_694.py
|
6c8a821bca
Add a wear cost per printing hour to printers (#694)
|
2 minggu lalu |
|
test_webhook_api_key_check.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
|
3 hari lalu |
|
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
|
1 Minggu lalu |
|
test_webhook_reprint_slicer_mapping.py
|
918aa26ffa
fix(queue): models matched without regard to case when adding jobs and in pipelines, stored in the printers' spelling; webhook reprints reuse the slicer's AMS slots; a multi-plate file queued without a plate stores the plate that prints
|
3 hari lalu |
|
test_webhook_start_print.py
|
2e45893dd5
feat(print-options): add "Auto" state to bed levelling, flow & nozzle-offset calibration
|
3 bulan lalu |
|
test_welcome_template_password_route.py
|
afdd950b63
Security hardening (maziggy/bambuddy-security #15)
|
1 Minggu lalu |
|
test_writes_need_write_permissions.py
|
741539a740
chore(api): remove dead firmware WS progress, the delete-all plate calibration route and unused client wrappers
|
4 hari lalu |
|
test_ws_connect_permission.py
|
be915fa308
fix(auth): taking away live updates or camera access through a group ends them
|
1 Minggu lalu |
|
test_zero_ids_on_create.py
|
d1100f5a33
Security hardening (maziggy/bambuddy-security #26)
|
1 Minggu lalu |