Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Widgets for Duck.ai #3854

Merged
merged 31 commits into from
Jan 28, 2025
Merged

Widgets for Duck.ai #3854

merged 31 commits into from
Jan 28, 2025

Conversation

Bunn
Copy link
Contributor

@Bunn Bunn commented Jan 23, 2025

Task/Issue URL: https://app.asana.com/0/72649045549333/1209001137946571/f

Description:
Add support for Duck.ai widgets

Changes:

  • Add AI Chat icon in the favorites widget
  • Add a new widget “Quick Actions"
  • Add a new control center widget for AI Chat

Steps to test this PR:
!Make sure to set yourself as internal first!

Favorites

  1. Add the favorite widgets
  2. Tap the search box, check if the app opens with the search field focused
  3. Go back to the widget, tap a favorite, check if it opens the chosen favorite
  4. Go back to the widget, tap on duck.ai icon, check if it opens Duck.ai and a daily pixel for it is fired

——
Quick Actions

  1. Add the Quick Actions Widget
  2. Tap the search box, check if the app opens with the search field focused
  3. Go back to the widget, tap on duck.ai icon, check if it opens Duck.ai and a daily pixel for it is fired
  4. Go back to the widget, tap on passwords icon, check if it opens passwords
  5. Check if this widget is available on iOS 16, it shouldn't

——
Control Center

  1. Add the duck.ai widget on control center
  2. tap on duck.ai icon, check if it opens Duck.ai and a daily pixel for it is fired

Definition of Done (Internal Only):

OS Testing:

  • iOS 16
  • iOS 17
  • iOS 18

Theme Testing:

  • Light theme
  • Dark theme

Internal references:

Software Engineering Expectations
Technical Design Template

Copy link

github-actions bot commented Jan 23, 2025

Warnings
⚠️ PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.
Messages
📖

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

Generated by 🚫 dangerJS against 8942b59

@Bunn Bunn requested a review from samsymons January 23, 2025 15:57
@@ -119,6 +118,23 @@ struct PasswordsLockScreenWidget: Widget {
}
}

/// Waiting copywriting and icon for this.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Decided to leave it here, you can already test it by adding the AIChatLockScreenWidget into the Widgets.swift

@@ -443,7 +443,8 @@ struct Foreground: AppState {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.5) {
mainViewController.launchAutofillLogins(openSearch: true, source: source)
}

case .openAIChat:
AIChatDeepLinkHandler().handleDeepLink(url, on: mainViewController)
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't see this as a blocker, but I noticed that this will recreate the AI Chat view when the view is already open, so the history gets wiped out.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We have saved chats. This is by design because every time you open duck.ai, it should start with a clean slate (it used to save the state, but a change was requested). That said, the previous conversation is stored in the history.

Copy link
Contributor

@samsymons samsymons left a comment

Choose a reason for hiding this comment

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

Overall no issues from my side, just left a couple comments related to typos and one note about the deep link logic executing even when Duck.ai is already visible, but none of these are blockers. The widgets work really nicely - great work!

@Bunn Bunn removed the Do Not Merge label Jan 28, 2025
@Bunn Bunn merged commit 9f04941 into main Jan 28, 2025
14 of 15 checks passed
@Bunn Bunn deleted the bunn/aichat/widgets branch January 28, 2025 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants