feat(electron): add welcome page for meetings (#12042)

fix AF-2572

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/0e56b58a-97b4-4984-81fa-f8e45f8cc561.png)

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/97e3bb97-e326-48f6-8dd4-27734f583775.png)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced a Meetings welcome page with a beta disclaimer and "Get Started" flow.
  - Added separate toggles for AI auto summary and AI auto todo list in meeting settings.
  - Added "Beta" labels to relevant settings and sidebar items for clearer feature status.
  - Enhanced settings UI with improved headers, subtitles, and new styling.

- **Improvements**
  - Meeting settings now allow independent control over AI-generated summaries and todo lists.
  - Updated internationalization to support new meeting and AI transcription features, including richer prompts and hints.
  - Refined logic for enabling meeting recording, including improved permission handling.
  - Simplified transcription logic to rely solely on AI enablement flag.

- **Bug Fixes**
  - Fixed display and control of meeting settings based on beta disclaimer acceptance.

- **Chores**
  - Updated localization files and completeness percentages for several languages.
  - Removed deprecated feature flag for enabling meetings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
pengx17
2025-05-06 09:29:57 +00:00
parent f79dfe837f
commit 53c531c931
36 changed files with 1470 additions and 201 deletions

View File

@@ -14,7 +14,7 @@
"it-IT": 98,
"it": 1,
"ja": 98,
"ko": 57,
"ko": 56,
"pl": 98,
"pt-BR": 98,
"ru": 98,

View File

@@ -5389,6 +5389,19 @@ export function useAFFiNEI18N(): {
* `Meetings`
*/
["com.affine.settings.meetings"](): string;
/**
* `Beyond Recording
Your AI Meeting Assistant is Here`
*/
["com.affine.settings.meetings.setting.welcome"](): string;
/**
* `Native Audio Capture, No Bots Required - Direct from Your Mac to Meeting Intelligence.`
*/
["com.affine.settings.meetings.setting.prompt"](): string;
/**
* `Learn more`
*/
["com.affine.settings.meetings.setting.welcome.learn-more"](): string;
/**
* `Enable meeting notes`
*/
@@ -5418,13 +5431,21 @@ export function useAFFiNEI18N(): {
*/
["com.affine.settings.meetings.transcription.header"](): string;
/**
* `Auto transcription`
* `AI auto summary`
*/
["com.affine.settings.meetings.transcription.auto-transcription"](): string;
["com.affine.settings.meetings.transcription.auto-summary"](): string;
/**
* `Automatically transcribe the meeting notes.`
* `Automatically generate a summary of the meeting notes.`
*/
["com.affine.settings.meetings.transcription.auto-transcription.description"](): string;
["com.affine.settings.meetings.transcription.auto-summary.description"](): string;
/**
* `AI auto todo list`
*/
["com.affine.settings.meetings.transcription.auto-todo"](): string;
/**
* `Automatically generate a todo list of the meeting notes.`
*/
["com.affine.settings.meetings.transcription.auto-todo.description"](): string;
/**
* `Privacy & Security`
*/
@@ -8712,6 +8733,21 @@ export const TypedTrans: {
["1"]: JSX.Element;
["2"]: JSX.Element;
}>>;
/**
* `Meeting Features Available <strong>Free</strong> in Beta Phase`
*/
["com.affine.settings.meetings.setting.prompt.2"]: ComponentType<TypedTransProps<Readonly<{}>, {
strong: JSX.Element;
}>>;
/**
* `<strong>Where AI meets your meetings - affine your collaboration.</strong>
<ul><li>Extract Action Items & Key Insights Instantly</li><li>Smart Auto-Capture Starts With Your Meeting</li><li>Seamless Integration Across All Meeting Platforms</li><li>One Unified Space for All Your Meeting's Context</li><li>Your AI Assistant with Every Meeting Context Preserved</li></ul>`
*/
["com.affine.settings.meetings.setting.welcome.hints"]: ComponentType<TypedTransProps<Readonly<{}>, {
strong: JSX.Element;
ul: JSX.Element;
li: JSX.Element;
}>>;
/**
* `Utilize the meeting notes and AI summarization features provided by AFFiNE. <1>Discuss more in the community</1>.`
*/

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "افتح التسجيلات المحفوظة",
"com.affine.settings.meetings.record.open-saved-file.description": "افتح الملفات المسجلة المخزنة محليًا.",
"com.affine.settings.meetings.transcription.header": "النسخ باستخدام الذكاء الاصطناعي",
"com.affine.settings.meetings.transcription.auto-transcription": "النسخ التلقائي",
"com.affine.settings.meetings.transcription.auto-transcription.description": "انسخ ملاحظات الاجتماع تلقائيًا.",
"com.affine.settings.meetings.privacy.header": "الخصوصية والأمان",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "تسجيل الصوت من النظام والشاشة",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "تتطلب ميزة الاجتماع إذنًا للاستخدام.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Gespeicherte Aufzeichnungen öffnen",
"com.affine.settings.meetings.record.open-saved-file.description": "Öffne die lokal gespeicherten Aufzeichnungsdateien.",
"com.affine.settings.meetings.transcription.header": "Transkription mit KI",
"com.affine.settings.meetings.transcription.auto-transcription": "Automatische Transkription",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Automatische Transkription der Besprechungsnotizen.",
"com.affine.settings.meetings.privacy.header": "Datenschutz & Sicherheit",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Bildschirm- und Systemaudioaufnahme",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "Für die Nutzung der Besprechungsfunktion ist eine Berechtigung erforderlich.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Άνοιγμα αποθηκευμένων ηχογραφήσεων",
"com.affine.settings.meetings.record.open-saved-file.description": "Άνοιγμα τοπικά αποθηκευμένων αρχείων ηχογράφησης.",
"com.affine.settings.meetings.transcription.header": "Μεταγραφή με AI",
"com.affine.settings.meetings.transcription.auto-transcription": "Αυτόματη μεταγραφή",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Αυτόματη μεταγραφή των σημειώσεων συνάντησης.",
"com.affine.settings.meetings.privacy.header": "Απόρρητο & Ασφάλεια",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Ηχογράφηση Οθόνης & Συστήματος",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "Η δυνατότητα Συνάντηση απαιτεί άδεια για χρήση.",

View File

@@ -1344,6 +1344,11 @@
"com.affine.settings.translucent-style": "Translucent UI on the sidebar",
"com.affine.settings.translucent-style-description": "Use transparency effect on the sidebar.",
"com.affine.settings.meetings": "Meetings",
"com.affine.settings.meetings.setting.welcome": "Beyond Recording\nYour AI Meeting Assistant is Here",
"com.affine.settings.meetings.setting.prompt": "Native Audio Capture, No Bots Required - Direct from Your Mac to Meeting Intelligence.",
"com.affine.settings.meetings.setting.prompt.2": "Meeting Features Available <strong>Free</strong> in Beta Phase",
"com.affine.settings.meetings.setting.welcome.hints": "<strong>Where AI meets your meetings - affine your collaboration.</strong>\n<ul><li>Extract Action Items & Key Insights Instantly</li><li>Smart Auto-Capture Starts With Your Meeting</li><li>Seamless Integration Across All Meeting Platforms</li><li>One Unified Space for All Your Meeting's Context</li><li>Your AI Assistant with Every Meeting Context Preserved</li></ul>",
"com.affine.settings.meetings.setting.welcome.learn-more": "Learn more",
"com.affine.settings.meetings.enable.title": "Enable meeting notes",
"com.affine.settings.meetings.enable.description": "Utilize the meeting notes and AI summarization features provided by AFFiNE. <1>Discuss more in the community</1>.",
"com.affine.settings.meetings.record.header": "Meeting recording",
@@ -1352,8 +1357,10 @@
"com.affine.settings.meetings.record.open-saved-file": "Open saved recordings",
"com.affine.settings.meetings.record.open-saved-file.description": "Open the locally stored recording files.",
"com.affine.settings.meetings.transcription.header": "Transcription with AI",
"com.affine.settings.meetings.transcription.auto-transcription": "Auto transcription",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Automatically transcribe the meeting notes.",
"com.affine.settings.meetings.transcription.auto-summary": "AI auto summary",
"com.affine.settings.meetings.transcription.auto-summary.description": "Automatically generate a summary of the meeting notes.",
"com.affine.settings.meetings.transcription.auto-todo": "AI auto todo list",
"com.affine.settings.meetings.transcription.auto-todo.description": "Automatically generate a todo list of the meeting notes.",
"com.affine.settings.meetings.privacy.header": "Privacy & Security",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Screen & System audio recording",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "The Meeting feature requires permission to be used.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Abrir grabaciones guardadas",
"com.affine.settings.meetings.record.open-saved-file.description": "Abrir los archivos de grabación almacenados localmente.",
"com.affine.settings.meetings.transcription.header": "Transcripción con IA",
"com.affine.settings.meetings.transcription.auto-transcription": "Transcripción automática",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Transcribe automáticamente las notas de la reunión.",
"com.affine.settings.meetings.privacy.header": "Privacidad y seguridad",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Grabación de audio de pantalla y sistema",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "La función de reunión requiere permiso para ser utilizada.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "باز کردن ضبط‌های ذخیره‌شده",
"com.affine.settings.meetings.record.open-saved-file.description": "فایل‌های ضبط‌شده ذخیره‌شده به صورت محلی را باز کنید.",
"com.affine.settings.meetings.transcription.header": "متن با AI",
"com.affine.settings.meetings.transcription.auto-transcription": "متن خودکار",
"com.affine.settings.meetings.transcription.auto-transcription.description": "یادداشت‌های جلسه را به صورت خودکار رونوشت کنید.",
"com.affine.settings.meetings.privacy.header": "حریم خصوصی و امنیت",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "ضبط صدا و سیستم صفحه‌نمایش",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "برای استفاده از ویژگی جلسه به اجازه نیاز است.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Ouvrir les enregistrements sauvegardés",
"com.affine.settings.meetings.record.open-saved-file.description": "Ouvrez les fichiers d'enregistrement stockés localement.",
"com.affine.settings.meetings.transcription.header": "Transcription avec IA",
"com.affine.settings.meetings.transcription.auto-transcription": "Transcription automatique",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Transcrivez automatiquement les notes de la réunion.",
"com.affine.settings.meetings.privacy.header": "Confidentialité et sécurité",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Enregistrement de l'écran et de l'audio système",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "La fonction de réunion nécessite une autorisation pour être utilisée.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Apri registrazioni salvate",
"com.affine.settings.meetings.record.open-saved-file.description": "Apri i file di registrazione archiviati localmente.",
"com.affine.settings.meetings.transcription.header": "Trascrizione con AI",
"com.affine.settings.meetings.transcription.auto-transcription": "Trascrizione automatica",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Trascrivi automaticamente le note riunioni.",
"com.affine.settings.meetings.privacy.header": "Privacy & Sicurezza",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Registrazione audio schermo e sistema",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "La funzione Riunione richiede un permesso per essere utilizzata.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "保存された録音を開く",
"com.affine.settings.meetings.record.open-saved-file.description": "ローカルに保存された録音ファイルを開く。",
"com.affine.settings.meetings.transcription.header": "AIによる文字起こし",
"com.affine.settings.meetings.transcription.auto-transcription": "自動文字起こし",
"com.affine.settings.meetings.transcription.auto-transcription.description": "会議メモを自動的に文字起こしします。",
"com.affine.settings.meetings.privacy.header": "プライバシー & セキュリティ",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "画面 & システム音声録音",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "会議機能の利用には許可が必要です。",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Otwórz zapisane nagrania",
"com.affine.settings.meetings.record.open-saved-file.description": "Otwórz lokalnie zapisane pliki nagrań.",
"com.affine.settings.meetings.transcription.header": "Transkrypcja z AI",
"com.affine.settings.meetings.transcription.auto-transcription": "Automatyczna transkrypcja",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Automatycznie transkrybuj notatki ze spotkania.",
"com.affine.settings.meetings.privacy.header": "Prywatność i bezpieczeństwo",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Nagrywanie ekranu i dźwięku systemu",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "Funkcja spotkań wymaga zezwolenia na użycie.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Abrir gravações salvas",
"com.affine.settings.meetings.record.open-saved-file.description": "Abra os arquivos de gravação armazenados localmente.",
"com.affine.settings.meetings.transcription.header": "Transcrição com IA",
"com.affine.settings.meetings.transcription.auto-transcription": "Transcrição automática",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Transcreva automaticamente as notas da reunião.",
"com.affine.settings.meetings.privacy.header": "Privacidade & Segurança",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Gravação de áudio de tela & sistema",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "O recurso de reunião requer permissão para ser usado.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Открыть сохраненные записи",
"com.affine.settings.meetings.record.open-saved-file.description": "Открыть локально сохраненные файлы записи.",
"com.affine.settings.meetings.transcription.header": "Транскрипция с ИИ",
"com.affine.settings.meetings.transcription.auto-transcription": "Автотранскрипция",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Автоматическая транскрипция заметок к встречам.",
"com.affine.settings.meetings.privacy.header": "Конфиденциальность и безопасность",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Запись экрана и системного звука",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "Для использования функции встреч требуется разрешение.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Öppna sparade inspelningar",
"com.affine.settings.meetings.record.open-saved-file.description": "Öppna de lokalt sparade inspelningsfilerna.",
"com.affine.settings.meetings.transcription.header": "Transkription med AI",
"com.affine.settings.meetings.transcription.auto-transcription": "Automatisk transkription",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Transkribera mötesanteckningarna automatiskt.",
"com.affine.settings.meetings.privacy.header": "Sekretess & Säkerhet",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Skärm- & systemljudinspelning",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "Mötesfunktionen kräver tillstånd för att användas.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "Відкрити збережені записи",
"com.affine.settings.meetings.record.open-saved-file.description": "Відкрити локально збережені файли записів.",
"com.affine.settings.meetings.transcription.header": "Транскрипція з AI",
"com.affine.settings.meetings.transcription.auto-transcription": "Авто транскрипція",
"com.affine.settings.meetings.transcription.auto-transcription.description": "Автоматично транскрибувати замітки зустрічей.",
"com.affine.settings.meetings.privacy.header": "Конфіденційність та безпека",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "Запис екрану та системного аудіо",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "Для використання функції зустрічей потрібен дозвіл.",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "打开已保存的录制",
"com.affine.settings.meetings.record.open-saved-file.description": "打开本地存储的录制文件。",
"com.affine.settings.meetings.transcription.header": "AI转录",
"com.affine.settings.meetings.transcription.auto-transcription": "自动转录",
"com.affine.settings.meetings.transcription.auto-transcription.description": "自动转录会议记录。",
"com.affine.settings.meetings.privacy.header": "隐私 & 安全",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "屏幕和系统音频录制",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "会议功能需要权限才能使用。",

View File

@@ -1338,8 +1338,6 @@
"com.affine.settings.meetings.record.open-saved-file": "打開已保存的錄音",
"com.affine.settings.meetings.record.open-saved-file.description": "打開本地存儲的錄音文件。",
"com.affine.settings.meetings.transcription.header": "AI 轉錄",
"com.affine.settings.meetings.transcription.auto-transcription": "自動轉錄",
"com.affine.settings.meetings.transcription.auto-transcription.description": "自動轉錄會議筆記。",
"com.affine.settings.meetings.privacy.header": "隱私與安全",
"com.affine.settings.meetings.privacy.screen-system-audio-recording": "屏幕和系統音頻錄音",
"com.affine.settings.meetings.privacy.screen-system-audio-recording.description": "需要許可才能使用會議功能。",