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

Send VPN system extension crashes to Sentry #2002

Merged
merged 3 commits into from
Jan 8, 2024

Conversation

samsymons
Copy link
Collaborator

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

Description:

This PR updates the crash report parser to read and send system extension crashes.

It's marked as Do Not Merge until the symbolication on the backend is functional. I've submitted a crash report already and pinged the backend team for help. For now though, the code can still be reviewed.

Steps to test this PR:

  1. First, we need to remove the DEBUG checks that prevent the crash report runner from executing in debug mode: update the checkForNewReports function to no longer check for !DEBUG
  2. Next, generate a system extension crash using these instructions
  3. Finally, run the app and make sure that it shows a modal window with the contents of the crash. Note that Sentry does not yet symbolicate these crashes - it won't hurt anything if you choose to send it, but I would suggest clicking Cancel instead just so that we don't have unsymbolicated crashes crowding up the place

Internal references:

Pull Request Review Checklist
Software Engineering Expectations
Technical Design Template
Pull Request Documentation

Copy link
Contributor

@diegoreymendez diegoreymendez left a comment

Choose a reason for hiding this comment

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

Works great. Just added one very small suggestion but I see no reason not to approve this.

Awesome work!

Comment on lines +45 to +47
let filteredPaths = allPaths.filter({
isCrashReportPath($0) && belongsToThisApp($0) && isFile(at: $0, newerThan: lastCheckDate)
})
Copy link
Contributor

Choose a reason for hiding this comment

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

Very nitpicky and not at all important, but we can remove the parentheses here.

* main: (35 commits)
  Update login item failure pixel (#2024)
  fix turn off sync error message (#2025)
  DBP: macOS - Scheduler Progress Notifications (#2023)
  DBP: Implement sign-out flow for DBP (#2009)
  Switch CI to Xcode 15.1 (#2022)
  fix(duckplayer): bump CSS for duckplayer nav loop fix (#1982)
  Bump Submodules/privacy-reference-tests from `a3acc21` to `6b7ad1e` (#2006)
  Bump version to 1.69.0 (99)
  DBP: Respect foreign constraints when deleting all user's data (#2014)
  DBP: Respect foreign constraints when deleting all user's data (#2014)
  Don't force reload tab when restoring state (#2016)
  Bump version to 1.69.0 (98)
  Update embedded files
  Update NetP launch agent logic to include build number (#2015)
  Always use 'sandbox' Application Support directory for Favicons Fetcher (#2013)
  Allow calculations in the address bar (#2012)
  Fix clickable area for buttons in 'Sync with Another Device' view (#2011)
  Fix for empty autofill state displayed on top of existing password items (#1998)
  Update error messages (#1999)
  Autofill never save for site (#1991)
  ...
@samsymons samsymons merged commit 517bb99 into main Jan 8, 2024
14 of 15 checks passed
@samsymons samsymons deleted the sam/netp-system-extension-crash-reports branch January 8, 2024 23:47
samsymons added a commit that referenced this pull request Jan 9, 2024
# By Dax the Duck (6) and others
# Via Fernando Bunn (2) and others
* main: (36 commits)
  Send VPN system extension crashes to Sentry (#2002)
  Update login item failure pixel (#2024)
  fix turn off sync error message (#2025)
  DBP: macOS - Scheduler Progress Notifications (#2023)
  DBP: Implement sign-out flow for DBP (#2009)
  Switch CI to Xcode 15.1 (#2022)
  fix(duckplayer): bump CSS for duckplayer nav loop fix (#1982)
  Bump Submodules/privacy-reference-tests from `a3acc21` to `6b7ad1e` (#2006)
  Bump version to 1.69.0 (99)
  DBP: Respect foreign constraints when deleting all user's data (#2014)
  DBP: Respect foreign constraints when deleting all user's data (#2014)
  Don't force reload tab when restoring state (#2016)
  Bump version to 1.69.0 (98)
  Update embedded files
  Update NetP launch agent logic to include build number (#2015)
  Always use 'sandbox' Application Support directory for Favicons Fetcher (#2013)
  Allow calculations in the address bar (#2012)
  Fix clickable area for buttons in 'Sync with Another Device' view (#2011)
  Fix for empty autofill state displayed on top of existing password items (#1998)
  Update error messages (#1999)
  ...

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo/Statistics/PixelEvent.swift
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