Grouping of notifications is not supported on Windows 7 due this bug:
https://github.com/electron/electron/issues/11189
* [x] Disable notification grouping (using `tag`) on Windows 7.
* [x] Log notification grouping support.
* [x] **Infrastructure:** Use 2-space indentation for all files
(better integration with Prettier.)
* [x] Log updates to last message (message preview) in conversation list.
Should help debug cases such as:
https://github.com/signalapp/Signal-Desktop/issues/2323
* [x] Use structured logs:
* [x] Use static prefix (easier to search)
* [x] Capitalize log message and use present tense
(consistent with Git logging conventions).
* [x] Attach metadata as JSON serializable object. This has the benefit
that all fields are named and can be searched for.
* [x] Remove newlines from group IDs during redaction so they don’t break up
log lines.
* [x] Test notifications on Windows 7.
* [x] Switch to Electron native notifications on Window 7.
* [x] Disable **Play audio notification** setting on Windows 7 since they are
not natively supported.
* [x] Improve logging for notification status.
* [x] Investigate whether Electron notification support choosing custom sound
on Windows. Answer: no.
Source: 82329124ff/docs/api/notification.md (new-notificationoptions-experimental)
* [x] Remove `node-notifier`.
* [x] **Infrastructure:** Port `OS` and `types/Settings` to TypeScript.
* [x] Add support for specifying minimum Windows version with
`OS.isWindows(minVersion?: string)`.
* [x] OT: While testing on Windows 7, I confirmed spell checking worked
for me.
- [x] Remove documentation on how to add discouraged Bower dependencies.
**TODO:** Document how to pull in npm dependencies.
- [x] Document Transifex setup for pulling translations.
- [x] Remove unused translation strings.
We missed a couple directories with previous attempts to turn this on
globally: app/ and libtextsecure/
Not to mention files in places we didn't expect: ts files that weren't
in the ts directory!
This turns prettier on for every file we care about (js, ts, tsx, md)
everywhere in the project but for a few key parts.