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

Attempt to fix disapearing privacy icon #3316

Closed
wants to merge 10 commits into from

Conversation

jaceklyp
Copy link
Contributor

@jaceklyp jaceklyp commented Sep 4, 2024

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

Description:
Fix disappearing privacy icon on sites without certificate.

Steps to test this PR:

  1. Go to any http:// site and make sure privacy icon is visible.

  2. Go to badssl.com

  3. Select expired certificate

  4. Our custom special error page should open.

  • please validate the privacy shield icon in navigation bar is invisible.
  1. Tap on leave site.
  • you should be taken back (if it was possible) or the tab should be closed if this was first page in navigation
  1. Go to badssl.com one more time and tap on advanced and accept the risk.
  • please validate that expired.badssl.com has loaded (red background)
  • please validate that privacy shield icon reappeared but has red dot on top of it
  1. Go to wrong.host.badssl.com and make sure icon is invisible.
  2. Go to cnn.com and make sure icon is visible.
  3. Go back and make sure icon is invisible.

dus7 and others added 10 commits September 2, 2024 19:45
Task/Issue URL:
https://app.asana.com/0/72649045549333/1207539163549338/f
Tech Design URL:
CC:

**Description**:

Adds a flag allowing to remotely enable/disable New Tab Page
Improvements (sections) feature. Currently used as `.remoteDevelopment`,
will be updated to `.remoteReleasable` once the feature is complete.

**Steps to test this PR**:
1. Set Internal user flag
2. In Debug menu override Privacy Configuration json to
`http://www.jsonblob.com/api/1279014885881929728`
3. Reopen New Tab Page - feature should be visible now

**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)
Task/Issue URL: https://app.asana.com/0/1204186595873227/1208077416568671/f

**Description**: 
Move common iOS and macOS Onboarding entities to BSK
<!--
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/392891325557410/1206955287217877/f
Tech Design URL:
https://app.asana.com/0/392891325557410/1208090005627335/f
CC:

**Description**:
This PR ads usage segmentation calculations to the app so that we can
monitor usage across segments in a private way, without having to send
granular usage information to the server.

Deviation from tech design:
* Added "Calculation" class / protocol in order to encapsulate the
calculation logic exclusively and code it so that it's similar to the
python implementation.

**Steps to test this PR**:

***First run, new user***:
1. Reset the simulator (so that the keychain is cleared)
1. Run the app
2. No `m_retention_segments` pixel should be fired

***Subsequent run a few days later***
1. Reset the simulator (so that the keychain is cleared)
1. Modify StatisticsLoader add the following line at the start of the
`load` function:

            self.statisticsStore.atb = "445-1"

4. Run the app
5. An assertion failure should crash the app saying this is not a valid
ATB.
6. Update the above line as follows and reset the simulator again:

            self.statisticsStore.atb = "v445-1"

8. Ensure that `m_retention_segments` pixel is fired. There will be
various parameters but one should indicate "app_use" activity
9. Re-launch the app
10. No additional pixel should be fired
11. Perform a search
12. The pixel will be fired again and there should be a parameter
indicating search activity.
13. Perform another search
14. No additional pixel should be fired

***Return user test***
1. Repeat the above test bit with the following atb. The pixels sent
should include `reinstaller` in the segments parameter.

            self.statisticsStore.atb = "v445-1ru"


**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/1204099484721401/1208192198782451/f

Description:
Opens the Youtube app if installed and "Open links in associated apps" is active
Task/Issue URL: https://app.asana.com/0/414235014887631/1208218745511302/f
Tech Design URL:
CC:

Description:

This PR fixes access to the Keychain debug view controller.
Task/Issue URL: #3298 & https://app.asana.com/0/414709148257752/1208200157992058/f
Tech Design URL:
CC:

Description:

Resolves #3298

This PR allows this repo to be compiled with Xcode 16.
Two changes had to be made:

In iOS 18 Apple added a new field to UIViewController named tab.
It causes ambiguity and has to be renamed.
Source https://developer.apple.com/documentation/uikit/uiviewcontroller/4434584-tab
I renamed it to _tab, I am open to any other rename suggestion

The URLOpener protocol and Apple's UIApplication shared the same
signature for url opening function. This resulted in ambiguous compile
time error.
Code is now simplified and still allows to be used in mocks.

Changes I made should be backwards compatible and work in Xcode 15 as well
@jaceklyp jaceklyp changed the title Attempt to fix dissapearing privacy icon Attempt to fix disapearing privacy icon Sep 4, 2024
@jaceklyp jaceklyp changed the base branch from main to release/7.136.0 September 4, 2024 14:54
@jaceklyp jaceklyp closed this Sep 4, 2024
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.

9 participants