Fix issue where 'upgrade to new version' dialog would not restart app on
OSX (#1866)
Note: The transition v1.0.40->v1.0.41 will still exhibit this problem.
When v1.0.41 updates to the next release version, the behavior will be
fixed.
Fix bug where previously-deleted contacts are re-added to left pane on
contact import (#1811)
Fix bug where the main window would be created off-screen, inaccessible
(#1830)
Fix issue where certain sync messages to iOS would result in a new
message alert (#1843 and #1857))
Key rotation updates (#1833 and #1846):
- Save prekeys optimistically after generation, even if upload appears
to fail
- Track confirmations from server in prekey
- New prekey cleanup behavior: favoring confirmed keys, but always
keeping three
- Log all failures resulting from signed prekey rotation
- Retry rotation if we run into a failure
- Force rotation when starting up new version, to fix Chrome
interference (https://github.com/WhisperSystems/Signal-Desktop/releases/tag/v0.44.13)
Dev:
- Verify that saved window location/size data is valid before creating
window (#1830)
- A variety of logging improvements to help track down bugs (#1832 and
#1836)
* Re-enable libtextsecure unit tests, get passing, run in CI
* Save prekeys optimistically, track confirmed, new clean behavior
* Eliminate potential conflicts when rotating on startup
* Remove last symlink: get libtextsecure tests running on windows
* Validate config-provided locatio against available screens
* Increase buffer around screen from 10px to 100px
* Protect against null mainWindow, fix height/width typo
* Properly handle missing x and y
* Move to _.isNumber for checking x and y
* Use greater than or less than to allow for y = 0, exactly 100px
* Log the files discovered in logPath
I've encountered some logs which include very old entries; and my
suspicion is that we're not cleaning up old log files properly.
* Log prekey fetches (success and failure), just like signed keys
* Force log file information into the final web-ready log
* Log when we get a blocked numbers sync message
* Save three old signed keys in addition to the current active
* Remove the mystery from all the error-related log messages
* Log successful load of signed key - to help debug prekey errors
* removeSignedPreKey: Don't hang or crash in error cases
* Log on top-level unhandled promise rejection
* Remove trailing comma in param list, Electron 1.6 does not like
* Harden top-level error handler for strange object shapes
* Retry failed signed key rotation; start rotation when registered (#1772)
* rotateSignedPrekeys: Fix 'res is not defined' error
* If the server rejects key rotation, don't retry immediately
* Force a signed key rotation on launch of any new version
Remove conversation from left pane on 'delete messages' (#1807)
'Reset session' option for a conversation now resolves more error
situations (#1796)
Import: Link to export docs, make clear that import should only happen
once (#1803)
Remove last seen indicator if we sent a message in this conversation on
another device (#1805)
New version dialog (OSX and Windows) should now be less obtrusive
(#1795)
About dialog can be dismissed with escape key, important on some Linux
window managers with minimal chrome (#1795)
Dev:
- Group changes are better localizable (#1802)
- Import: better logging of errors (#1785)
* web requests: Don't fail if JSON not well-formed in error cases
Turns out that before our move to node-fetch, we ignored JSON.parse()
failures: https://github.com/WhisperSystems/Signal-Desktop/pull/1552/files#diff-1103a6aff0f28b6066715c6994278767L37518
* Update to libsignal v1.2.0, delete sessions on reset session
Previously we only archived sessions when sending or receiving a
'reset secure session, which didn't match up with the mobile apps.
Import: Save attachments serially for more efficient RAM usage (#1768)
Dev:
- Import: Better logging when things go wrong (#1768)
- removeSignedPrekey: Be resilient to delete returning nothing (#1769)
Fix issue where application won't start up when /tmp is mounted noexec on Linux (#1734)
Fix issue where more and more messages would be loaded on every restart (#1719)
Add accelerators for top-level menu shorts, and ensure they can be localized - thanks to @cyberang3l! (#1702)
Update strings for: de, el, es, es_419, fa, hi, it, no, pt_PT, ro, ru, sl, and zh_TW (#1733)
* Added top level menu shortcuts (Fixes#1688 and #1695).
The ampersand (&) character in front of a letter in a menu label
indicates that the letter that follows '&' will be used as a keyboard
shortcut letter to access this menu. In Windows/Linux, the default
shortcut combination is Alt+<letter>.
* Use non-hardcoded menu labels.
The menu labels were hardcoded in English.
We should not be using plain strings right in the source code, but
pulling them from the `messages.json` files instead.
Import: wait for IndexedDB transactions to complete; should solve
out-of-memory problems (#1698)
Increase web request timeout to 10s for slower networks (#1699)
Drop failed delivery receipts, which caused loading screen to go higher
and higher over time (#1699)
Re-enable download and upload of larger attachments
(#1591/ce0e39aaa7eec873f65fe9675badbd6461a3054c)
Prevent situation where lack of keys makes "Error handling incoming
message." common (#1595)
Stay connected or reconnect quickly in changing network conditions,
returning from sleep, etc. (#1593)
Don't send read syncs (to your devices) or read receipts (to client
devices) for messages with errors (#1596)
Fix occasional very long app startup (#1597)
Don't check for auto updates on linux; handled by package manager
(#1592)
* Online/offline: Always stop timer, don't connect if closed
* Sockets: Send our own close event faster, shutdown only on close
Seems that we were too-aggressively disconnecting from all socket
events. Also, we should be able to send our own close event a lot
faster with no ill effects.
* Catch-up libtextsecure changes
Load profiles for a conversation without blocking convo load (#1570)
The About window is no longer blank (#1564)
Add 5s timeout for all requests but attachment up/down, avatar (#1584)
Dev:
- Move to node fetch API for web requests instead of XHR (#1552)
- Log when we've detected a new version (#1567)
- Reduce logging when the window moves (#1568)
- Add GPLv3 LICENSE file (#1309)
- Remove documentation references to BitHub (#1576)
- models/conversation: Refer to proper error variable (#1569)
- Deployment: No longer use CI windows assets (#1564)
- Fix copy pasta of timestamp_m to timestamp_h in locales (#1582)
* Use node-fetch instead of xhr
* Remove XMLHttpRequest.js
// FREEBIE
* Avoid calling json() on non json responses
Previously we would catch and swallow JSON parsing errors resulting from an
empty response, though empty responses are normal from a few endpoints, like
requesting sms or voice registration codes.
Since the JSON parsing call is now handled internally by node-fetch, we have to
keep closer track of our expected response type to avoid throwing an exception.
// FREEBIE