Commit Graph

2140 Commits

Author SHA1 Message Date
Scott Nonnenberg a728c9efbf Remove all mention of obsolete safety-number-approval setting 2018-03-14 14:42:15 -07:00
Scott Nonnenberg 26c273618a Refactor: db tasks to database.js, log delete to modules/logs.js 2018-03-14 14:42:15 -07:00
Scott Nonnenberg 3527740598 Format updates to js/database.js 2018-03-14 14:42:14 -07:00
Scott Nonnenberg 3a151393c5 Move wrapDeferred from background.js to preload.js
It's necessary anywhere that will have to deal with Deferreds.
2018-03-14 14:42:14 -07:00
Scott Nonnenberg 12d9d41548 Move to better database deletion call; clears in-memory caches 2018-03-14 14:42:14 -07:00
Scott Nonnenberg c81d3f5c0b Allow ConversationController.load() to be called more than once 2018-03-14 14:42:14 -07:00
Scott Nonnenberg 383e02edc4 New section in settings screen, full-screen 'are you sure?' 2018-03-14 14:42:13 -07:00
Scott Nonnenberg 198f356792 Return number (not id) in getNumber, remove unnecessary comment 2018-03-14 14:42:13 -07:00
Scott Nonnenberg 9acb189650 Remove config after unlink, clear db when linked with new number 2018-03-14 14:42:13 -07:00
Daniel Gasienica 8a1bff0fad Remove unused require 2018-03-08 17:50:10 -05:00
Daniel Gasienica 43b47fd349 Avoid ensure-error for privacy reasons
Example:

```
> node
> const nonError = {foo: 'i-am-private'};
undefined

// before
> util.inspect(nonError);
'{ foo: \'i-am-private\' }'

// after
> nonError.toString()
'[object Object]'
>
```
2018-03-08 16:23:51 -05:00
Daniel Gasienica ea07915e6b Escape special characters in file path 2018-03-08 16:23:51 -05:00
Daniel Gasienica 44b81f68dd Remove privacy redaction from Errors.toLogFormat 2018-03-08 16:23:51 -05:00
Daniel Gasienica 49e0850fb2 Extract Privacy module
Centralizes how we redact sensitive information.
2018-03-08 16:23:51 -05:00
Daniel Gasienica 0c317c5498 Redact all private information from logs 2018-03-08 16:23:04 -05:00
Daniel Gasienica 0e2f8a8a06 Extract Errors.redactSensitivePaths 2018-03-08 16:22:38 -05:00
Daniel Gasienica 33bbb12626 Use Errors.toLogFormat in backgrounds.js 2018-03-08 16:22:38 -05:00
Daniel Gasienica 3dffdc3f0b Rename Errors to GlobalErrors for clarity 2018-03-08 16:22:38 -05:00
Daniel Gasienica 2575196617 Extract Errors.addGlobalHandler procedure 2018-03-08 16:22:38 -05:00
Daniel Gasienica be3e4d86c2 Add Errors.toLogFormat
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
2018-03-08 16:22:38 -05:00
Daniel Gasienica b049412bfd Document workaround for got FormData bug
See: https://github.com/sindresorhus/got/pull/466
2018-03-08 16:21:27 -05:00
Daniel Gasienica 710701d0fc Document why key comes first 2018-03-08 16:21:27 -05:00
Daniel Gasienica 8b71155e7c Replace superagent with got for debug logs 2018-03-08 16:21:27 -05:00
Daniel Gasienica 52f7de6a10 Add debuglogs module 2018-03-08 16:21:27 -05:00
Daniel Gasienica e4b34a6287 Make DebugLogView::submit async 2018-03-08 16:21:27 -05:00
Daniel Gasienica 3ab3e93a28 Upload debug logs to debuglogs.org 2018-03-08 16:21:27 -05:00
Daniel Gasienica cb464c6301 Ensure isFocused always returns boolean 2018-03-08 16:21:27 -05:00
Daniel Gasienica 969127a72a Remove triple parens 2018-03-08 13:46:51 -05:00
Daniel Gasienica f6fd979ccb Remove explicit ESLint browser directives 2018-03-08 13:46:51 -05:00
Daniel Gasienica 168788600a Fix lint errors 2018-03-08 13:46:51 -05:00
Daniel Gasienica 325c0628cd Remove Vim modeline 2018-03-08 13:46:51 -05:00
Daniel Gasienica b3a3729261 Fix lint errors 2018-03-08 13:46:51 -05:00
Daniel Gasienica 6f7f55f783 Whitelist globals 2018-03-08 13:46:51 -05:00
Daniel Gasienica 090345523f Disable ESLint strict rule for module
`js/logging.js` acts as a module even though it lives in `js/*`.
2018-03-08 13:46:51 -05:00
Daniel Gasienica 7db44e35bd Allow node environment for js/logging.js 2018-03-08 13:46:51 -05:00
Daniel Gasienica d4c9422a99 Apply ESLint auto-fixes: debug_log_view.js 2018-03-08 13:46:51 -05:00
Daniel Gasienica 5d6cd0ea39 Apply ESLint auto-fixes: js/logging.js 2018-03-08 13:46:51 -05:00
Daniel Gasienica a61f2939fd Make isEnabled an instance variable 2018-03-05 10:29:11 -05:00
Daniel Gasienica d6ff5af843 🎨 shouldUpdate --> needUpdate 2018-03-05 10:29:11 -05:00
Daniel Gasienica 541e0bfb72 Reduce log noise / size 2018-03-05 10:29:11 -05:00
Daniel Gasienica a5a4ed7de7 Extract isAudioNotificationEnabled constant 2018-03-05 10:29:11 -05:00
Daniel Gasienica dc38d40f20 Revert to disabled notification sound on <= Windows 7
We haven’t had the chance to test this using `node-notifier` on Windows 7.
2018-03-05 10:29:11 -05:00
Daniel Gasienica 5a4773fee7 Only play audio notification on supported platforms 2018-03-05 10:29:11 -05:00
Daniel Gasienica 85b121aca4 Rename shouldShowAudioNotificationSetting
Use `isAudioNotificationSupported` to make it less presentation layer specific.
2018-03-05 10:29:11 -05:00
Daniel Gasienica dcf651fb51 Hide notifications audio setting on Linux 2018-03-05 10:29:11 -05:00
Daniel Gasienica 21339c6866 Add Settings type 2018-03-05 10:29:11 -05:00
Daniel Gasienica 91daedd619 Add OS module 2018-03-05 10:29:11 -05:00
Daniel Gasienica dbc242c37f Improve debug log for notifications 2018-03-05 10:29:11 -05:00
Daniel Gasienica b5e7882267 Use system notification sounds
Alternatively, there is per-platform support for specific sounds, but that would
require a larger investment:
- macOS: https://github.com/mikaelbr/node-notifier/tree/9420a38fc329c7700eefd35594319bf3a96227a0#all-notification-options-with-their-defaults
- Windows: https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh761492(v=win.10)
2018-03-05 10:29:11 -05:00
Daniel Gasienica 59e59fb754 Remove new message audio notification
Bye, bye, dear Ka-Klunk!
2018-03-05 10:29:11 -05:00