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

User Interface #2

Merged
merged 75 commits into from
Oct 28, 2020
Merged

User Interface #2

merged 75 commits into from
Oct 28, 2020

Conversation

tomasstrba
Copy link
Contributor

Task/Issue URL: https://app.asana.com/0/72649045549333/1178859670483589/f
Spec URLs: https://app.asana.com/0/0/1191764883022854/f
https://app.asana.com/0/0/1191764883022855/f

Description:

The goal of the project was to enhance the user interface, so it's comfortable to use and aligned with the design.
Specific items of the project:

  • Resolving NSWindow problems
  • Implementation of macOS menu with keyboard shortcuts
  • Dock icon menu
  • Navigation bar: Navigation buttons context menus, address bar, options menu (currently with just one item)
  • Support of macOS 11 Big Sur

Steps to test this PR:

  1. Make sure items listed above work as expected

Internal references:

Software Engineering Expectations
Technical Design Template

Babajaga and others added 30 commits September 9, 2020 16:17
…problems with window buttons, corners and shadow
@samsymons
Copy link
Collaborator

@tomasstrba I've been testing this passively as a part of prepping for Smarter Encryption integration, everything in here seems to be working well. 👍 I don't have the option to leave a proper GitHub approval, so this message will have to do. 😄

@tomasstrba
Copy link
Contributor Author

I created the Mobile Team with admin rights that should fix the github issues. Thanks for the review and testing! :)

@tomasstrba tomasstrba merged commit 991c976 into develop Oct 28, 2020
@tomasstrba tomasstrba deleted the feature/tom/user-interface branch October 28, 2020 15:59
@Bunn Bunn mentioned this pull request Oct 20, 2022
3 tasks
mallexxx added a commit that referenced this pull request Feb 13, 2023
* AdClickAttributionTabExtension+NavigationResponder

* fix TabExtension test overrides, adClick extension tests

* fix AdClickAttributionTabExtensionTests teardown

* cleanup

* don‘t use shared state in tests

* fix adClick inherited attribution initialization

* cleanup

* Adjust adClick tests to better match UserScripts/UserContentController behaviour; cleanup

* fix RELEASE

* remove Swifter dependency

* fix file header

* [navigation #3+4] canGoBack/GoForward; SERP headers (#885)

* canGoBack, canGoForward RePublished, Tab.publishers refactored

* redo redirect(_:NavigationAction, invalidatingBackItemIfNeeded)

* tests

* don‘t use shared state in tests

* fix RELEASE

* rollback renaming

* drop RePublished

* fix header name

* [navigation #4] SERP headers navigation responder (#887)

* SERP headers handling in SerpHeadersNavigationResponder

* convert TabTests to custom SchemeHandler
samsymons added a commit that referenced this pull request May 23, 2023
Task/Issue URL: https://app.asana.com/0/0/1203340357678926/f
Tech Design URL:
CC:

Description:

This PR adds an empty packet tunnel provider to the macOS browser. It uses Network Protection Extension as the target name, but uses DuckDuckGo Network Protection as the product name, since that is what will be visible to users who are looking in Activity Monitor etc.
samsymons pushed a commit that referenced this pull request May 23, 2023
Task/Issue URL: https://app.asana.com/0/0/1204024374356703/f

* Fixes a line of code that was outdated

* Improved error handling

* Updates BSK

* Fixes a unit test

* Updates BSK

* Rolls back some unintentional changes and fixes another unit test

* Updates BSK

* Updates BSK

* Shows an error message in debug builds when there's an assertion failure in the system extension

* Fixes the merge from network-protection to no longer use BSK.
samsymons pushed a commit that referenced this pull request May 23, 2023
Task/Issue URL: https://app.asana.com/0/0/1204215062991137/f

* Adds options to simulate tunnel and controller errors for testing

* The status bar menu is now controller through the main app

* Renames Controller to TunnelController for clarity

* Updates the license information in a file that was missing it

* Several small improvements

* Several fixes
diegoreymendez added a commit that referenced this pull request Aug 30, 2023
samsymons added a commit that referenced this pull request Aug 30, 2023
# By Diego Rey Mendez (4) and others
# Via Diego Rey Mendez
* develop:
  Fixes the BSK version manually #3
  Fixes the BSK version manually #2
  Fixes the BSK version manually
  Fix auth token issues (#1563)
  Bye Catalina (#1501)
  exempt apps.facebook.com & standard.co.uk for CTL (#1505)
  Update Gemfile to use fastlane fork (#1537)
  PopUp window positioning (#1551)
  Fix AdClickAttribution Mock causing test failures (#1538)
  Bump version to 1.54.0 (55)
  Update embedded files
  Show privacy dashboard for duckduckgo serp (#1521)
  Use unencrypted password for deduplicated Credentials objects (#1554)
  DBP: Add missing selector properties to CCF (#1555)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
samsymons added a commit that referenced this pull request Dec 24, 2023
federicocappelli pushed a commit that referenced this pull request Apr 8, 2024
Task/Issue URL: https://app.asana.com/0/0/1207002879349167/f

**Description**:
Migrates the Installation Attribution Pixel to use PixelKit.

<img width="1289" alt="Screenshot 2024-04-08 at 4 07 47 PM"
src="https://github.com/duckduckgo/macos-browser/assets/1089358/fcaf4fc2-f4b8-4d9e-a9b7-ef80f96cff97">

**Steps to test this PR:**

Download the Review App
[here](https://github.com/duckduckgo/macos-browser/actions/runs/8595167779/artifacts/1393075355)
Make sure to clean up the app's data directory by running sh
clean-app.sh review.
Run the App.
Search for pixel:m.mac.install in Kibana.

**Extra:**
Create the Origin.txt file manually and add it to the Bundle of the App
(.app/Contents/Resources) to test that the pixel fires and has the
origin field set.
This requires to re-sign the App again in order to run it.
Steps to re-sign the App
[here](https://github.com/duckduckgo/macos-browser/blob/988a3ef69aaf3c69fa2b56b274de5fa113d73809/.github/workflows/create_variants.yml#L142)

In terminal:

codesign -d --entitlements :- DuckDuckGo.app > entitlements.plist
Copy result of security find-certificate -a -c "Developer ID
Application" -Z | grep ^SHA-1 | cut -d " " -f3 | uniq
Code sign the App using the below:
          --force \
          --sign <paste value generated from #2 here> \
          --options runtime \
          --entitlements entitlements.plist \
          --generate-entitlement-der “DuckDuckGo.app”
Once the App is re-signed you need to open it by right-click on the icon
and select Open from the context menu otherwise you won’t be able to
open it.
quanganhdo added a commit that referenced this pull request Apr 16, 2024
Task/Issue URL:
https://app.asana.com/0/72649045549333/1206942473732466/f
Tech Design URL:
CC:

**Description**:

Updates the location displayed on VPN screen

**Steps to test this PR**:
1. Check the location section of the VPN screen
2. Make sure changing locations work
aataraxiaa added a commit that referenced this pull request Aug 13, 2024
Task/Issue URL:
https://app.asana.com/0/1206488453854252/1207802624568506/f

**Description**: The PIR v3 migration can fail at three points:
1. Orphaned Record Cleanup
2. Table Recreation
3. Final Foreign Key Violation Check

Currently, we throw an explicit error for #3, which is observable via
Pixels. We should also throw explicit errors for #1 and #2. This PR adds
these new errors.
federicocappelli added a commit that referenced this pull request Aug 28, 2024
Task/Issue URL:
https://app.asana.com/0/1205842942115003/1206750146033742/f
Tech Design URL:
https://app.asana.com/0/1200194497630846/1206777133329590/f

**Description**:
Now logging is aligned with our guideline:
https://app.asana.com/0/1202500774821704/1208001254061393/f
- all OSLog wrappers removed
- all os_log uses removed and replaced with Logger 
- ability to disable logs from the app removed
- Local and shared Logger improved
samsymons added a commit that referenced this pull request Aug 28, 2024
…iption

* main:
  Add error pixels for Subscription keychain access errors (#3147)
  onboarding dax dialogs (#3149)
  Logging refactoring phase #2 (#3154)
  Move WireGuard dependency to VPN extensions (#3144)
  Unified feedback form for Privacy Pro (#3058)
  Fix state restoration after app termination (#3127)
  Bump Submodules/privacy-reference-tests from `afb4f61` to `6133e7d` (#3148)
  Bump version to 1.104.0 (250)
  Set marketing version to 1.104.0
  Update embedded files
  Freemium PIR - Add Desktop RMF Attribute (#3146)
  Migrate asana-extract-task-id GHA action to a fastlane plugin (#3145)
  Add missing secrets to publish_dmg_release.yml
samsymons added a commit that referenced this pull request Aug 29, 2024
# By Dax the Duck (9) and others
# Via GitHub (6) and Dominik Kapusta (2)
* main: (44 commits)
  Allow using a production subscription with staging VPN environment (#3109)
  Add error pixels for Subscription keychain access errors (#3147)
  onboarding dax dialogs (#3149)
  Logging refactoring phase #2 (#3154)
  Move WireGuard dependency to VPN extensions (#3144)
  Unified feedback form for Privacy Pro (#3058)
  Fix state restoration after app termination (#3127)
  Bump Submodules/privacy-reference-tests from `afb4f61` to `6133e7d` (#3148)
  Bump version to 1.104.0 (250)
  Set marketing version to 1.104.0
  Update embedded files
  Freemium PIR - Add Desktop RMF Attribute (#3146)
  Migrate asana-extract-task-id GHA action to a fastlane plugin (#3145)
  Add missing secrets to publish_dmg_release.yml
  Migrate asana-extract-task-id GHA action to a fastlane plugin (#3145)
  Fix address bar queries when doing math expressions (#3130)
  Bump version to 1.103.0 (249)
  Bump version to 1.103.0 (248)
  Resolving automatic update edge cases (#3142)
  PIR Time-Based Pixel: 24 Opt-Out Request Success Rate (#2942)
  ...

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	LocalPackages/DataBrokerProtection/Package.swift
#	LocalPackages/NetworkProtectionMac/Package.swift
#	LocalPackages/SubscriptionUI/Package.swift
ayoy added a commit that referenced this pull request Nov 15, 2024
This reverts commit 83ba686.
brianhall added a commit that referenced this pull request Jan 14, 2025
Task/Issue URL:
https://app.asana.com/0/1199230911884351/1208647902506360/f
Tech Design URL:
CC:

**Description**:

Adds support for conditional clicking of elements by adding “choices”
and “default” keys to the click action.

**Optional E2E tests**:
- [x] Run PIR E2E tests
Check this to run the Personal Information Removal end to end tests. If
updating CCF, or any PIR related code, tick this.

**Steps to test this PR**:
The easiest way to test whether the decoding is working is to setup one
of the test files from the C-S-S integration tests as a fake broker:

1. Download [this
file](https://github.com/duckduckgo/content-scope-scripts/blob/main/injected/integration-test/test-pages/broker-protection/pages/expectation-actions.html)
on your local machine. Open it to copy the file path, should start with
`file://`
2. Download [this
JSON](https://gist.github.com/brianhall/969d81b04b8d4fff4e21c9c6b48164b9)
and update the url to the file path you copied in 1.
3. Save the JSON file in the macos-browser repo under
`LocalPackages/DataBrokerProtection/Sources/DataBrokerProtection/Resources/JSON`
4. Build the browser (no need for any special dependencies, just build
`main`), then open the debug version of PIR: Debug Menu -> Personal
Information Removal -> Run Personal Information Removal in Debug Mode.
5. In Birth Year enter `1965`, then select **Test Broker** in the list
of brokers and click the Run button.
6. After about 30 seconds, right click the webview and Inspect Element,
then click the console tab and type `window.location.href` and hit
enter. You should see a url that ends with `#1`, which means that the
user was older than 45.
7. Do steps 5-6 again, but for birth year enter `1990`, when you do
`window.location.href` you should get a url that ends with `#2` instead,
indicating that the user is < 45.
8. Edit the mybrokertest.com.json file, copy/paste the contents of [this
gist](https://gist.github.com/brianhall/ebac912c56c5e904ec86c05e3fa3ab30)
in and save. This just sets the default case at the bottom to `null`.
_Now re-build the browser to load the updated JSON._
9. Run steps 5-7 again, this time `window.location.href` should return a
url with `#1` for step 5, and a url with no `#` at the end for step 7,
meaning that nothing was clicked and no error was triggered.
10. Edit the mybrokertest.com.json file again and remove line 45 (and
the comma above on line 44) and then rebuild the browser to update the
JSON. Finally steps 5-7 again - step 5 should return no errors (and have
a `#1` hash at the end of the url), and step 7 should not return an
error, but also not have any hash (e.g. `#1`) at the end of the url.

**Definition of Done**:

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

—
###### Internal references:
[Pull Request Review
Checklist](https://app.asana.com/0/1202500774821704/1203764234894239/f)
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
[Pull Request
Documentation](https://app.asana.com/0/1202500774821704/1204012835277482/f)
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.

3 participants