diff --git a/package-lock.json b/package-lock.json index d6f9881df..f3cfcf8aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "GPL-3.0-only", "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.3.1", - "@comfyorg/comfyui-electron-types": "^0.4.9", + "@comfyorg/comfyui-electron-types": "^0.4.10", "@comfyorg/litegraph": "^0.8.60", "@primevue/themes": "^4.0.5", "@sentry/vue": "^8.48.0", @@ -1936,10 +1936,9 @@ "dev": true }, "node_modules/@comfyorg/comfyui-electron-types": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/@comfyorg/comfyui-electron-types/-/comfyui-electron-types-0.4.9.tgz", - "integrity": "sha512-040f9E3wE3Vhu+jG+w3hoN4fvw76lavA3hsZfcJ21pU+i/6aiqiopSXm76rppURf+Tk689dm+0FGq3V60rZ68Q==", - "license": "GPL-3.0-only" + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/@comfyorg/comfyui-electron-types/-/comfyui-electron-types-0.4.10.tgz", + "integrity": "sha512-UWBgyuWeV7vussYZVUYhCe0jj+XbIq2nglrCUy6IgFgXp9pbE8Ktg5D36WxE0RWj6SvVXErlCL9wWnMktaRbCA==" }, "node_modules/@comfyorg/litegraph": { "version": "0.8.60", diff --git a/package.json b/package.json index b611c5370..29ff2f5e3 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ }, "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.3.1", - "@comfyorg/comfyui-electron-types": "^0.4.9", + "@comfyorg/comfyui-electron-types": "^0.4.10", "@comfyorg/litegraph": "^0.8.60", "@primevue/themes": "^4.0.5", "@sentry/vue": "^8.48.0", diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 039d61daa..a6fda4cbb 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -70,7 +70,9 @@ "keybinding": "Keybinding", "upload": "Upload", "export": "Export", - "workflow": "Workflow" + "workflow": "Workflow", + "success": "Success", + "ok": "OK" }, "issueReport": { "submitErrorReport": "Submit Error Report (Optional)", @@ -182,6 +184,8 @@ "settings": { "autoUpdate": "Automatic Updates", "allowMetrics": "Usage Metrics", + "errorUpdatingConsent": "Error Updating Consent", + "errorUpdatingConsentDetail": "Failed to update metrics consent settings", "autoUpdateDescription": "Automatically download updates when they become available. You will be notified before updates are installed.", "allowMetricsDescription": "Help improve ComfyUI by sending anonymous usage metrics. No personal information or workflow content will be collected.", "learnMoreAboutData": "Learn more about data collection", @@ -204,7 +208,13 @@ } }, "customNodes": "Custom Nodes", - "customNodesDescription": "Reinstall custom nodes from existing ComfyUI installations." + "customNodesDescription": "Reinstall custom nodes from existing ComfyUI installations.", + "helpImprove": "Please help improve ComfyUI", + "moreInfo": "For more info, please read our", + "privacyPolicy": "privacy policy", + "metricsEnabled": "Metrics Enabled", + "metricsDisabled": "Metrics Disabled", + "updateConsent": "You previously opted in to reporting crashes. We are now tracking event-based metrics to help identify bugs and improve the app. No personal identifiable information is collected." }, "serverStart": { "reinstall": "Reinstall", diff --git a/src/locales/fr/main.json b/src/locales/fr/main.json index 9d02591d2..980e63b16 100644 --- a/src/locales/fr/main.json +++ b/src/locales/fr/main.json @@ -107,6 +107,7 @@ "noTasksFound": "Aucune tâche trouvée", "noTasksFoundMessage": "Il n'y a pas de tâches dans la file d'attente.", "noWorkflowsFound": "Aucun flux de travail trouvé.", + "ok": "OK", "openNewIssue": "Ouvrir un nouveau problème", "overwrite": "Écraser", "reconnected": "Reconnecté", @@ -129,6 +130,7 @@ "searchWorkflows": "Rechercher des flux de travail", "settings": "Paramètres", "showReport": "Afficher le rapport", + "success": "Succès", "systemInfo": "Informations système", "terminal": "Terminal", "upload": "Téléverser", @@ -186,6 +188,7 @@ "selectGpu": "Sélectionnez le GPU", "selectGpuDescription": "Sélectionnez le type de GPU que vous avez" }, + "helpImprove": "Veuillez aider à améliorer ComfyUI", "installLocation": "Emplacement d'installation", "installLocationDescription": "Sélectionnez le répertoire pour les données utilisateur de ComfyUI. Un environnement python sera installé à l'emplacement sélectionné. Veuillez vous assurer que le disque sélectionné a suffisamment d'espace (~15GB) restant.", "installLocationTooltip": "Répertoire des données utilisateur de ComfyUI. Stocke :\n- Environnement Python\n- Modèles\n- Nœuds personnalisés\n", @@ -197,13 +200,17 @@ "title": "Configuration manuelle", "virtualEnvironmentPath": "Chemin de l'environnement virtuel" }, + "metricsDisabled": "Métriques désactivées", + "metricsEnabled": "Métriques activées", "migrateFromExistingInstallation": "Migrer à partir d'une installation existante", "migration": "Migration", "migrationOptional": "La migration est facultative. Si vous n'avez pas d'installation existante, vous pouvez sauter cette étape.", "migrationSourcePathDescription": "Si vous avez une installation existante de ComfyUI, nous pouvons copier/lier vos fichiers utilisateur et modèles existants à la nouvelle installation. Votre installation existante de ComfyUI ne sera pas affectée.", + "moreInfo": "Pour plus d'informations, veuillez lire notre", "parentMissing": "Le chemin n'existe pas - créez d'abord le répertoire contenant", "pathExists": "Le répertoire existe déjà - veuillez vous assurer que vous avez sauvegardé toutes les données", "pathValidationFailed": "Échec de la validation du chemin", + "privacyPolicy": "politique de confidentialité", "selectItemsToMigrate": "Sélectionnez les éléments à migrer", "settings": { "allowMetrics": "Métriques d'utilisation", @@ -227,10 +234,13 @@ "whatWeCollect": "Ce que nous collectons :", "whatWeDoNotCollect": "Ce que nous ne collectons pas :" }, + "errorUpdatingConsent": "Erreur de mise à jour du consentement", + "errorUpdatingConsentDetail": "Échec de la mise à jour des paramètres de consentement aux métriques", "learnMoreAboutData": "En savoir plus sur la collecte de données" }, "systemLocations": "Emplacements système", - "unhandledError": "Erreur inconnue" + "unhandledError": "Erreur inconnue", + "updateConsent": "Vous avez précédemment accepté de signaler les plantages. Nous suivons maintenant des métriques basées sur les événements pour aider à identifier les bugs et améliorer l'application. Aucune information personnelle identifiable n'est collectée." }, "issueReport": { "contactFollowUp": "Contactez-moi pour un suivi", diff --git a/src/locales/ja/main.json b/src/locales/ja/main.json index 88f024702..ca9064bde 100644 --- a/src/locales/ja/main.json +++ b/src/locales/ja/main.json @@ -107,6 +107,7 @@ "noTasksFound": "タスクが見つかりません", "noTasksFoundMessage": "キューにタスクがありません。", "noWorkflowsFound": "ワークフローが見つかりません。", + "ok": "OK", "openNewIssue": "新しい問題を開く", "overwrite": "上書き", "reconnected": "再接続されました", @@ -129,6 +130,7 @@ "searchWorkflows": "ワークフローを検索", "settings": "設定", "showReport": "レポートを表示", + "success": "成功", "systemInfo": "システム情報", "terminal": "ターミナル", "upload": "アップロード", @@ -186,6 +188,7 @@ "selectGpu": "GPUを選択", "selectGpuDescription": "所有しているGPUのタイプを選択してください" }, + "helpImprove": "ComfyUIの改善にご協力ください", "installLocation": "インストール先", "installLocationDescription": "ComfyUIのユーザーデータを保存するディレクトリを選択してください。Python環境が選択した場所にインストールされます。選択したディスクに約15GBの空き容量が必要です。", "installLocationTooltip": "ComfyUIのユーザーデータディレクトリ。保存内容:\n- Python環境\n- モデル\n- カスタムノード\n", @@ -197,13 +200,17 @@ "title": "マニュアル設定", "virtualEnvironmentPath": "仮想環境のパス" }, + "metricsDisabled": "メトリクス無効", + "metricsEnabled": "メトリクス有効", "migrateFromExistingInstallation": "既存のインストールから移行", "migration": "移行", "migrationOptional": "移行は任意です。既存のインストールがない場合、このステップをスキップできます。", "migrationSourcePathDescription": "既存のComfyUIインストールがある場合、既存のユーザーファイルとモデルを新しいインストールにコピー/リンクすることができます。既存のComfyUIインストールは影響を受けません。", + "moreInfo": "詳細は、私たちの", "parentMissing": "パスが存在しません - 最初に含まれるディレクトリを作成してください", "pathExists": "ディレクトリはすでに存在します - すべてのデータをバックアップしたことを確認してください", "pathValidationFailed": "パスの検証に失敗しました", + "privacyPolicy": "プライバシーポリシー", "selectItemsToMigrate": "移行する項目を選択", "settings": { "allowMetrics": "使用状況のメトリクス", @@ -227,10 +234,13 @@ "whatWeCollect": "収集内容:", "whatWeDoNotCollect": "収集しない内容:" }, + "errorUpdatingConsent": "同意の更新エラー", + "errorUpdatingConsentDetail": "メトリクスの同意設定の更新に失敗しました", "learnMoreAboutData": "データ収集の詳細を見る" }, "systemLocations": "システムの場所", - "unhandledError": "未知のエラー" + "unhandledError": "未知のエラー", + "updateConsent": "以前はクラッシュの報告に同意していました。現在、バグの特定とアプリの改善を助けるためにイベントベースのメトリクスを追跡しています。個人を特定できる情報は収集されません。" }, "issueReport": { "contactFollowUp": "フォローアップのために私に連絡する", diff --git a/src/locales/ko/main.json b/src/locales/ko/main.json index 78ffd2536..69d625233 100644 --- a/src/locales/ko/main.json +++ b/src/locales/ko/main.json @@ -107,6 +107,7 @@ "noTasksFound": "작업을 찾을 수 없습니다.", "noTasksFoundMessage": "대기열에 작업이 없습니다.", "noWorkflowsFound": "워크플로를 찾을 수 없습니다.", + "ok": "확인", "openNewIssue": "새 문제 열기", "overwrite": "덮어쓰기", "reconnected": "재연결됨", @@ -129,6 +130,7 @@ "searchWorkflows": "워크플로 검색", "settings": "설정", "showReport": "보고서 보기", + "success": "성공", "systemInfo": "시스템 정보", "terminal": "터미널", "upload": "업로드", @@ -186,6 +188,7 @@ "selectGpu": "GPU 선택", "selectGpuDescription": "소유한 GPU 유형을 선택하세요" }, + "helpImprove": "ComfyUI 개선에 도움을 주세요", "installLocation": "설치 위치", "installLocationDescription": "ComfyUI의 사용자 데이터 디렉토리를 선택하십시오. 선택한 위치에 Python 환경이 설치됩니다. 선택한 디스크에 충분한 공간(~15GB)이 남아 있는지 확인하십시오.", "installLocationTooltip": "ComfyUI의 사용자 데이터 디렉토리. 저장소:\n- Python 환경\n- 모델\n- 사용자 정의 노드\n", @@ -197,13 +200,17 @@ "title": "수동 구성", "virtualEnvironmentPath": "가상 환경 경로" }, + "metricsDisabled": "메트릭스 비활성화", + "metricsEnabled": "메트릭스 활성화", "migrateFromExistingInstallation": "기존 설치에서 마이그레이션", "migration": "마이그레이션", "migrationOptional": "마이그레이션은 선택 사항입니다. 기존에 설치된 것이 없다면, 이 단계를 건너뛸 수 있습니다.", "migrationSourcePathDescription": "기존의 ComfyUI 설치가 있으면, 기존 사용자 파일과 모델을 새 설치로 복사/링크할 수 있습니다. 기존의 ComfyUI 설치는 영향을 받지 않습니다.", + "moreInfo": "자세한 정보는 우리의", "parentMissing": "경로가 존재하지 않습니다 - 먼저 포함하는 디렉토리를 생성하세요", "pathExists": "디렉토리가 이미 존재합니다 - 모든 데이터를 백업했는지 확인해 주세요", "pathValidationFailed": "경로 유효성 검사 실패", + "privacyPolicy": "개인정보 보호정책", "selectItemsToMigrate": "마이그레이션 항목 선택", "settings": { "allowMetrics": "사용 통계", @@ -227,10 +234,13 @@ "whatWeCollect": "수집하는 정보:", "whatWeDoNotCollect": "수집하지 않는 정보:" }, + "errorUpdatingConsent": "동의 업데이트 오류", + "errorUpdatingConsentDetail": "메트릭스 동의 설정 업데이트에 실패했습니다", "learnMoreAboutData": "데이터 수집에 대해 더 알아보기" }, "systemLocations": "시스템 위치", - "unhandledError": "알 수 없는 오류" + "unhandledError": "알 수 없는 오류", + "updateConsent": "당신은 이전에 충돌 보고에 동의했습니다. 이제 버그를 식별하고 앱을 개선하기 위해 이벤트 기반 메트릭스를 추적하고 있습니다. 개인 식별 정보는 수집하지 않습니다." }, "issueReport": { "contactFollowUp": "추적 조사를 위해 연락해 주세요", diff --git a/src/locales/ru/main.json b/src/locales/ru/main.json index 2a7aed1eb..baaff3b58 100644 --- a/src/locales/ru/main.json +++ b/src/locales/ru/main.json @@ -107,6 +107,7 @@ "noTasksFound": "Задачи не найдены", "noTasksFoundMessage": "В очереди нет задач.", "noWorkflowsFound": "Рабочие процессы не найдены.", + "ok": "ОК", "openNewIssue": "Открыть новую проблему", "overwrite": "Перезаписать", "reconnected": "Переподключено", @@ -129,6 +130,7 @@ "searchWorkflows": "Поиск рабочих процессов", "settings": "Настройки", "showReport": "Показать отчет", + "success": "Успех", "systemInfo": "Информация о системе", "terminal": "Терминал", "upload": "Загрузить", @@ -186,6 +188,7 @@ "selectGpu": "Выберите GPU", "selectGpuDescription": "Выберите тип GPU, который у вас есть" }, + "helpImprove": "Пожалуйста, помогите улучшить ComfyUI", "installLocation": "Место установки", "installLocationDescription": "Выберите директорию для пользовательских данных ComfyUI. В выбранном месте будет установлена среда Python. Пожалуйста, убедитесь, что на выбранном диске достаточно места (~15 ГБ).", "installLocationTooltip": "Директория пользовательских данных ComfyUI. Хранит:\n- Среда Python\n- Модели\n- Пользовательские узлы\n", @@ -197,13 +200,17 @@ "title": "Ручная Конфигурация", "virtualEnvironmentPath": "Путь виртуального окружения" }, + "metricsDisabled": "Метрики отключены", + "metricsEnabled": "Метрики включены", "migrateFromExistingInstallation": "Миграция из существующей установки", "migration": "Миграция", "migrationOptional": "Миграция является необязательной. Если у вас нет существующей установки, вы можете пропустить этот шаг.", "migrationSourcePathDescription": "Если у вас уже есть установка ComfyUI, мы можем скопировать/связать ваши существующие пользовательские файлы и модели с новой установкой. Ваша существующая установка ComfyUI не будет затронута.", + "moreInfo": "Для получения дополнительной информации, пожалуйста, прочтите нашу", "parentMissing": "Путь не существует - сначала создайте родительский каталог", "pathExists": "Директория уже существует - пожалуйста, убедитесь, что вы сделали резервное копирование всех данных", "pathValidationFailed": "Не удалось проверить путь", + "privacyPolicy": "политику конфиденциальности", "selectItemsToMigrate": "Выберите элементы для миграции", "settings": { "allowMetrics": "Метрики использования", @@ -227,10 +234,13 @@ "whatWeCollect": "Что мы собираем:", "whatWeDoNotCollect": "Что мы не собираем:" }, + "errorUpdatingConsent": "Ошибка обновления согласия", + "errorUpdatingConsentDetail": "Не удалось обновить настройки согласия на метрики", "learnMoreAboutData": "Узнать больше о сборе данных" }, "systemLocations": "Системные места", - "unhandledError": "Неизвестная ошибка" + "unhandledError": "Неизвестная ошибка", + "updateConsent": "Вы ранее согласились на отчетность об ошибках. Теперь мы отслеживаем событийные метрики, чтобы помочь выявить ошибки и улучшить приложение. Личная идентифицируемая информация не собирается." }, "issueReport": { "contactFollowUp": "Свяжитесь со мной для уточнения", diff --git a/src/locales/zh/main.json b/src/locales/zh/main.json index 43a2bd563..26dc4f7b6 100644 --- a/src/locales/zh/main.json +++ b/src/locales/zh/main.json @@ -107,6 +107,7 @@ "noTasksFound": "未找到任务", "noTasksFoundMessage": "队列中没有任务。", "noWorkflowsFound": "未找到工作流。", + "ok": "确定", "openNewIssue": "打开新问题", "overwrite": "覆盖", "reconnected": "已重新连接", @@ -129,6 +130,7 @@ "searchWorkflows": "搜索工作流", "settings": "设置", "showReport": "显示报告", + "success": "成功", "systemInfo": "系统信息", "terminal": "终端", "upload": "上传", @@ -186,6 +188,7 @@ "selectGpu": "选择 GPU", "selectGpuDescription": "选择你拥有的 GPU 类型" }, + "helpImprove": "请帮助我们改进ComfyUI", "installLocation": "安装位置", "installLocationDescription": "选择 ComfyUI 用户数据的存放目录。将安装一个 Python 环境到所选位置。请确保所选磁盘有足够的空间(约 15GB)。", "installLocationTooltip": "ComfyUI 的用户数据目录。存储:\n- Python 环境\n- 模型\n- 自定义节点\n", @@ -197,13 +200,17 @@ "title": "手动配置", "virtualEnvironmentPath": "虚拟环境路径" }, + "metricsDisabled": "禁用度量", + "metricsEnabled": "启用度量", "migrateFromExistingInstallation": "从现有安装迁移", "migration": "迁移", "migrationOptional": "迁移是可选的。如果您之前没有安装过 ComfyUI,可以跳过此步骤。", "migrationSourcePathDescription": "如果您已有现有的ComfyUI安装,我们可以复制/链接您现有的用户文件和模型到新的安装。您现有的ComfyUI安装将不会受到影响。", + "moreInfo": "有关更多信息,请阅读我们的", "parentMissing": "路径不存在 - 请先创建包含该路径的目录", "pathExists": "目录已存在 - 请确保您已备份全部数据", "pathValidationFailed": "路径验证失败", + "privacyPolicy": "隐私政策", "selectItemsToMigrate": "选择要迁移的项目", "settings": { "allowMetrics": "使用情况指标", @@ -227,10 +234,13 @@ "whatWeCollect": "我们收集的内容:", "whatWeDoNotCollect": "我们不收集的内容:" }, + "errorUpdatingConsent": "更新同意错误", + "errorUpdatingConsentDetail": "无法更新度量同意设置", "learnMoreAboutData": "了解更多关于数据收集的信息" }, "systemLocations": "系统位置", - "unhandledError": "未知错误" + "unhandledError": "未知错误", + "updateConsent": "您之前选择了报告崩溃。我们现在正在跟踪基于事件的度量,以帮助识别错误并改进应用程序。我们不收集任何个人可识别信息。" }, "issueReport": { "contactFollowUp": "跟进联系我", diff --git a/src/router.ts b/src/router.ts index 270647df9..b9b9f2494 100644 --- a/src/router.ts +++ b/src/router.ts @@ -93,6 +93,12 @@ const router = createRouter({ component: () => import('@/views/ManualConfigurationView.vue'), beforeEnter: guardElectronAccess }, + { + path: '/metrics-consent', + name: 'MetricsConsentView', + component: () => import('@/views/MetricsConsentView.vue'), + beforeEnter: guardElectronAccess + }, { path: 'desktop-start', name: 'DesktopStartView', diff --git a/src/views/MetricsConsentView.vue b/src/views/MetricsConsentView.vue new file mode 100644 index 000000000..152e664c6 --- /dev/null +++ b/src/views/MetricsConsentView.vue @@ -0,0 +1,83 @@ + + + diff --git a/vite.electron.config.mts b/vite.electron.config.mts index be09952ab..c606ce669 100644 --- a/vite.electron.config.mts +++ b/vite.electron.config.mts @@ -67,7 +67,8 @@ const mockElectronAPI: Plugin = { incrementUserProperty: (property, value) => { console.log('incrementUserProperty', property, value) } - } + }, + setMetricsConsent: (consent) => {} };` } ]