When we mark a message as read, we go to the database to ensure that
older messages in this conversation are marked read as well. That
optimization was missing the read_at value provided to the starting
message, so now it is piped along to all of them.
Biggest changes forced by this: alt tags for all images, resulting in
new strings added to messages.json, and a new i18n paramter/prop added
in a plot of places.
Another change of note is that there are two new tslint.json files under
ts/test and ts/styleguide to relax our rules a bit there. This required
a change to our package.json script, as manually specifying the config
file there made it ignore our tslint.json files in subdirectories
Three locations were changed:
1. a group update, which lists a set of contacts
2. the contact name in the left pane
3. the conversation title
Three new components were added to window.Signal.Components to support
these scenarios, respectively:
1. Emojify
2. ContactName
3. ConversationTitle
Note that there are a number of other places in the app that should be
emojified, but never have been before. Essentially any place that a
contact name might be shown. A non-exhaustive list:
- Show group members
- Show safety number
- Verified change notification
- Disappearing timer change notification
- Contact verification notification
- Quote contact name
* Remove extra parenthesis causing warnings on latest chromium
* Update to electron 2.0.1
* Move all @types dependencies to devDependencies
* Update electron-builder/electron-updater
* Update to Node.js 8.9.3 to match Electron 2.0.1
Updated CONTRIBUTING.MD for an additional Windows 7 requirement for archived SDK's, specifically requested for Windows 7 is the Windows 8.1 SDK https://go.microsoft.com/fwlink/p/?LinkId=323507
* Only show 'send message' on contact detail when user has account
* Make contact detail headers visible in dark mode
* Fix vertical scrolling for very large contact in detail pane
* Fix a couple comment typos
* Modify OS.isWindows to check if OS is Windows first before checking version.
Previously OS.isWindows checked if the windows version matched the one required. This worked fine, except for the fact that it would end up comparing a linux kernel version to a windows version as it didn't check if the platform was Windows in the first place before.
This caused issues as it would throw an error when comparing with non-semver linux kernels (such as Fedora). Now it checks if the current platform is Windows first, and if not, immediately returns false.
Resolves: #2396
* Fix formatting for OS.ts
Notification Improvements (#2364)
- Fixed: The change for production didn't full make it into v1.11.0-beta.1 - this change restores the code which removes the old notification when we add a new one
- Fixed: Notifications could be orphaned in notification center if they were added/removed quickly
- Fixed: Notifications weren't removed properly when read on a linked device
Dev: Better logging when we receive a read sync from a linked device (#2364)
Creating/destroying notifications too quickly in testing on macOS would
result in them sticking around forever, requiring manual user dismissal.
We want to dismiss them for the user when we close or our window is
activated. So now we debounce() calls to our notifications code.
Feature: Receive contact (#2349, #2359)
Fixed: Sometimes clicks on quoted message wouldn't work (#2350)
Fixed: In dark theme, it was hard to see a message's triple-dot menu on hover - thanks @PunkChameleon (#2334)
Fixed: Unsupported image and video types were missing from media pane (#2351)
Fixed: On small screens, the media lightbox view would show media off-screen (#2351)
Notification improvements
- Remove all on remote read, on focus, on exit
- Show multi-message notifications like '5 new messages'
Media Gallery: A number of small visual fixes (#2351)
Emoji pane: Can now dismiss it by pressing escape key - thanks @tommypacker (#2354, #2357)
Update translations (#2328, #2352)
Dev:
- Windows 7: Use Electron-native notifications (#2338, #2330)
- Improve Logging For Disappearing Messages (#2332)
- Prettier: Continue expanding its coverage of app (#2339, #2324)
- Document Translations Setup + Remove Unused Strings (#2329)
- Make Protocol Buffers available to commonjs code (#2347)