@lobehub/lobehub 2.0.0-next.304 → 2.0.0-next.306
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/manual-build-desktop.yml +11 -1
- package/CHANGELOG.md +50 -0
- package/apps/desktop/.i18nrc.js +3 -3
- package/apps/desktop/electron.vite.config.ts +0 -2
- package/apps/desktop/resources/locales/ar/dialog.json +5 -1
- package/apps/desktop/resources/locales/ar/menu.json +16 -0
- package/apps/desktop/resources/locales/bg-BG/dialog.json +5 -1
- package/apps/desktop/resources/locales/bg-BG/menu.json +16 -0
- package/apps/desktop/resources/locales/de-DE/dialog.json +5 -1
- package/apps/desktop/resources/locales/de-DE/menu.json +16 -0
- package/apps/desktop/resources/locales/en/common.json +26 -0
- package/apps/desktop/resources/locales/en/dialog.json +27 -0
- package/apps/desktop/resources/locales/en/menu.json +73 -0
- package/apps/desktop/resources/locales/es-ES/dialog.json +5 -1
- package/apps/desktop/resources/locales/es-ES/menu.json +16 -0
- package/apps/desktop/resources/locales/fa-IR/dialog.json +5 -1
- package/apps/desktop/resources/locales/fa-IR/menu.json +16 -0
- package/apps/desktop/resources/locales/fr-FR/dialog.json +5 -1
- package/apps/desktop/resources/locales/fr-FR/menu.json +16 -0
- package/apps/desktop/resources/locales/it-IT/dialog.json +5 -1
- package/apps/desktop/resources/locales/it-IT/menu.json +16 -0
- package/apps/desktop/resources/locales/ja-JP/dialog.json +5 -1
- package/apps/desktop/resources/locales/ja-JP/menu.json +16 -0
- package/apps/desktop/resources/locales/ko-KR/dialog.json +5 -1
- package/apps/desktop/resources/locales/ko-KR/menu.json +16 -0
- package/apps/desktop/resources/locales/nl-NL/dialog.json +5 -1
- package/apps/desktop/resources/locales/nl-NL/menu.json +16 -0
- package/apps/desktop/resources/locales/pl-PL/dialog.json +5 -1
- package/apps/desktop/resources/locales/pl-PL/menu.json +16 -0
- package/apps/desktop/resources/locales/pt-BR/dialog.json +5 -1
- package/apps/desktop/resources/locales/pt-BR/menu.json +16 -0
- package/apps/desktop/resources/locales/ru-RU/dialog.json +5 -1
- package/apps/desktop/resources/locales/ru-RU/menu.json +16 -0
- package/apps/desktop/resources/locales/tr-TR/dialog.json +5 -1
- package/apps/desktop/resources/locales/tr-TR/menu.json +16 -0
- package/apps/desktop/resources/locales/vi-VN/dialog.json +5 -1
- package/apps/desktop/resources/locales/vi-VN/menu.json +16 -0
- package/apps/desktop/resources/locales/zh-TW/dialog.json +5 -1
- package/apps/desktop/resources/locales/zh-TW/menu.json +16 -0
- package/apps/desktop/scripts/update-test/README.md +15 -0
- package/apps/desktop/src/main/core/infrastructure/BackendProxyProtocolManager.ts +7 -6
- package/apps/desktop/src/main/core/infrastructure/UpdaterManager.ts +38 -5
- package/apps/desktop/src/main/utils/logger.ts +2 -2
- package/changelog/v1.json +14 -0
- package/e2e/src/steps/community/detail-pages.steps.ts +3 -1
- package/e2e/src/steps/community/interactions.steps.ts +4 -4
- package/locales/en-US/auth.json +5 -0
- package/locales/zh-CN/auth.json +5 -0
- package/package.json +6 -5
- package/packages/builtin-tool-agent-builder/src/ExecutionRuntime/index.ts +362 -30
- package/packages/builtin-tool-agent-builder/src/client/Intervention/InstallPlugin.tsx +28 -4
- package/packages/context-engine/src/processors/GroupMessageFlatten.ts +9 -6
- package/packages/context-engine/src/processors/__tests__/GroupMessageFlatten.test.ts +103 -0
- package/packages/context-engine/src/providers/GroupAgentBuilderContextInjector.ts +18 -31
- package/packages/context-engine/src/providers/__tests__/GroupAgentBuilderContextInjector.test.ts +307 -0
- package/packages/prompts/src/prompts/userMemory/__snapshots__/index.test.ts.snap +14 -38
- package/packages/prompts/src/prompts/userMemory/index.ts +5 -24
- package/scripts/electronWorkflow/buildDesktopChannel.ts +135 -0
- package/src/app/[variants]/(main)/_layout/index.tsx +2 -0
- package/src/app/[variants]/(main)/community/(detail)/assistant/index.tsx +1 -1
- package/src/app/[variants]/(main)/community/(detail)/mcp/index.tsx +1 -1
- package/src/app/[variants]/(main)/group/features/Conversation/MainChatInput/index.tsx +2 -2
- package/src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/index.tsx +2 -2
- package/src/features/Conversation/Messages/Supervisor/index.tsx +2 -1
- package/src/features/Conversation/Messages/components/ContentLoading.tsx +8 -2
- package/src/features/DesktopNavigationBridge/index.tsx +0 -9
- package/src/features/Electron/AuthRequiredModal/index.tsx +151 -0
- package/src/locales/default/auth.ts +6 -0
- package/src/services/chat/mecha/agentConfigResolver.ts +65 -0
- package/src/services/chat/mecha/modelParamsResolver.test.ts +211 -0
- package/src/store/agentGroup/action.ts +30 -0
- package/src/store/agentGroup/slices/lifecycle.test.ts +77 -18
- package/src/store/agentGroup/slices/lifecycle.ts +7 -9
- package/src/store/chat/slices/operation/__tests__/selectors.test.ts +124 -0
- package/src/store/chat/slices/operation/selectors.ts +22 -0
- package/src/utils/errorResponse.ts +21 -1
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "開発者パネル",
|
|
4
4
|
"dev.devTools": "開発者ツール",
|
|
5
5
|
"dev.forceReload": "強制再読み込み",
|
|
6
|
+
"dev.openSettingsFile": "設定ファイルを開く",
|
|
6
7
|
"dev.openStore": "ストレージファイルを開く",
|
|
8
|
+
"dev.openUpdaterCacheDir": "アップデーターキャッシュを開く",
|
|
9
|
+
"dev.openUserDataDir": "ユーザーデータを開く",
|
|
10
|
+
"dev.permissions.accessibility.request": "アクセシビリティ権限をリクエスト",
|
|
11
|
+
"dev.permissions.fullDisk.open": "フルディスクアクセス設定を開く",
|
|
12
|
+
"dev.permissions.fullDisk.request": "フルディスクアクセス権限をリクエスト",
|
|
13
|
+
"dev.permissions.microphone.request": "マイク権限をリクエスト",
|
|
14
|
+
"dev.permissions.notification.request": "通知権限をリクエスト",
|
|
15
|
+
"dev.permissions.screen.request": "画面録画権限をリクエスト",
|
|
16
|
+
"dev.permissions.title": "権限",
|
|
7
17
|
"dev.refreshMenu": "メニューを更新",
|
|
8
18
|
"dev.reload": "再読み込み",
|
|
19
|
+
"dev.simulateAutoDownload": "自動ダウンロードをシミュレート(3秒)",
|
|
20
|
+
"dev.simulateDownloadComplete": "ダウンロード完了をシミュレート",
|
|
21
|
+
"dev.simulateDownloadProgress": "ダウンロード進行をシミュレート",
|
|
9
22
|
"dev.title": "開発",
|
|
23
|
+
"dev.updaterSimulation": "アップデーターシミュレーション",
|
|
10
24
|
"edit.copy": "コピー",
|
|
11
25
|
"edit.cut": "切り取り",
|
|
12
26
|
"edit.delete": "削除",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "ファイル",
|
|
24
38
|
"help.about": "について",
|
|
25
39
|
"help.githubRepo": "GitHub リポジトリ",
|
|
40
|
+
"help.openConfigDir": "設定ディレクトリを開く",
|
|
41
|
+
"help.openLogsDir": "ログディレクトリを開く",
|
|
26
42
|
"help.reportIssue": "問題を報告",
|
|
27
43
|
"help.title": "ヘルプ",
|
|
28
44
|
"help.visitWebsite": "公式ウェブサイトを訪問",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "작업 중 오류가 발생했습니다. 나중에 다시 시도해 주세요.",
|
|
12
12
|
"error.message": "오류 발생",
|
|
13
13
|
"error.title": "오류",
|
|
14
|
+
"fullDiskAccess.message": "LobeHub는 파일을 읽고 지식 기반 기능을 활성화하기 위해 전체 디스크 접근 권한이 필요합니다. 시스템 설정에서 접근 권한을 부여해 주세요.",
|
|
15
|
+
"fullDiskAccess.openSettings": "설정 열기",
|
|
16
|
+
"fullDiskAccess.skip": "나중에",
|
|
17
|
+
"fullDiskAccess.title": "전체 디스크 접근 권한 필요",
|
|
14
18
|
"update.downloadAndInstall": "다운로드 및 설치",
|
|
15
19
|
"update.downloadComplete": "다운로드 완료",
|
|
16
20
|
"update.downloadCompleteMessage": "업데이트 패키지가 다운로드 완료되었습니다. 지금 설치하시겠습니까?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "새 버전 발견",
|
|
21
25
|
"update.newVersionAvailable": "새 버전 발견: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "이 버전 건너뛰기"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "개발자 패널",
|
|
4
4
|
"dev.devTools": "개발자 도구",
|
|
5
5
|
"dev.forceReload": "강제 새로 고침",
|
|
6
|
+
"dev.openSettingsFile": "설정 파일 열기",
|
|
6
7
|
"dev.openStore": "저장 파일 열기",
|
|
8
|
+
"dev.openUpdaterCacheDir": "업데이터 캐시 열기",
|
|
9
|
+
"dev.openUserDataDir": "사용자 데이터 열기",
|
|
10
|
+
"dev.permissions.accessibility.request": "접근성 권한 요청",
|
|
11
|
+
"dev.permissions.fullDisk.open": "전체 디스크 접근 설정 열기",
|
|
12
|
+
"dev.permissions.fullDisk.request": "전체 디스크 접근 권한 요청",
|
|
13
|
+
"dev.permissions.microphone.request": "마이크 권한 요청",
|
|
14
|
+
"dev.permissions.notification.request": "알림 권한 요청",
|
|
15
|
+
"dev.permissions.screen.request": "화면 녹화 권한 요청",
|
|
16
|
+
"dev.permissions.title": "권한",
|
|
7
17
|
"dev.refreshMenu": "메뉴 새로 고침",
|
|
8
18
|
"dev.reload": "새로 고침",
|
|
19
|
+
"dev.simulateAutoDownload": "자동 다운로드 시뮬레이션 (3초)",
|
|
20
|
+
"dev.simulateDownloadComplete": "다운로드 완료 시뮬레이션",
|
|
21
|
+
"dev.simulateDownloadProgress": "다운로드 진행 시뮬레이션",
|
|
9
22
|
"dev.title": "개발",
|
|
23
|
+
"dev.updaterSimulation": "업데이터 시뮬레이션",
|
|
10
24
|
"edit.copy": "복사",
|
|
11
25
|
"edit.cut": "잘라내기",
|
|
12
26
|
"edit.delete": "삭제",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "파일",
|
|
24
38
|
"help.about": "정보",
|
|
25
39
|
"help.githubRepo": "GitHub 저장소",
|
|
40
|
+
"help.openConfigDir": "설정 디렉터리 열기",
|
|
41
|
+
"help.openLogsDir": "로그 디렉터리 열기",
|
|
26
42
|
"help.reportIssue": "문제 보고",
|
|
27
43
|
"help.title": "도움말",
|
|
28
44
|
"help.visitWebsite": "웹사이트 방문",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "Er is een fout opgetreden tijdens de operatie, probeer het later opnieuw",
|
|
12
12
|
"error.message": "Er is een fout opgetreden",
|
|
13
13
|
"error.title": "Fout",
|
|
14
|
+
"fullDiskAccess.message": "LobeHub heeft volledige schijf toegang nodig om bestanden te lezen en functies van de kennisbank mogelijk te maken. Geef toegang via de Systeeminstellingen.",
|
|
15
|
+
"fullDiskAccess.openSettings": "Instellingen openen",
|
|
16
|
+
"fullDiskAccess.skip": "Later",
|
|
17
|
+
"fullDiskAccess.title": "Volledige schijf toegang vereist",
|
|
14
18
|
"update.downloadAndInstall": "Downloaden en installeren",
|
|
15
19
|
"update.downloadComplete": "Download voltooid",
|
|
16
20
|
"update.downloadCompleteMessage": "Het updatepakket is gedownload, wilt u het nu installeren?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "Nieuwe versie gevonden",
|
|
21
25
|
"update.newVersionAvailable": "Nieuwe versie beschikbaar: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "Deze versie overslaan"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "Ontwikkelaarspaneel",
|
|
4
4
|
"dev.devTools": "Ontwikkelaarstools",
|
|
5
5
|
"dev.forceReload": "Forceer herladen",
|
|
6
|
+
"dev.openSettingsFile": "Instellingenbestand openen",
|
|
6
7
|
"dev.openStore": "Open opslagbestand",
|
|
8
|
+
"dev.openUpdaterCacheDir": "Updater-cache openen",
|
|
9
|
+
"dev.openUserDataDir": "Gebruikersgegevens openen",
|
|
10
|
+
"dev.permissions.accessibility.request": "Toegankelijkheidsmachtiging aanvragen",
|
|
11
|
+
"dev.permissions.fullDisk.open": "Instellingen voor volledige schijf toegang openen",
|
|
12
|
+
"dev.permissions.fullDisk.request": "Machtiging voor volledige schijf toegang aanvragen",
|
|
13
|
+
"dev.permissions.microphone.request": "Microfoonmachtiging aanvragen",
|
|
14
|
+
"dev.permissions.notification.request": "Machtiging voor meldingen aanvragen",
|
|
15
|
+
"dev.permissions.screen.request": "Machtiging voor schermopname aanvragen",
|
|
16
|
+
"dev.permissions.title": "Machtigingen",
|
|
7
17
|
"dev.refreshMenu": "Menu verversen",
|
|
8
18
|
"dev.reload": "Herladen",
|
|
19
|
+
"dev.simulateAutoDownload": "Automatisch downloaden simuleren (3s)",
|
|
20
|
+
"dev.simulateDownloadComplete": "Download voltooid simuleren",
|
|
21
|
+
"dev.simulateDownloadProgress": "Downloadvoortgang simuleren",
|
|
9
22
|
"dev.title": "Ontwikkeling",
|
|
23
|
+
"dev.updaterSimulation": "Updater-simulatie",
|
|
10
24
|
"edit.copy": "Kopiëren",
|
|
11
25
|
"edit.cut": "Knippen",
|
|
12
26
|
"edit.delete": "Verwijderen",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "Bestand",
|
|
24
38
|
"help.about": "Over",
|
|
25
39
|
"help.githubRepo": "GitHub-repo",
|
|
40
|
+
"help.openConfigDir": "Configuratiemap openen",
|
|
41
|
+
"help.openLogsDir": "Logmap openen",
|
|
26
42
|
"help.reportIssue": "Probleem melden",
|
|
27
43
|
"help.title": "Hulp",
|
|
28
44
|
"help.visitWebsite": "Bezoek de website",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "Wystąpił błąd podczas operacji, spróbuj ponownie później",
|
|
12
12
|
"error.message": "Wystąpił błąd",
|
|
13
13
|
"error.title": "Błąd",
|
|
14
|
+
"fullDiskAccess.message": "LobeHub wymaga pełnego dostępu do dysku, aby odczytywać pliki i umożliwić funkcje bazy wiedzy. Proszę przyznać dostęp w ustawieniach systemowych.",
|
|
15
|
+
"fullDiskAccess.openSettings": "Otwórz ustawienia",
|
|
16
|
+
"fullDiskAccess.skip": "Później",
|
|
17
|
+
"fullDiskAccess.title": "Wymagany pełny dostęp do dysku",
|
|
14
18
|
"update.downloadAndInstall": "Pobierz i zainstaluj",
|
|
15
19
|
"update.downloadComplete": "Pobieranie zakończone",
|
|
16
20
|
"update.downloadCompleteMessage": "Pakiet aktualizacji został pobrany, czy chcesz go teraz zainstalować?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "Nowa wersja dostępna",
|
|
21
25
|
"update.newVersionAvailable": "Znaleziono nową wersję: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "Pomiń tę wersję"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "Panel dewelopera",
|
|
4
4
|
"dev.devTools": "Narzędzia dewelopera",
|
|
5
5
|
"dev.forceReload": "Wymuś ponowne załadowanie",
|
|
6
|
+
"dev.openSettingsFile": "Otwórz plik ustawień",
|
|
6
7
|
"dev.openStore": "Otwórz plik magazynu",
|
|
8
|
+
"dev.openUpdaterCacheDir": "Otwórz pamięć podręczną aktualizatora",
|
|
9
|
+
"dev.openUserDataDir": "Otwórz dane użytkownika",
|
|
10
|
+
"dev.permissions.accessibility.request": "Poproś o uprawnienia dostępu",
|
|
11
|
+
"dev.permissions.fullDisk.open": "Otwórz ustawienia pełnego dostępu do dysku",
|
|
12
|
+
"dev.permissions.fullDisk.request": "Poproś o pełny dostęp do dysku",
|
|
13
|
+
"dev.permissions.microphone.request": "Poproś o dostęp do mikrofonu",
|
|
14
|
+
"dev.permissions.notification.request": "Poproś o pozwolenie na powiadomienia",
|
|
15
|
+
"dev.permissions.screen.request": "Poproś o pozwolenie na nagrywanie ekranu",
|
|
16
|
+
"dev.permissions.title": "Uprawnienia",
|
|
7
17
|
"dev.refreshMenu": "Odśwież menu",
|
|
8
18
|
"dev.reload": "Przeładuj",
|
|
19
|
+
"dev.simulateAutoDownload": "Symuluj automatyczne pobieranie (3s)",
|
|
20
|
+
"dev.simulateDownloadComplete": "Symuluj zakończenie pobierania",
|
|
21
|
+
"dev.simulateDownloadProgress": "Symuluj postęp pobierania",
|
|
9
22
|
"dev.title": "Rozwój",
|
|
23
|
+
"dev.updaterSimulation": "Symulacja aktualizatora",
|
|
10
24
|
"edit.copy": "Kopiuj",
|
|
11
25
|
"edit.cut": "Wytnij",
|
|
12
26
|
"edit.delete": "Usuń",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "Plik",
|
|
24
38
|
"help.about": "O",
|
|
25
39
|
"help.githubRepo": "Repozytorium GitHub",
|
|
40
|
+
"help.openConfigDir": "Otwórz katalog konfiguracji",
|
|
41
|
+
"help.openLogsDir": "Otwórz katalog logów",
|
|
26
42
|
"help.reportIssue": "Zgłoś problem",
|
|
27
43
|
"help.title": "Pomoc",
|
|
28
44
|
"help.visitWebsite": "Odwiedź stronę internetową",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "Ocorreu um erro durante a operação, por favor tente novamente mais tarde",
|
|
12
12
|
"error.message": "Ocorreu um erro",
|
|
13
13
|
"error.title": "Erro",
|
|
14
|
+
"fullDiskAccess.message": "O LobeHub precisa de Acesso Completo ao Disco para ler arquivos e ativar os recursos da base de conhecimento. Por favor, conceda acesso nas Configurações do Sistema.",
|
|
15
|
+
"fullDiskAccess.openSettings": "Abrir Configurações",
|
|
16
|
+
"fullDiskAccess.skip": "Depois",
|
|
17
|
+
"fullDiskAccess.title": "Acesso Completo ao Disco Necessário",
|
|
14
18
|
"update.downloadAndInstall": "Baixar e instalar",
|
|
15
19
|
"update.downloadComplete": "Download completo",
|
|
16
20
|
"update.downloadCompleteMessage": "O pacote de atualização foi baixado com sucesso, deseja instalá-lo agora?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "Nova versão disponível",
|
|
21
25
|
"update.newVersionAvailable": "Nova versão encontrada: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "Ignorar esta versão"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "Painel do Desenvolvedor",
|
|
4
4
|
"dev.devTools": "Ferramentas do Desenvolvedor",
|
|
5
5
|
"dev.forceReload": "Recarregar Forçadamente",
|
|
6
|
+
"dev.openSettingsFile": "Abrir arquivo de configurações",
|
|
6
7
|
"dev.openStore": "Abrir arquivo de armazenamento",
|
|
8
|
+
"dev.openUpdaterCacheDir": "Abrir cache do atualizador",
|
|
9
|
+
"dev.openUserDataDir": "Abrir dados do usuário",
|
|
10
|
+
"dev.permissions.accessibility.request": "Solicitar permissão de acessibilidade",
|
|
11
|
+
"dev.permissions.fullDisk.open": "Abrir configurações de acesso total ao disco",
|
|
12
|
+
"dev.permissions.fullDisk.request": "Solicitar permissão de acesso total ao disco",
|
|
13
|
+
"dev.permissions.microphone.request": "Solicitar permissão para microfone",
|
|
14
|
+
"dev.permissions.notification.request": "Solicitar permissão para notificações",
|
|
15
|
+
"dev.permissions.screen.request": "Solicitar permissão para gravação de tela",
|
|
16
|
+
"dev.permissions.title": "Permissões",
|
|
7
17
|
"dev.refreshMenu": "Atualizar menu",
|
|
8
18
|
"dev.reload": "Recarregar",
|
|
19
|
+
"dev.simulateAutoDownload": "Simular download automático (3s)",
|
|
20
|
+
"dev.simulateDownloadComplete": "Simular download concluído",
|
|
21
|
+
"dev.simulateDownloadProgress": "Simular progresso do download",
|
|
9
22
|
"dev.title": "Desenvolvimento",
|
|
23
|
+
"dev.updaterSimulation": "Simulação do atualizador",
|
|
10
24
|
"edit.copy": "Copiar",
|
|
11
25
|
"edit.cut": "Cortar",
|
|
12
26
|
"edit.delete": "Excluir",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "Arquivo",
|
|
24
38
|
"help.about": "Sobre",
|
|
25
39
|
"help.githubRepo": "Repositório do GitHub",
|
|
40
|
+
"help.openConfigDir": "Abrir diretório de configuração",
|
|
41
|
+
"help.openLogsDir": "Abrir diretório de logs",
|
|
26
42
|
"help.reportIssue": "Reportar Problema",
|
|
27
43
|
"help.title": "Ajuda",
|
|
28
44
|
"help.visitWebsite": "Visitar o Site",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "Произошла ошибка во время операции, пожалуйста, попробуйте позже",
|
|
12
12
|
"error.message": "Произошла ошибка",
|
|
13
13
|
"error.title": "Ошибка",
|
|
14
|
+
"fullDiskAccess.message": "LobeHub требует полный доступ к диску для чтения файлов и активации функций базы знаний. Пожалуйста, предоставьте доступ в системных настройках.",
|
|
15
|
+
"fullDiskAccess.openSettings": "Открыть настройки",
|
|
16
|
+
"fullDiskAccess.skip": "Позже",
|
|
17
|
+
"fullDiskAccess.title": "Требуется полный доступ к диску",
|
|
14
18
|
"update.downloadAndInstall": "Скачать и установить",
|
|
15
19
|
"update.downloadComplete": "Скачивание завершено",
|
|
16
20
|
"update.downloadCompleteMessage": "Обновление загружено, хотите установить сейчас?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "Обнаружена новая версия",
|
|
21
25
|
"update.newVersionAvailable": "Обнаружена новая версия: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "Пропустить эту версию"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "Панель разработчика",
|
|
4
4
|
"dev.devTools": "Инструменты разработчика",
|
|
5
5
|
"dev.forceReload": "Принудительная перезагрузка",
|
|
6
|
+
"dev.openSettingsFile": "Открыть файл настроек",
|
|
6
7
|
"dev.openStore": "Открыть файл хранилища",
|
|
8
|
+
"dev.openUpdaterCacheDir": "Открыть кэш обновлений",
|
|
9
|
+
"dev.openUserDataDir": "Открыть данные пользователя",
|
|
10
|
+
"dev.permissions.accessibility.request": "Запросить разрешение на доступность",
|
|
11
|
+
"dev.permissions.fullDisk.open": "Открыть настройки полного доступа к диску",
|
|
12
|
+
"dev.permissions.fullDisk.request": "Запросить разрешение на полный доступ к диску",
|
|
13
|
+
"dev.permissions.microphone.request": "Запросить разрешение на использование микрофона",
|
|
14
|
+
"dev.permissions.notification.request": "Запросить разрешение на уведомления",
|
|
15
|
+
"dev.permissions.screen.request": "Запросить разрешение на запись экрана",
|
|
16
|
+
"dev.permissions.title": "Разрешения",
|
|
7
17
|
"dev.refreshMenu": "Обновить меню",
|
|
8
18
|
"dev.reload": "Перезагрузить",
|
|
19
|
+
"dev.simulateAutoDownload": "Симуляция автозагрузки (3 с)",
|
|
20
|
+
"dev.simulateDownloadComplete": "Симуляция завершения загрузки",
|
|
21
|
+
"dev.simulateDownloadProgress": "Симуляция прогресса загрузки",
|
|
9
22
|
"dev.title": "Разработка",
|
|
23
|
+
"dev.updaterSimulation": "Симуляция обновления",
|
|
10
24
|
"edit.copy": "Копировать",
|
|
11
25
|
"edit.cut": "Вырезать",
|
|
12
26
|
"edit.delete": "Удалить",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "Файл",
|
|
24
38
|
"help.about": "О программе",
|
|
25
39
|
"help.githubRepo": "Репозиторий GitHub",
|
|
40
|
+
"help.openConfigDir": "Открыть каталог конфигурации",
|
|
41
|
+
"help.openLogsDir": "Открыть каталог журналов",
|
|
26
42
|
"help.reportIssue": "Сообщить о проблеме",
|
|
27
43
|
"help.title": "Помощь",
|
|
28
44
|
"help.visitWebsite": "Посетить сайт",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "İşlem sırasında bir hata oluştu, lütfen daha sonra tekrar deneyin",
|
|
12
12
|
"error.message": "Hata oluştu",
|
|
13
13
|
"error.title": "Hata",
|
|
14
|
+
"fullDiskAccess.message": "LobeHub, dosyaları okuyabilmek ve bilgi tabanı özelliklerini etkinleştirebilmek için Tam Disk Erişimi gerektirir. Lütfen Sistem Ayarları'ndan erişim izni verin.",
|
|
15
|
+
"fullDiskAccess.openSettings": "Ayarları Aç",
|
|
16
|
+
"fullDiskAccess.skip": "Daha Sonra",
|
|
17
|
+
"fullDiskAccess.title": "Tam Disk Erişimi Gerekiyor",
|
|
14
18
|
"update.downloadAndInstall": "İndir ve Yükle",
|
|
15
19
|
"update.downloadComplete": "İndirme tamamlandı",
|
|
16
20
|
"update.downloadCompleteMessage": "Güncelleme paketi indirildi, hemen yüklemek ister misiniz?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "Yeni sürüm bulundu",
|
|
21
25
|
"update.newVersionAvailable": "Yeni sürüm bulundu: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "Bu sürümü atla"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "Geliştirici Paneli",
|
|
4
4
|
"dev.devTools": "Geliştirici Araçları",
|
|
5
5
|
"dev.forceReload": "Zorla Yenile",
|
|
6
|
+
"dev.openSettingsFile": "Ayarlar Dosyasını Aç",
|
|
6
7
|
"dev.openStore": "Depolama dosyasını aç",
|
|
8
|
+
"dev.openUpdaterCacheDir": "Güncelleyici Önbelleğini Aç",
|
|
9
|
+
"dev.openUserDataDir": "Kullanıcı Verilerini Aç",
|
|
10
|
+
"dev.permissions.accessibility.request": "Erişilebilirlik İzni İste",
|
|
11
|
+
"dev.permissions.fullDisk.open": "Tam Disk Erişimi Ayarlarını Aç",
|
|
12
|
+
"dev.permissions.fullDisk.request": "Tam Disk Erişimi İzni İste",
|
|
13
|
+
"dev.permissions.microphone.request": "Mikrofon İzni İste",
|
|
14
|
+
"dev.permissions.notification.request": "Bildirim İzni İste",
|
|
15
|
+
"dev.permissions.screen.request": "Ekran Kaydı İzni İste",
|
|
16
|
+
"dev.permissions.title": "İzinler",
|
|
7
17
|
"dev.refreshMenu": "Menüyü yenile",
|
|
8
18
|
"dev.reload": "Yenile",
|
|
19
|
+
"dev.simulateAutoDownload": "Otomatik İndirmeyi Simüle Et (3s)",
|
|
20
|
+
"dev.simulateDownloadComplete": "İndirme Tamamlanmasını Simüle Et",
|
|
21
|
+
"dev.simulateDownloadProgress": "İndirme İlerlemesini Simüle Et",
|
|
9
22
|
"dev.title": "Geliştir",
|
|
23
|
+
"dev.updaterSimulation": "Güncelleyici Simülasyonu",
|
|
10
24
|
"edit.copy": "Kopyala",
|
|
11
25
|
"edit.cut": "Kes",
|
|
12
26
|
"edit.delete": "Sil",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "Dosya",
|
|
24
38
|
"help.about": "Hakkında",
|
|
25
39
|
"help.githubRepo": "GitHub Deposu",
|
|
40
|
+
"help.openConfigDir": "Yapılandırma Dizini Aç",
|
|
41
|
+
"help.openLogsDir": "Kayıtlar Dizini Aç",
|
|
26
42
|
"help.reportIssue": "Sorun Bildir",
|
|
27
43
|
"help.title": "Yardım",
|
|
28
44
|
"help.visitWebsite": "Resmi Web Sitesini Ziyaret Et",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "Đã xảy ra lỗi trong quá trình thực hiện, vui lòng thử lại sau",
|
|
12
12
|
"error.message": "Đã xảy ra lỗi",
|
|
13
13
|
"error.title": "Lỗi",
|
|
14
|
+
"fullDiskAccess.message": "LobeHub cần quyền truy cập toàn bộ đĩa để đọc tệp và kích hoạt các tính năng cơ sở tri thức. Vui lòng cấp quyền truy cập trong Cài đặt Hệ thống.",
|
|
15
|
+
"fullDiskAccess.openSettings": "Mở Cài đặt",
|
|
16
|
+
"fullDiskAccess.skip": "Để sau",
|
|
17
|
+
"fullDiskAccess.title": "Yêu cầu quyền truy cập toàn bộ đĩa",
|
|
14
18
|
"update.downloadAndInstall": "Tải xuống và cài đặt",
|
|
15
19
|
"update.downloadComplete": "Tải xuống hoàn tất",
|
|
16
20
|
"update.downloadCompleteMessage": "Gói cập nhật đã tải xuống hoàn tất, có muốn cài đặt ngay không?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "Phát hiện phiên bản mới",
|
|
21
25
|
"update.newVersionAvailable": "Phát hiện phiên bản mới: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "Bỏ qua phiên bản này"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "Bảng điều khiển nhà phát triển",
|
|
4
4
|
"dev.devTools": "Công cụ phát triển",
|
|
5
5
|
"dev.forceReload": "Tải lại cưỡng bức",
|
|
6
|
+
"dev.openSettingsFile": "Mở Tệp Cài Đặt",
|
|
6
7
|
"dev.openStore": "Mở tệp lưu trữ",
|
|
8
|
+
"dev.openUpdaterCacheDir": "Mở Bộ Nhớ Đệm Cập Nhật",
|
|
9
|
+
"dev.openUserDataDir": "Mở Thư Mục Dữ Liệu Người Dùng",
|
|
10
|
+
"dev.permissions.accessibility.request": "Yêu Cầu Quyền Truy Cập Trợ Năng",
|
|
11
|
+
"dev.permissions.fullDisk.open": "Mở Cài Đặt Truy Cập Ổ Đĩa Toàn Bộ",
|
|
12
|
+
"dev.permissions.fullDisk.request": "Yêu Cầu Quyền Truy Cập Ổ Đĩa Toàn Bộ",
|
|
13
|
+
"dev.permissions.microphone.request": "Yêu Cầu Quyền Sử Dụng Micro",
|
|
14
|
+
"dev.permissions.notification.request": "Yêu Cầu Quyền Thông Báo",
|
|
15
|
+
"dev.permissions.screen.request": "Yêu Cầu Quyền Ghi Màn Hình",
|
|
16
|
+
"dev.permissions.title": "Quyền Truy Cập",
|
|
7
17
|
"dev.refreshMenu": "Làm mới menu",
|
|
8
18
|
"dev.reload": "Tải lại",
|
|
19
|
+
"dev.simulateAutoDownload": "Mô Phỏng Tải Tự Động (3 giây)",
|
|
20
|
+
"dev.simulateDownloadComplete": "Mô Phỏng Hoàn Thành Tải",
|
|
21
|
+
"dev.simulateDownloadProgress": "Mô Phỏng Tiến Trình Tải",
|
|
9
22
|
"dev.title": "Phát triển",
|
|
23
|
+
"dev.updaterSimulation": "Mô Phỏng Trình Cập Nhật",
|
|
10
24
|
"edit.copy": "Sao chép",
|
|
11
25
|
"edit.cut": "Cắt",
|
|
12
26
|
"edit.delete": "Xóa",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "Tập tin",
|
|
24
38
|
"help.about": "Về",
|
|
25
39
|
"help.githubRepo": "Kho lưu trữ GitHub",
|
|
40
|
+
"help.openConfigDir": "Mở Thư Mục Cấu Hình",
|
|
41
|
+
"help.openLogsDir": "Mở Thư Mục Nhật Ký",
|
|
26
42
|
"help.reportIssue": "Báo cáo sự cố",
|
|
27
43
|
"help.title": "Trợ giúp",
|
|
28
44
|
"help.visitWebsite": "Truy cập trang web",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"error.detail": "操作過程中發生錯誤,請稍後重試",
|
|
12
12
|
"error.message": "發生錯誤",
|
|
13
13
|
"error.title": "錯誤",
|
|
14
|
+
"fullDiskAccess.message": "LobeHub 需要完整磁碟存取權限以讀取檔案並啟用知識庫功能。請在系統設定中授予存取權限。",
|
|
15
|
+
"fullDiskAccess.openSettings": "開啟設定",
|
|
16
|
+
"fullDiskAccess.skip": "稍後",
|
|
17
|
+
"fullDiskAccess.title": "需要完整磁碟存取權限",
|
|
14
18
|
"update.downloadAndInstall": "下載並安裝",
|
|
15
19
|
"update.downloadComplete": "下載完成",
|
|
16
20
|
"update.downloadCompleteMessage": "更新包已下載完成,是否立即安裝?",
|
|
@@ -20,4 +24,4 @@
|
|
|
20
24
|
"update.newVersion": "發現新版本",
|
|
21
25
|
"update.newVersionAvailable": "發現新版本: {{version}}",
|
|
22
26
|
"update.skipThisVersion": "跳過此版本"
|
|
23
|
-
}
|
|
27
|
+
}
|
|
@@ -3,10 +3,24 @@
|
|
|
3
3
|
"dev.devPanel": "開發者面板",
|
|
4
4
|
"dev.devTools": "開發者工具",
|
|
5
5
|
"dev.forceReload": "強制重新載入",
|
|
6
|
+
"dev.openSettingsFile": "開啟設定檔案",
|
|
6
7
|
"dev.openStore": "打開儲存檔案",
|
|
8
|
+
"dev.openUpdaterCacheDir": "開啟更新快取資料夾",
|
|
9
|
+
"dev.openUserDataDir": "開啟使用者資料夾",
|
|
10
|
+
"dev.permissions.accessibility.request": "請求輔助功能權限",
|
|
11
|
+
"dev.permissions.fullDisk.open": "開啟完整磁碟存取設定",
|
|
12
|
+
"dev.permissions.fullDisk.request": "請求完整磁碟存取權限",
|
|
13
|
+
"dev.permissions.microphone.request": "請求麥克風權限",
|
|
14
|
+
"dev.permissions.notification.request": "請求通知權限",
|
|
15
|
+
"dev.permissions.screen.request": "請求螢幕錄製權限",
|
|
16
|
+
"dev.permissions.title": "權限",
|
|
7
17
|
"dev.refreshMenu": "刷新選單",
|
|
8
18
|
"dev.reload": "重新載入",
|
|
19
|
+
"dev.simulateAutoDownload": "模擬自動下載(3秒)",
|
|
20
|
+
"dev.simulateDownloadComplete": "模擬下載完成",
|
|
21
|
+
"dev.simulateDownloadProgress": "模擬下載進度",
|
|
9
22
|
"dev.title": "開發",
|
|
23
|
+
"dev.updaterSimulation": "更新模擬",
|
|
10
24
|
"edit.copy": "複製",
|
|
11
25
|
"edit.cut": "剪下",
|
|
12
26
|
"edit.delete": "刪除",
|
|
@@ -23,6 +37,8 @@
|
|
|
23
37
|
"file.title": "檔案",
|
|
24
38
|
"help.about": "關於",
|
|
25
39
|
"help.githubRepo": "GitHub 倉庫",
|
|
40
|
+
"help.openConfigDir": "開啟設定目錄",
|
|
41
|
+
"help.openLogsDir": "開啟日誌目錄",
|
|
26
42
|
"help.reportIssue": "報告問題",
|
|
27
43
|
"help.title": "幫助",
|
|
28
44
|
"help.visitWebsite": "訪問網站",
|
|
@@ -45,6 +45,21 @@ bun run build
|
|
|
45
45
|
bun run build-local
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
如果需要模拟 CI 的渠道构建(Nightly / Beta / Stable),可以使用根目录脚本:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# 回到仓库根目录
|
|
52
|
+
cd ../../..
|
|
53
|
+
|
|
54
|
+
# 指定渠道与版本号
|
|
55
|
+
npm run desktop:build-channel -- nightly 2.1.0-nightly.1
|
|
56
|
+
npm run desktop:build-channel -- beta 2.1.0-beta.1
|
|
57
|
+
npm run desktop:build-channel -- stable 2.1.0
|
|
58
|
+
|
|
59
|
+
# 保留 package.json 与 icon 变更
|
|
60
|
+
npm run desktop:build-channel -- stable 2.1.0 --keep-changes
|
|
61
|
+
```
|
|
62
|
+
|
|
48
63
|
### 3. 生成更新文件
|
|
49
64
|
|
|
50
65
|
```bash
|
|
@@ -163,13 +163,14 @@ export class BackendProxyProtocolManager {
|
|
|
163
163
|
responseHeaders.set('Access-Control-Allow-Headers', '*');
|
|
164
164
|
responseHeaders.set('X-Src-Url', rewrittenUrl);
|
|
165
165
|
|
|
166
|
-
// Handle 401 Unauthorized: notify authorization required
|
|
167
|
-
//
|
|
168
|
-
//
|
|
169
|
-
// 2. Token has expired
|
|
170
|
-
// 3. Token has been revoked server-side
|
|
166
|
+
// Handle 401 Unauthorized: only notify authorization required for real auth failures
|
|
167
|
+
// The server sets X-Auth-Required header for real authentication failures (e.g., token expired)
|
|
168
|
+
// Other 401 errors (e.g., invalid API keys) should not trigger re-authentication
|
|
171
169
|
if (upstreamResponse.status === 401) {
|
|
172
|
-
|
|
170
|
+
const authRequired = upstreamResponse.headers.get('X-Auth-Required') === 'true';
|
|
171
|
+
if (authRequired) {
|
|
172
|
+
this.notifyAuthorizationRequired();
|
|
173
|
+
}
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
return new Response(upstreamResponse.body, {
|
|
@@ -113,6 +113,26 @@ export class UpdaterManager {
|
|
|
113
113
|
|
|
114
114
|
logger.info(`${manual ? 'Manually checking' : 'Auto checking'} for updates...`);
|
|
115
115
|
|
|
116
|
+
// Log detailed updater configuration for debugging
|
|
117
|
+
const inferredChannel =
|
|
118
|
+
autoUpdater.channel ||
|
|
119
|
+
(autoUpdater.currentVersion?.prerelease?.[0]
|
|
120
|
+
? String(autoUpdater.currentVersion.prerelease[0])
|
|
121
|
+
: null);
|
|
122
|
+
|
|
123
|
+
logger.info('[Updater Config] Channel:', autoUpdater.channel);
|
|
124
|
+
logger.info('[Updater Config] inferredChannel:', inferredChannel);
|
|
125
|
+
logger.info('[Updater Config] allowPrerelease:', autoUpdater.allowPrerelease);
|
|
126
|
+
logger.info('[Updater Config] currentVersion:', autoUpdater.currentVersion?.version);
|
|
127
|
+
logger.info('[Updater Config] allowDowngrade:', autoUpdater.allowDowngrade);
|
|
128
|
+
logger.info('[Updater Config] autoDownload:', autoUpdater.autoDownload);
|
|
129
|
+
logger.info('[Updater Config] forceDevUpdateConfig:', autoUpdater.forceDevUpdateConfig);
|
|
130
|
+
logger.info('[Updater Config] Build channel from config:', channel);
|
|
131
|
+
logger.info('[Updater Config] isStableChannel:', isStableChannel);
|
|
132
|
+
logger.info('[Updater Config] UPDATE_SERVER_URL:', UPDATE_SERVER_URL || '(not set)');
|
|
133
|
+
logger.info('[Updater Config] usingFallbackProvider:', this.usingFallbackProvider);
|
|
134
|
+
logger.info('[Updater Config] GitHub config:', JSON.stringify(githubConfig));
|
|
135
|
+
|
|
116
136
|
// If manual check, notify renderer process about check start
|
|
117
137
|
if (manual) {
|
|
118
138
|
this.mainWindow.broadcast('manualUpdateCheckStart');
|
|
@@ -322,7 +342,7 @@ export class UpdaterManager {
|
|
|
322
342
|
/**
|
|
323
343
|
* Configure update provider based on channel
|
|
324
344
|
* - Stable channel + UPDATE_SERVER_URL: Use generic HTTP provider (S3) as primary, channel=stable
|
|
325
|
-
* - Other channels (beta/nightly) or no S3: Use GitHub provider, channel
|
|
345
|
+
* - Other channels (beta/nightly) or no S3: Use GitHub provider, channel unset (defaults to latest)
|
|
326
346
|
*
|
|
327
347
|
* Important: S3 has stable-mac.yml, GitHub has latest-mac.yml
|
|
328
348
|
*/
|
|
@@ -340,12 +360,15 @@ export class UpdaterManager {
|
|
|
340
360
|
url: UPDATE_SERVER_URL,
|
|
341
361
|
});
|
|
342
362
|
} else {
|
|
343
|
-
//
|
|
344
|
-
//
|
|
345
|
-
|
|
363
|
+
// GitHub provider:
|
|
364
|
+
// - stable: use default latest-mac.yml (GitHub uploads latest* only)
|
|
365
|
+
// - beta/nightly: leave channel unset so prerelease matching uses tag (e.g. next)
|
|
346
366
|
const reason = this.usingFallbackProvider ? '(fallback from S3)' : '';
|
|
347
367
|
logger.info(`Configuring GitHub provider for ${channel} channel ${reason}`);
|
|
348
|
-
|
|
368
|
+
if (autoUpdater.channel !== null) {
|
|
369
|
+
autoUpdater.channel = null;
|
|
370
|
+
}
|
|
371
|
+
logger.info('Channel left unset (defaults to latest-mac.yml for GitHub)');
|
|
349
372
|
|
|
350
373
|
// For beta/nightly channels, we need prerelease versions
|
|
351
374
|
const needPrerelease = channel !== 'stable';
|
|
@@ -406,6 +429,8 @@ export class UpdaterManager {
|
|
|
406
429
|
|
|
407
430
|
autoUpdater.on('checking-for-update', () => {
|
|
408
431
|
logger.info('[Updater] Checking for update...');
|
|
432
|
+
logger.info('[Updater] Current channel:', autoUpdater.channel);
|
|
433
|
+
logger.info('[Updater] Current allowPrerelease:', autoUpdater.allowPrerelease);
|
|
409
434
|
});
|
|
410
435
|
|
|
411
436
|
autoUpdater.on('update-available', (info) => {
|
|
@@ -437,6 +462,14 @@ export class UpdaterManager {
|
|
|
437
462
|
|
|
438
463
|
autoUpdater.on('error', async (err) => {
|
|
439
464
|
logger.error('Error in auto-updater:', err);
|
|
465
|
+
// Log configuration state when error occurs for debugging
|
|
466
|
+
logger.error('[Updater Error Context] Channel:', autoUpdater.channel);
|
|
467
|
+
logger.error('[Updater Error Context] allowPrerelease:', autoUpdater.allowPrerelease);
|
|
468
|
+
logger.error('[Updater Error Context] Build channel from config:', channel);
|
|
469
|
+
logger.error('[Updater Error Context] isStableChannel:', isStableChannel);
|
|
470
|
+
logger.error('[Updater Error Context] UPDATE_SERVER_URL:', UPDATE_SERVER_URL || '(not set)');
|
|
471
|
+
logger.error('[Updater Error Context] usingFallbackProvider:', this.usingFallbackProvider);
|
|
472
|
+
logger.error('[Updater Error Context] GitHub config:', JSON.stringify(githubConfig));
|
|
440
473
|
|
|
441
474
|
// Try fallback to GitHub if S3 failed
|
|
442
475
|
if (!this.usingFallbackProvider && isStableChannel && UPDATE_SERVER_URL) {
|
|
@@ -7,8 +7,8 @@ import { getDesktopEnv } from '@/env';
|
|
|
7
7
|
electronLog.transports.file.level = 'info'; // Log info level and above in production
|
|
8
8
|
electronLog.transports.console.level =
|
|
9
9
|
getDesktopEnv().NODE_ENV === 'development'
|
|
10
|
-
? 'debug' //
|
|
11
|
-
: '
|
|
10
|
+
? 'debug' // 开发环境显示更多日志
|
|
11
|
+
: 'info'; // 生产环境显示 info 及以上级别
|
|
12
12
|
|
|
13
13
|
// Create namespaced debugger
|
|
14
14
|
export const createLogger = (namespace: string) => {
|
package/changelog/v1.json
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"children": {
|
|
4
|
+
"fixes": [
|
|
5
|
+
"Fix supervisor id issue."
|
|
6
|
+
]
|
|
7
|
+
},
|
|
8
|
+
"date": "2026-01-18",
|
|
9
|
+
"version": "2.0.0-next.306"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"children": {},
|
|
13
|
+
"date": "2026-01-18",
|
|
14
|
+
"version": "2.0.0-next.305"
|
|
15
|
+
},
|
|
2
16
|
{
|
|
3
17
|
"children": {
|
|
4
18
|
"improvements": [
|
|
@@ -8,7 +8,9 @@ import { CustomWorld } from '../../support/world';
|
|
|
8
8
|
// ============================================
|
|
9
9
|
|
|
10
10
|
Given('I wait for the page to fully load', async function (this: CustomWorld) {
|
|
11
|
-
|
|
11
|
+
// Use domcontentloaded instead of networkidle to avoid hanging on persistent connections
|
|
12
|
+
await this.page.waitForLoadState('domcontentloaded', { timeout: 10_000 });
|
|
13
|
+
// Short wait for React hydration
|
|
12
14
|
await this.page.waitForTimeout(1000);
|
|
13
15
|
});
|
|
14
16
|
|