Bladeren bron

Rename Ai Assistant to AI Companion and default filter to today.

Unify user-facing labels in the sidebar, status menu, permissions, and website, and show today's recordings first on the AI Companion page.

Co-authored-by: Cursor <cursoragent@cursor.com>
huzaifahayat12 2 maanden geleden
bovenliggende
commit
f4abc060a8
6 gewijzigde bestanden met toevoegingen van 23 en 23 verwijderingen
  1. 1 1
      website/index.html
  2. 2 2
      website/privacy.html
  3. 2 2
      website/terms.html
  4. 6 6
      zoom_app.xcodeproj/project.pbxproj
  5. 1 1
      zoom_app/AppDelegate.swift
  6. 11 11
      zoom_app/ViewController.swift

+ 1 - 1
website/index.html

@@ -46,7 +46,7 @@
   </div>
 
   <div class="zc-feature">
-    <h3>Ai Assistant</h3>
+    <h3>AI Companion</h3>
     <p>Record meetings locally, transcribe on your Mac, and turn conversations into notes.</p>
   </div>
 

+ 2 - 2
website/privacy.html

@@ -50,7 +50,7 @@
 
   <h2>1. Summary</h2>
   <p>
-    The App helps you manage Zoom meetings, schedule sessions, use desktop widgets, receive reminders, and optionally use an Ai Assistant to record audio locally, generate transcripts on your Mac, and create meeting notes. Most data stays on your device. Some features require sign-in with third-party services (Zoom, and optionally Google) or sending transcript text to OpenAI when you choose to generate notes.
+    The App helps you manage Zoom meetings, schedule sessions, use desktop widgets, receive reminders, and optionally use an AI Companion to record audio locally, generate transcripts on your Mac, and create meeting notes. Most data stays on your device. Some features require sign-in with third-party services (Zoom, and optionally Google) or sending transcript text to OpenAI when you choose to generate notes.
   </p>
 
   <h2>2. Information we collect and use</h2>
@@ -64,7 +64,7 @@
 
   <h3>2.2 Information collected automatically on your device</h3>
   <ul>
-    <li><strong>Local meeting recordings:</strong> If you use Ai Assistant, audio may be recorded and saved in the App’s sandboxed storage on your Mac (for example, under Application Support in the app container). Recordings are created only when you start recording.</li>
+    <li><strong>Local meeting recordings:</strong> If you use AI Companion, audio may be recorded and saved in the App’s sandboxed storage on your Mac (for example, under Application Support in the app container). Recordings are created only when you start recording.</li>
     <li><strong>Transcripts:</strong> Transcripts are generated on your Mac using Apple’s Speech Recognition framework. Transcript text is stored locally with your recordings unless you delete them.</li>
     <li><strong>Meeting notes:</strong> If you tap to generate notes, transcript text is sent to <strong>OpenAI</strong> to produce a summary. Notes are saved locally in the App after generation.</li>
   </ul>

+ 2 - 2
website/terms.html

@@ -50,7 +50,7 @@
 
   <h2>1. About the App</h2>
   <p>
-  Companion AI for Zoom is a macOS application that helps you manage Zoom meetings, schedule sessions, use desktop widgets, receive reminders, and optionally record, transcribe, and summarize meetings through an Ai Assistant. The App is an <strong>independent product</strong> and is <strong>not affiliated with, endorsed by, or sponsored by Zoom Video Communications, Inc.</strong> “Zoom” is a trademark of Zoom Video Communications, Inc.
+  Companion AI for Zoom is a macOS application that helps you manage Zoom meetings, schedule sessions, use desktop widgets, receive reminders, and optionally record, transcribe, and summarize meetings through an AI Companion. The App is an <strong>independent product</strong> and is <strong>not affiliated with, endorsed by, or sponsored by Zoom Video Communications, Inc.</strong> “Zoom” is a trademark of Zoom Video Communications, Inc.
   </p>
 
   <h2>2. Eligibility</h2>
@@ -92,7 +92,7 @@
     <li>Remove or alter proprietary notices in the App.</li>
   </ul>
 
-  <h2>7. Ai Assistant and meeting content</h2>
+  <h2>7. AI Companion and meeting content</h2>
   <p>
   Features that record audio, generate transcripts, or create meeting notes are provided for your convenience only. You are solely responsible for:
   </p>

+ 6 - 6
zoom_app.xcodeproj/project.pbxproj

@@ -261,10 +261,10 @@
 				INFOPLIST_KEY_NSCameraUsageDescription = "Companion AI for Zoom needs camera access for video in embedded Zoom meetings.";
 				INFOPLIST_KEY_NSHumanReadableCopyright = "";
 				INFOPLIST_KEY_NSMainStoryboardFile = Main;
-				INFOPLIST_KEY_NSMicrophoneUsageDescription = "Companion AI for Zoom needs microphone access for audio in embedded Zoom meetings and for Ai Assistant recordings.";
+				INFOPLIST_KEY_NSMicrophoneUsageDescription = "Companion AI for Zoom needs microphone access for audio in embedded Zoom meetings and for AI Companion recordings.";
 				INFOPLIST_KEY_NSPrincipalClass = NSApplication;
-				INFOPLIST_KEY_NSScreenCaptureUsageDescription = "Companion AI for Zoom captures system audio during meetings (when allowed) so recordings include computer sound in Ai Assistant.";
-				INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "Companion AI for Zoom uses Apple speech recognition to generate transcripts from your saved meeting audio in Ai Assistant.";
+				INFOPLIST_KEY_NSScreenCaptureUsageDescription = "Companion AI for Zoom captures system audio during meetings (when allowed) so recordings include computer sound in AI Companion.";
+				INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "Companion AI for Zoom uses Apple speech recognition to generate transcripts from your saved meeting audio in AI Companion.";
 				INFOPLIST_KEY_ZoomOAuthClientId = isvIAKPhSPOhBxFUkiY2A;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
@@ -301,10 +301,10 @@
 				INFOPLIST_KEY_NSCameraUsageDescription = "Companion AI for Zoom needs camera access for video in embedded Zoom meetings.";
 				INFOPLIST_KEY_NSHumanReadableCopyright = "";
 				INFOPLIST_KEY_NSMainStoryboardFile = Main;
-				INFOPLIST_KEY_NSMicrophoneUsageDescription = "Companion AI for Zoom needs microphone access for audio in embedded Zoom meetings and for Ai Assistant recordings.";
+				INFOPLIST_KEY_NSMicrophoneUsageDescription = "Companion AI for Zoom needs microphone access for audio in embedded Zoom meetings and for AI Companion recordings.";
 				INFOPLIST_KEY_NSPrincipalClass = NSApplication;
-				INFOPLIST_KEY_NSScreenCaptureUsageDescription = "Companion AI for Zoom captures system audio during meetings (when allowed) so recordings include computer sound in Ai Assistant.";
-				INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "Companion AI for Zoom uses Apple speech recognition to generate transcripts from your saved meeting audio in Ai Assistant.";
+				INFOPLIST_KEY_NSScreenCaptureUsageDescription = "Companion AI for Zoom captures system audio during meetings (when allowed) so recordings include computer sound in AI Companion.";
+				INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "Companion AI for Zoom uses Apple speech recognition to generate transcripts from your saved meeting audio in AI Companion.";
 				INFOPLIST_KEY_ZoomOAuthClientId = isvIAKPhSPOhBxFUkiY2A;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",

+ 1 - 1
zoom_app/AppDelegate.swift

@@ -189,7 +189,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
         appendMenuItem("Open Meetings", tag: .openMeetings, to: menu)
         appendMenuItem("Open Scheduler", tag: .openScheduler, to: menu)
         appendMenuItem("Open Widgets", tag: .openWidgets, to: menu)
-        appendMenuItem("Open Ai Assistant", tag: .openAiAssistant, to: menu)
+        appendMenuItem("Open AI Companion", tag: .openAiAssistant, to: menu)
         appendMenuItem("Open Settings", tag: .openSettings, to: menu)
         menu.addItem(.separator())
         appendMenuItem("New Meeting", tag: .newMeeting, to: menu)

+ 11 - 11
zoom_app/ViewController.swift

@@ -109,7 +109,7 @@ class ViewController: NSViewController {
         case meetings = "Meetings"
         case scheduler = "Scheduler"
         case widgets = "Widgets"
-        case aiCompanion = "Ai Assistant"
+        case aiCompanion = "AI Companion"
         case settings = "Settings"
     }
 
@@ -428,7 +428,7 @@ class ViewController: NSViewController {
         case custom = "Custom date"
     }
 
-    private var aiCompanionRecordingFilter: AiCompanionRecordingFilter = .all
+    private var aiCompanionRecordingFilter: AiCompanionRecordingFilter = .today
     private weak var aiCompanionFilterPopup: NSPopUpButton?
     private weak var aiCompanionFilterFromPicker: NSDatePicker?
     private weak var aiCompanionFilterToPicker: NSDatePicker?
@@ -1905,7 +1905,7 @@ class ViewController: NSViewController {
     private func requestMeetingRecordingConsent(title: String) -> MeetingRecordingConsentChoice {
         let alert = NSAlert()
         alert.messageText = "Record this meeting locally?"
-        alert.informativeText = "With your consent, the app will record meeting audio on this Mac and show it in Ai Assistant after the meeting."
+        alert.informativeText = "With your consent, the app will record meeting audio on this Mac and show it in AI Companion after the meeting."
         alert.addButton(withTitle: "Allow and Continue")
         alert.addButton(withTitle: "Continue Without Recording")
         alert.window.title = title
@@ -4972,7 +4972,7 @@ class ViewController: NSViewController {
         settingsNotificationsBlock = notificationsBlock
         stack.setCustomSpacing(24, after: notificationsBlock)
 
-        let transcriptionTitle = textLabel("Ai Assistant transcription", font: .systemFont(ofSize: 16, weight: .semibold), color: primaryText)
+        let transcriptionTitle = textLabel("AI Companion transcription", font: .systemFont(ofSize: 16, weight: .semibold), color: primaryText)
         let transcriptionSubtitle = textLabel(
             "Preferred languages are used for Apple on-device speech recognition after each meeting recording.",
             font: .systemFont(ofSize: 12, weight: .regular),
@@ -6851,7 +6851,7 @@ class ViewController: NSViewController {
         homeSidebarRowViews = [:]
         homeSidebarIconViews = [:]
         homeSidebarLabels = [:]
-        let sidebar = makeSidebar(items: ["Home", "Meetings", "Scheduler", "Widgets", "Ai Assistant", "Settings"], selected: selectedHomeSidebarItem, style: .home)
+        let sidebar = makeSidebar(items: ["Home", "Meetings", "Scheduler", "Widgets", "AI Companion", "Settings"], selected: selectedHomeSidebarItem, style: .home)
         let content = NSView()
         content.wantsLayer = true
         content.layer?.backgroundColor = NSColor.clear.cgColor
@@ -7811,7 +7811,7 @@ class ViewController: NSViewController {
         root.addSubview(container)
 
         // Header row: recordings list (AI Companion mode).
-        let title = makeLabel("Ai Assistant", size: 28, color: primaryText, weight: .bold, centered: false)
+        let title = makeLabel("AI Companion", size: 28, color: primaryText, weight: .bold, centered: false)
         let subtitle = makeLabel("Get notes from your previous meetings", size: 13, color: secondaryText, weight: .regular, centered: false)
         let count = makeLabel("0 recordings", size: 12, color: secondaryText, weight: .medium, centered: false)
         let titleStack = NSStackView(views: [title, subtitle, count])
@@ -7852,7 +7852,7 @@ class ViewController: NSViewController {
         let categoryFilter = NSPopUpButton()
         categoryFilter.translatesAutoresizingMaskIntoConstraints = false
         categoryFilter.addItems(withTitles: AiCompanionRecordingFilter.allCases.map(\.rawValue))
-        categoryFilter.selectItem(withTitle: AiCompanionRecordingFilter.all.rawValue)
+        categoryFilter.selectItem(withTitle: AiCompanionRecordingFilter.today.rawValue)
         categoryFilter.target = self
         categoryFilter.action = #selector(aiCompanionFilterPresetChanged(_:))
 
@@ -8077,8 +8077,8 @@ class ViewController: NSViewController {
     }
 
     @objc private func aiCompanionFilterResetTapped() {
-        aiCompanionRecordingFilter = .all
-        aiCompanionFilterPopup?.selectItem(withTitle: AiCompanionRecordingFilter.all.rawValue)
+        aiCompanionRecordingFilter = .today
+        aiCompanionFilterPopup?.selectItem(withTitle: AiCompanionRecordingFilter.today.rawValue)
         aiCompanionFilterFromPicker?.dateValue = Date()
         aiCompanionFilterToPicker?.dateValue = Date()
         updateAiCompanionDatePickersEnabledState()
@@ -8905,7 +8905,7 @@ class ViewController: NSViewController {
         guard let index = aiCompanionSelectedIndex,
               aiCompanionSummaries.indices.contains(index) else {
             aiCompanionDetailEmptyLabel?.stringValue = aiCompanionSummaries.isEmpty
-                ? "Run an Ai Assistant-enabled meeting to see notes here."
+                ? "Run an AI Companion-enabled meeting to see notes here."
                 : "Select a meeting on the left to view its AI notes."
             aiCompanionDetailEmptyLabel?.isHidden = false
             return
@@ -10045,7 +10045,7 @@ class ViewController: NSViewController {
             return "calendar.badge.clock"
         case "Widgets":
             return filled ? "rectangle.grid.2x2.fill" : "rectangle.grid.2x2"
-        case "Ai Assistant":
+        case "AI Companion":
             return filled ? "sparkles" : "sparkles"
         case "Settings":
             // `gearshape.fill` may not exist on all macOS versions; handled via safe image assignment.