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