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