Merge branch 'dev' into feature/save-ams-mapping-toggle

This commit is contained in:
MartinNYHC
2026-07-31 15:39:13 +02:00
committed by GitHub
63 changed files with 4647 additions and 493 deletions
+13 -2
View File
@@ -1185,6 +1185,7 @@ export interface AppSettings {
auto_archive: boolean;
save_thumbnails: boolean;
capture_finish_photo: boolean;
finish_photo_restore_plate: boolean;
default_filament_cost: number;
currency: string;
energy_cost_per_kwh: number;
@@ -1277,6 +1278,10 @@ export interface AppSettings {
// Per-install sidecar URLs. Empty string falls back to the env defaults.
orcaslicer_api_url: string;
bambu_studio_api_url: string;
// Minutes of silence from the sidecar before a slice is abandoned. Bounds
// stalls, not total slicing time — a model that keeps reporting progress
// runs to completion however long it takes.
slicer_stall_timeout_minutes: number;
// Prometheus metrics
prometheus_enabled: boolean;
prometheus_token: string;
@@ -1336,6 +1341,7 @@ export interface AppSettings {
ldap_default_group: string;
obico_enabled: boolean;
obico_ml_url: string;
obico_ml_token: string;
obico_sensitivity: 'low' | 'medium' | 'high';
obico_action: 'notify' | 'pause' | 'pause_and_off';
obico_poll_interval: number;
@@ -2783,6 +2789,9 @@ export interface ObicoTestConnection {
status_code: number | null;
body: string | null;
error: string | null;
// Whether the ML API accepted the token. null = not determined (the health
// check failed first, or the token probe itself errored).
auth_ok: boolean | null;
}
export interface GitHubTestConnectionResponse {
@@ -6526,10 +6535,12 @@ export const api = {
getObicoPrinterStatus: () =>
request<ObicoPrinterStatus>('/obico/printer-status'),
testObicoConnection: (url: string) =>
// `token` is sent as-is, so an empty string tests with no token at all.
// Omitting the argument makes the backend fall back to the saved token.
testObicoConnection: (url: string, token?: string) =>
request<ObicoTestConnection>('/obico/test-connection', {
method: 'POST',
body: JSON.stringify({ url }),
body: JSON.stringify(token === undefined ? { url } : { url, token }),
}),
// Slicer API — slice in the background. Both endpoints return 202 + a