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

[pull] main from duckduckgo:main #39

Open
wants to merge 1,311 commits into
base: main
Choose a base branch
from
Open

[pull] main from duckduckgo:main #39

wants to merge 1,311 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 7, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Apr 7, 2024
diegoreymendez and others added 29 commits January 7, 2025 19:16
Task/Issue URL:
https://app.asana.com/0/1206580121312550/1209007855977973/f

## Description

Addresses final ship-review feedback for our new control center widget
and releases it for all users.
…alisation (#3763)

Task/Issue URL:
https://app.asana.com/0/414709148257752/1209045090157949/f
Tech Design URL:
CC:

**Description**:
Fixes an occasional crash in SyncCredentialsAdapter due to vault being
initialised unnecessarily early for
AutofillCredentialIdentityStoreManager in the app startup flow
<!--
Note: This checklist is a reminder of our shared engineering
expectations. Feel free to change it, although assigning a GitHub
reviewer and the items in bold are required.

⚠️ If you're an external contributor, please file an issue first before
working on a PR, as we can't guarantee that we will accept your changes
if they haven't been discussed ahead of time. Thanks!
-->

Task/Issue URL:
https://app.asana.com/0/1204165176092271/1209100870139900/f
Tech Design URL:
CC:

**Description**:
Fixes an issue with the test where Maestro can't find the accessibility
ID of the Tab Switcher button in certain cases.
This PR isn't fixing the actual accessibility issue, but more simply
expanding the work around that's already in place to cover all cases
where the issue can happen.

<!--
If at any point it isn't actively being worked on/ready for
review/otherwise moving forward strongly consider closing it (or not
opening it in the first place). If you decide not to close it, use Draft
PR while work is still in progress or use `DO NOT MERGE` label to
clarify the PRs state and comment with more information.
-->

**Steps to test this PR**:
1. Run the tab_tabs.yaml test and verify it passes. 

<!--
Before submitting a PR, please ensure you have tested the combinations
you expect the reviewer to test, then delete configurations you *know*
do not need explicit testing.

Using a simulator where a physical device is unavailable is acceptable.
-->


---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
Task/Issue URL: https://app.asana.com/0/0/1209105499479210/f

Description:
This is a BSK update for a macOS-only change.
<!--
Note: This checklist is a reminder of our shared engineering
expectations. Feel free to change it, although assigning a GitHub
reviewer and the items in bold are required.

⚠️ If you're an external contributor, please file an issue first before
working on a PR, as we can't guarantee that we will accept your changes
if they haven't been discussed ahead of time. Thanks!
-->

Task/Issue URL:
https://app.asana.com/0/1204165176092271/1209100446164933/f
Tech Design URL:
CC:

**Description**:
This test is failing after an intentional change, but it's not fully
clear at this time what's the correct fix. Waiting for Thom to be back
and weight in, this PR disables the test to avoid noise.

<!--
If at any point it isn't actively being worked on/ready for
review/otherwise moving forward strongly consider closing it (or not
opening it in the first place). If you decide not to close it, use Draft
PR while work is still in progress or use `DO NOT MERGE` label to
clarify the PRs state and comment with more information.
-->

**Steps to test this PR**:
1.
2.

<!--
Before submitting a PR, please ensure you have tested the combinations
you expect the reviewer to test, then delete configurations you *know*
do not need explicit testing.

Using a simulator where a physical device is unavailable is acceptable.
-->

**Definition of Done (Internal Only)**:

* [ ] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

**Copy Testing**:

* [ ] Use of correct apostrophes in new copy, ie `’` rather than `'`

**Orientation Testing**:

* [ ] Portrait
* [ ] Landscape

**Device Testing**:

* [ ] iPhone SE (1st Gen)
* [ ] iPhone 8
* [ ] iPhone X
* [ ] iPhone 14 Pro
* [ ] iPad

**OS Testing**:

* [ ] iOS 15
* [ ] iOS 16
* [ ] iOS 17

**Theme Testing**:

* [ ] Light theme
* [ ] Dark theme

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
Task/Issue URL:
https://app.asana.com/0/1203936086921904/1208836865988474/f

CC: @federicocappelli 

**Description**:
Post launch remove isLaunchedROW and isLaunchedROWOverride feature flags
and clean related business logic

**Steps to test this PR**:
- Verify purchase paths for both US and non-US Privacy Pro variants work
correctly (no functional changes expected)

<!--
Before submitting a PR, please ensure you have tested the combinations
you expect the reviewer to test, then delete configurations you *know*
do not need explicit testing.

Using a simulator where a physical device is unavailable is acceptable.
-->

**Definition of Done (Internal Only)**:

* [ ] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
Please make sure all GH checks passed before merging. It can take around
20 minutes.
Briefly review this PR to see if there are no issues or red flags and
then merge it.
Task/Issue URL: https://app.asana.com/0/72649045549333/1209115970418978/f

Description:
This change includes fixes to HTML New Tab Page, otherwise transparent to the iOS app.
Task/Issue URL:
https://app.asana.com/0/1204167627774280/1208991515313413/f
Tech Design URL:
CC:

**Description**:

Add deep-link integration to duck.ai. Opening duck.ai from anywhere
should open the custom webview instead of a new tab
Task/Issue URL: https://app.asana.com/0/0/1208767141940868/f
Tech Design URL:
https://app.asana.com/0/1206488453854252/1208916720468103/f

**Description**: This PR adds the core implementation of Privacy Pro
Free Trials. Specifically:
1. Adds a `FreeTrialsFeatureFlagExperimenting` type and associated
concrete implementation
2. Adds a `Bucketer` type and associated concrete implementation 
3. Updates `SubscriptionPagesUseSubscriptionFeature` to fetch Free Trial
Subscriptions based on experiment enrollment
Task/Issue URL:
https://app.asana.com/0/1204167627774280/1209108545833453/f

**Description**:
Update BSK with AI Chat deeplink feature flag
Please make sure all GH checks passed before merging. It can take around
20 minutes.
Briefly review this PR to see if there are no issues or red flags and
then merge it.
Task/Issue URL:
https://app.asana.com/0/1204099484721401/1208861142284498/f
Tech Design URL:
CC:

**Description**:
When using Duckplayer in “New tab” mode, the video Referer pixel was not
being sent correctly. This updates the handler to update it properly.
Task/Issue URL: https://app.asana.com/0/414235014887631/1209133157056550/f
Tech Design URL:
CC:

Description:

This PR fixes up the fingerprinting UI tests, which were looking for the wrong bookmark title.
Please make sure all GH checks passed before merging. It can take around
20 minutes.
Briefly review this PR to see if there are no issues or red flags and
then merge it.
Task/Issue URL: https://app.asana.com/0/1199333091098016/1209143709072898/f
Tech Design URL:
CC:

Description:

This PR fixes a dependency issue with the Crashes module.
Task/Issue URL: https://app.asana.com/0/0/1209116194072431/f
Tech Design URL:
CC:

**Description**:
Fixes a bug where the number of disabled events for the credential
provider extension were incorrectly reported
Please make sure all GH checks passed before merging. It can take around
20 minutes.
Briefly review this PR to see if there are no issues or red flags and
then merge it.
Task/Issue URL:
https://app.asana.com/0/1204167627774280/1209119202522826/f

**Description**:
Add handoff support using the C-S-S communication layer
Task/Issue URL: https://app.asana.com/0/72649045549333/1209141686015365/f
Tech Design URL:
CC:

Description:

This PR updates workflows to replace usage of DSYM_BUCKET_PREFIX with IOS_DSYM_BUCKET_PREFIX. This new secret has already been added to the repo, using the value mentioned in this doc.
Task/Issue URL: https://app.asana.com/0/72649045549333/1209141686015372/f
Tech Design URL:
CC:

Description:

This PR makes the following changes:

Renames workflow files to be prefixed by ios-
Updates references to workflow files to account for this renaming - only one rename was needed, within ios-nightly.yml
Please make sure all GH checks passed before merging. It can take around
20 minutes.
Briefly review this PR to see if there are no issues or red flags and
then merge it.
dus7 and others added 30 commits February 11, 2025 15:57
Task/Issue URL:
https://app.asana.com/0/414709148257752/1209376796676971/f
Tech Design URL:
CC:

**Description**:
Fixes crash introduced on #3881
<!--
If at any point it isn't actively being worked on/ready for
review/otherwise moving forward strongly consider closing it (or not
opening it in the first place). If you decide not to close it, use Draft
PR while work is still in progress or use `DO NOT MERGE` label to
clarify the PRs state and comment with more information.
-->
Recreated from [already accepted
PR](#3956).

**Steps to test this PR**:
1.Test rotation to / from landscape with and without the keyboard.
Confirm that the UI updates as expected and that the keyboard remains
visible if it was visible before rotation.
2.Validate iPad behaviour remains the same.


**Definition of Done (Internal Only)**:

* [x] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

Co-authored-by: Fernando Bunn <[email protected]>
Task/Issue URL: https://app.asana.com/0/0/1209358244103060/f
Tech Design URL:
CC:

**Description**:
Fix fire button movement by adding some padding to the fire button
image.

**Steps to test this PR**:
1. Open the tab switcher and make sure the fire button doesn't appear to
move.
2. Check on a couple of different phone types. Can ignore SE as that has
had a up/down movement problem for some time.

**Definition of Done (Internal Only)**:

* [x] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?
Task/Issue URL:
https://app.asana.com/0/1202926619870900/1209132360844274

**Description**:

The menu actions on the username / password / website URL form entries
are no longer appearing as of iOS 18. This fixes that by using the
`UIEditMenuInteraction` to replace the deprecated `UIMenuController`

**Steps to test this PR**:
1. Go to the password management screen
2. Ensure you have at least one password saved with all fields populated
(username, password, website URL, Notes)
3. Press each of the fields

You should see Copy (Username|Password|Website URL|Notes) and, for the
Password field, also Show Password

**Definition of Done (Internal Only)**:

* [x] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

**Copy Testing**:

* [ ] Use of correct apostrophes in new copy, ie `’` rather than `'`

**Orientation Testing**:

* [ ] Portrait
* [ ] Landscape

**Device Testing**:

* [ ] iPhone SE (1st Gen)
* [ ] iPhone 8
* [ ] iPhone X
* [ ] iPhone 14 Pro
* [ ] iPad

**OS Testing**:

* [x] iOS 15
* [x] iOS 16
* [ ] iOS 17

**Theme Testing**:

* [ ] Light theme
* [ ] Dark theme

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
Task/Issue URL: https://app.asana.com/0/0/1208832732122404/f

**Description**:
- Extract service-related code from the app’s launching logic to improve
maintainability and clarity.
- Establish clear patterns for synchronizing crucial services, ensuring
consistent behavior during app lifecycle events.
- Design an intuitive API to simplify usage for developers interacting
with the app lifecycle code.
Task/Issue URL: https://app.asana.com/0/72649045549333/1209272524872735

**Description**:

Right now, we will offer to autofill into a page which is considered an
E-TLD+1 match.
But we aren’t as good at comparing E-TLD+1 when it comes to considering
whether to offer to save it or not.
We should detect we have a domain saved already and don’t offer to save
when entering credentials for an equivalent subdomain
This should also apply to other scenarios like offering to update the
saved password; we should also consider E-TLD+1 matches

**Steps to test this PR**:
https://app.asana.com/0/1203822806345703/1209279526650235

**Definition of Done (Internal Only)**:

* [ ] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

**Copy Testing**:

* [ ] Use of correct apostrophes in new copy, ie `’` rather than `'`

**Orientation Testing**:

* [ ] Portrait
* [ ] Landscape

**Device Testing**:

* [ ] iPhone SE (1st Gen)
* [ ] iPhone 8
* [ ] iPhone X
* [ ] iPhone 14 Pro
* [ ] iPad

**OS Testing**:

* [ ] iOS 15
* [ ] iOS 16
* [ ] iOS 17

**Theme Testing**:

* [ ] Light theme
* [ ] Dark theme

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
…s nil (#3961)

Task/Issue URL: https://app.asana.com/0/414709148257752/1209372383528747

**Description**: Do not crash on about:blank when site is redirected.
<!--
Note: This checklist is a reminder of our shared engineering
expectations. Feel free to change it, although assigning a GitHub
reviewer and the items in bold are required.

⚠️ If you're an external contributor, please file an issue first before
working on a PR, as we can't guarantee that we will accept your changes
if they haven't been discussed ahead of time. Thanks!
-->

Task/Issue URL: https://app.asana.com/0/0/1209377152368982
Tech Design URL:
CC:

**Description**:
Fixes inputs for iOS hotfix flows. This was tested in monorepo.
1. Appstore input for build

![image](https://github.com/user-attachments/assets/c043b849-e51b-4a8a-b397-8564645154c5)
2. Fix inputs for base-branch

![image](https://github.com/user-attachments/assets/f8129809-7451-4d13-a828-bdb12b1d0fa1)

![image](https://github.com/user-attachments/assets/e249a5e2-2507-4b99-a286-3e0089c36116)


<!--
If at any point it isn't actively being worked on/ready for
review/otherwise moving forward strongly consider closing it (or not
opening it in the first place). If you decide not to close it, use Draft
PR while work is still in progress or use `DO NOT MERGE` label to
clarify the PRs state and comment with more information.
-->

**Steps to test this PR**:
1. We can't really test this unless we run a hotfix but see above as I
ran one in monorepo [here
](https://github.com/duckduckgo/apple-monorepo-test/actions/runs/13277629606)
2.

<!--
Before submitting a PR, please ensure you have tested the combinations
you expect the reviewer to test, then delete configurations you *know*
do not need explicit testing.

Using a simulator where a physical device is unavailable is acceptable.
-->

**Definition of Done (Internal Only)**:

* [x] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

**Copy Testing**:

* [ ] Use of correct apostrophes in new copy, ie `’` rather than `'`

**Orientation Testing**:

* [ ] Portrait
* [ ] Landscape

**Device Testing**:

* [ ] iPhone SE (1st Gen)
* [ ] iPhone 8
* [ ] iPhone X
* [ ] iPhone 14 Pro
* [ ] iPad

**OS Testing**:

* [ ] iOS 15
* [ ] iOS 16
* [ ] iOS 17

**Theme Testing**:

* [ ] Light theme
* [ ] Dark theme

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
Task/Issue URL:
https://app.asana.com/0/1204167627774280/1209377442082796
Tech Design URL:
CC:

**Description**:
Change omnibar states on iPad OS
Task/Issue URL: https://app.asana.com/0/72649045549333/1209396115816169

Description:
This change bumps C-S-S to a version that includes new APIs for macOS History View
Task/Issue URL: https://app.asana.com/0/1199333091098016/1209401276129396
Tech Design URL:
CC:

Description:

This PR fixes the Asana comment functionality of the iOS ad-hoc workflow.
Task/Issue URL:
https://app.asana.com/0/1209408498652931/1209408498652931
Autoconsent Release:
https://github.com/duckduckgo/autoconsent/releases/tag/v12.10.0


## Description
Updates Autoconsent to version
[v12.10.0](https://github.com/duckduckgo/autoconsent/releases/tag/v12.10.0).

### Autoconsent v12.10.0 release notes
See release notes
[here](https://github.com/duckduckgo/autoconsent/blob/v12.10.0/CHANGELOG.md)

## Steps to test
This release has been tested during Autoconsent development. You can
check the release notes for more information.
1. Make sure that there's no unexpected failures in CI checks
2. (optional) smoke test some of the sites mentioned in the release
notes
3. If there are problems, reach out to a CPM DRI

Co-authored-by: muodov <[email protected]>

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

**Description**: Add more conversion window for tds experiment (later
I’ll make the changes in BSK but it needs to go in this release)
<!--
Note: This checklist is a reminder of our shared engineering
expectations. Feel free to change it, although assigning a GitHub
reviewer and the items in bold are required.

⚠️ If you're an external contributor, please file an issue first before
working on a PR, as we can't guarantee that we will accept your changes
if they haven't been discussed ahead of time. Thanks!
-->

Task/Issue URL: https://app.asana.com/0/414709148257752/1209396179241238
Tech Design URL:
CC:

**Description**:
Updates app name, subtitle and promo for upcoming release.

<!--
If at any point it isn't actively being worked on/ready for
review/otherwise moving forward strongly consider closing it (or not
opening it in the first place). If you decide not to close it, use Draft
PR while work is still in progress or use `DO NOT MERGE` label to
clarify the PRs state and comment with more information.
-->

**Steps to test this PR**:
1. Verify there are no out-of-place changes in the metadata

<!--
Before submitting a PR, please ensure you have tested the combinations
you expect the reviewer to test, then delete configurations you *know*
do not need explicit testing.

Using a simulator where a physical device is unavailable is acceptable.
-->

**Definition of Done (Internal Only)**:

* [x] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
<!--
Note: This checklist is a reminder of our shared engineering
expectations. Feel free to change it, although assigning a GitHub
reviewer and the items in bold are required.

⚠️ If you're an external contributor, please file an issue first before
working on a PR, as we can't guarantee that we will accept your changes
if they haven't been discussed ahead of time. Thanks!
-->

Task/Issue URL: https://app.asana.com/0/414709148257752/1209407527437764
Tech Design URL:
CC: @loremattei 

**Description**:

UI test were failing because certain items could not be found by
specified name. I used Accessibility inspector to find a specific name.

<!--
If at any point it isn't actively being worked on/ready for
review/otherwise moving forward strongly consider closing it (or not
opening it in the first place). If you decide not to close it, use Draft
PR while work is still in progress or use `DO NOT MERGE` label to
clarify the PRs state and comment with more information.
-->

**Steps to test this PR**:
1. Make sure modified E2E tests pass
(https://github.com/duckduckgo/iOS/actions/runs/13331960910)

<!--
Before submitting a PR, please ensure you have tested the combinations
you expect the reviewer to test, then delete configurations you *know*
do not need explicit testing.

Using a simulator where a physical device is unavailable is acceptable.
-->

**Definition of Done (Internal Only)**:

* [x] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
This reverts commit 56f8c42.

<!--
Note: This checklist is a reminder of our shared engineering
expectations. Feel free to change it, although assigning a GitHub
reviewer and the items in bold are required.

⚠️ If you're an external contributor, please file an issue first before
working on a PR, as we can't guarantee that we will accept your changes
if they haven't been discussed ahead of time. Thanks!
-->

Task/Issue URL: https://app.asana.com/0/414709148257752/1209396179241238
Tech Design URL:
CC:

**Description**:

Reverts metadata changes because some of the names or subtitles exceed
character limit
<!--
If at any point it isn't actively being worked on/ready for
review/otherwise moving forward strongly consider closing it (or not
opening it in the first place). If you decide not to close it, use Draft
PR while work is still in progress or use `DO NOT MERGE` label to
clarify the PRs state and comment with more information.
-->

**Steps to test this PR**:
-- None --

<!--
Before submitting a PR, please ensure you have tested the combinations
you expect the reviewer to test, then delete configurations you *know*
do not need explicit testing.

Using a simulator where a physical device is unavailable is acceptable.
-->

**Definition of Done (Internal Only)**:

* [x] Does this PR satisfy our [Definition of
Done](https://app.asana.com/0/1202500774821704/1207634633537039/f)?

---
###### Internal references:
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
Task/Issue URL: https://app.asana.com/0/72649045549333/1209393516054365
Tech Design URL:
CC:

Description:

This PR disables all cron workflow triggers except for stale PRs, since that one isn't important in this context. The goal here is to disable cron triggers after the monorepo migration, avoiding noise in Asana etc.

This PR is not to be merged until Feb 17 (most likely I will merge it on my Feb 16 evening).
Task/Issue URL: https://app.asana.com/0/72649045549333/1209418366154030
Tech Design URL:
CC:

Description:

This PR adds a deprecation notice to the README.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.