Commit Graph

247 Commits

Author SHA1 Message Date
Scott Nonnenberg 7ee6584d8b Fix linter: global state left on the regex causes problems 2020-09-21 15:42:36 -04:00
Josh Perez d87335f5a6 Support server-determined build expiration 2020-09-09 17:34:57 -07:00
Scott Nonnenberg 7a02cc815d Support for new GroupV2 groups 2020-09-09 17:34:57 -07:00
Josh Perez 1ce0959fa1 Storage Service: Write 2020-09-09 17:34:57 -07:00
Chris Svenningsen 8a2c17f65f Apply new ESLint rules to legacy code 2020-09-09 17:34:57 -07:00
Ken Powers 8290881bd8 Support for Contact Discovery Service 2020-09-09 17:34:57 -07:00
Evan Hahn 2bedd41e57
Upgrade node-sass to v4.14.1 2020-09-04 11:35:42 -04:00
Scott Nonnenberg 003015f628 Sort exceptions.json 2020-09-04 09:39:17 -04:00
Sidney Keese 48df8ab3b1 ESLint Migration 2020-09-04 09:39:17 -04:00
Josh Perez 9eeb68a9a7 Blocking/Unblocking improvements for message requests 2020-09-01 17:11:16 -04:00
Chris Svenningsen 5b1536cc02 Initial move towards new ESLint config supporting TS
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-09-01 17:11:16 -04:00
Evan Hahn 2e1e6e847a Widen the set of link previews which can be received 2020-09-01 17:10:18 -04:00
Josh Perez 84e52c948b Mute conversations 2020-08-28 15:42:25 -04:00
Chris Svenningsen e9cf5ba67c Remove react-styleguidist
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-08-28 15:42:25 -04:00
Chris Svenningsen bcd4f6407f Migrate MessageDetail to Storybook 2020-08-28 15:42:25 -04:00
Chris Svenningsen b9c5e7bf1d Migrate Message to Storybook 2020-08-28 15:42:25 -04:00
Josh Perez 8ab1013f70 Calling: Device Selection 2020-08-28 15:42:25 -04:00
Evan Hahn aaed0db2e5 Verify sticker data in getDataFromLink 2020-08-28 15:42:25 -04:00
Josh Perez 25dabd56fd Outgoing call: Show safety number dialog if change detected 2020-08-28 15:42:24 -04:00
Evan Hahn 098bab2d5e Update to Lodash v4.17.20 2020-08-28 15:42:24 -04:00
Danny Lin c8261814fd
Add setting to toggle notification attention drawing (#4457)
In many GNU/Linux setups, drawing attention when a notification arrives
causes the Signal window to steal focus immediately and interrupt the
user from what they were doing before the notification arrived. GNOME
Shell is the most prominent example of this behavior, but there are
likely other cases as well. Suddenly stealing focus on external events
like this can even pose a security problem in some cases, e.g. if the
user is in the middle of a typing a sudo password on one monitor while a
notification arrives and focuses Signal on another monitor. See #4452
for more information.

Disabling attention drawing entirely for Linux is also problematic
because some users rely on it as the sole indication of a new message,
as seen in #3582 and #3611.

Commit f790694559 improved the situation
by adding a hidden "--disable-flash-frame" command-line argument, but
this argument is undocumented and manually adding command-line arguments
to the application's .desktop file is not user-friendly.

This commit adds a settings option for whether to draw attention when a
new notification arrives to make it easy for all Linux users to obtain
the appropriate behavior without relying on an undocumented
command-line argument.

Fixes #4452.
2020-08-24 14:45:31 -07:00
Chris Svenningsen d3d3c41f94
Convert <Avatar /> component to Storybook
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
Co-authored-by: Sidney Keese <me@sidke.com>
2020-08-13 13:53:45 -07:00
Scott Nonnenberg 67058e27bb
Safely generate cached conversation props on startup 2020-08-11 19:15:06 -04:00
Evan Hahn b32445cd20
Upgrade node-fetch to latest version, v2.6.0 2020-08-11 14:23:37 -07:00
Scott Nonnenberg 81cb7730a5
Message Requests improvements 2020-08-06 20:50:54 -04:00
Scott Nonnenberg 57308d3104
Fixes several bugs 2020-08-04 21:13:19 -04:00
Scott Nonnenberg d75eee015f Show notifications when a user's profile name changes 2020-07-30 13:27:44 -07:00
Scott Nonnenberg bab59ba2a1 Force social graph to pull down updates after beta.11 install 2020-07-30 13:27:44 -07:00
Scott Nonnenberg d07b8e82b2 First-class profile name rendering 2020-07-30 13:27:41 -07:00
Josh Perez 9433a1de99 Don't reset panel on close of recent media pane 2020-07-30 13:17:47 -07:00
Scott Nonnenberg 901179440f Merge contacts when we discover split or duplicated contacts 2020-07-30 13:17:45 -07:00
Josh Perez 8502d23576 Social Graph: read-only state sync with primary device 2020-07-30 13:10:05 -07:00
Scott Nonnenberg 7f71046f93 Restore ability to get to safety number screen from member list 2020-07-30 13:10:05 -07:00
Josh Perez 5b83485c89 Update safety number change warning dialog 2020-07-30 13:10:05 -07:00
Ken Powers bf04c9114e Harden UUID-handling code paths 2020-07-30 13:10:03 -07:00
Peter Thatcher d3a27a6442 Calling support 2020-07-30 13:08:47 -07:00
Ken Powers 83574eb067 Message Requests 2020-07-30 13:08:44 -07:00
Scott Nonnenberg 4289c28a38 Improve reliability of out-of-order reactions and DOE 2020-07-13 16:06:24 -07:00
Scott Nonnenberg 2e01c9fb87 Lint fixes 2020-07-01 11:05:41 -07:00
Scott Nonnenberg 55f4cd591c Improve safety number logic in group conversations 2020-06-10 14:39:45 -07:00
Ken Powers 0865a5481c Pre-alpha: React with any emoji, behind flag 2020-05-05 14:18:46 -07:00
Scott Nonnenberg d13c3d3350 Link flow: Show 'you must upgrade' on 409 server response 2020-05-05 14:18:46 -07:00
Ken Powers 7bb7c0d1e1 Debug Log: Copy URL instead of open in browser 2020-05-05 14:18:46 -07:00
Scott Nonnenberg 721401bbeb Introduce snyk, update dependencies 2020-05-05 14:18:46 -07:00
Ken Powers ba5e2ff6e5 Receive support for DOE messages 2020-04-29 17:42:41 -07:00
Ken Powers 1b5c36a9a8 Add more safeguards to isTrustedIdentity 2020-04-29 17:42:41 -07:00
Scott Nonnenberg 5cfcedb549 Update dependencies 2020-04-29 17:42:41 -07:00
Josh Perez d5925ac9d5 LeftPane: Measure content above list to calculate list size 2020-04-29 17:42:41 -07:00
Ehren Kret a0e9791623 Add support for receiving attachments from CDN 2 2020-04-29 17:42:41 -07:00
Scott Nonnenberg c1dfe3e5b4
Adds support for versioned profiles
* Add zkgroup library

* tsconfig.json: Prettier wants to mess it up. :0(

* Initial take on versioned profile fetches

* Fix up the logging in getProfiles() - warn instead of error

* Introduce new VERSIONED_PROFILE_FETCH flag

* Update zkgroup dependency to v0.5.0

* Fix lint-deps - new zkgroup library brought in new debug dep

* ts/zkgroup: Introduce some commonly-used helper functions

* Update to latest serverPublicParams

* Don't derive profileKeyVersion unless flag is set
2020-04-15 16:12:28 -07:00
Scott Nonnenberg 97a6e01d24 MessageReceiver: Drop messages with GroupContextV2 2020-04-15 14:45:11 -07:00
Scott Nonnenberg b7d56def82 Moves libtextsecure to Typescript
* Starting to work through lint errors

* libsignal-protocol: Update changes for primary repo compatibility

* Step 1: task_with_timeout rename

* Step 2: Apply the changes to TaskWithTimeout.ts

* Step 1: All to-be-converted libtextsecure/*.js files moved

* Step 2: No Typescript errors!

* Get libtextsecure tests passing again

* TSLint errors down to 1

* Compilation succeeds, no lint errors or test failures

* WebSocketResources - update import for case-sensitive filesystems

* Fixes for lint-deps

* Remove unnecessary @ts-ignore

* Fix inability to message your own contact after link

* Add log message for the end of migration 20

* lint fix
2020-04-15 14:45:11 -07:00
Scott Nonnenberg 6b094e1514 Refactor: Move data-access code to Typescript w/ shared interface 2020-04-15 14:45:11 -07:00
Scott Nonnenberg 9ab54b9b83 Move web_api.js and js/modules/crypto.js to TypeScript 2020-04-15 14:44:51 -07:00
Scott Nonnenberg 71436d18e2 Include sender in group update notifications 2020-04-15 14:44:46 -07:00
Josh Perez a12ac2aa37
Upgrade small logo icons 2020-04-15 10:25:20 -07:00
Josh Perez e716652b94
Adjust LeftPane height when NetworkDialog pops out of view 2020-04-08 12:00:14 -07:00
Ken Powers 750e50812c Introduce dialog for long database migrations 2020-03-25 16:47:42 -07:00
Ken Powers c780c12df7
Use multiple spellCheckDirty messages 2020-03-25 08:16:10 -07:00
Ken Powers a20c7c3357 Check targetTimestamp when looking for out-of-order reactions 2020-03-24 17:03:22 -07:00
Ken Powers cbc670e855 Setup: Only display one QR code at a time 2020-03-24 17:03:22 -07:00
Ken Powers a1270867ff Debug Logs: gzip before upload 2020-03-24 17:03:22 -07:00
Ken Powers 4a8f5db0a4 Use Electron Spellchecker 2020-03-24 17:03:22 -07:00
Ken Powers 37ad95af27 Passive UUID fixes 2020-03-24 17:03:22 -07:00
Josh Perez 4830213a12 Sort by inbox position to match phone after link 2020-03-24 17:02:01 -07:00
Ken Powers a90246cbe5 Passive UUID support
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-03-24 16:59:35 -07:00
Scott Nonnenberg a840e2e5b1 Remove legacy import flow 2020-03-04 17:12:56 -08:00
Ken Powers faa2b13026
Reactions: Go directly to all tab, show 'You' for current user 2020-03-03 14:33:54 -08:00
Scott Nonnenberg 6e4dc2a117 Update electron, electron-builder and add more preload logging
* electron to 8.0.2, electron-builder to 22.3.5

* preload.js: add last-ditch logging on startup error
2020-03-02 17:13:45 -08:00
Ken Powers 8d9ccd3c0a
Ensure proper file permissions on startup
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-02-21 15:40:04 -08:00
Scott Nonnenberg f379c72aba Lint fixes 2020-02-20 16:24:40 -08:00
Josh Perez 2138395bcb Improve UI around Voice Message limits 2020-02-20 16:24:40 -08:00
Ken Powers 2f9bebe567 Upgrade to Electron 8
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-02-19 15:22:37 -08:00
Josh Perez 32c0a8fbf6
Lint fixes 2020-02-19 09:55:35 -08:00
Josh Perez afddc852cc
Add interpolation for fallback dialog messages 2020-02-13 10:14:08 -08:00
Josh Perez 18fd44f504
Move all status/alert dialogs into the Left Pane 2020-02-12 13:30:58 -08:00
Ken Powers 101070bf42
Prevent replies/reactions on messages with errors 2020-02-07 15:13:46 -08:00
Ken Powers 8d4125f0a8
Lint fixes 2020-02-07 12:07:43 -08:00
Scott Nonnenberg 43b5a9b5a4 Fix lint 2020-02-06 12:04:17 -08:00
Ken Powers 01d4aa0772
Update to new message bubble reactions design 2020-02-03 12:02:49 -08:00
Ken Powers 153503efc5 Send Reactions 2020-01-23 15:57:37 -08:00
Ken Powers 6cc0f2abce Render incoming Reactions 2020-01-17 14:23:19 -08:00
Scott Nonnenberg 11266cb775 Handle both given and family name in decrypted profile name
* Decrypt given and family names from profile name string
* Handle both given and family name from decrypted profile name
* Ensure we properly handle profiles with no family name
2020-01-13 17:28:28 -05:00
Scott Nonnenberg 4f50c0b093 Use 1x icon in View-once bubbles, explanatory expired toasts 2020-01-10 11:29:51 -05:00
Scott Nonnenberg 1bf9ca7233 Save attachments with macOS quarantine attribute
* Attachments: Always save file to downloads directory, show toast
* Add new build:dev command for casual builds
2020-01-09 14:57:43 -05:00
Ken Powers 0d3b390129 Upgrade Prettier 2020-01-08 09:44:54 -08:00
Ken Powers 681222c0c0 Fix styleguide: upgrade deps, lock core-js to version babel needs 2020-01-06 17:49:00 -08:00
Ken Powers 11d47a8eb9 Sticker Creator 2019-12-17 12:28:46 -08:00
Scott Nonnenberg 2df1ba6e61 Introduce two built-in sticker packs: Zozo and Bandit 2019-12-17 12:28:46 -08:00
Scott Nonnenberg 2c7baad68d macOS shortcuts: Only listen for command key, not control key 2019-12-17 13:52:36 -05:00
Scott Nonnenberg 991d7f9336 Flow installedPack property down from CompositionArea 2019-12-16 15:00:24 -08:00
Scott Nonnenberg 5f58be1a29 Set focus properly in confirmation dialogs when in mouse mode 2019-12-16 15:00:24 -08:00
Scott Nonnenberg e9f08c3da9 Bugfixes for v1.29
* If focus was set to document.body during archive, focus left pane
* Shortcut Guide: Add space between text and shortcut highlight
* Ensure that draft attachment can be closed with click on X button
* Move to keyDown event for user idle checking
* Additional resiliency around avatars; check for them on on-disk
* Increase timeouts to preserve websocket connection
* On startup, be resilient to malformed JSON in log files
* Don't crash if shell.openExternal returns an error
* Whenever we request a contact/group sync, also request block list
* Avatar popup: Ensure styling is mouse- and keyboard-appropriate
* MainHeader: Create popperRoot on demand, not on mount
* CompositionInput: Disable default Ctrl-/ shortcut
* Update libphonenumber
2019-12-03 15:02:50 -05:00
Scott Nonnenberg 2a0a73cfc1 Keyboard/mouse mode and keyboard support bugfixes 2019-11-21 14:16:06 -05:00
Scott Nonnenberg ed55006f20 Update to Electron 6.1.4 2019-11-21 10:17:55 -08:00
Scott Nonnenberg 0876bf7ae7 Visual bug fixes for v1.29 2019-11-21 10:17:55 -08:00
Scott Nonnenberg 6b60ca6bd7 Handle Ctrl+/ in the application instead of via Electron
To prevent 'select all' on Linux.
2019-11-15 14:34:24 -08:00
Scott Nonnenberg 20a892247f Keyboard shortcuts and accessibility 2019-11-13 16:53:42 -08:00
Ken Powers 8659f1dd23 Fix a number of emoji bugs in message composer 2019-10-31 12:32:10 -07:00
Scott Nonnenberg fd5af8bb62 SessionRecord: Once again serialize/deserialize within libsignal 2019-10-30 12:12:30 -07:00