Commit graph

3141 commits

Author SHA1 Message Date
Scott Nonnenberg
c195ba2630
Save prekeys optimistically, track confirms, new clean behavior (#1846)
* 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
2017-12-01 13:35:39 -08:00
Scott Nonnenberg
21325bc922
Move sync messages to silent = true (#1843)
* Set silent = true for all sync messages

* sendmessage.js: Remove brace-less if
2017-12-01 13:31:48 -08:00
Scott Nonnenberg
6cb8b99637
Harden our handling of config.json, verify that window is visible (#1830)
* 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
2017-11-30 11:58:00 -08:00
Scott Nonnenberg
d9a48478ec
Logging for prekey fetches, load of log files (#1836)
* 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
2017-11-30 11:56:46 -08:00
Scott Nonnenberg
44da6924f9
A variety of logging improvements to track down bugs (#1832)
* 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
2017-11-30 11:56:29 -08:00
Scott Nonnenberg
a5923c2177
Key rotation: log failures, retry, force on new version (#1833)
* 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
2017-11-30 11:55:59 -08:00
Scott Nonnenberg
b8b26d3e79
On group/contact import: don't re-add hidden entries to left pane (#1811)
* On contact import: don't re-add hidden contacts to left pane

* On group import: don't re-add hidden groups to left pane
2017-11-27 15:44:44 -08:00
Scott Nonnenberg
93a34e5699
v1.0.39
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)
2017-11-21 17:28:40 -08:00
Scott Nonnenberg
0a4f984cf5
Properly localize group changes (#1802)
* Properly localize group updates

* Remove phone number in display name if contact in address book

* New string for multiple new group members
2017-11-21 16:38:13 -08:00
Scott Nonnenberg
87d8ec723a
Remove conversation from left pane on 'delete messages' (#1807) 2017-11-21 16:37:58 -08:00
Scott Nonnenberg
abb83a895e
Move to e.target.error, transaction/request.error didn't work (#1785)
* Pull error properly from the indexeddb request

* Move to e.target.error, transaction/request.error didn't work
2017-11-21 15:24:04 -08:00
Scott Nonnenberg
1c455c83e0
Set parent window for about/new version, escape to close (#1795)
* Set parent window for about/new version, escape to close

* Exclude jquery from jshint run
2017-11-21 15:23:18 -08:00
Scott Nonnenberg
158b575885
Proper session reset: Delete sessions before and after (#1796)
* 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.
2017-11-21 15:20:07 -08:00
Scott Nonnenberg
f07302c2cd
Add some copy clarifying the import process (#1803) 2017-11-21 14:51:58 -08:00
Scott Nonnenberg
83428e5b81
Remove last seen indicator if we get a sync'd outgoing message (#1805)
This mirrors the way Android does things.
2017-11-21 14:41:05 -08:00
Scott Nonnenberg
8cba7d26aa
v1.0.38
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)
2017-11-14 16:45:18 -08:00
Scott Nonnenberg
bd65932d94
Import: Better onerror logging, save attachments serially (#1768)
* Import: Proper error handling and reporting from IndexedDB APIs

* Import: Load attachments one at a time, not per-conversation
2017-11-14 16:40:43 -08:00
Scott Nonnenberg
f0ec75eef4
removeSignedPrekey: Be resilient to delete returning nothing (#1769) 2017-11-14 16:37:44 -08:00
Scott Nonnenberg
0a2651c0a7
v1.0.37
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)
2017-11-08 16:28:24 -08:00
Scott Nonnenberg
d953a61d39
preload.js: Load spellcheck last; it fails with /tmp noexec (#1734) 2017-11-08 15:52:42 -08:00
Scott Nonnenberg
259862ec2e
Update strings for quite a few languages (#1733)
de, el, es, es_419, fa, hi, it, no, pt_PT, ro, ru, sl, and zh_TW
2017-11-08 15:05:59 -08:00
Scott Nonnenberg
f2b5c53d4c
Immediately remove delivery receipts from the retry cache (#1719) 2017-11-07 18:30:54 -08:00
Vangelis
c0c4730bad Added top level menu shortcuts, pull labels from messages.json (#1702)
* 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.
2017-11-07 15:14:20 -08:00
Scott Nonnenberg
7d53e69958
v1.0.36
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)
2017-11-07 10:53:34 -08:00
Scott Nonnenberg
cae2b10af6
Increase web request timeout, drop failed delivery receipts (#1699)
Increase web request timeout, drop failed delivery receipts, export error logging
2017-11-07 10:49:10 -08:00
Scott Nonnenberg
845291c51e
Wait for IndexedDB transactions to complete for import scale (#1698)
* No longer reference 'Chrome App' on the start screen

* Imports are only complete when IndexedDB transaction is complete
2017-11-07 10:19:18 -08:00
Scott Nonnenberg
9a181ef4e9
v1.0.35
Update to the latest Electron 1.6.x (#1666)
2017-11-01 19:07:47 -07:00
Scott Nonnenberg
d098328ee2
Update to the latest Electron 1.6.x (#1666) 2017-11-01 19:06:46 -07:00
Scott Nonnenberg
1a2b123f31
v1.0.34
Re-enable read receipts and read syncs (#1604)
2017-10-24 10:30:52 -07:00
Scott Nonnenberg
efb5c10d36 Re-enable read receipts and read syncs (#1604) 2017-10-24 10:29:45 -07:00
Scott Nonnenberg
04fb736e8b
v1.0.33
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)
2017-10-23 16:22:12 -07:00
Scott Nonnenberg
5c8a0d4836 Don't send read syncs or read receipts for messages with errors (#1596) 2017-10-23 16:16:01 -07:00
Scott Nonnenberg
632c8c063c Only start the app up when we've fetched all conversations (#1597)
It's a race condition today, and we don't always win the race.
2017-10-23 16:02:49 -07:00
Lilia
22ccd46f4c Fix setSignedPreKey request - don't expect a JSON response (#1595)
Don't expect a json response from this endpoint. It will only give you
empty responses and exceptions. And sadness.

// FREEBIE
2017-10-23 15:41:27 -07:00
Scott Nonnenberg
6a895f0e27 Better handling of online/offline behavior, socket shutdown (#1593)
* 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
2017-10-23 14:38:43 -07:00
Lilia
3b810d3196 Don't check for auto updates on linux (#1592)
There aren't any!

// FREEBIE
2017-10-23 10:44:05 -07:00
lilia
ce0e39aaa7 Fix timeouts
// FREEBIE
2017-10-23 09:26:50 -07:00
Scott Nonnenberg
3525e9f445
v1.0.32
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)
2017-10-20 17:46:20 -07:00
Scott Nonnenberg
735aec90e8 Add 5s timeout for all requests but attachment up/down, avatar (#1584)
* Remove hang workaround in api.js since we have global workaround

* Add 5s timeout for all requests exept attachment up/down, avatar
2017-10-20 17:02:44 -07:00
Lilia
af8b0164b5 Move to node fetch API for web requests instead of XHR (#1552)
* 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
2017-10-20 15:52:02 -07:00
Heather Booker
0d3c70151d Fix copy pasta of timestamp_m to timestamp_h in locales (#1582) 2017-10-20 15:51:28 -07:00
John Jago
a3f401f955 Add GPLv3 LICENSE file (#1309) 2017-10-20 09:36:49 -07:00
Nicholas Rizzio
4431fae6bc Remove references to BitHub (#1576)
As of WhisperSystems/Signal-Android@258910504c, BitHub is not working
anymore.
2017-10-20 09:32:51 -07:00
Scott Nonnenberg
dabc56d0cf Load profiles for a conversation without blocking convo load (#1570) 2017-10-18 11:59:12 -07:00
Scott Nonnenberg
f68604c412 models/conversation: Refer to proper error variable (#1569) 2017-10-18 11:58:44 -07:00
Scott Nonnenberg
07d19d12c2 Reduce logging when the window moves (#1568) 2017-10-18 11:57:48 -07:00
Scott Nonnenberg
66d78d3ca6 Log when we've detected a new version (#1567)
Helps with tracking down per-version bugs when log could contain output
from more than one version.
2017-10-18 11:57:34 -07:00
Scott Nonnenberg
7e328bcacd Deployment: No longer use CI windows assets, include about.html (#1564)
* Include about.html in production Electron build

* Remove windows from fetch-release task, fix permissions

We no longer use the pre-built assets from AppVeyor for our Windows
build.

* AppVeyor: Remove capture/upload of built assets
2017-10-17 08:03:47 -07:00
Scott Nonnenberg
9e7c2357a4
v1.0.31
Improved OS menus (#1563)
  - About box now available on all platforms
  - The Help menu now has four new items: Go to release notes, Go to forums, Go to support, File a bug
  - All menu item labels are now localizable

Add setting to hide menu bar on Windows/Linux - thanks to @connection-reset! (#1551)

Fix flickering offline/disconnected status on Linux (#1561)

Fix slowdowns when composing multiline message (#1560)

Fix intermittent incorrect conversation sort order (#1558)

Dev:
  - Improve fixtures, restore `InboxView` rendering on the test page (#1562)
  - Bugfix updates to a number of dependencies (#1560)
  - .gitignore no longer excludes many files under `components` (#1560)
2017-10-13 17:14:30 -07:00
Scott Nonnenberg
1f9fcd64c7 Wait to manually disconnect after receiving 'offline' event (#1561)
* Wait to manually disconnect after receiving 'offline' event

We've received Linux logs indicating that we can get offline/online
blips - only 30ms between the two events. The app was never realy
offline. So this change slows the whole disconnect process down.

* Handle offline startup: register for online event, don't connect
2017-10-13 17:02:08 -07:00