Skip to content

Conversation

rachelmcr
Copy link
Contributor

@rachelmcr rachelmcr commented Oct 15, 2025

Task/Issue URL: https://app.asana.com/1/137249556945/project/72649045549333/task/1211370814674975?focus=true
Tech Design URL:
CC: @diegoreymendez

Description

This incudes the last steps to release the option to clear Duck.ai chat history:

  • Localize the new strings and add translations
  • Update the feature flag for remote release
  • Enable the “Duck.ai chats” toggle in the fire dialog when the active tab is Duck.ai (per ship review feedback)

⚠️ Note: This shouldn’t be merged until the translations are complete and added to this PR. ⚠️

⚠️ Relies on changes in #2203 ⚠️

Testing Steps

  1. Build and run the app, and visit Duck.ai (so it is set as used before).
  2. Go to Settings > Data Clearing and confirm the auto-clear strings appear as expected. Enable auto-clear with auto-clearing Duck.ai chats.
  3. Click the fire button. Confirm the Duck.ai chats strings appear as expected in the popover.
  4. Go to Main Menu > History > Delete All History. Confirm the Duck.ai chats strings appear as expected in the dialog.
  5. Enable Debug > Feature Flag Overrides > Other > fireDialog.
  6. Click the fire button and select “Everything.” Confirm the Duck.ai chats strings appear as expected in the new dialog.
  7. Go to Duck.ai and click the fire button. Confirm “Duck.ai chats” appears on every tab (Tab/Window/Everything) in the dialog.

Impact and Risks

Low: Minor visual changes, small bug fixes, improvement to existing features

What could go wrong?

Manually tested to confirm strings appear as expected in English and Double Pseudo-language.

Quality Considerations

Notes to Reviewer


Internal references:

Definition of Done | Engineering Expectations | Tech Design Template


Note

Localizes Duck.ai chat-clearing strings, shows the Fire dialog chat toggle when the active tab is Duck.ai, and switches the duckAiDataClearing flag to remote releasable.

  • UI/Behavior (Fire Dialog):
    • Show Duck.ai chat history toggle when the active tab is a Duck.ai URL (FireDialogViewModel.shouldShowChatHistoryToggle).
  • Localization:
    • Replace hardcoded Duck.ai chat-related strings with NSLocalizedString keys in UserText.swift (e.g., fire.dialog.chats.title, fire.dialog.chats.subtitle, history.delete.dialog.chats.checkbox.*, automatically.clear.chats, warn.before.quit.clearChats*, fire.active-tabs-and-chats-info).
    • Add corresponding entries to Localization/Localizable.xcstrings.
  • Feature Flags:
    • Change FeatureFlag.duckAiDataClearing source to remoteReleasable in FeatureFlag.swift.

Written by Cursor Bugbot for commit 6d547eb. This will update automatically on new commits. Configure here.

@rachelmcr rachelmcr added the start macos translation Starts macOS translation workflow via Smartling label Oct 15, 2025
Copy link

github-actions bot commented Oct 15, 2025

Messages
📖

You seem to be updating localized strings. Make sure that you request translations and include translated strings before you ship your change. See iOS and macOS localization guidelines for more information.

Generated by 🚫 dangerJS against 6d547eb

Copy link

🌍 Smartling Translation Job Created

Job ID: ci0gbd7ja0jt
Platform: macOS

🔗 View in Smartling Dashboard

🔧 View Workflow Run

Next:

  • Review translation job
  • Authorize translation by adding the authorize translation label

@github-actions github-actions bot added needs translation authorization The Smartling translation job the PR is awaiting authorization. and removed start macos translation Starts macOS translation workflow via Smartling labels Oct 15, 2025
@rachelmcr rachelmcr changed the title macOS: Prepare to release the option to clear Duck.ai chat history macOS: Localize and release the option to clear Duck.ai chat history Oct 15, 2025
@rachelmcr rachelmcr added authorize translation Authorizes Smartling translation job for PR and removed needs translation authorization The Smartling translation job the PR is awaiting authorization. labels Oct 15, 2025
Copy link

✅ Smartling Job Approved

Job ID: ci0gbd7ja0jt
Platform: macOS

Translation has been authorized and is now in progress.

🔗 View in Smartling Dashboard

🔧 View Workflow Run

Next: Check status with:
• Platform: macOS
• Action: status
• Job ID: ci0gbd7ja0jt

@github-actions github-actions bot added translation in progress The strings in this PR are being translated on Smartling and removed authorize translation Authorizes Smartling translation job for PR labels Oct 15, 2025
@rachelmcr rachelmcr marked this pull request as ready for review October 15, 2025 15:02
Comment on lines 181 to 182
&& mode.shouldShowChatHistoryToggle
&& (clearingOption.shouldShowChatHistoryToggle || isPresentedOnAIChatTab)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpicky - but I'd consider indenting this a bit as it looks a bit odd right now.

@rachelmcr
Copy link
Contributor Author

Thanks! Once the translations are added to this PR, I’ll merge all of my work back into a single branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

translation in progress The strings in this PR are being translated on Smartling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants