* textsecure/master: (26 commits)
v1.21.0
v1.21.0-beta.4
Dark Theme: Preserve blue background on app loading screen
Localization updates
Fix width of audio player when window is very narrow
A number of small fixes for Link Previews
Get rid of the white flash when the app starts up (#3083)
v1.21.0-beta.3
Lint fixes
Introduce new language: NB
Fail over to all numbers in retry if errors don't have numbers
Use the proper method for pulling attachments off disk for retry
Fix rendering bug with verified state in updateVerified()
Update electron-builder and electron-updater
Ensure that dialog pops up when permissions denied for voice note
Lint fixes
Large update to localization strings
Link Previews
Ensure that blocked messages are dropped even after sealed sender
Don't linkify quoted message contents
...
# Conflicts:
# .github/PULL_REQUEST_TEMPLATE.md
# _locales/cs/messages.json
# background.html
# config/default.json
# index.html
# js/models/conversations.js
# js/modules/web_api.js
# js/settings_start.js
# js/views/conversation_view.js
# js/views/settings_view.js
# package.json
# protos/SignalService.proto
# stylesheets/_index.scss
# stylesheets/_settings.scss
* Prevent FOUC on startup, use Signal Blue instead
Instead of flashing a white background on startup, the app will show a blue background while everything is loading.
* Make sure tests are rendered on white background
* Use `icon_250.png` as the loading image
* Remove hardcoded 'Loading...' text from template
Templatize the inbox view and use the same pattern for in-window view
switching as is now used with the conversation/message detail views.
This means doing more with markup and less jquery manipulation of
individual subelements of the inbox view.
Closes#173
Previously, in the event of a failed websocket auth, we would attempt to
reconnect once a second ad infinitum. This changeset ensures that we
only reconnect automatically if the socket closed 'normally' as
indicated by the code on the socket's CloseEvent. Otherwise, show a
'Websocket closed' error on the inbox view.
Ideally we would show a more contextual error (ie, 'Unauthorized'), but
unfortunately the actual server response code is not available to our
code. It can be observed in the console output from the background page,
but programmatically, we only receive the WebSocket CloseEvent codes
listed here:
https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes
The websocket error message is displayed by a normally-hidden but ever
present socket status element. Clicking this element will immediately
refresh the background page, which will try again to open the websocket
connection.
Define a Whisper.View base class that automatically parses and renders
templates and attributes defined by the subclass. This saves us a good
number of lines of code as well as some marginal memory overhead, since
we are no longer saving per-instance copies of template strings.