mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-19 15:54:27 +02:00
feat(firmware): list all announced versions with usable/unavailable status, support rollback
Firmware update modal now shows every version from Bambu's wiki release history, each badged Usable/Unavailable/Installed. Selecting a usable row — newer or older than current — swaps the release notes and enables install for that version, so rollback no longer requires hand-flashing. Wiki scraper tightened to only read heading-anchor ids (h-XXXXXXXX-YYYYMMDD) instead of any XX.XX.XX.XX substring, eliminating false positives like an AMS firmware version mentioned in an H2D changelog being listed as H2D firmware. Refs #568
This commit is contained in:
@@ -5327,6 +5327,14 @@ export const pendingUploadsApi = {
|
||||
};
|
||||
|
||||
// Firmware API Types
|
||||
export interface AvailableFirmwareVersion {
|
||||
version: string;
|
||||
file_available: boolean;
|
||||
download_url: string | null;
|
||||
release_notes: string | null;
|
||||
release_time: string | null;
|
||||
}
|
||||
|
||||
export interface FirmwareUpdateInfo {
|
||||
printer_id: number;
|
||||
printer_name: string;
|
||||
@@ -5336,6 +5344,7 @@ export interface FirmwareUpdateInfo {
|
||||
update_available: boolean;
|
||||
download_url: string | null;
|
||||
release_notes: string | null;
|
||||
available_versions: AvailableFirmwareVersion[];
|
||||
}
|
||||
|
||||
export interface FirmwareUploadPrepare {
|
||||
@@ -5347,6 +5356,7 @@ export interface FirmwareUploadPrepare {
|
||||
update_available: boolean;
|
||||
current_version: string | null;
|
||||
latest_version: string | null;
|
||||
target_version: string | null;
|
||||
firmware_filename: string | null;
|
||||
errors: string[];
|
||||
}
|
||||
@@ -5368,13 +5378,16 @@ export const firmwareApi = {
|
||||
checkPrinterUpdate: (printerId: number) =>
|
||||
request<FirmwareUpdateInfo>(`/firmware/updates/${printerId}`),
|
||||
|
||||
prepareUpload: (printerId: number) =>
|
||||
request<FirmwareUploadPrepare>(`/firmware/updates/${printerId}/prepare`),
|
||||
prepareUpload: (printerId: number, version?: string) =>
|
||||
request<FirmwareUploadPrepare>(
|
||||
`/firmware/updates/${printerId}/prepare${version ? `?version=${encodeURIComponent(version)}` : ''}`,
|
||||
),
|
||||
|
||||
startUpload: (printerId: number) =>
|
||||
request<{ started: boolean; message: string }>(`/firmware/updates/${printerId}/upload`, {
|
||||
method: 'POST',
|
||||
}),
|
||||
startUpload: (printerId: number, version?: string) =>
|
||||
request<{ started: boolean; message: string }>(
|
||||
`/firmware/updates/${printerId}/upload${version ? `?version=${encodeURIComponent(version)}` : ''}`,
|
||||
{ method: 'POST' },
|
||||
),
|
||||
|
||||
getUploadStatus: (printerId: number) =>
|
||||
request<FirmwareUploadStatus>(`/firmware/updates/${printerId}/upload/status`),
|
||||
|
||||
Reference in New Issue
Block a user