Merge branch 'dev' into feature/oidc-env-config

This commit is contained in:
MartinNYHC
2026-07-29 13:09:20 +02:00
committed by GitHub
41 changed files with 2597 additions and 211 deletions
@@ -143,6 +143,38 @@ describe('ConnectionDiagnosticModal', () => {
spy.mockRestore();
});
it('names a refused access code when the printer said so (#2698)', async () => {
const spy = vi.spyOn(api, 'diagnosePrinter').mockResolvedValue({
...PROBLEM_RESULT,
checks: [{ id: 'mqtt_auth', status: 'fail', params: { reason: 'auth_rejected' } }],
});
renderModal({ printerId: 1, printerName: 'Test A1', onClose: vi.fn() });
await waitFor(() => expect(spy).toHaveBeenCalledTimes(1));
// States the printer refused us, instead of the hedged "most likely wrong"
// text used when all we know is that there's no session.
expect(await screen.findByText(/refused Bambuddy's credentials/i)).toBeInTheDocument();
expect(screen.queryByText(/most likely wrong/i)).not.toBeInTheDocument();
spy.mockRestore();
});
it('hedges on the mqtt_auth failure when the printer gave no reason (#2698)', async () => {
const spy = vi.spyOn(api, 'diagnosePrinter').mockResolvedValue({
...PROBLEM_RESULT,
checks: [{ id: 'mqtt_auth', status: 'fail', params: {} }],
});
renderModal({ printerId: 1, printerName: 'Test A1', onClose: vi.fn() });
await waitFor(() => expect(spy).toHaveBeenCalledTimes(1));
expect(await screen.findByText(/most likely wrong/i)).toBeInTheDocument();
expect(screen.queryByText(/refused Bambuddy's credentials/i)).not.toBeInTheDocument();
spy.mockRestore();
});
it('falls back to the generic skip text when no reason is present', async () => {
const spy = vi.spyOn(api, 'diagnosePrinter').mockResolvedValue({
...PROBLEM_RESULT,
+2 -1
View File
@@ -6353,7 +6353,8 @@ export default {
mqtt_auth: {
title: 'Drucker-Zugangsdaten',
pass: 'Der Drucker hat die Verbindung akzeptiert.',
fail: 'Der Drucker ist erreichbar, hat die Verbindung aber abgelehnt. Der Zugangscode oder die Seriennummer ist höchstwahrscheinlich falsch. Der Zugangscode ändert sich bei jedem Umschalten des Entwicklermodus — kopieren Sie ihn erneut vom Druckerbildschirm.',
fail: 'Der Drucker ist erreichbar, aber Bambuddy ist nicht mit ihm verbunden. Höchstwahrscheinlich ist der Zugangscode oder die Seriennummer falsch — der Zugangscode ändert sich bei jedem Umschalten von „Nur LAN“ oder des Entwicklermodus, kopieren Sie ihn also erneut vom Druckerbildschirm. Ein Drucker, der gerade neu startet oder bereits die maximale Anzahl gleichzeitiger Verbindungen erreicht hat, sieht genauso aus.',
fail_auth_rejected: 'Der Drucker hat die Zugangsdaten von Bambuddy abgelehnt. Der Zugangscode oder die Seriennummer ist falsch — der Zugangscode ändert sich bei jedem Umschalten von „Nur LAN“ oder des Entwicklermodus. Kopieren Sie ihn erneut vom Druckerbildschirm und speichern Sie ihn in den Druckereinstellungen.',
skip: 'Nicht geprüft — der Drucker konnte nicht erreicht werden.',
},
developer_mode: {
+2 -1
View File
@@ -6397,7 +6397,8 @@ export default {
mqtt_auth: {
title: 'Printer credentials',
pass: 'The printer accepted the connection.',
fail: 'The printer is reachable but rejected the connection. The access code or serial number is most likely wrong. The access code changes every time Developer Mode is toggled — re-copy it from the printer screen.',
fail: 'The printer is reachable but Bambuddy is not connected to it. The access code or serial number is most likely wrong — the access code changes every time LAN Only or Developer Mode is toggled, so re-copy it from the printer screen. A printer that is rebooting, or already at its limit of simultaneous connections, can look the same.',
fail_auth_rejected: 'The printer refused Bambuddy\'s credentials. The access code or serial number is wrong — the access code changes every time LAN Only or Developer Mode is toggled, so re-copy it from the printer screen and save it in the printer settings.',
skip: 'Not checked — the printer could not be reached.',
},
developer_mode: {
+2 -1
View File
@@ -6362,7 +6362,8 @@ export default {
mqtt_auth: {
title: 'Credenciales de la impresora',
pass: 'La impresora aceptó la conexión.',
fail: 'La impresora es accesible pero rechazó la conexión. Lo más probable es que el código de acceso o el número de serie sean incorrectos. El código de acceso cambia cada vez que se conmuta el modo desarrollador — vuelva a copiarlo de la pantalla de la impresora.',
fail: 'La impresora es accesible pero Bambuddy no está conectado a ella. Lo más probable es que el código de acceso o el número de serie sean incorrectos — el código de acceso cambia cada vez que se conmuta el modo Solo LAN o el modo desarrollador, así que vuelva a copiarlo de la pantalla de la impresora. Una impresora que se está reiniciando, o que ya alcanzó su límite de conexiones simultáneas, se ve igual.',
fail_auth_rejected: 'La impresora rechazó las credenciales de Bambuddy. El código de acceso o el número de serie son incorrectos — el código de acceso cambia cada vez que se conmuta el modo Solo LAN o el modo desarrollador, así que vuelva a copiarlo de la pantalla de la impresora y guárdelo en la configuración de la impresora.',
skip: 'No comprobado — no se pudo alcanzar la impresora.',
},
developer_mode: {
+2 -1
View File
@@ -6343,7 +6343,8 @@ export default {
mqtt_auth: {
title: 'Identifiants de l\'imprimante',
pass: 'L\'imprimante a accepté la connexion.',
fail: 'L\'imprimante est accessible mais a refusé la connexion. Le code d\'accès ou le numéro de série est très probablement incorrect. Le code d\'accès change chaque fois que le mode développeur est activé/désactivé — recopiez-le depuis l\'écran de l\'imprimante.',
fail: 'L\'imprimante est accessible mais Bambuddy n\'y est pas connecté. Le code d\'accès ou le numéro de série est très probablement incorrect — le code d\'accès change chaque fois que le mode LAN uniquement ou le mode développeur est activé/désactivé, recopiez-le donc depuis l\'écran de l\'imprimante. Une imprimante en cours de redémarrage, ou ayant déjà atteint sa limite de connexions simultanées, produit le même résultat.',
fail_auth_rejected: 'L\'imprimante a refusé les identifiants de Bambuddy. Le code d\'accès ou le numéro de série est incorrect — le code d\'accès change chaque fois que le mode LAN uniquement ou le mode développeur est activé/désactivé. Recopiez-le depuis l\'écran de l\'imprimante et enregistrez-le dans les paramètres de l\'imprimante.',
skip: 'Non vérifié — l\'imprimante n\'a pas pu être jointe.',
},
developer_mode: {
+2 -1
View File
@@ -6342,7 +6342,8 @@ export default {
mqtt_auth: {
title: 'Credenziali stampante',
pass: 'La stampante ha accettato la connessione.',
fail: 'La stampante è raggiungibile ma ha rifiutato la connessione. Il codice di accesso o il numero di serie è molto probabilmente errato. Il codice di accesso cambia ogni volta che la modalità sviluppatore viene attivata/disattivata — ricopialo dallo schermo della stampante.',
fail: 'La stampante è raggiungibile ma Bambuddy non è connesso ad essa. Il codice di accesso o il numero di serie è molto probabilmente errato — il codice di accesso cambia ogni volta che la modalità Solo LAN o la modalità sviluppatore viene attivata/disattivata, quindi ricopialo dallo schermo della stampante. Una stampante in fase di riavvio, o che ha già raggiunto il limite di connessioni simultanee, appare allo stesso modo.',
fail_auth_rejected: 'La stampante ha rifiutato le credenziali di Bambuddy. Il codice di accesso o il numero di serie è errato — il codice di accesso cambia ogni volta che la modalità Solo LAN o la modalità sviluppatore viene attivata/disattivata. Ricopialo dallo schermo della stampante e salvalo nelle impostazioni della stampante.',
skip: 'Non verificato — impossibile raggiungere la stampante.',
},
developer_mode: {
+2 -1
View File
@@ -6354,7 +6354,8 @@ export default {
mqtt_auth: {
title: 'プリンター認証情報',
pass: 'プリンターが接続を受け入れました。',
fail: 'プリンターには到達できますが、接続を拒否されました。アクセスコードまたはシリアル番号が間違っている可能性が高いです。アクセスコードは開発者モードを切り替えるたびに変わります — プリンター画面から再度コピーしてください。',
fail: 'プリンターには到達できますが、Bambuddy は接続されていません。アクセスコードまたはシリアル番号が間違っている可能性が高いです — アクセスコードは LAN のみモードや開発者モードを切り替えるたびに変わるため、プリンター画面から再度コピーしてください。再起動中のプリンターや、同時接続数の上限に達しているプリンターでも同じ表示になります。',
fail_auth_rejected: 'プリンターが Bambuddy の認証情報を拒否しました。アクセスコードまたはシリアル番号が間違っています — アクセスコードは LAN のみモードや開発者モードを切り替えるたびに変わります。プリンター画面から再度コピーし、プリンター設定に保存してください。',
skip: '未確認 — プリンターに到達できませんでした。',
},
developer_mode: {
+2 -1
View File
@@ -6423,7 +6423,8 @@ export default {
mqtt_auth: {
title: '프린터 자격증명',
pass: '프린터가 연결을 수락했습니다.',
fail: '프린터에 연결됐지만 연결을 거부했습니다. 액세스 코드 또는 시리얼 번호가 잘못됐을 가능성이 높습니다. 개발자 모드를 토글할 때마다 액세스 코드가 변경됩니다 — 프린터 화면에서 다시 복사하세요.',
fail: '프린터에 도달할 수 있지만 Bambuddy가 연결되지 않았습니다. 액세스 코드 또는 시리얼 번호가 잘못됐을 가능성이 높습니다 — LAN 전용 모드나 개발자 모드를 토글할 때마다 액세스 코드가 변경되므로 프린터 화면에서 다시 복사하세요. 재부팅 중이거나 이미 동시 연결 한도에 도달한 프린터도 똑같이 보입니다.',
fail_auth_rejected: '프린터가 Bambuddy의 자격증명을 거부했습니다. 액세스 코드 또는 시리얼 번호가 잘못됐습니다 — LAN 전용 모드나 개발자 모드를 토글할 때마다 액세스 코드가 변경됩니다. 프린터 화면에서 다시 복사한 뒤 프린터 설정에 저장하세요.',
skip: '확인하지 않음 — 프린터에 연결할 수 없었습니다.'
},
developer_mode: {
+2 -1
View File
@@ -6342,7 +6342,8 @@ export default {
mqtt_auth: {
title: 'Credenciais da impressora',
pass: 'A impressora aceitou a conexão.',
fail: 'A impressora está acessível mas recusou a conexão. O código de acesso ou o número de série provavelmente está incorreto. O código de acesso muda toda vez que o Modo Desenvolvedor é alternado — copie-o novamente da tela da impressora.',
fail: 'A impressora está acessível mas o Bambuddy não está conectado a ela. O código de acesso ou o número de série provavelmente está incorreto — o código de acesso muda toda vez que o modo Somente LAN ou o Modo Desenvolvedor é alternado, então copie-o novamente da tela da impressora. Uma impressora reiniciando, ou que já atingiu seu limite de conexões simultâneas, aparece do mesmo jeito.',
fail_auth_rejected: 'A impressora recusou as credenciais do Bambuddy. O código de acesso ou o número de série está incorreto — o código de acesso muda toda vez que o modo Somente LAN ou o Modo Desenvolvedor é alternado. Copie-o novamente da tela da impressora e salve-o nas configurações da impressora.',
skip: 'Não verificado — não foi possível alcançar a impressora.',
},
developer_mode: {
+2 -1
View File
@@ -5984,7 +5984,8 @@ export default {
mqtt_auth: {
title: "Учётные данные принтера",
pass: "Принтер принял подключение.",
fail: "Принтер доступен, но отклонил подключение. Скорее всего, неверны код доступа или серийный номер. Код доступа изменяется при каждом переключении режима разработчика — снова скопируйте его с экрана принтера.",
fail: "Принтер доступен, но Bambuddy к нему не подключён. Скорее всего, неверны код доступа или серийный номер — код доступа изменяется при каждом переключении режима «Только LAN» или режима разработчика, поэтому снова скопируйте его с экрана принтера. Так же выглядит принтер, который перезагружается или уже исчерпал лимит одновременных подключений.",
fail_auth_rejected: "Принтер отклонил учётные данные Bambuddy. Код доступа или серийный номер неверны — код доступа изменяется при каждом переключении режима «Только LAN» или режима разработчика. Снова скопируйте его с экрана принтера и сохраните в настройках принтера.",
skip: "Не проверено — принтер недоступен.",
},
developer_mode: {
+2 -1
View File
@@ -6293,7 +6293,8 @@ export default {
mqtt_auth: {
title: 'Yazıcı kimlik bilgileri',
pass: 'Yazıcı bağlantıyı kabul etti.',
fail: 'Yazıcı erişilebilir ancak bağlantıyı reddetti. Büyük olasılıkla erişim kodu veya seri numarası yanlış. Erişim kodu, Geliştirici Modu her açılıp kapatıldığında değişir — yazıcı ekranından yeniden kopyalayın.',
fail: 'Yazıcıya erişilebiliyor ancak Bambuddy ona bağlı değil. Büyük olasılıkla erişim kodu veya seri numarası yanlış — erişim kodu, Yalnızca LAN veya Geliştirici Modu her açılıp kapatıldığında değişir, bu yüzden yazıcı ekranından yeniden kopyalayın. Yeniden başlamakta olan veya eşzamanlı bağlantı sınırına ulaşmış bir yazıcı da aynı görünür.',
fail_auth_rejected: 'Yazıcı, Bambuddy\'nin kimlik bilgilerini reddetti. Erişim kodu veya seri numarası yanlış — erişim kodu, Yalnızca LAN veya Geliştirici Modu her açılıp kapatıldığında değişir. Yazıcı ekranından yeniden kopyalayın ve yazıcı ayarlarına kaydedin.',
skip: 'Kontrol edilmedi — yazıcıya erişilemedi.',
},
developer_mode: {
+2 -1
View File
@@ -6397,7 +6397,8 @@ export default {
mqtt_auth: {
title: "Облікові дані принтера",
pass: "Принтер прийняв підключення.",
fail: "Принтер доступний, але відхилив з’єднання. Найімовірніше, указано неправильний код доступу або серійний номер. Код доступу змінюється після кожного перемикання режиму розробника — знову скопіюйте його з екрана принтера.",
fail: "Принтер доступний, але Bambuddy до нього не під’єднано. Найімовірніше, указано неправильний код доступу або серійний номер — код доступу змінюється після кожного перемикання режиму «Лише LAN» або режиму розробника, тож знову скопіюйте його з екрана принтера. Так само виглядає принтер, який перезавантажується або вже вичерпав ліміт одночасних з’єднань.",
fail_auth_rejected: "Принтер відхилив облікові дані Bambuddy. Код доступу або серійний номер неправильний — код доступу змінюється після кожного перемикання режиму «Лише LAN» або режиму розробника. Знову скопіюйте його з екрана принтера та збережіть у налаштуваннях принтера.",
skip: "Не позначено — принтер недоступний.",
},
developer_mode: {
+2 -1
View File
@@ -6341,7 +6341,8 @@ export default {
mqtt_auth: {
title: '打印机凭据',
pass: '打印机已接受连接。',
fail: '打印机可达,但拒绝了连接。访问代码或序列号很可能有误。每次切换开发者模式时访问代码都会更改 — 请从打印机屏幕重新复制。',
fail: '打印机可达,但 Bambuddy 未与其建立连接。访问代码或序列号很可能有误 — 每次切换仅局域网模式或开发者模式时访问代码都会更改,请从打印机屏幕重新复制。正在重启或已达到同时连接数上限的打印机看起来也是这样。',
fail_auth_rejected: '打印机拒绝了 Bambuddy 的凭据。访问代码或序列号有误 — 每次切换仅局域网模式或开发者模式时访问代码都会更改。请从打印机屏幕重新复制,并保存到打印机设置中。',
skip: '未检查 — 无法连接到打印机。',
},
developer_mode: {
+2 -1
View File
@@ -6341,7 +6341,8 @@ export default {
mqtt_auth: {
title: '印表機認證資訊',
pass: '印表機已接受連線。',
fail: '印表機可達,但拒絕了連線。存取碼或序號很可能有誤。每次切換開發者模式時存取碼都會變更 — 請從印表機螢幕重新複製。',
fail: '印表機可達,但 Bambuddy 未與其建立連線。存取碼或序號很可能有誤 — 每次切換僅區域網路模式或開發者模式時存取碼都會變更,請從印表機螢幕重新複製。正在重新啟動或已達到同時連線數上限的印表機看起來也是這樣。',
fail_auth_rejected: '印表機拒絕了 Bambuddy 的認證資訊。存取碼或序號有誤 — 每次切換僅區域網路模式或開發者模式時存取碼都會變更。請從印表機螢幕重新複製,並儲存到印表機設定中。',
skip: '未檢查 — 無法連線到印表機。',
},
developer_mode: {