Allows errors to be formatted and sanitized for logging. Removes sensitive paths
such as the app root directory.
Ideally, this module would be called singular `Error` but that is already a
global name. Using `Errors` plural is similar to Java convention for utilities
such as `Arrays`, `Collections`, `Files`, etc. See:
https://stackoverflow.com/a/11673838
In anticipation of GitHub’s deprecation of anonymous gists, we are moving our debug logs to https://debuglogs.org.
- [x] Publish debug logs to debuglogs.org.
- [x] Rename **Help > File a Bug** to **Report an Issue** for consistency with our debug log view as well as other apps such as Google Chrome.
- [x] Quickfix: Ensure `window.isFocused` always returns a boolean.
**Sample log:** https://debuglogs.org/0272bdd35288ed839ede88938a5290011150d42b56599efb5dd93ac80a2ac915
The plan is to use this for our future HTTP needs as it is:
- modern
- promise based
- popular
- likely to support custom certificate authorities (CAs)
Chosen over the following alternatives:
- superagent (older, promises added later, potential lack of custom CA support)
- axios (no team experience with it; less popular than `got`)
- request (older, heavy-weight, promises not native)
- jQuery (old, trying to move away from jQuery altogether and move towards
declarative UIs)
- `fetch` (too low-level, no native timeout support)
This makes it more consistent with ‘Report an issue’ under View > Debug Log.
Not using ellipsis as menu item doesn’t require user confirmation:
https://stackoverflow.com/a/637708
- [x] Apply ESLint autofixes in preparation of changes to debug log publish change.
- [x] Remove now unnecessary `/* eslint-env browser */` directives from some files. This is now part of our per-folder ESLint configuration.
Manual changes: 77cc9b61c9..0cf64f5083
Upgrade to the latest version of Electron, 1.8.2 (#2066)
Replace custom notification sound with system sound (#2108)
Update menus (#2078 and #2099)
- A few copy changes to make things clearer
- Settings now available via the File (Windows/Linux) or Signal
Desktop (macOS) OS menu
- Eliminate the triple-dot menu in the top-center of the screen
Fix: Hitting enter after entering device name on install would not move
to next screen (#2085)
Dev:
- Ensure consistent builds using `yarn --frozen-lockfile` (#2098)
- Update code to match eslint-enforced formatting (#2077)
- Upgrade to latest version of electron-builder and associated
packages (#2066 and #2097)