Commit graph

3181 commits

Author SHA1 Message Date
Scott Nonnenberg
53d7761e43
Merge branch 'master' into development 2017-12-06 12:45:26 -08:00
Scott Nonnenberg
e96502ba5e
Delay our call to quitAndInstall(); doesn't work inside callback (#1866) 2017-12-06 12:44:23 -08:00
Scott Nonnenberg
5bc70c35e7
Fix ASAR filter: takes ASAR size down by ~200MB (#1869)
I knew the emoji stuff was huge, just didn't realize that our filtering
for the ASAR was broken so none of our rules applied!
2017-12-06 12:44:16 -08:00
Scott Nonnenberg
b366de7c63
aptly.sh: Fix broken switch commands - distro and config fix 2017-12-04 18:51:38 -08:00
Scott Nonnenberg
74d80fb1db
v1.1.0-beta.3
Add proxy support based on environment variables (#1855)

Fix issue where window would not show new message alerts on some Linux
systesm - thanks @cornerman (#1820)

Add a tray icon to the application behind command-line argument -
thanks @m-pilia (#1676)

Emoji:
  - Fix issue where clicks in emoji panel wouldn't do anything (#1849)
  - Add support for Emoji 5 - thanks @liliakai (#1797)
  - Eliminate unused emoji images from production package (#1849)

Deployment:
  - aptly.sh: support for current and previous ubuntu versions (#1856)
  - deployment: update electron-publisher-s3 to match builder update
  (17f0bb42bc)

Dev:
  - Update development branch to include everything up to v1.0.40
  (f013eed9d1
  and 3ac29a4ba3)
  - Update readme.md to use signal.org URLs - thanks @scienmind (#1814)
2017-12-04 17:27:01 -08:00
Scott Nonnenberg
3ac29a4ba3
Fix merge confilict in rotate_signed_prekey_listener.js 2017-12-04 16:49:43 -08:00
Scott Nonnenberg
f013eed9d1
Merge branch 'master' into development
Bringing beta up to date with production v1.0.40
2017-12-04 16:08:19 -08:00
Scott Nonnenberg
1432d9853b
v1.0.40
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)
2017-12-04 15:54:56 -08:00
Scott Nonnenberg
acc94edd23
Add proxy support based on environment variables (#1855)
We pull proxy settings from environment variables:

- HTTPS_PROXY for sending, profile pulls, and attachment download/upload
- WSS_PROXY for connecting to the websocket for receiving messages
- ALL_PROXY to provide one server for both

More details on our proxy handling:

- https://github.com/Rob--W/proxy-from-env#environment-variables
- https://github.com/TooTallNate/node-proxy-agent

This is the natural way of things for Linux. My understanding is that
most proxies on MacOS are system-wide and transparent, so it's not so
urgent. But Windows will likely require further UI for configuration.
Will need to do some testing with Windows users.
2017-12-04 15:35:50 -08:00
Scott Nonnenberg
79c4893b5f
aptly.sh: support for current and previous ubuntu versions (#1856)
artful and xenial. Sadly, this appears to double the upload time for a
new build. :0(
2017-12-04 15:35:06 -08:00
Scott Nonnenberg
2fdb048721
NullMessage sent before verification sync should not be silent (#1857) 2017-12-04 15:28:38 -08:00
Scott Nonnenberg
2430ee00d4
Emoji: Eliminate unused images, make sure panel clicks add emoji (#1849)
* Emoji: Ensure that all clicks work by using emoji data directly

* Eliminate a number of unused emoji images from final build

* Re-add the generic sheets directory, which we partially filter
2017-12-04 10:19:35 -08:00
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
Lilia
9c7ba87d6a Add support for Emoji 5 (#1797)
* Add support for Emoji 5

Update to latest emoji-datasource and emoji-js and switch to an up-to-date fork
of emoji-panel.

// FREEBIE

* Dark theme support for emoji-panel

Fixes #1763

// FREEBIE
2017-11-27 15:54: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
johannes karoff
89297af5d2 add urgency hints for linux platform (#1820) 2017-11-27 15:14:48 -08:00
Andrey D
2199a86f10 Update readme.md to use signal.org URLs (#1814) 2017-11-27 15:13:42 -08:00
Martino Pilia
cd50fe3123 Add a tray icon to the application (#1676)
This commit adds a tray icon to the application, shown in the system
tray bar, that can be used to minimise the application window.  This
is a common feature on most desktop messaging apps (e.g. Telegram
Desktop or Slack) and allows to save space in the system task bar.

The tray icon provides a context menu that contains a button to
show/hide the application window, and a button to quit the
application. When the tray icon is clicked, the visibility of the
window is toggled.  When the close (x) button of the window is
pressed, the application is not terminated but minimised to the tray
icon instead (it can be terminated by using the "Quit" entry in the
File menu or in the context menu of the tray icon).

The tray icon is disabled by default, and two command line arguments
are available to enable it:
  --use-tray-icon: enables the tray icon
  --start-in-tray: enables the tray icon and the application starts
                   minimised in the tray bar

Resolves: #1480
2017-11-27 14:48:09 -08:00
Scott Nonnenberg
17f0bb42bc
deployment: update electron-publisher-s3 to match builder update 2017-11-22 17:37:54 -08:00
Scott Nonnenberg
ed44981aa4
v1.1.0-beta.2
Windows 7: Use an alternate mechanism for notifications (#1812)

Retry failed signed key rotation; start rotation when registered (#1772)

Dev:
  - Update to electron-builder 19.29.0; may allow windows shortcut to
    stay deleted on update (#1804)
  - aptly.sh: Instructions for pruning old packages from repo (#1771)
  - Update development branch to include everything up to v1.0.39
    0e328f3911
2017-11-22 16:49:35 -08:00
Scott Nonnenberg
aab4f10509
rotateSignedPrekeys: Fix 'res is not defined' error 2017-11-22 15:08:04 -08:00
Scott Nonnenberg
cdfdd6b381
Fix notifications: windows -> window, serialize false setting 2017-11-22 14:32:39 -08:00
Scott Nonnenberg
16ad94148a
Introduce library for notifications on downlevel windows (#1812) 2017-11-22 13:50:52 -08:00
Scott Nonnenberg
be2d4535a8
yarn.lock and libtextsecure.js catchup 2017-11-21 19:10:22 -08:00
Scott Nonnenberg
0e328f3911
Merge branch 'master' into development
This catches the development branch up with v1.0.39 in master.
2017-11-21 18:25:59 -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
16d94a8022
Update to electron-builder 19.29.0 for better shortcut behavior (#1804)
* Update to electron-builder 19.29.0 for better shortcut behavior

Fix #1744

To get this bugfix: https://github.com/electron-userland/electron-builder/pull/2085

* Update electron-updater as required by electron-builder
2017-11-21 14:50:51 -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
fd5fa666f9
Retry failed signed key rotation; start rotation when registered (#1772) 2017-11-16 16:19:24 -08:00
Scott Nonnenberg
81565b1ac6
aptly.sh: Instructions for pruning old packages from repo (#1771) 2017-11-16 15:33:19 -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
475e9020ed
v1.1.0-beta.1
Fix missing application icon on some Linux distributions (#1735)

Update to electron 1.7.9 (#1736)

Dev:
  - Be resilient to thrown non-errors in import process (#1737)
  - Beta builds: A few updates required for successful release (#1739)
  - Use icon from /images for window creation instead of /build (#1738)
  - Update development branch to include everything up to v1.0.37 9e6d50b966
2017-11-08 19:33:26 -08:00
Scott Nonnenberg
e07021837a
Beta builds: A few updates required for successful release (#1739) 2017-11-08 19:32:44 -08:00
Scott Nonnenberg
48ec4003dd
Use icon from /images for window creation (#1738) 2017-11-08 19:11:33 -08:00
Scott Nonnenberg
1fdaa00660
Add icon to the window manually on creation (#1735)
This supplements the work we already do to tell the OS about our icon.
2017-11-08 17:33:20 -08:00
Scott Nonnenberg
f7140af9cb
Update to the latest 1.7.x electron (#1736) 2017-11-08 17:32:52 -08:00
Scott Nonnenberg
34dd375260
Be resilient to thrown non-errors in import process (#1737) 2017-11-08 17:32:33 -08:00