From e377926b657ab05e61c0076a251525ca5c937061 Mon Sep 17 00:00:00 2001 From: Jong Eun Lee Date: Wed, 12 Nov 2025 12:34:21 +0800 Subject: [PATCH] feature(FR-1688): Auto-launch primary app in Session Notification --- .../BAIComputeSessionNodeNotificationItem.tsx | 43 +++++++++++++------ resources/i18n/de.json | 2 + resources/i18n/el.json | 2 + resources/i18n/en.json | 2 + resources/i18n/es.json | 2 + resources/i18n/fi.json | 2 + resources/i18n/fr.json | 2 + resources/i18n/id.json | 2 + resources/i18n/it.json | 2 + resources/i18n/ja.json | 2 + resources/i18n/ko.json | 2 + resources/i18n/mn.json | 2 + resources/i18n/ms.json | 2 + resources/i18n/pl.json | 2 + resources/i18n/pt-BR.json | 2 + resources/i18n/pt.json | 2 + resources/i18n/ru.json | 2 + resources/i18n/th.json | 2 + resources/i18n/tr.json | 2 + resources/i18n/vi.json | 2 + resources/i18n/zh-CN.json | 2 + resources/i18n/zh-TW.json | 2 + 22 files changed, 72 insertions(+), 13 deletions(-) diff --git a/react/src/components/BAIComputeSessionNodeNotificationItem.tsx b/react/src/components/BAIComputeSessionNodeNotificationItem.tsx index b2eb8afaa9..4a78922afb 100644 --- a/react/src/components/BAIComputeSessionNodeNotificationItem.tsx +++ b/react/src/components/BAIComputeSessionNodeNotificationItem.tsx @@ -2,7 +2,9 @@ import SessionActionButtons, { PrimaryAppOption, } from './ComputeSessionNodeItems/SessionActionButtons'; import SessionStatusTag from './ComputeSessionNodeItems/SessionStatusTag'; +import QuestionIconWithTooltip from './QuestionIconWithTooltip'; import { useUpdateEffect } from 'ahooks'; +import { Switch, theme } from 'antd'; import { BAIFlex, BAILink, BAINotificationItem, BAIText } from 'backend.ai-ui'; import dayjs from 'dayjs'; import React, { useEffect, useState } from 'react'; @@ -35,6 +37,7 @@ const BAIComputeSessionNodeNotificationItem: React.FC< const { closeNotification } = useSetBAINotification(); const { t } = useTranslation(); const navigate = useNavigate(); + const { token } = theme.useToken(); const node = useFragment( graphql` fragment BAIComputeSessionNodeNotificationItemFragment on ComputeSessionNode { @@ -98,19 +101,33 @@ const BAIComputeSessionNodeNotificationItem: React.FC< } description={ - - - + + + + + + + {t('notification.RunAppOnSessionStart')} + + } footer={ diff --git a/resources/i18n/de.json b/resources/i18n/de.json index d2b8e92869..a364dd8a48 100644 --- a/resources/i18n/de.json +++ b/resources/i18n/de.json @@ -1069,6 +1069,8 @@ "Initializing": "Initialisieren...", "NoNotification": "Keine Benachrichtigung.", "Notifications": "Benachrichtigungen", + "RunAppOnSessionStart": "App automatisch starten", + "RunAppOnSessionStartTooltip": "Startet die App in einer laufenden Sitzung", "SeeDetail": "Siehe Detail", "SuccessfullyUpdated": "Erfolgreich aktualisiert", "Visit": "Besuch" diff --git a/resources/i18n/el.json b/resources/i18n/el.json index 48b35bee8e..ad79739ac0 100644 --- a/resources/i18n/el.json +++ b/resources/i18n/el.json @@ -1066,6 +1066,8 @@ "Initializing": "Αρχικοποίηση ...", "NoNotification": "Καμία ειδοποίηση.", "Notifications": "Ειδοποιήσεις", + "RunAppOnSessionStart": "Αυτόματη εκκίνηση εφαρμογής", + "RunAppOnSessionStartTooltip": "Εκκινεί την εφαρμογή όταν η συνεδρία είναι ενεργή", "SeeDetail": "Δείτε Λεπτομέρεια", "SuccessfullyUpdated": "Ενημερώθηκε με επιτυχία", "Visit": "Επίσκεψη" diff --git a/resources/i18n/en.json b/resources/i18n/en.json index 602a5ce736..55dbdfcb4f 100644 --- a/resources/i18n/en.json +++ b/resources/i18n/en.json @@ -1075,6 +1075,8 @@ "Initializing": "Initializing...", "NoNotification": "No Notification.", "Notifications": "Notifications", + "RunAppOnSessionStart": "Auto-launch app", + "RunAppOnSessionStartTooltip": "Launches app on session running", "SeeDetail": "See Detail", "SuccessfullyUpdated": "Successfully Updated", "Visit": "Visit" diff --git a/resources/i18n/es.json b/resources/i18n/es.json index eb8c5f136d..b53ce91032 100644 --- a/resources/i18n/es.json +++ b/resources/i18n/es.json @@ -1069,6 +1069,8 @@ "Initializing": "Inicializando...", "NoNotification": "Sin notificación.", "Notifications": "Notificaciones", + "RunAppOnSessionStart": "Iniciar la aplicación automáticamente", + "RunAppOnSessionStartTooltip": "Inicia la aplicación cuando la sesión esté en ejecución.", "SeeDetail": "Ver detalle", "SuccessfullyUpdated": "Actualizado con éxito", "Visit": "Visite" diff --git a/resources/i18n/fi.json b/resources/i18n/fi.json index 1608a73a20..18760d6b4b 100644 --- a/resources/i18n/fi.json +++ b/resources/i18n/fi.json @@ -1068,6 +1068,8 @@ "Initializing": "Aloitetaan...", "NoNotification": "Ei ilmoitusta.", "Notifications": "Ilmoitukset", + "RunAppOnSessionStart": "Käynnistä sovellus automaattisesti", + "RunAppOnSessionStartTooltip": "Käynnistää sovelluksen käynnissä olevassa istunnossa.", "SeeDetail": "Katso lisätietoja", "SuccessfullyUpdated": "Päivitetty onnistuneesti", "Visit": "Käy osoitteessa" diff --git a/resources/i18n/fr.json b/resources/i18n/fr.json index ac30ff8a02..d52e8bc4c2 100644 --- a/resources/i18n/fr.json +++ b/resources/i18n/fr.json @@ -1069,6 +1069,8 @@ "Initializing": "Initialisation...", "NoNotification": "Aucune notification.", "Notifications": "Notifications", + "RunAppOnSessionStart": "Lancer automatiquement l'application", + "RunAppOnSessionStartTooltip": "Lance l'application dans la session en cours", "SeeDetail": "Voir le détail", "SuccessfullyUpdated": "Mise à jour réussie", "Visit": "Visite" diff --git a/resources/i18n/id.json b/resources/i18n/id.json index a0c41a21a2..c144a2163a 100644 --- a/resources/i18n/id.json +++ b/resources/i18n/id.json @@ -1067,6 +1067,8 @@ "Initializing": "Inisialisasi...", "NoNotification": "Tidak Ada Pemberitahuan.", "Notifications": "Pemberitahuan", + "RunAppOnSessionStart": "Mulai aplikasi secara otomatis", + "RunAppOnSessionStartTooltip": "Meluncurkan aplikasi pada sesi yang sedang berjalan", "SeeDetail": "Lihat Detail", "SuccessfullyUpdated": "Berhasil Diperbarui", "Visit": "Kunjungi" diff --git a/resources/i18n/it.json b/resources/i18n/it.json index d3514400a7..bc542aa3f2 100644 --- a/resources/i18n/it.json +++ b/resources/i18n/it.json @@ -1067,6 +1067,8 @@ "Initializing": "Inizializzazione in corso...", "NoNotification": "Nessuna notifica.", "Notifications": "Notifiche", + "RunAppOnSessionStart": "Avvia automaticamente l'app", + "RunAppOnSessionStartTooltip": "Avvia l'app nella sessione in esecuzione", "SeeDetail": "Vedi dettaglio", "SuccessfullyUpdated": "Aggiornato con successo", "Visit": "Visitare" diff --git a/resources/i18n/ja.json b/resources/i18n/ja.json index 67e1ee3482..625aa67b8e 100644 --- a/resources/i18n/ja.json +++ b/resources/i18n/ja.json @@ -1068,6 +1068,8 @@ "Initializing": "初期化中...", "NoNotification": "通知はありません。", "Notifications": "通知", + "RunAppOnSessionStart": "アプリの自動起動", + "RunAppOnSessionStartTooltip": "セッション実行時にアプリを起動する", "SeeDetail": "詳細を見る", "SuccessfullyUpdated": "正常に更新されました", "Visit": "訪問" diff --git a/resources/i18n/ko.json b/resources/i18n/ko.json index a13753557f..d3662fc4d2 100644 --- a/resources/i18n/ko.json +++ b/resources/i18n/ko.json @@ -1073,6 +1073,8 @@ "Initializing": "초기화 중...", "NoNotification": "알림이 없습니다.", "Notifications": "알림", + "RunAppOnSessionStart": "앱 자동실행", + "RunAppOnSessionStartTooltip": "세션이 RUNNING 상태가 되며 앱을 자동으로 시작합니다.", "SeeDetail": "상세보기", "SuccessfullyUpdated": "수정되었습니다.", "Visit": "방문" diff --git a/resources/i18n/mn.json b/resources/i18n/mn.json index 65c64af76a..b7c56110c3 100644 --- a/resources/i18n/mn.json +++ b/resources/i18n/mn.json @@ -1067,6 +1067,8 @@ "Initializing": "Эхлүүлж байна ...", "NoNotification": "Мэдэгдэл байхгүй.", "Notifications": "Мэдэгдэл", + "RunAppOnSessionStart": "Аппыг автоматаар эхлүүлэх", + "RunAppOnSessionStartTooltip": "Сесс ажиллаж байх үед апп эхлүүлнэ", "SeeDetail": "Дэлгэрэнгүйг үзнэ үү", "SuccessfullyUpdated": "Амжилттай шинэчлэгдсэн", "Visit": "Айлчлах" diff --git a/resources/i18n/ms.json b/resources/i18n/ms.json index 109f1c909b..12916d74d7 100644 --- a/resources/i18n/ms.json +++ b/resources/i18n/ms.json @@ -1068,6 +1068,8 @@ "Initializing": "Memulakan ...", "NoNotification": "Tiada Pemberitahuan.", "Notifications": "Pemberitahuan", + "RunAppOnSessionStart": "Lancarkan aplikasi secara automatik", + "RunAppOnSessionStartTooltip": "Melancarkan aplikasi pada sesi yang sedang berjalan", "SeeDetail": "Lihat Perincian", "SuccessfullyUpdated": "Berjaya Dikemas kini", "Visit": "Lawati" diff --git a/resources/i18n/pl.json b/resources/i18n/pl.json index 5e64c9522f..1ce5759d43 100644 --- a/resources/i18n/pl.json +++ b/resources/i18n/pl.json @@ -1068,6 +1068,8 @@ "Initializing": "Inicjowanie...", "NoNotification": "Brak powiadomienia.", "Notifications": "Powiadomienia", + "RunAppOnSessionStart": "Automatyczne uruchamianie aplikacji", + "RunAppOnSessionStartTooltip": "Uruchamia aplikację w działającej sesji", "SeeDetail": "Zobacz detale", "SuccessfullyUpdated": "Pomyślnie zaktualizowano", "Visit": "Wizyta" diff --git a/resources/i18n/pt-BR.json b/resources/i18n/pt-BR.json index ed0f23b70e..0b0da8c86f 100644 --- a/resources/i18n/pt-BR.json +++ b/resources/i18n/pt-BR.json @@ -1069,6 +1069,8 @@ "Initializing": "Inicializando ...", "NoNotification": "Nenhuma notificação.", "Notifications": "Notificações", + "RunAppOnSessionStart": "Abrir aplicativo automaticamente", + "RunAppOnSessionStartTooltip": "Inicia o aplicativo na sessão em execução", "SeeDetail": "Veja detalhes", "SuccessfullyUpdated": "Atualizado com sucesso", "Visit": "Visita" diff --git a/resources/i18n/pt.json b/resources/i18n/pt.json index 6c9ea32df6..ef4bc4813d 100644 --- a/resources/i18n/pt.json +++ b/resources/i18n/pt.json @@ -1068,6 +1068,8 @@ "Initializing": "Inicializando ...", "NoNotification": "Nenhuma notificação.", "Notifications": "Notificações", + "RunAppOnSessionStart": "Iniciar aplicativo automaticamente", + "RunAppOnSessionStartTooltip": "Inicia a aplicação quando a sessão estiver em execução.", "SeeDetail": "Veja detalhes", "SuccessfullyUpdated": "Atualizado com sucesso", "Visit": "Visita" diff --git a/resources/i18n/ru.json b/resources/i18n/ru.json index c9d146a420..640efa112d 100644 --- a/resources/i18n/ru.json +++ b/resources/i18n/ru.json @@ -1068,6 +1068,8 @@ "Initializing": "Инициализация ...", "NoNotification": "Нет уведомлений.", "Notifications": "Уведомления", + "RunAppOnSessionStart": "Автозапуск приложения", + "RunAppOnSessionStartTooltip": "Запускает приложение в запущенной сессии", "SeeDetail": "См детали", "SuccessfullyUpdated": "Успешно обновлено", "Visit": "Посещение" diff --git a/resources/i18n/th.json b/resources/i18n/th.json index b8bcc06eba..e360c804ca 100644 --- a/resources/i18n/th.json +++ b/resources/i18n/th.json @@ -1058,6 +1058,8 @@ "Initializing": "กำลังเริ่มต้น...", "NoNotification": "ไม่มีการแจ้งเตือน", "Notifications": "การแจ้งเตือน", + "RunAppOnSessionStart": "เปิดแอปอัตโนมัติ", + "RunAppOnSessionStartTooltip": "เปิดแอปในเซสชันที่กำลังทำงาน", "SeeDetail": "ดูรายละเอียด", "SuccessfullyUpdated": "อัปเดตสำเร็จแล้ว", "Visit": "เยี่ยมชม" diff --git a/resources/i18n/tr.json b/resources/i18n/tr.json index 5c2c7bf30c..3d82d02e80 100644 --- a/resources/i18n/tr.json +++ b/resources/i18n/tr.json @@ -1069,6 +1069,8 @@ "Initializing": "Başlatılıyor...", "NoNotification": "Bildirim yok.", "Notifications": "Bildirimler", + "RunAppOnSessionStart": "Uygulamayı otomatik başlat", + "RunAppOnSessionStartTooltip": "Çalışan oturumda uygulamayı başlatır", "SeeDetail": "Ayrıntıları gör", "SuccessfullyUpdated": "Başarıyla güncellendi", "Visit": "Ziyaret etmek" diff --git a/resources/i18n/vi.json b/resources/i18n/vi.json index 629e488cd9..37c2906c8f 100644 --- a/resources/i18n/vi.json +++ b/resources/i18n/vi.json @@ -1069,6 +1069,8 @@ "Initializing": "Đang khởi tạo ...", "NoNotification": "Không có thông báo.", "Notifications": "Thông báo", + "RunAppOnSessionStart": "Tự động khởi chạy ứng dụng", + "RunAppOnSessionStartTooltip": "Khởi chạy ứng dụng trên phiên đang hoạt động", "SeeDetail": "Xem chi tiết", "SuccessfullyUpdated": "Cập nhật thành công", "Visit": "Chuyến thăm" diff --git a/resources/i18n/zh-CN.json b/resources/i18n/zh-CN.json index c5ed796c0c..d90eaf9946 100644 --- a/resources/i18n/zh-CN.json +++ b/resources/i18n/zh-CN.json @@ -1069,6 +1069,8 @@ "Initializing": "正在初始化...", "NoNotification": "无通知。", "Notifications": "通知", + "RunAppOnSessionStart": "自动启动应用", + "RunAppOnSessionStartTooltip": "在会话运行时启动应用", "SeeDetail": "查看详情", "SuccessfullyUpdated": "成功更新", "Visit": "访问" diff --git a/resources/i18n/zh-TW.json b/resources/i18n/zh-TW.json index dcb0ed4614..452dc0e9f8 100644 --- a/resources/i18n/zh-TW.json +++ b/resources/i18n/zh-TW.json @@ -1068,6 +1068,8 @@ "Initializing": "正在初始化...", "NoNotification": "無通知。", "Notifications": "通知", + "RunAppOnSessionStart": "自動啟動應用程式", + "RunAppOnSessionStartTooltip": "在執行中的工作階段上啟動應用程式", "SeeDetail": "查看詳情", "SuccessfullyUpdated": "成功更新", "Visit": "訪問"