Commit Graph
1847 Commits
Author SHA1 Message Date
copilot-swe-agent[bot] dec239d0f7 Initial plan 2026-02-04 10:17:46 +00:00
Thomas Rambach 5a8f449f07 Merge pull request #7 from cadtoolbox/copilot/fix-file-manager-ui-issues
Fix FileManager UI: column reordering, filter styling, and label consistency
2026-02-04 05:10:33 -05:00
copilot-swe-agent[bot]andcadtoolbox 6c85910e74 Update German translations to match English changes
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 10:01:47 +00:00
copilot-swe-agent[bot]andcadtoolbox af1c2e5ccb Update FileManagerPage test to use new "Schedule" button text
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 09:59:25 +00:00
copilot-swe-agent[bot]andcadtoolbox 07e56d4860 Fix FileManager UI issues: column reordering, filter styling, and button labels
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 09:57:13 +00:00
copilot-swe-agent[bot] 36fb2c6af2 Initial plan 2026-02-04 09:52:41 +00:00
maziggy fe17a6905f Fix AMS auto-matching to use tray_info_idx from 3MF files
When multiple AMS trays have the same filament type and color, Bambuddy
now uses the tray_info_idx attribute from the 3MF file to identify the
exact spool selected during slicing. This ensures the correct tray is
used rather than just picking the first match.

Matching priority: tray_info_idx > exact color > similar color > type-only

Closes #245
2026-02-04 08:18:05 +01:00
maziggy a0d878a231 Fix AMS auto-matching to use tray_info_idx from 3MF files
When multiple AMS trays have the same filament type and color, Bambuddy
now uses the tray_info_idx attribute from the 3MF file to identify the
exact spool selected during slicing. This ensures the correct tray is
used rather than just picking the first match.

Matching priority: tray_info_idx > exact color > similar color > type-only

Closes #245
2026-02-04 08:13:54 +01:00
maziggy f805174e3f Fix mobile layout issues on Archives and Statistics pages
Header action buttons were overflowing outside the screen on iPhone/mobile
devices because the header containers used fixed horizontal layouts.

Changed both pages to use the responsive pattern from PrintersPage:
- Headers stack vertically on mobile (flex-col), horizontal on sm+ (sm:flex-row)
- Button containers use flex-wrap to allow wrapping on narrow screens
- Added gap-4 between title and buttons when stacked

Closes #255
2026-02-04 07:44:58 +01:00
maziggy b3c3ab0563 Fix queue scheduled time displayed in wrong timezone
When editing a queue item, the scheduled time was being displayed in UTC
instead of the user's local timezone. This caused confusion where:
- User selects April 2, 2:00 PM local time
- After saving, it appears shifted by their timezone offset
- Month/day could appear swapped due to the timezone difference

The fix converts the UTC time from the server to local time when
populating the datetime-local input, using toDateTimeLocalValue()
instead of toISOString().slice(0, 16).

Closes #233
2026-02-04 07:35:55 +01:00
maziggy f96b27c5ee Show paused status in print queue when printer is paused
The queue was showing "Printing" even when the printer was paused.
Now fetches real-time printer state for active print jobs and displays
"Paused" with a yellow badge when the printer state is PAUSE/PAUSED.

Changes:
- Add printerState prop to StatusBadge and SortableQueueItem components
- Fetch printer statuses for printers with active jobs using useQueries
- Show pause icon and yellow badge when printing but printer is paused
- Add "paused" translation key for queue status (en, de, ja)

Closes #249
2026-02-04 07:28:46 +01:00
maziggy d4ca646581 Fix filament calculation incorrectly multiplied by quantity
The filament_used_grams field already contains the total filament for
the entire print job (all items combined). The code was incorrectly
multiplying this value by quantity, causing inflated filament totals.

Example: A print with 26 objects using 126g total was being calculated
as 126g * 26 = 3,276g instead of the correct 126g.

Fixes:
- backend/app/api/routes/archives.py: Archive stats endpoint
- backend/app/api/routes/metrics.py: Prometheus metrics endpoint
- frontend/src/components/FilamentTrends.tsx: Trends chart calculations

Closes #229
2026-02-04 07:20:17 +01:00
Thomas Rambach f654ca2b18 Merge pull request #6 from cadtoolbox/copilot/update-filemanager-ui 2026-02-03 23:12:59 -05:00
copilot-swe-agent[bot]andcadtoolbox 80ec11a6df FileManager UI improvements complete - all requirements met
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 04:02:15 +00:00
copilot-swe-agent[bot]andcadtoolbox 7c8280a400 Add FileManager UI improvements - card and list view changes
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 03:59:59 +00:00
copilot-swe-agent[bot] 4b442be9d7 Initial plan 2026-02-04 03:55:01 +00:00
Thomas Rambach 040a567d96 Merge pull request #5 from cadtoolbox/copilot/fix-schedule-dialog-model-bugs
Fix model detection in schedule dialog for library files
2026-02-03 22:22:32 -05:00
copilot-swe-agent[bot]andcadtoolbox 4cf58f9805 Fix PrintModal to fetch library file sliced_for_model
- Added query to fetch library file details in PrintModal
- Updated backend FileResponse schema to include metadata fields (print_name, print_time_seconds, filament_used_grams, sliced_for_model)
- Updated backend get_file endpoint to extract and return metadata fields
- Updated frontend LibraryFile interface to include metadata fields
- Now slicedForModel is properly extracted from both archives and library files

Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 03:06:54 +00:00
copilot-swe-agent[bot] 5b1e3e7a2b Initial plan 2026-02-04 03:00:22 +00:00
Thomas Rambach 094d6ab513 Merge pull request #4 from cadtoolbox/copilot/update-print-methods-file-manager
Replace FileManagerPage queue mutation with Schedule dialog
2026-02-03 21:38:45 -05:00
copilot-swe-agent[bot]andcadtoolbox 923a9c8d68 Add comment explaining single-file scheduling design
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 02:27:13 +00:00
copilot-swe-agent[bot]andcadtoolbox 6997180b50 Add schedulePrint translations and update tests
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 02:25:07 +00:00
copilot-swe-agent[bot]andcadtoolbox 6dda9ad34c Replace Add to Queue with Schedule dialog in FileManagerPage
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 02:21:08 +00:00
copilot-swe-agent[bot] 1353067b28 Initial plan 2026-02-04 02:15:36 +00:00
Thomas Rambach f24c694be8 Merge pull request #3 from cadtoolbox/copilot/fix-3mf-file-upload-error 2026-02-03 20:57:48 -05:00
copilot-swe-agent[bot]andcadtoolbox 4f54251189 Add printer model display to file cards for .3mf files
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 01:42:05 +00:00
copilot-swe-agent[bot]andcadtoolbox 248cbaf8f0 Fix .3mf file upload to use Library API instead of Archives API
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 01:40:08 +00:00
copilot-swe-agent[bot] c6f437608c Initial plan 2026-02-04 01:37:16 +00:00
Thomas Rambach a57f48f208 Merge pull request #2 from cadtoolbox/copilot/fix-pull-request-1-failures
Fix CI failures in PR #1: Add German translations and modernize enum usage
2026-02-03 20:26:58 -05:00
copilot-swe-agent[bot]andcadtoolbox 562b46ad82 Fix PR #1 failures: Add German translations and fix backend linting
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 01:15:03 +00:00
copilot-swe-agent[bot] 3811c8e637 Merge branch 'copilot/update-file-upload-method' into copilot/fix-pull-request-1-failures 2026-02-04 01:13:32 +00:00
copilot-swe-agent[bot] 1f828c49e2 Initial plan 2026-02-04 01:11:20 +00:00
copilot-swe-agent[bot]andcadtoolbox 556493ff5b Implement hybrid upload: advanced 3MF extraction + basic upload for other files
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 00:36:07 +00:00
copilot-swe-agent[bot]andcadtoolbox 3c2631348a Update FileManagerPage tests for 3MF upload modal
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 00:31:28 +00:00
copilot-swe-agent[bot]andcadtoolbox 2ac9ae6178 Replace FileManagerPage upload with ArchivesPage UploadModal component
Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
2026-02-04 00:29:06 +00:00
copilot-swe-agent[bot] 0b97303b9b Initial plan 2026-02-04 00:18:24 +00:00
MartinNYHC d5f798ad7f Merge branch '0.1.8b' into feature/3d_plate_view_v2 2026-02-03 20:50:58 +01:00
MisterBeardy 87c18e5fcf Add plate object count metadata and viewer display 2026-02-03 14:14:00 -05:00
MartinNYHC 2289dd6ca3 Add CI and Code Scanning badges to README 2026-02-03 17:26:42 +01:00
maziggy 2c8f1e449f Updated README 2026-02-03 17:24:30 +01:00
maziggy b6ce486fba Fix phantom reprint bug in print scheduler
Addresses reports of files being automatically reprinted hours after
the original print completed. The root cause was a race condition where
the queue item status was updated to "printing" AFTER the print command
was sent, allowing stuck "pending" items to be re-triggered on restart.

Changes:
- Set status to "printing" BEFORE sending print command to prevent
  re-triggering if backend crashes after print starts
- Add 24-hour expiration for stale pending queue items
- Add duplicate prevention: skip archives completed within last 4 hours

Trade-off: If backend crashes after status update but before print
command, item will be stuck in "printing" without actually printing.
This is safer than accidentally reprinting and wasting filament.
2026-02-03 17:18:22 +01:00
MartinNYHC 1120debf75 Merge pull request #247 from MisterBeardy/feature/updated_plate_view
Feature/updated plate view
2026-02-03 17:15:42 +01:00
MartinNYHC 685bf84de1 Merge branch '0.1.8b' into feature/updated_plate_view 2026-02-03 17:15:21 +01:00
maziggy f51795ac4f Updated README 2026-02-03 16:44:58 +01:00
maziggy 0f0ddde929 Updated README 2026-02-03 16:39:51 +01:00
MisterBeardy 6f1d1fa06e Updated archive view to work after merging with latest 0.1.8b 2026-02-03 09:57:50 -05:00
MisterBeardy b2cc82480d rebase changes 2026-02-03 09:42:25 -05:00
MisterBeardy be7aff1f91 Plate management updates 2026-02-03 09:29:13 -05:00
maziggy 104b9d4a25 Fix external spool ams_mapping2 slot_id (Issue #213)
The ams_mapping2 format was incorrectly using the tray_id (254/255) as
the slot_id for external spools. The printer expects slot_id to be the
actual slot index (0 for main nozzle, 1 for deputy nozzle), not the
tray_id value.

Before: {"ams_id": 255, "slot_id": 254}  <- invalid slot index
After:  {"ams_id": 255, "slot_id": 0}    <- correct slot index

This caused prints using external spool to fail immediately with error
code 07FF_8007.

Closes #213
2026-02-03 09:29:13 -05:00
maziggy a2571aaf2e Fix filename matching for files with spaces (Issue #218)
Bambu Studio converts spaces to underscores when saving files to the
printer, but MQTT reports the original name with spaces. This caused
FTP downloads to fail with "550 Failed to open file" because we were
searching for "Battery Storage_giesela.gcode.3mf" but the actual file
was "Battery_Storage_giesela.gcode.3mf".

Changes:
- Add underscore variants to direct download path attempts
- Normalize spaces/underscores in fallback directory search
- Apply fix to archive download, cover extraction, and objects reload

Closes #218
2026-02-03 09:29:13 -05:00