Commit graph

3205 commits

Author SHA1 Message Date
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
Scott Nonnenberg
9e6d50b966
Merge branch 'master' into development
Bringing our development (beta) branch inline with all the more urgent
fixes which went directly into the master (production) branch.
2017-11-08 17:02:00 -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
30c5b62687
Don't call createWindow before the app is ready for it (#1665) 2017-11-02 08:13:41 -07: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
d7ab2ec207
v1.0.35-beta.1
Emoji picker (#1608)

Prevent drawAttention() when notifications are turned off - thanks
@canerelci! (#1612)

Support new 833 area code with update to libphonenumber (#1598)

Dev:
  - Support for beta releases installed beside production versions
    (#1606)
  - Display of environment and app instance in title bar/about window
    (#1606)
  - Fix json parsing exceptions obscuring server errors (#1605)
2017-10-30 14:49:43 -07:00
Lilia
1f967abf0a Update libphonenumber (#1598)
* Update libphonenumber

Also switch from bower to yarn for managing this dependency.

// FREEBIE

* Remove libphonenumber from bower.json

// FREEBIE
2017-10-30 14:45:57 -07:00
Scott Nonnenberg
c94d4efd18
Beta versions support: SxS support, in-app env/instance display (#1606)
* Script for beta config; unique data dir, in-app env/type display

To release a beta build, increment the version and add -beta-N to the
end, then go through all the standard release activities.

The prepare-build npm script then updates key bits of the package.json
to ensure that the beta build can be installed alongside a production
build. This includes a new name ('Signal Beta') and a different location
for application data.

Note: Beta builds can be installed alongside production builds.

As part of this, a couple new bits of data are shown across the app:

- Environment (development or test, not shown if production)
- App Instance (disabled in production; used for multiple accounts)

These are shown in:

- The window title - both environment and app instance. You can tell
  beta builds because the app name, preceding these data bits, is
  different.
- The about window - both environment and app instance. You can tell
  beta builds from the version number.
- The header added to the debug log - just environment. The version
  number will tell us if it's a beta build, and app instance isn't
  helpful.

* Turn on single-window mode in non-production modes

Because it's really frightening when you see 'unable to read from db'
errors in the console.

* aply.sh: More instructions for initial setup and testing

* Gruntfile: Get consistent with use of package.json datas

* Linux: manually update desktop keys, since macros not available
2017-10-30 13:57:13 -07:00
Caner Elci
a3fbb9a6aa Fixed drawAttention() position to comply with user's settings (#1612)
This fix is related about issue #1587
window.drawAttention() repositioned to allow complete control over notifications by settings. It now does not draw attention when the notifications are off.
2017-10-30 13:55:36 -07:00
Lilia
fb931b4733 Emoji picker (#1608)
* Add emoji button and popup panel

This integrates a simple third party emoji panel with a few css overrides to
correct some relative paths and colors.

The trickiest thing about this is ensuring we don't break the layout, which is
acheived through precise control over the panel's height, and prodigious calls
to updateMessageFieldSize.

// FREEBIE

* Don't close emoji panel on click, do close on send

To better facilitate multiple emoji entry.

// FREEBIE

* Make panel emojis bigger and higher resolution

// FREEBIE

* Move paperclip button to the right of the microphone

This makes our bottom-bar button arrangement more comfortable and consistent
with Android.

// FREEBIE

* Move emoji picker padding to inner container

* Insert emojis at cursor position

Don't just append to the end like a n00b! Also handle selected text correctly.
https://stackoverflow.com/questions/11076975

// FREEBIE

* A few visual tweaks to reduce visual complexity of emoji panel

- No gray buffer on the right side of the emoji panel
- No gray buffer between message compose text box and emoji window
- The scroll bar for the emojis is the same as our normal scrollbars
2017-10-30 13:54:55 -07:00
Lilia
d1f7f5ee8c Fix json parsing exceptions obscuring server errors (#1605)
I got a 413 (Rate limit exceeded) error from the server while fetching prekeys.
The client tried to parse the response as json since we expect json from the
prekey endpoint, which threw an exception because the response was not json.
This change prevents us from treating the response as json unless it has the
Content-Type header set accordingly.

If for some reason, the client and server disagree on whether the response
should be or is json, we'll default to treating it as text.

// FREEBIE
2017-10-24 15:54: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