Skip to content

Commit d5e93a7

Browse files
committed
surface per-node command authority on the fleet and node surfaces
The broker-write authority helper was read in two places. Every other surface graded a node on liveness alone, so a node the browser holds an open relay transport to but cannot publish flight-controller frames through read as fully healthy and fully commandable. Adds a per-node hook beside the existing selection-scoped one: a fleet surface renders many nodes at once and cannot paint the selected drone's authority on every row. It answers from the transport this browser actually holds for that node and from nothing else, so a node never dialled gets no claim at all rather than a predicted warning. Wired into the sidebar row, the fleet tile, the board's reach cell, the node-detail header, and the Overview parameters tile — a parameter write is an FC frame, so grading that tile on connection alone had the same defect. The health ring is untouched: it stays the shared liveness vocabulary and authority is a separate badge, because a node can be alive and uncommandable at once and one channel cannot carry both. Adds the short chip labels and the expiring-authority copy to all sixteen locales, and a test that fails if the badge stops firing.
1 parent b60133f commit d5e93a7

23 files changed

Lines changed: 462 additions & 19 deletions

locales/de.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "Befehlsberechtigung wird angefordert, noch nicht bereit",
6262
"receiveOnly": "Nur Empfang. Flugbefehle und Cloud-Video können nicht über das Relais gesendet werden. Agent-Befehle funktionieren weiterhin.",
63-
"receiveOnlyShort": "Nur Empfang"
63+
"receiveOnlyShort": "Nur Empfang",
64+
"provisioningShort": "Berechtigung wird geholt",
65+
"expiring": "Die Befehlsberechtigung läuft ab und die Erneuerung ist fehlgeschlagen. Senden Sie jetzt, was nötig ist.",
66+
"expiringShort": "Berechtigung läuft ab"
6467
},
6568
"statusText": {
6669
"title": "Statusmeldungen",

locales/en.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "Obtaining command authority — not ready yet",
6262
"receiveOnly": "Receive only — flight commands and cloud video cannot be sent over the relay. Agent commands still work.",
63-
"receiveOnlyShort": "Receive only"
63+
"receiveOnlyShort": "Receive only",
64+
"provisioningShort": "Getting authority",
65+
"expiring": "Command authority is expiring and renewal has failed. Send what you need now.",
66+
"expiringShort": "Authority expiring"
6467
},
6568
"statusText": {
6669
"title": "Status Messages",

locales/es.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "Obteniendo autoridad de mando, aún no está listo",
6262
"receiveOnly": "Solo recepción. Los comandos de vuelo y el vídeo en la nube no pueden enviarse por el relé. Los comandos del agente siguen funcionando.",
63-
"receiveOnlyShort": "Solo recepción"
63+
"receiveOnlyShort": "Solo recepción",
64+
"provisioningShort": "Obteniendo autoridad",
65+
"expiring": "La autoridad de mando está expirando y la renovación falló. Envíe ahora lo que necesite.",
66+
"expiringShort": "Autoridad por expirar"
6467
},
6568
"statusText": {
6669
"title": "Mensajes de estado",

locales/fr.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "Obtention de l'autorité de commande, pas encore prêt",
6262
"receiveOnly": "Réception seule. Les commandes de vol et la vidéo cloud ne peuvent pas être envoyées par le relais. Les commandes de l'agent fonctionnent toujours.",
63-
"receiveOnlyShort": "Réception seule"
63+
"receiveOnlyShort": "Réception seule",
64+
"provisioningShort": "Obtention de l'autorité",
65+
"expiring": "L'autorité de commande expire et le renouvellement a échoué. Envoyez maintenant ce dont vous avez besoin.",
66+
"expiringShort": "Autorité expirante"
6467
},
6568
"statusText": {
6669
"title": "Messages d'état",

locales/gu.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "કમાન્ડ અધિકાર મેળવાઈ રહ્યો છે, હજી તૈયાર નથી",
6262
"receiveOnly": "ફક્ત રિસીવ. ફ્લાઇટ કમાન્ડ અને ક્લાઉડ વિડિયો રિલે પર મોકલી શકાતા નથી. એજન્ટ કમાન્ડ હજી કામ કરે છે.",
63-
"receiveOnlyShort": "ફક્ત રિસીવ"
63+
"receiveOnlyShort": "ફક્ત રિસીવ",
64+
"provisioningShort": "અધિકાર મેળવાઈ રહ્યો છે",
65+
"expiring": "કમાન્ડ અધિકાર સમાપ્ત થઈ રહ્યો છે અને નવીકરણ નિષ્ફળ ગયું. જે જરૂરી હોય તે હમણાં મોકલો.",
66+
"expiringShort": "અધિકાર સમાપ્ત થઈ રહ્યો છે"
6467
},
6568
"statusText": {
6669
"title": "સ્ટેટસ સંદેશા",

locales/hi.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "कमांड अधिकार प्राप्त किया जा रहा है, अभी तैयार नहीं",
6262
"receiveOnly": "केवल रिसीव। उड़ान कमांड और क्लाउड वीडियो रिले से नहीं भेजे जा सकते। एजेंट कमांड अब भी काम करते हैं।",
63-
"receiveOnlyShort": "केवल रिसीव"
63+
"receiveOnlyShort": "केवल रिसीव",
64+
"provisioningShort": "अधिकार लिया जा रहा है",
65+
"expiring": "कमांड अधिकार समाप्त हो रहा है और नवीनीकरण विफल रहा। जो ज़रूरी है वह अभी भेजें।",
66+
"expiringShort": "अधिकार समाप्त हो रहा है"
6467
},
6568
"statusText": {
6669
"title": "स्थिति संदेश",

locales/id.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "Mendapatkan otoritas perintah, belum siap",
6262
"receiveOnly": "Hanya terima. Perintah terbang dan video cloud tidak dapat dikirim lewat relai. Perintah agen tetap berfungsi.",
63-
"receiveOnlyShort": "Hanya terima"
63+
"receiveOnlyShort": "Hanya terima",
64+
"provisioningShort": "Mengambil otoritas",
65+
"expiring": "Otoritas perintah akan berakhir dan pembaruan gagal. Kirim yang Anda perlukan sekarang.",
66+
"expiringShort": "Otoritas akan berakhir"
6467
},
6568
"statusText": {
6669
"title": "Pesan status",

locales/ja.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "コマンド権限を取得中です。まだ使用できません",
6262
"receiveOnly": "受信のみ。飛行コマンドとクラウド映像は中継経由で送信できません。エージェントコマンドは引き続き使用できます。",
63-
"receiveOnlyShort": "受信のみ"
63+
"receiveOnlyShort": "受信のみ",
64+
"provisioningShort": "権限を取得中",
65+
"expiring": "コマンド権限の期限が近づいており、更新に失敗しました。必要な操作は今のうちに送信してください。",
66+
"expiringShort": "権限の期限切れ間近"
6467
},
6568
"statusText": {
6669
"title": "ステータスメッセージ",

locales/kn.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "ಕಮಾಂಡ್ ಅಧಿಕಾರ ಪಡೆಯಲಾಗುತ್ತಿದೆ, ಇನ್ನೂ ಸಿದ್ಧವಿಲ್ಲ",
6262
"receiveOnly": "ಸ್ವೀಕರಿಸುವುದು ಮಾತ್ರ. ಹಾರಾಟದ ಕಮಾಂಡ್‌ಗಳು ಮತ್ತು ಕ್ಲೌಡ್ ವೀಡಿಯೊವನ್ನು ರಿಲೇ ಮೂಲಕ ಕಳುಹಿಸಲಾಗದು. ಏಜೆಂಟ್ ಕಮಾಂಡ್‌ಗಳು ಇನ್ನೂ ಕೆಲಸ ಮಾಡುತ್ತವೆ.",
63-
"receiveOnlyShort": "ಸ್ವೀಕರಿಸುವುದು ಮಾತ್ರ"
63+
"receiveOnlyShort": "ಸ್ವೀಕರಿಸುವುದು ಮಾತ್ರ",
64+
"provisioningShort": "ಅಧಿಕಾರ ಪಡೆಯಲಾಗುತ್ತಿದೆ",
65+
"expiring": "ಕಮಾಂಡ್ ಅಧಿಕಾರ ಮುಗಿಯುತ್ತಿದೆ ಮತ್ತು ನವೀಕರಣ ವಿಫಲವಾಗಿದೆ. ಬೇಕಾದುದನ್ನು ಈಗಲೇ ಕಳುಹಿಸಿ.",
66+
"expiringShort": "ಅಧಿಕಾರ ಮುಗಿಯುತ್ತಿದೆ"
6467
},
6568
"statusText": {
6669
"title": "ಸ್ಥಿತಿ ಸಂದೇಶಗಳು",

locales/ko.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"authority": {
6161
"provisioning": "명령 권한을 가져오는 중이며 아직 준비되지 않았습니다",
6262
"receiveOnly": "수신 전용. 비행 명령과 클라우드 영상은 중계로 보낼 수 없습니다. 에이전트 명령은 계속 사용할 수 있습니다.",
63-
"receiveOnlyShort": "수신 전용"
63+
"receiveOnlyShort": "수신 전용",
64+
"provisioningShort": "권한 획득 중",
65+
"expiring": "명령 권한이 만료되고 있으며 갱신에 실패했습니다. 필요한 명령은 지금 보내십시오.",
66+
"expiringShort": "권한 만료 임박"
6467
},
6568
"statusText": {
6669
"title": "상태 메시지",

0 commit comments

Comments
 (0)