2026-05-26 09:19:10,213 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:20:41,866 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=241 2026-05-26 09:20:48,319 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 09:21:02,484 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=242 2026-05-26 09:22:22,714 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:24:00,991 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:25:15,421 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 09:26:31,854 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=243 2026-05-26 09:26:39,603 INFO [backend.app.main] [-] [SNAPSHOT] Capturing fresh frame for printer 1 2026-05-26 09:26:39,604 INFO [backend.app.services.camera] [-] Capturing camera frame bytes from [IP] using RTSP (model: [PRINTER]) 2026-05-26 09:26:42,450 INFO [backend.app.services.camera] [-] Successfully captured camera frame bytes: 137537 bytes 2026-05-26 09:26:42,450 INFO [backend.app.main] [-] [SNAPSHOT] Fresh camera frame: 137537 bytes 2026-05-26 09:26:53,425 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=244 2026-05-26 09:29:00,994 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:29:53,273 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 09:31:44,804 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:32:26,204 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=245 2026-05-26 09:32:46,531 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=246 2026-05-26 09:34:00,999 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:35:04,689 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:38:36,305 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 09:38:44,299 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=247 2026-05-26 09:39:01,003 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:39:05,540 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=248 2026-05-26 09:41:46,502 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:43:10,709 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 09:43:59,030 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=249 2026-05-26 09:44:01,007 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:44:18,995 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=250 2026-05-26 09:44:34,599 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:47:15,181 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:47:24,098 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 09:49:01,011 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:49:07,973 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=251 2026-05-26 09:49:12,127 INFO [uvicorn.access] [-] [IP]:56377 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 09:49:12,422 INFO [backend.app.api.routes.cloud] [d60acc8c] get_filament_info called with 4 IDs: ['GFG00', 'GFA01', 'GFG02', 'GFU03'] 2026-05-26 09:49:12,429 INFO [backend.app.api.routes.cloud] [f301dac9] get_filament_info called with 3 IDs: ['GFA01', 'GFA00', 'GFG02'] 2026-05-26 09:49:12,441 INFO [backend.app.api.routes.printers] [8ee3e2cb] Cover: resolved plate 5 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 09:49:12,445 INFO [backend.app.api.routes.printers] [92dc79fd] Cover: resolved plate 1 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 09:49:12,610 WARNING [backend.app.api.routes.cloud] [d60acc8c] Failed to get cloud preset GFG00 (API ID: GFSG00): Failed to get setting detail: 400 2026-05-26 09:49:12,938 WARNING [backend.app.api.routes.cloud] [d60acc8c] Failed to get cloud preset GFG02 (API ID: GFSG02): Failed to get setting detail: 400 2026-05-26 09:49:12,950 WARNING [backend.app.api.routes.cloud] [f301dac9] Failed to get cloud preset GFG02 (API ID: GFSG02): Failed to get setting detail: 400 2026-05-26 09:49:12,953 INFO [uvicorn.access] [-] [IP]:56381 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 09:49:13,101 WARNING [backend.app.api.routes.cloud] [d60acc8c] Failed to get cloud preset GFU03 (API ID: GFSU03): Failed to get setting detail: 400 2026-05-26 09:49:13,104 INFO [uvicorn.access] [-] [IP]:56378 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 09:49:13,844 INFO [backend.app.api.routes.websocket] [-] WebSocket client disconnected normally 2026-05-26 09:49:14,054 INFO [uvicorn.access] [-] [IP]:56378 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 09:49:14,099 INFO [backend.app.api.routes.websocket] [-] WebSocket client connecting... 2026-05-26 09:49:14,100 INFO [backend.app.api.routes.websocket] [-] WebSocket client connected 2026-05-26 09:49:14,102 INFO [backend.app.api.routes.websocket] [-] Sent initial status for 2 printers 2026-05-26 09:49:14,114 INFO [uvicorn.access] [-] [IP]:56381 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 09:49:14,382 INFO [backend.app.api.routes.printers] [e1ab2fc4] Cover: resolved plate 5 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 09:49:14,385 INFO [backend.app.api.routes.printers] [1cfcbeae] Cover: resolved plate 1 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 09:49:14,435 INFO [backend.app.api.routes.cloud] [84569910] get_filament_info called with 4 IDs: ['GFG00', 'GFA01', 'GFG02', 'GFU03'] 2026-05-26 09:49:14,436 INFO [uvicorn.access] [-] [IP]:56378 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 09:49:14,457 INFO [backend.app.api.routes.cloud] [b322b56f] get_filament_info called with 3 IDs: ['GFA01', 'GFA00', 'GFG02'] 2026-05-26 09:49:14,458 INFO [uvicorn.access] [-] [IP]:56377 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 09:49:30,642 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=252 2026-05-26 09:50:19,585 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:52:44,126 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:54:01,014 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:54:19,919 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=253 2026-05-26 09:54:44,776 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=254 2026-05-26 09:55:40,088 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 09:55:55,293 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 09:59:01,018 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 09:59:59,291 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=255 2026-05-26 10:00:21,802 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=256 2026-05-26 10:01:27,102 INFO [backend.app.api.routes.cloud] [a084993c] get_filament_info called with 4 IDs: ['GFG00', 'GFA01', 'GFG02', 'GFU03'] 2026-05-26 10:01:27,103 INFO [backend.app.api.routes.cloud] [6d2d542c] get_filament_info called with 3 IDs: ['GFA01', 'GFA00', 'GFG02'] 2026-05-26 10:01:27,288 WARNING [backend.app.api.routes.cloud] [a084993c] Failed to get cloud preset GFG00 (API ID: GFSG00): Failed to get setting detail: 400 2026-05-26 10:01:27,625 WARNING [backend.app.api.routes.cloud] [a084993c] Failed to get cloud preset GFG02 (API ID: GFSG02): Failed to get setting detail: 400 2026-05-26 10:01:27,650 WARNING [backend.app.api.routes.cloud] [6d2d542c] Failed to get cloud preset GFG02 (API ID: GFSG02): Failed to get setting detail: 400 2026-05-26 10:01:27,652 INFO [uvicorn.access] [-] [IP]:56477 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 10:01:27,793 WARNING [backend.app.api.routes.cloud] [a084993c] Failed to get cloud preset GFU03 (API ID: GFSU03): Failed to get setting detail: 400 2026-05-26 10:01:27,796 INFO [uvicorn.access] [-] [IP]:56480 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 10:01:28,569 INFO [backend.app.api.routes.websocket] [-] WebSocket client disconnected normally 2026-05-26 10:01:28,596 INFO [uvicorn.access] [-] [IP]:56477 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 10:01:28,644 INFO [backend.app.api.routes.websocket] [-] WebSocket client connecting... 2026-05-26 10:01:28,644 INFO [backend.app.api.routes.websocket] [-] WebSocket client connected 2026-05-26 10:01:28,646 INFO [backend.app.api.routes.websocket] [-] Sent initial status for 2 printers 2026-05-26 10:01:28,651 INFO [uvicorn.access] [-] [IP]:56479 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 10:01:28,934 INFO [backend.app.api.routes.printers] [e6d6ae8d] Cover: resolved plate 1 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 10:01:28,934 INFO [backend.app.api.routes.printers] [20af048d] Cover: resolved plate 5 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 10:01:28,972 INFO [backend.app.api.routes.cloud] [4e4d602e] get_filament_info called with 4 IDs: ['GFG00', 'GFA01', 'GFG02', 'GFU03'] 2026-05-26 10:01:28,972 INFO [uvicorn.access] [-] [IP]:56478 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 10:01:29,006 INFO [backend.app.api.routes.cloud] [6c598de1] get_filament_info called with 3 IDs: ['GFA01', 'GFA00', 'GFG02'] 2026-05-26 10:01:29,007 INFO [uvicorn.access] [-] [IP]:56479 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 10:01:49,463 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:04:01,022 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:04:16,797 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 10:06:05,590 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=128 at layer=257 2026-05-26 10:06:24,625 INFO [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Tray change during print: tray=0 at layer=258 2026-05-26 10:08:25,425 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 10:09:01,027 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:11:11,648 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:12:48,935 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 10:14:01,030 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:14:32,317 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:17:20,221 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:18:23,428 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 10:19:01,034 INFO [backend.app.main] [-] Sending temperature alarm for [PRINTER] AMS-A: 44.7°C > 35.0°C 2026-05-26 10:19:01,035 INFO [backend.app.main] [-] Sending temperature alarm for [PRINTER] HT-A: 57.0°C > 35.0°C 2026-05-26 10:19:01,037 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:20:01,911 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:24:01,041 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:27:23,382 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 10:28:19,034 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:29:01,044 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:30:58,960 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:33:23,202 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:34:01,047 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:36:12,430 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:36:19,674 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 10:38:53,077 INFO [backend.app.api.routes.websocket] [-] WebSocket client disconnected normally 2026-05-26 10:38:53,195 INFO [uvicorn.access] [-] [IP]:57335 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 10:38:53,240 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:38:53,241 INFO [backend.app.api.routes.websocket] [-] WebSocket client connecting... 2026-05-26 10:38:53,242 INFO [backend.app.api.routes.websocket] [-] WebSocket client connected 2026-05-26 10:38:53,243 INFO [backend.app.api.routes.websocket] [-] Sent initial status for 2 printers 2026-05-26 10:38:53,262 INFO [uvicorn.access] [-] [IP]:57331 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 10:39:01,053 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:39:13,823 INFO [backend.app.api.routes.websocket] [-] WebSocket client disconnected normally 2026-05-26 10:39:13,833 INFO [uvicorn.access] [-] [IP]:57345 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 10:39:13,871 INFO [uvicorn.access] [-] [IP]:57345 - "POST /api/v1/printers/camera/stream-token HTTP/1.1" 200 2026-05-26 10:39:13,872 INFO [backend.app.api.routes.websocket] [-] WebSocket client connecting... 2026-05-26 10:39:13,872 INFO [backend.app.api.routes.websocket] [-] WebSocket client connected 2026-05-26 10:39:13,874 INFO [backend.app.api.routes.websocket] [-] Sent initial status for 2 printers 2026-05-26 10:40:34,562 INFO [backend.app.services.virtual_printer.certificate] [8de06c9b] Generating new Virtual Printer CA certificate... 2026-05-26 10:40:34,630 INFO [backend.app.services.virtual_printer.certificate] [8de06c9b] Saved new CA certificate 2026-05-26 10:41:25,150 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:41:44,142 INFO [backend.app.api.routes.notifications] [f073a0a8] Updated notification provider: Notification 2026-05-26 10:41:44,143 INFO [uvicorn.access] [-] [IP]:57371 - "PATCH /api/v1/notifications/1 HTTP/1.1" 200 2026-05-26 10:41:47,617 INFO [backend.app.api.routes.notifications] [b450950f] Updated notification provider: Notification 2026-05-26 10:41:47,618 INFO [uvicorn.access] [-] [IP]:57371 - "PATCH /api/v1/notifications/1 HTTP/1.1" 200 2026-05-26 10:41:50,296 INFO [backend.app.api.routes.notifications] [87cf51b0] Updated notification provider: Notification 2026-05-26 10:41:50,296 INFO [uvicorn.access] [-] [IP]:57370 - "PATCH /api/v1/notifications/1 HTTP/1.1" 200 2026-05-26 10:41:51,064 INFO [backend.app.api.routes.notifications] [283f4c84] Updated notification provider: Notification 2026-05-26 10:41:51,065 INFO [uvicorn.access] [-] [IP]:57370 - "PATCH /api/v1/notifications/1 HTTP/1.1" 200 2026-05-26 10:44:01,057 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:45:00,649 INFO [backend.app.main] [-] [Printer 2] Broadcasting AMS change via WebSocket 2026-05-26 10:45:39,903 INFO [backend.app.api.routes.printers] [a0f9848a] Cover: resolved plate 1 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 10:45:40,020 INFO [backend.app.api.routes.cloud] [77224cbc] get_filament_info called with 3 IDs: ['GFA01', 'GFA00', 'GFG02'] 2026-05-26 10:45:40,112 INFO [backend.app.api.routes.printers] [37fd5aa0] Cover: resolved plate 5 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 10:45:40,139 INFO [backend.app.api.routes.cloud] [1c1cd161] get_filament_info called with 4 IDs: ['GFG00', 'GFA01', 'GFG02', 'GFU03'] 2026-05-26 10:45:40,320 WARNING [backend.app.api.routes.cloud] [1c1cd161] Failed to get cloud preset GFG00 (API ID: GFSG00): Failed to get setting detail: 400 2026-05-26 10:45:40,557 WARNING [backend.app.api.routes.cloud] [77224cbc] Failed to get cloud preset GFG02 (API ID: GFSG02): Failed to get setting detail: 400 2026-05-26 10:45:40,559 INFO [uvicorn.access] [-] [IP]:57444 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 10:45:40,661 WARNING [backend.app.api.routes.cloud] [1c1cd161] Failed to get cloud preset GFG02 (API ID: GFSG02): Failed to get setting detail: 400 2026-05-26 10:45:40,829 WARNING [backend.app.api.routes.cloud] [1c1cd161] Failed to get cloud preset GFU03 (API ID: GFSU03): Failed to get setting detail: 400 2026-05-26 10:45:40,831 INFO [uvicorn.access] [-] [IP]:57443 - "POST /api/v1/cloud/filament-info HTTP/1.1" 200 2026-05-26 10:46:37,804 ERROR [backend.app.services.archive] [90194df1] SECURITY: Refusing to delete files for archive 113 - file_path is empty or invalid: '' 2026-05-26 10:46:37,810 INFO [uvicorn.access] [-] [IP]:57458 - "DELETE /api/v1/archives/113 HTTP/1.1" 200 2026-05-26 10:46:39,798 ERROR [backend.app.services.archive] [7c2ca382] SECURITY: Refusing to delete files for archive 108 - file_path is empty or invalid: '' 2026-05-26 10:46:39,801 INFO [uvicorn.access] [-] [IP]:57458 - "DELETE /api/v1/archives/108 HTTP/1.1" 200 2026-05-26 10:46:42,321 ERROR [backend.app.services.archive] [54eb38f7] SECURITY: Refusing to delete files for archive 109 - file_path is empty or invalid: '' 2026-05-26 10:46:42,324 INFO [uvicorn.access] [-] [IP]:57467 - "DELETE /api/v1/archives/109 HTTP/1.1" 200 2026-05-26 10:46:44,896 ERROR [backend.app.services.archive] [0a413e15] SECURITY: Refusing to delete files for archive 92 - file_path is empty or invalid: '' 2026-05-26 10:46:44,899 INFO [uvicorn.access] [-] [IP]:57464 - "DELETE /api/v1/archives/92 HTTP/1.1" 200 2026-05-26 10:46:46,683 ERROR [backend.app.services.archive] [6135501f] SECURITY: Refusing to delete files for archive 97 - file_path is empty or invalid: '' 2026-05-26 10:46:46,686 INFO [uvicorn.access] [-] [IP]:57464 - "DELETE /api/v1/archives/97 HTTP/1.1" 200 2026-05-26 10:46:49,239 ERROR [backend.app.services.archive] [e5a74d6a] SECURITY: Refusing to delete files for archive 82 - file_path is empty or invalid: '' 2026-05-26 10:46:49,241 INFO [uvicorn.access] [-] [IP]:57458 - "DELETE /api/v1/archives/82 HTTP/1.1" 200 2026-05-26 10:46:52,675 ERROR [backend.app.services.archive] [b12be32f] SECURITY: Refusing to delete files for archive 63 - file_path is empty or invalid: '' 2026-05-26 10:46:52,677 INFO [uvicorn.access] [-] [IP]:57462 - "DELETE /api/v1/archives/63 HTTP/1.1" 200 2026-05-26 10:46:55,331 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:46:55,914 ERROR [backend.app.services.archive] [3a69b98b] SECURITY: Refusing to delete files for archive 36 - file_path is empty or invalid: '' 2026-05-26 10:46:55,916 INFO [uvicorn.access] [-] [IP]:57465 - "DELETE /api/v1/archives/36 HTTP/1.1" 200 2026-05-26 10:46:57,656 ERROR [backend.app.services.archive] [6c1ea220] SECURITY: Refusing to delete files for archive 35 - file_path is empty or invalid: '' 2026-05-26 10:46:57,658 INFO [uvicorn.access] [-] [IP]:57458 - "DELETE /api/v1/archives/35 HTTP/1.1" 200 2026-05-26 10:49:01,061 INFO [backend.app.main] [-] Recorded 3 AMS sensor history entries 2026-05-26 10:49:11,839 INFO [backend.app.main] [-] [Printer 1] Broadcasting AMS change via WebSocket 2026-05-26 10:49:44,220 INFO [backend.app.api.routes.printers] [b6b2823e] Cover: resolved plate 5 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 10:49:44,222 INFO [backend.app.api.routes.printers] [982bfccd] Cover: resolved plate 1 before download (subtask=Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2) 2026-05-26 10:50:20,408 INFO [backend.app.api.routes.support] [0a9dac4a] Log level changed to DEBUG 2026-05-26 10:50:20,408 INFO [backend.app.api.routes.bug_report] [0a9dac4a] Bug report: enabled debug logging 2026-05-26 10:50:20,408 DEBUG [backend.app.services.bambu_mqtt] [0a9dac4a] [[SERIAL]] Requesting status update (pushall) 2026-05-26 10:50:20,408 DEBUG [backend.app.services.bambu_mqtt] [0a9dac4a] [[SERIAL]] Requesting status update (pushall) 2026-05-26 10:50:20,409 INFO [uvicorn.access] [-] [IP]:57524 - "POST /api/v1/bug-report/start-logging HTTP/1.1" 200 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Found xcam inside print data: {'allow_skip_parts': False, 'buildplate_marker_detector': True, 'cfg': 8089015, 'first_layer_inspector': True, 'halt_print_sensitivity': 'medium', 'print_halt': True, 'printing_monitor': True, 'spaghetti_detector': True} 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Parsing xcam data - all fields: ['allow_skip_parts', 'buildplate_marker_detector', 'cfg', 'first_layer_inspector', 'halt_print_sensitivity', 'print_halt', 'printing_monitor', 'spaghetti_detector'] 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] xcam cfg bitmask: 8089015 (binary: 0b11110110110110110110111) 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Received gcode_state: RUNNING, gcode_file: /data/Metadata/plate_1.gcode, subtask_name: Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] AMS dict fields: {'ams_exist_bits': '11', 'ams_exist_bits_raw': '11', 'cali_id': 255, 'cali_stat': 0, 'cfs': [2, 9, 3, 4, 5, 7], 'insert_flag': True, 'power_on_flag': True, 'tray_exist_bits': '1000f', 'tray_hall_out_bits': '10001', 'tray_is_bbl_bits': '10009', 'tray_now': '0', 'tray_pre': '0', 'tray_read_done_bits': '1000f', 'tray_reading_bits': '0', 'tray_tar': '0', 'unbind_ams_stat': 0, 'version': 11743} 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] tray_now updated: 0 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Merged AMS data: 2 new units, 2 total 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] ams_status: 768 (main=3, sub=0) 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Received command response: push_status 2026-05-26 10:50:20,917 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] device.extruder.state=33042 (switch_state bits 12-14: 0) 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] info.temp direct: 31°C (heater OFF) 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] ctc_info keys: ['temp'] 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Chamber heating calculated: target=0.0, current=31.0, heating=False, respect_local=False 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Chamber temp updated to: 31.0, target: 0.0, heating: False 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] HMS data received: [{'attr': 83887616, 'code': 131184, 'ts_boot': 23876, 'ts_unix': '20260525152624'}] 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] ipcam field: {'agora_service': 'disable', 'brtc_service': 'enable', 'bs_state': 0, 'cap_pic_enable': 'invalid', 'ipcam_dev': '1', 'ipcam_record': 'disable', 'laser_preview_res': 7, 'liveview_preview': True, 'mode_bits': 2, 'resolution': '1080p', 'rtsp_url': 'rtsps://[IP]:322/streaming/live/1', 'timelapse': 'enable', 'tl_external_free_kb': 36544896, 'tl_external_total_kb': 125297920, 'tl_internal_free_kb': 541719, 'tl_internal_total_kb': 962560, 'tl_store_hpd_type': 2, 'tl_store_path_type': 2, 'tutk_server': 'disable'} 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] Timelapse detected during print (from ipcam) 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] wifi_signal received: -61dBm 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] lights_report: [{'mode': 'on', 'node': 'chamber_light'}, {'mode': 'flashing', 'node': 'work_light'}] 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] MQTT mapping field: [0, 65535, 65535, 32768] 2026-05-26 10:50:20,918 DEBUG [backend.app.services.bambu_mqtt] [-] [[SERIAL]] gcode_state: RUNNING -> RUNNING, file: /data/Metadata/plate_1.gcode, subtask: Stackable_Filament_Dry_Box–Shelf-Sized_Storage_2.2