Commit graph

713 commits

Author SHA1 Message Date
Scott Nonnenberg
c369363e10
Storage Service: Don't create groups from incoming v1 records 2020-08-11 21:07:55 -04: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
Evan Hahn
4df52c5349
Add 9 dangerous extensions and ignore trailing dot 2020-08-10 13:13:06 -07:00
Scott Nonnenberg
0fee1f9935
WebAPI.getProfileURL: Use profileKeyVersion by itself if we have it 2020-08-10 15:39:06 -04:00
Josh Perez
6a68b37c83
New message state: Partially sent 2020-08-06 18:22:52 -07:00
Scott Nonnenberg
81cb7730a5
Message Requests improvements 2020-08-06 20:50:54 -04:00
Scott Nonnenberg
b63291507a
Sync messages: Additional debugging info, consistent ids 2020-08-06 13:28:56 -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
Jim Gustafson
2f015863ca Upgrade to RingRTC v2.4.0 2020-07-30 13:27:44 -07:00
Scott Nonnenberg
7ef5dc6401 AvatarPopup: Show profile name if we have it 2020-07-30 13:27:44 -07:00
Scott Nonnenberg
5a79ed1c60 combineContacts: Don't clear conversations to reset lookups 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
Jim Gustafson
632cd0e87e Drop incoming calls if conversation is not 'accepted' 2020-07-30 13:18:36 -07:00
Josh Perez
0f8a60acc3 Integrate message requests with storage service 2020-07-30 13:18:34 -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
Peter Thatcher
c6d5607b8c Fix incoming call ringtone by awaiting the playout 2020-07-30 13:10:05 -07:00
Josh Perez
126b828f46 Storage Service: Update local manifest version when it changes 2020-07-30 13:10:05 -07:00
Josh Perez
8502d23576 Social Graph: read-only state sync with primary device 2020-07-30 13:10:05 -07:00
Jim Gustafson
12745a2c79 Update to RingRTC v2.3.1 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
Jim Gustafson
e87a0103cc Use message age to expire old incoming calls 2020-07-30 13:10:05 -07:00
Jim Gustafson
870a0d2b65 Support RingRTC message sending queue 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
1518b159d3 Only use membersE164 field in GroupV1 messages 2020-07-27 14:49:37 -07:00
Josh Perez
5119193093 Prevent multiple concurrent update installers
* Exit early if we are already installing on Windows

* Setup a single handler for updating

* Guard against undefined updateFilePath
2020-07-27 14:39:19 -07:00
Scott Nonnenberg
36a0d1efcf Increase maximum frame size for incoming websocket messages 2020-07-27 14:39:19 -07:00
Josh Perez
1ad2b175dc Delete right away if we already have the message 2020-07-27 14:39:19 -07:00
Scott Nonnenberg
fcf5ebe9da searchConversations: Search on e164 field, not id 2020-07-13 16:06:24 -07:00
Josh Perez
ba6cb653bf Drop group messages that don't change group 2020-07-13 16:06:24 -07:00
Scott Nonnenberg
4289c28a38 Improve reliability of out-of-order reactions and DOE 2020-07-13 16:06:24 -07:00
Scott Nonnenberg
e536929e35 Handle messages with the same received_at 2020-07-13 16:06:24 -07:00
Scott Nonnenberg
2e01c9fb87 Lint fixes 2020-07-01 11:05:41 -07:00
Jan Janik
1503053496
Close/cancel draft "reply to" on Escape (#4387) 2020-06-30 18:59:38 -07:00
Jan Janik
fd6358ac9d
GroupNotification: Fix 'joined group' pluralization (#4380) 2020-06-25 15:36:24 -07:00
Scott Nonnenberg
6aedb30905 getPropsForSearchResult: Harden to missing conversation 2020-06-23 17:31:21 -07:00
Scott Nonnenberg
f04812eb5d rotateSignedPreKey: Protect against too-frequent rotation 2020-06-23 17:30:45 -07:00
Scott Nonnenberg
205ee6c6ac
GroupNotification: Use singular string when we have just one contact 2020-06-11 13:32:21 -04:00
Nat Talbot
7b5fe0cdbf
Harmonized filenames with Android version (#4324)
The Android app saves files with the filename format
'signal-YYYY-MM-DD-hhmmss.extension' but the desktop version
saves them with format 'signal-attachment-YYYY-MM-DD-hhmmss.extension'.
The attachment changes the suggested filename in Attachment.ts
to have the prefix 'signal' rather than 'signal-attachment'.
Tests were changed as necessary.

Resolves #4321
2020-06-10 14:48:41 -07:00
Nat Talbot
66aa6f142a
Avatar color on ReactionViewer is now Contact Color, not Grey (#4325)
Fixes #4167. A user's avatar, if they do not have a profile picure,
now shows up with their assigned color rather than as grey in the
reactionviewer.

Changed the ReactionViewer from field to make the
color a ColorType rather than a string, and passed that to the color prop
of the Avatar rendered in the viewer.
2020-06-10 14:48:26 -07:00
Scott Nonnenberg
56470d8374 View All Media -> View Recent Media 2020-06-10 14:39:45 -07:00
Scott Nonnenberg
55f4cd591c Improve safety number logic in group conversations 2020-06-10 14:39:45 -07:00
Scott Nonnenberg
acf95f4745 resetSession: Take both UUID and e164, use each correctly 2020-06-10 14:39:45 -07:00
Ken Powers
480e1808ba Enable React with any Emoji 2020-06-10 14:39:45 -07:00
Josh Perez
4678f076eb
Custom zip script for macOS update package 2020-05-13 11:44:24 -07:00
Ken Powers
5c6a474ec9
Disable skin tones for reaction emoji 2020-05-11 16:14:02 -07:00
Ken Powers
d6d2d242d4
Always use sender certificates including UUID 2020-05-07 13:51:37 -07:00
Ken Powers
7a55c68c6c
Remove emojification on message send 2020-05-07 12:58:28 -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
Scott Nonnenberg
97b657da6d MessageReceiver: Drop sync messages with GroupContextV2 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
Scott Nonnenberg
464c814a95 Remove all IndexedDB migration code 2020-04-29 17:42:41 -07:00
Josh Perez
752cd75c54 Make RelinkDialog supersede the NetworkDialog 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
896dfcb43f Fix sticker creator after CDN and typescript changes 2020-04-29 17:42:41 -07:00
Scott Nonnenberg
5cfcedb549 Update dependencies 2020-04-29 17:42:41 -07:00
Ken Powers
980862768b Linkify URLs containing @ 2020-04-29 17:42:41 -07:00
Scott Nonnenberg
f8f0f805b4 Ensure that search box is resilient to invalid country codes 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
Scott Nonnenberg
ebb3864f58 New keyboard shortcuts: Ctrl+1..9, Ctrl+Tab/Ctrl+Shift+Tab
* New keyboard shortcuts: Ctrl+1..9, Ctrl+Tab/Ctrl+Shift+Tab

* Add new shortcuts to the shortcut guide
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
Josh Perez
4dc7631851
Decouple RelinkDialog from NetworkStatusDialog 2020-04-16 12:20:52 -07:00
Ken Powers
0970c73310
Do not recognize aiff files as audio 2020-04-16 12:19:37 -07:00
Scott Nonnenberg
ba8aad3755 Reset Session: Include timestamp in DataMessage proto 2020-04-15 17:36:31 -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
Ken Powers
2f2d027161 Port StickerPreviewModal to storybook 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
d88c21e5b6
Support ultramarine convo colors from Android linked devices 2020-04-15 14:39:48 -07:00
Josh Perez
a12ac2aa37
Upgrade small logo icons 2020-04-15 10:25:20 -07:00
Scott Nonnenberg
fb11ac50d2
Explicitly stop process when notarization returns error 2020-04-08 15:01:53 -04:00
Josh Perez
e716652b94
Adjust LeftPane height when NetworkDialog pops out of view 2020-04-08 12:00:14 -07:00
Josh Perez
9a3ed5ac8d Ensure UpdateDialog closes when restart signal is tapped 2020-04-06 17:12:16 -07:00
Ken Powers
750e50812c Introduce dialog for long database migrations 2020-03-25 16:47:42 -07:00
Scott Nonnenberg
30e5051239 Eliminate clipped error icon for wide messages with errors 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
17f212ffcf CompositionInput: Fix high CPU usage 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
Scott Nonnenberg
6bd5587d50 Retry websocket connect if error returned is 502
* Retry websocket connect if error returned is 502

* Introduce connect button on 'Disconnected' left-pane dialog

* NetworkStatus: If user clicks connect, show connecting for 5s
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
31f219690a Show "you" instead of "me" in the group members list 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
4d4c522c7f
Emojify group title updates 2020-02-28 11:11:15 -08:00
blckfalcon
e3e25e1144
Fix focus on CompositionInput (#3973) 2020-02-26 18:09:19 -08:00
Scott Nonnenberg
1726e1b77a
Fix windows fast-glob usage in lint-deps test task
* Introduce normalize-path wherever we use fastGlob

* CI: Update yarn version; install yarn via npm on windows

* Add more logging to Grunt file spectron usage

* Lock core.js to what it was resolving to before: 2.4.1

* test/index.html: Remove nonexistent test file

* test/index.html: Remove missing registration.js

* preload.js: Introduce client-side logging for load failures

* Gruntfile: Introduce better debuggability if prod test fails

* Reintroduce glob for searches inside asar
2020-02-26 17:53:39 -08:00
Josh Perez
c347a2761a
Ensure fallback 'update available' dialog cannot stack 2020-02-21 15:41:05 -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
Josh Perez
6b56dd4ce0
Move registration from redux selectors to util 2020-02-21 15:08:21 -08:00
Josh Perez
018dc34e47 Fix for fallback update dialog 2020-02-20 16:24:40 -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
be819f9fdd
Fix : blocking emoji insertion from emoji picker 2020-02-18 11:58:23 -05: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
3938eb9801
A set of fixes and upgrades
* writeToDownloads: Add missing await
* Remove window.isFocused() - not used anywhere!
* Update typescript, p-queue, make necessary changes to fix build
* Slow down sender certificate retries with no existing cert
* Slow down signed prekey refreshes when unlinked - 5s -> 5m
* Update protobufjs to 4.1.2
2020-02-07 14:37:04 -05:00
Ken Powers
38c7fa3da6
Storybook: Basic messages and messages with reactions 2020-02-07 11:07:22 -08:00
Scott Nonnenberg
43b5a9b5a4 Fix lint 2020-02-06 12:04:17 -08:00
Ken Powers
c9292544aa
Show clicked-on reaction in ReactionViewer 2020-02-06 11:57:46 -08:00
Scott Nonnenberg
c147e6ce25
Restore contact/conversation differentiation in search results 2020-02-06 14:52:05 -05:00
Ken Powers
0fc178d887
StoryBook: Fully support themes in pop-up components 2020-02-06 11:28:01 -08:00
Ken Powers
6a9d8b86d8
Add "all" tab to ReactionViewer 2020-02-05 15:14:25 -08:00
Ken Powers
c6a23ff4f6
Remove "you" qualifier from ReactionViewer and ContactName 2020-02-05 14:28:54 -08:00
Scott Nonnenberg
22a53153f8 ContactName: Fix case in import 2020-02-03 12:53:59 -08:00
Ken Powers
539c02cb92 Remove reaction send flag 2020-02-03 12:05:21 -08:00
Ken Powers
01d4aa0772
Update to new message bubble reactions design 2020-02-03 12:02:49 -08:00
Scott Nonnenberg
682ac656c6
Handle duplicate receivedAt timestamps for MESSAGE_RESET event 2020-02-03 14:32:03 -05:00
Scott Nonnenberg
4f16cf595c
Ensure that oldest/newest are correct given duplicate timestamps 2020-01-31 07:39:30 -08:00
Ken Powers
7461250caf
Indicate when reaction is from the current user 2020-01-29 13:58:50 -08:00
Ken Powers
04d0a3c523 ReactionViewer: Handle an entirely removed category 2020-01-24 14:54:57 -08:00
Ken Powers
153503efc5 Send Reactions 2020-01-23 15:57:37 -08:00
Herohtar
3b050116fc Use later button as cancel behavior (#3896) 2020-01-23 14:52:47 -08:00
josh-signal
de7bc8b1b1 Upgrade emoji support to Unicode v12 2020-01-23 16:17:06 -05:00
Ken Powers
1b975bec65 Stop propagation in ReactionViewer 2020-01-23 11:59:29 -08:00
Scott Nonnenberg
bfa76b05d2 No propagate, fix 'attachment save' cancel
* Quote: Ensure that clicks don't propagate to parent
* Attachment Save: Check for null; returned if user cancels out
2020-01-22 14:34:36 -05:00
Ken Powers
6cc0f2abce Render incoming Reactions 2020-01-17 14:23:19 -08:00
Scott Nonnenberg
a271fe0eee Add version number to user-agent header on outgoing requests 2020-01-16 21:36:14 -08:00
Scott Nonnenberg
4af7a9ae2c ducks/conversations: Ensure metrics agree with in-memory messages
* ducks/conversations: Ensure metrics agree with in-memory messages
* Clean up logic cleaning up metrics
2020-01-16 11:45:06 -05:00
Scott Nonnenberg
55eff02872 Reintroduce file chooser dialog for every attachment save 2020-01-15 17:23:02 -05:00
Ken Powers
1c906e76f9 Handle non-square stickers via 'contain' 2020-01-15 11:19:56 -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
Scott Nonnenberg
744d1b5295 Message bubble: Larger stickers; handle non-square aspect ratios
* Sticker picker: Handle non-square stickers
* Message bubble: Larger stickers; handle non-square aspect ratios
2020-01-09 14:27:49 -05:00
Scott Nonnenberg
0f9bc57ccb Only show pack installed tooltip for non-blessed, local installs 2020-01-09 09:35:33 -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
Scott Nonnenberg
e5d2952c90 Lint fixes after recent merges 2020-01-06 17:47:40 -08:00