Commit Graph

963 Commits

Author SHA1 Message Date
Fedor Indutny 1466f9f1b2
Update got/form-data to latest 2021-10-06 09:25:22 -07:00
Josh Perez fa66ddde0f
Context isolation for the debug log window 2021-10-06 09:16:51 -07:00
Scott Nonnenberg bd380086a4
Send related emoji along with Sticker, fix SendMessage types 2021-10-05 17:10:08 -05:00
Josh Perez 5fdfa1c632
ConversationView in React 2021-10-05 09:47:06 -07:00
Scott Nonnenberg 48229332ea
Introduce focus traps for ModalHost, add button role to DropZone 2021-10-04 10:14:00 -07:00
Evan Hahn 893a77a3ad
Fix render loop in `<Modal>`, clean up ref merger code 2021-10-01 16:53:00 -07:00
Evan Hahn b239502813
Fix license header file enumeration 2021-10-01 16:52:36 -05:00
Scott Nonnenberg 9a1430a460
Typescriptify main.js 2021-10-01 13:49:59 -05:00
Josh Perez cf0da96791
Save image/jpeg images as .jpg 2021-09-30 12:43:27 -04:00
Evan Hahn 14b42f0f11
Remove unused "inactive" class from inbox view 2021-09-30 09:37:55 -07:00
Josh Perez b6cfe0933d
Adds open/close animations to dialogs and modals 2021-09-29 16:59:37 -04:00
Josh Perez 603c315c82
Moves AudioCapture into react 2021-09-29 13:23:06 -07:00
Evan Hahn c170d04ffa
Enable customization of preferred reactions for everyone 2021-09-29 13:21:26 -07:00
Fedor Indutny cd710bb8d2
Add jitter support to BackOff class 2021-09-28 15:12:43 -07:00
Josh Perez 68cef84c29
Massively zoom in on images, adds panning 2021-09-28 13:27:35 -07:00
Evan Hahn e11f11782c
Add alt text for link screen QR code 2021-09-28 12:17:12 -05:00
Evan Hahn e32503eed4
Import `AudioDevice` and `VideoFrameSource` directly from RingRTC 2021-09-28 11:37:03 -05:00
Josh Perez 9888e6d38f
Move common utils out of conversation view 2021-09-27 11:29:00 -05:00
Evan Hahn 8b98035cbf
Remove unused "messageRetry" send type 2021-09-24 15:14:54 -07:00
Josh Perez 1c3c971cf4 Moves DraftAttachments into redux 2021-09-24 16:03:32 -04:00
Fedor Indutny af66a5b265
Truncate lastHeartbeat to day millis 2021-09-24 10:01:46 -07:00
Fedor Indutny 4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Evan Hahn d2ef82686d
Notification improvements 2021-09-23 13:16:09 -05:00
Josh Perez e6d952d105
Removes ToastView, new React toast 2021-09-22 16:59:54 -04:00
Fedor Indutny b9d6497cb1
Better types for WebAPI 2021-09-21 17:58:03 -07:00
Josh Perez c05d23e628
Modernize ContactModal 2021-09-21 15:37:10 -07:00
Josh Perez 1d2fcde49f
Moves navigateTo to util 2021-09-21 16:45:25 -04:00
Evan Hahn 7937280971
Fix `<Modal>` scroll event handler 2021-09-21 09:25:21 -07:00
Josh Perez 4e6c415ad8
Ensure that delete logs timeout does not run after resolution 2021-09-20 20:25:29 -04:00
Scott Nonnenberg 250a89d953
Additional logging, new ability to force Conversation 'change' event 2021-09-20 11:51:30 -07:00
Josh Perez e9ef239ff0
Move emoji loading into TS 2021-09-20 10:59:09 -07:00
Josh Perez 1b9d8dcb11
Ensure that both window and SignalWindow are defined 2021-09-20 10:29:37 -07:00
Josh Perez e86a6119cd
Moves stringToArrayBuffer into util folder 2021-09-20 12:27:15 -04:00
Josh Perez 829e42ca6e
Move i18n setup to TypeScript 2021-09-17 20:30:08 -04:00
Josh Perez 7b5faa1cc1
Permissions popup context iso 2021-09-17 18:24:21 -04:00
Josh Perez 6c906d5da8
Enables context isolation for loading window 2021-09-17 18:12:58 -04:00
Josh Perez 65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Evan Hahn f9095d372a
Upgrade electron-mocha to v10.1.0 2021-09-16 14:00:52 -07:00
Josh Perez 43685d15c6
Context isolation for About, ScreenShare, Preferences 2021-09-16 11:52:56 -04:00
Fedor Indutny 3f7957c20d
Self-repairing message counter 2021-09-15 11:45:22 -07:00
Fedor Indutny c7e7d55af4
UUID-keyed lookups in SignalProtocolStore 2021-09-09 19:38:11 -07:00
Evan Hahn e2392433e0
Preferred reactions: store raw emoji, gate on feature flag 2021-09-09 16:47:30 -07:00
Evan Hahn 8064560a5f
Update to new provisioning URL scheme 2021-09-09 17:08:19 -05:00
Evan Hahn f28456c160
Let users customize the preferred reaction palette 2021-09-09 09:29:01 -07:00
Fedor Indutny 7a5385e00a
Flush message counter on shutdown 2021-09-08 16:28:18 -07:00
Fedor Indutny 7510be0caf
Detect database corruption consistently 2021-09-08 13:39:14 -07:00
Fedor Indutny 4bed918cf8
Reorder IPC callbacks for settings window 2021-09-07 14:42:17 -05:00
Scott Nonnenberg ee5f276e0c
Update proxy-agent to 5.0.0, move @types/pino to dev dependencies 2021-09-02 17:29:15 -07:00
Scott Nonnenberg 1dda705c52
Mandatory profile sharing: Don't disable react/reply in GroupV2 groups 2021-09-02 16:29:46 -07:00
Fedor Indutny 0793aa6b43
Track zoom factor changes through IPC 2021-09-02 16:29:16 -07:00
Evan Hahn 1f45bce0a2
When a job fails, respect the `Retry-After` header if applicable 2021-09-02 17:31:21 -05:00
Scott Nonnenberg 5bf3720d1d
Update to libsignal-client@0.9.0, handle new invalid registration error 2021-09-02 13:44:34 -07:00
Scott Nonnenberg 9ca9f743c3
One lightbox at a time; proper dismiss of "read more" screen; proper in-progress draft HEIC images 2021-09-02 14:35:23 -05:00
Evan Hahn f82012f129
Strip Exif data without Sharp 2021-09-02 08:59:42 -07:00
Evan Hahn 02518d2e16
Remove unnecessary `Array.from` from `markConversationRead` 2021-08-31 09:47:15 -07:00
Scott Nonnenberg dcf29078f4
ConversationView: Improve types 2021-08-30 14:32:56 -07:00
Evan Hahn 7f50fcdb54
Improve performance when rendering many emoji 2021-08-30 11:39:03 -05:00
Evan Hahn 6f242eca57
Handle signal.me links 2021-08-28 08:27:38 -05:00
Fedor Indutny a43abe628a
Update TypeScript to 4.4.2 2021-08-27 15:21:42 -05:00
Josh Perez 2b08cbfdfe
Streamlined system messages 2021-08-26 13:51:55 -07:00
Evan Hahn 9e9a815a2b
ESLint: allow `for..of` 2021-08-26 13:18:00 -05:00
Scott Nonnenberg ff4aa228f6
Move to `desktop.sendSenderKey3` feature flag 2021-08-26 11:34:33 -05:00
Evan Hahn f86f753df9
Add `durations` utility for computing durations 2021-08-26 09:10:58 -05:00
Evan Hahn 0e7f641dc1
Let users ring members when starting a group call
Co-Authored-By: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2021-08-25 16:42:51 -05:00
Josh Perez e76f603233
Moves identicon svg to TS 2021-08-24 17:17:51 -07:00
Josh Perez 28f5a2bd1c
Fixes view once videos in lightbox 2021-08-24 14:47:14 -07:00
Josh Perez 8045a83374
Refine the clear all data experience 2021-08-24 15:57:34 -05:00
Evan Hahn 48cc2b5f11
Preserve blob content type when stripping EXIF data 2021-08-24 14:38:20 -05:00
Josh Perez d5d808651a
Improved Lightbox experience 2021-08-23 16:14:53 -07:00
Josh Perez d80e738fb1
Fix 'install now' click after download 2021-08-23 15:45:11 -07:00
Josh Perez 81c57107ce
Do not transcode images if they meet the size thresholds 2021-08-23 14:24:52 -07:00
Evan Hahn 9a54a8672d
Speed up `lint-deps` slightly 2021-08-23 09:18:21 -05:00
Evan Hahn 70d059beeb
Keep reaction poppers visible at all times 2021-08-20 14:36:27 -05:00
Evan Hahn 79c976668b
Receive rings for group calls 2021-08-20 09:06:15 -07:00
Josh Perez e9308bbafb
New option for control over update downloads 2021-08-19 15:56:29 -07:00
Evan Hahn 4b810d5c3e
`<ConversationHero>`: only call `onHeightChange` when certain props change 2021-08-19 11:36:09 -05:00
Fedor Indutny 65f0f87bad
Speed-up senderKey membership check 2021-08-19 08:52:08 -07:00
Josh Perez aecb11247f
Removes old feature flags 2021-08-18 18:04:38 -07:00
Josh Perez 91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
Fedor Indutny 6343e7c902
Do not initialize `receivedAtCounter` in `connect` 2021-08-17 16:15:45 -07:00
Scott Nonnenberg 5f3af9f123
sendToGroup: Save conversation before removing senderKey 2021-08-17 11:35:49 -07:00
Fedor Indutny 784e5d5eee
Sort sender key devices for future optimization 2021-08-17 08:45:57 -07:00
Evan Hahn 75f0cd50be
Send viewed receipt when you start listening to an audio message 2021-08-17 08:43:26 -07:00
Fedor Indutny f5a3d4bc8a
Fix various read sync inconsistencies 2021-08-16 17:16:00 -07:00
Josh Perez b72d7b436e
Fixes license headers test, adds them in 2021-08-16 16:03:10 -05:00
Fedor Indutny b2e2e6d8eb
Fallback to sent_at when serverTimestamp is empty 2021-08-13 09:02:28 -07:00
Evan Hahn b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Fedor Indutny 12c78c742f
Optimize rendering 2021-08-11 09:23:21 -07:00
Josh Perez 9078919545
Transcode heic/heif images 2021-08-09 13:06:21 -07:00
Scott Nonnenberg 7ce89414bf
Support for alpha build channel 2021-08-06 14:21:01 -07:00
Scott Nonnenberg 5069f48cf0
Message Send Log: Increase retention length 2021-08-05 20:17:23 -04:00
Josh Perez 12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Scott Nonnenberg 3d8976d030
requestResend: Show decryption error toast only for RESENDABLE/DEFAULT 2021-08-05 10:25:59 -07:00
Scott Nonnenberg ebb87b12d5
Standardize feature flag for internal testing 2021-08-05 10:00:33 -07:00
Evan Hahn 6b290a0f0c
@mentions notifications 2021-08-05 07:35:33 -05:00
Scott Nonnenberg 3bbe859452
Partially revert "Sender Key: Prepare for testing in beta"
Partial revert of commit ab5a12fded
2021-08-04 16:49:05 -07:00
Fedor Indutny 674ea824c2
Update electron, electron-builder, @electron/fuses 2021-08-04 15:15:38 -07:00
Scott Nonnenberg f048066693
Sender Key: Flags to disable, send to unrestricted 2021-08-03 18:02:35 -07:00
Evan Hahn 3b476fb60d
Fix tooltip placement bugs by upgrading Popper 2021-08-03 12:04:49 -05:00
Evan Hahn f33a0db32c
Convert the loading window to TypeScript 2021-08-03 09:28:45 -05:00
Scott Nonnenberg 310f0dc88f
Sender Key: Proper 409-handling, save new members earlier 2021-08-02 17:42:00 -07:00
Scott Nonnenberg ab5a12fded
Sender Key: Prepare for testing in beta 2021-08-02 19:12:49 -05:00
Scott Nonnenberg bcb9d2d2f3
Modernize DeliveryIssueDialog, fix outline clipping in Modal 2021-08-02 14:19:18 -07:00
Scott Nonnenberg bf7da5ca2e
DeliveryIssueDialog: Add learn more button linking to support 2021-07-30 13:30:59 -07:00
Scott Nonnenberg 9fb8114691
Sender Key: Track registrationIds in senderKeyState 2021-07-30 11:35:25 -07:00
Evan Hahn 689542a9b4
Show additional data in debug log header 2021-07-30 09:43:16 -07:00
Fedor Indutny 03874a788f
Use smaller batches for receipts and syncs 2021-07-29 18:08:04 -07:00
Evan Hahn 8cadc40975
Replace MessageModel#isUnread with isMessageUnread utility 2021-07-29 09:29:07 -05:00
Fedor Indutny 1c1d0e2da0
Move to websocket for requests to signal server 2021-07-28 14:37:09 -07:00
Scott Nonnenberg 4b92e12f83
Group Details: Show unregistered users in member list 2021-07-28 13:52:49 -05:00
Josh Perez e7a2365905
Fix image contentType when transcoding 2021-07-27 20:09:10 -04:00
Scott Nonnenberg 67d13e9ba8
More logging in addDeliveryIssue, properly wait in getProfiles 2021-07-26 17:00:16 -07:00
Scott Nonnenberg 276c153ec4
sendToGroup: Ensure key distribution messages are always online:false 2021-07-26 16:48:43 -07:00
Scott Nonnenberg eba182f8d0
Better logging for sealed sender, sender key distribution 2021-07-23 15:37:04 -07:00
Evan Hahn 18140c4a9d
Retry outbound read syncs for up to 24 hours 2021-07-23 15:02:36 -07:00
Scott Nonnenberg b0eaae93f1
archiveSessionOnMatch: Check for ratchet key match as well 2021-07-23 10:44:21 -07:00
Fedor Indutny fdec47d637
Use single WebAPI instance across the app 2021-07-23 10:23:50 -07:00
Evan Hahn ceb2f594e3
Upgrade Sinon to v11.1.1 2021-07-22 14:53:49 -05:00
Josh Perez d9e90e9ea8
Improvements to shared library components 2021-07-21 13:45:41 -07:00
Josh Perez bf6c0ce7c0
Place announcement-only groups behind feature flag 2021-07-20 15:51:38 -05:00
Josh Perez 56d5d283bd
Support for announcement-only groups 2021-07-20 13:18:35 -07:00
Evan Hahn 1e10286210
Message details: group by send status, including viewed state 2021-07-20 14:56:50 -05:00
Fedor Indutny 31989a7706
Translate errors before rejecting in SendMessage 2021-07-19 18:10:09 -07:00
Evan Hahn c4a09b7507
Refactor outbound delivery state, take 2
This reverts commit ad217c808d.
2021-07-19 17:44:49 -05:00
Scott Nonnenberg 7761d83055
Update timers whenever we mark messages read 2021-07-19 13:45:18 -07:00
Josh Perez cd35a29638
Edit profile 2021-07-19 12:26:06 -07:00
Scott Nonnenberg a42c41ed01
Message Send Log to enable comprehensive resend 2021-07-15 16:48:09 -07:00
Josh Perez ee4b79120e
Adds keyboard access to the finish linking phone button 2021-07-15 18:01:41 -04:00
Fedor Indutny c3bdf3d411
Show lightbox for GIFs 2021-07-14 16:39:52 -07:00
Fedor Indutny 8951665554
Clean up conversations with UUID as E164 2021-07-13 17:46:02 -07:00
Fedor Indutny a22dcc986f
Remove libtextsecure/components.js 2021-07-13 15:28:24 -07:00
Fedor Indutny 570fb182d4
Fully move to protobufjs 2021-07-13 11:54:53 -07:00
Fedor Indutny 20ea409d9e
Fix logging in util/deprecated.ts 2021-07-12 17:43:56 -07:00
Fedor Indutny ad217c808d
Revert "Refactor outbound delivery state"
This reverts commit 9c48a95eb5.
2021-07-12 16:51:45 -07:00
Evan Hahn 9c48a95eb5
Refactor outbound delivery state 2021-07-09 16:38:51 -05:00
Fedor Indutny ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Fedor Indutny 299fe2af36
More protobufjs use 2021-07-02 14:21:24 -05:00
Scott Nonnenberg 615ae1ccf7
Refactor SendMessage.ts to named parameters 2021-07-02 13:34:17 -05:00
Fedor Indutny 773aa9af19
Better emoji support in linkify/previews 2021-06-30 10:00:02 -07:00
Evan Hahn af1f2ea449
Officially support the system tray on Windows 2021-06-29 12:18:03 -05:00
Evan Hahn 4495a1ac67
Add `reduce` iterables utility 2021-06-28 14:46:33 -07:00
Evan Hahn 7cf7b1fca5
Upgrade zkgroup to v0.7.3 2021-06-28 12:16:55 -07:00
Evan Hahn 1d3e06e3f5
Fix: clean up batcher timeouts in all cases 2021-06-25 11:25:50 -07:00
Evan Hahn b1c1bd5e41
Group calling: show avatar if we haven't received video yet/in awhile 2021-06-25 12:23:15 -05:00
Josh Perez 01eabf9ec6
Option to send photos as high quality 2021-06-25 11:08:16 -05:00
Fedor Indutny 81e6198652
Normalize UUID for formatting contact 2021-06-23 14:16:29 -05:00
Fedor Indutny a6394e0c8b
Reconnect within MessageReceiver 2021-06-23 09:47:42 -05:00
Evan Hahn 6b2dfeb9f5
Use POJO instead of MessageModel in ConversationView quote logic 2021-06-22 16:16:50 -07:00
Fedor Indutny c9b1ce6655
Use `assert` in `normalizeUuid` 2021-06-22 16:08:55 -07:00
Evan Hahn 9db19283ac
MessageController: return all messages by sent at, not just 1 2021-06-22 16:05:05 -07:00
Fedor Indutny 9f0c630574
Move to protobufjs in ts/groups.ts 2021-06-22 09:46:42 -05:00
Scott Nonnenberg 24960d481e
Move all files under /app to typescript 2021-06-18 10:04:27 -07:00
Josh Perez 94d116c621
Removes some Backbone views 2021-06-17 14:15:09 -07:00
Scott Nonnenberg 68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Evan Hahn 03a187097f
Disappearing message cleanups 2021-06-16 17:20:17 -05:00
Scott Nonnenberg 1520c80013
Remove messageCollection from Conversation model 2021-06-15 17:44:14 -07:00
Scott Nonnenberg 34afb98fcf
Ensure that typing indicators are always sent with online = true 2021-06-15 16:32:12 -07:00
Fedor Indutny 8f5086227a
Enforce stronger types for ArrayBuffers and storage 2021-06-14 17:09:37 -07:00
Josh Perez 173771d34b
New top-level React root: <App /> 2021-06-14 12:01:00 -07:00
Fedor Indutny df0aadc8a4
Update electron to 13.1.2 2021-06-10 13:53:43 -07:00
Fedor Indutny 17e6ec468e
Faster WebSocket reconnects 2021-06-09 15:28:54 -07:00
Scott Nonnenberg bff3f0c74a
Sender Key: Prepare for production 2021-06-08 14:51:58 -07:00
Josh Perez d4875fd8f4
Remove isPrivate, isMe, isGroupV1, isGroupV2 from model 2021-06-07 09:39:13 -07:00
Evan Hahn eaf4036fc8
Compute provisioning URL in separate function 2021-06-07 09:27:02 -07:00
Evan Hahn 2d6b0ecfe9
Edit group title/description: fix focus issues 2021-06-04 09:55:34 -05:00
Evan Hahn e61354fd55
Fix `<CallScreen>` stories 2021-06-04 09:55:18 -05:00
Josh Perez 016ef8af79
Use the new Select component everywhere 2021-06-03 15:12:23 -07:00
Josh Perez 4416715bff
Revs screensharing feature flag 2021-06-03 11:50:12 -07:00
Evan Hahn 6c6eed0b1e
Don't show name collisions for system contacts 2021-06-02 10:24:22 -07:00
Scott Nonnenberg 9705f464be
Group Description: Edit/Receive 2021-06-01 20:24:28 -04:00
Evan Hahn 36c15fead4
Group name spoofing warning 2021-06-01 16:30:25 -07:00
Fedor Indutny 51b45ab275
Add extension to uploaded debug log 2021-06-01 17:16:10 -05:00
Fedor Indutny 19f8042cd3
Universal Disappearing Messages 2021-06-01 13:45:43 -07:00
Fedor Indutny c63871d71b
Fix storybook errors 2021-06-01 13:40:55 -07:00
Fedor Indutny 6e19383a7d
Fix SMS-only check for unregistered convo 2021-06-01 13:10:19 -07:00
Scott Nonnenberg 5a4fc5e425
Sender Key: Disable capability and bug fixes 2021-06-01 12:40:09 -07:00
Fedor Indutny 33595646c1
Add user path to logging exceptions 2021-06-01 11:15:23 -07:00
Fedor Indutny 8841de17a5
Add action for automated backports 2021-06-01 11:04:56 -07:00
Scott Nonnenberg ee513a1965
Support for message retry requests 2021-05-28 12:11:19 -07:00
Josh Perez 28f016ce48
Conversation Colors 2021-05-28 09:15:17 -07:00
Scott Nonnenberg ee41e4f71d
A few small bugfixes 2021-05-27 13:47:39 -07:00
Evan Hahn d4dc9b8e39 Message Requests: Add new "Report spam and block" button 2021-05-27 13:37:58 -07:00
Evan Hahn 05f9224273
Update Babel dependencies to allow `import type` 2021-05-27 08:44:06 -07:00
Scott Nonnenberg e6f1ec2b6b
Send support for Sender Key 2021-05-25 15:40:04 -07:00
Josh Perez 07a0a6da22
Enable screensharing flag for beta users 2021-05-25 15:20:33 -07:00
Josh Perez ceffc2380c Add screensharing behind a feature flag 2021-05-20 17:37:19 -07:00
Evan Hahn 7c7f7ee5a0 Add `concat` iterable utility 2021-05-20 17:37:19 -07:00
Scott Nonnenberg be087c3498 Ensure that context is always provided for error logs 2021-05-20 17:37:18 -07:00
Fedor Indutny 7418a5c663 Rename locks to zones 2021-05-20 17:37:18 -07:00
Evan Hahn 8f0731d498 Remove unsupported auto-launch setting on Linux 2021-05-20 17:37:18 -07:00
Fedor Indutny 1f0119a7ac Reuse global locks, handle empty envelopes 2021-05-20 17:37:17 -07:00
Evan Hahn 392822372b Iterables: add and use `filter` 2021-05-20 17:37:17 -07:00
Scott Nonnenberg 4ce4569afb Upgrade a number of sub-dependencies 2021-05-20 17:37:09 -07:00
Fedor Indutny 94d2c56ab9 Introduce in-memory transactions for sessions 2021-05-20 17:37:09 -07:00
Scott Nonnenberg 403b3c5fc6 getSendOptions: Disable sealed sender whenever sending to own account 2021-05-20 17:37:09 -07:00
Josh Perez 215d90fbe8 Always update unreadCount for conversations 2021-05-20 17:37:09 -07:00
Scott Nonnenberg e6bab06510 Receive support for Sender Key
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
2021-05-20 17:37:08 -07:00
Fedor Indutny 7fa730531a Improve experience for contacts without signal accounts 2021-05-20 17:37:08 -07:00
Evan Hahn 18abe93022 Remove many instances of deprecated url.parse 2021-05-20 17:37:07 -07:00
Evan Hahn a8346c490e Fix inaccurate numbers on group details screen 2021-05-20 17:37:07 -07:00
Jacob Kiesel 75d54e7737 Add launch-on login option
See [#5244][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5244
2021-05-11 15:59:21 -05:00
Fedor Indutny e51260a23f
Batch and de-duplicate profile key updates 2021-05-11 13:26:44 -05:00
Josh Perez 24b7790829
One SearchInput to rule them all 2021-05-10 20:50:43 -04:00
Scott Nonnenberg c62b5a900e
Update proxy-agent to v4.0.1 2021-05-10 15:38:39 -07:00
Josh Perez 887b2c1db1
Get the correct unread count for a conversation 2021-05-10 11:49:13 -07:00
Evan Hahn d28678dbf9
Make it more difficult to blur avatars 2021-05-07 17:21:10 -05:00
dependabot-preview[bot] bfc1524b49
Upgrade bl to v1.2.3 2021-05-07 13:19:30 -07:00
dependabot-preview[bot] 16034f9358
Upgrade underscore to v1.12.1 2021-05-07 12:04:05 -07:00
Josh Perez a1e4820cb7
Upgrade to moment@2.29.1 2021-05-07 10:44:41 -05:00
Evan Hahn cd61d8464d
Upgrade Lodash to latest version, v4.17.21 2021-05-07 09:46:09 -05:00
Josh Perez e0c324e4ba
Send/Receive support for reaction read syncs 2021-05-06 21:15:25 -04:00
Evan Hahn f71f789c94
Upgrade Grunt to v1.4.0 2021-05-06 17:07:11 -05:00
Evan Hahn 4cf3d5f14c
lint-deps should skip storybook-static/ 2021-05-06 16:28:40 -05:00
Fedor Indutny 986d8a66bc
Show challenge when requested by server 2021-05-05 17:09:29 -07:00
Evan Hahn 7afbbb3a4c
Fix render loop in <ConversationHero> 2021-05-05 17:35:32 -05:00
Evan Hahn 8ef14e6f39
When incoming message should've been sealed sender, reply with profile key 2021-05-05 09:39:16 -07:00
Evan Hahn 36d8ef9678
Remove lineNumber from lint exceptions 2021-05-04 09:41:59 -07:00
Evan Hahn 736075322c
Render disappearing message timers generically 2021-05-03 16:24:40 -07:00
Evan Hahn fe772af251
Show "no groups in common" warning for relevant message requests 2021-04-30 15:58:57 -07:00
Evan Hahn 05703c2719
Blur avatars of unapproved conversations 2021-04-30 14:40:25 -05:00
Evan Hahn bbd7fd3854
Initial support for job queue 2021-04-29 18:02:27 -05:00
Fedor Indutny caf1d4c4da GIF attachments 2021-04-29 14:27:37 -07:00
Evan Hahn 5f17d01f49 Take an author object in <Message> 2021-04-29 14:27:37 -07:00
Evan Hahn a5a64f354f Upgrade Prettier from v2.1.2 to v2.2.1 2021-04-29 14:27:36 -07:00
Evan Hahn e7ef3de6d0 Profile name spoofing dialog 2021-04-29 14:27:35 -07:00
Scott Nonnenberg 86d2a4b5dd decrypt/encrypt with libsignal-client, remove libsignal-protocol-javascript 2021-04-29 14:27:35 -07:00
Evan Hahn 885ff5fe42 Show common groups in contact modal 2021-04-29 14:27:35 -07:00
Josh Perez 353becffac
Various fixes for message forwarding 2021-04-28 15:44:48 -05:00
Josh Perez d203f125c6
Adds message forwarding 2021-04-27 18:35:35 -04:00
Josh Perez e75bba1c52
Replaces ConfirmationModal with ConfirmationDialog 2021-04-27 15:29:59 -04:00
Josh Perez 5e2d48cc2f
Do not populate left pane on initial link 2021-04-20 19:16:49 -04:00
Fedor Indutny 0b969f3f42
Improve MessageAudio peaks computation
There are two parts to this change:

1. The computation of peaks is moved from `MessageAudio` to the
   `GlobalAudioContext` and thus we can limit the concurrency of the
   computations (`p-queue`!) and de-duplicate the computations as well
2. While the peaks are computed the component has to display spinning
   animation instead of empty waveform and unclickable UI.
2021-04-15 14:02:24 -07:00
Evan Hahn 31a777a130 Merge branch 'WhyNotHugo-python3' into next-beta 2021-04-14 14:15:24 -07:00
Fedor Indutny 25458be515
upgrade electron-builder to 22.10.5 2021-04-13 18:27:43 -07:00
Josh Perez ef781af0ce
Updates a11y dev deps 2021-04-13 17:33:24 -04:00
Evan Hahn 62f1a42c25
Add reusable <Modal> component, use with <Alert> 2021-04-13 09:20:02 -05:00
Hugo Osvaldo Barrera 207c533de1 Use a node-gyp version which supports Python3
The currently pinned version of `node-gyp` requires Python 2.  Python 2
has reached its EOL a long time ago and is unsupported by upstream.

The requirement on Python 2 is also an unnecessary barrier for new
developers to contribute to Signal.

This changeset updates the required version of node-gyp to one
compatible with Python 3.

`CONTRIBUTING.md` remains unchanged, since this dependency was not
previously mentioned anyway.

Supersedes #4407
Fixes #4783
2021-04-09 22:13:11 +02:00
Evan Hahn 23b3d34eef Upgrade Sharp to v0.28.1 2021-04-09 15:01:25 -04:00
Josh Perez 6c0acd09df
Sync mute state 2021-04-09 11:19:38 -05:00
Scott Nonnenberg e0415de893 Don't always show an error on manual contact sync 2021-04-09 00:06:46 -04:00
Evan Hahn a82fa86176 Fetch sender certificates on-demand 2021-04-09 00:06:46 -04:00
Fedor Indutny 4fd3ed7242 Bundle preload.js 2021-04-09 00:06:14 -04:00
Fedor Indutny c609389aaf Update to Webpack 5 2021-04-09 00:05:41 -04:00
Evan Hahn f615b1a75f Reject reactions with invalid number of graphemes 2021-04-08 23:53:18 -04:00
Fedor Indutny 37c8c1727f Types, better-sqlite3, and worker_threads for our sqlite 2021-04-08 23:53:18 -04:00
Fedor Indutny a97abf718d Sort lint exceptions 2021-04-08 23:51:54 -04:00
Fedor Indutny 6e41009d74 Update zkgroup to the latest 2021-04-08 23:51:54 -04:00
Josh Perez 9438b7b3fe
Fixes pinned conversations sync 2021-04-08 15:27:20 -04:00
Scott Nonnenberg a1c534ec0c
Fix CDS fetches; use proper hashing mechanism 2021-04-07 14:27:40 -07:00
Josh Perez d6bb8ae35e
Adds axe-storybook-testing 2021-04-06 16:12:33 -04:00
Evan Hahn a7c78b3b23 Storage service: save new AccountRecord fields to disk 2021-04-05 18:08:50 -04:00
Fedor Indutny 6cfb3c9867 Use synchronous crypto for sealed sender 2021-04-05 18:08:50 -04:00
Evan Hahn d81aaf654f Improve left pane UI when loading search results 2021-04-05 18:08:50 -04:00
Evan Hahn 130dac527f Add types for <ConversationHeader>'s mute options 2021-04-05 18:08:50 -04:00
Evan Hahn eb97c1194a Add Zod for runtime and compile-time type checking, use it in logging code 2021-04-05 18:08:50 -04:00
Evan Hahn c711fbe0c0 In conversation hero, show “No group in common” if you have no common groups and no phone number 2021-04-05 18:08:50 -04:00
Evan Hahn 1a9c6b9385 Clean up iterable utilities 2021-04-05 18:08:50 -04:00
Evan Hahn bd48dea613 Add enum parser utility 2021-04-05 18:08:50 -04:00
Kasia Kosturek d20cc59a26
getInitials: handle more cases
See [#5029]][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5029
2021-04-02 15:30:49 -05:00
rhklee 8b51f174d8
Remove backslash from search queries
Co-authored-by: Lee Randy <randy.lee@metronom.com>
Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com>

See [#5053][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5053
2021-04-02 15:29:54 -05:00
Jost Schulte 9823eb2201
Fix typos in TypeScript and SCSS files
See [#5136][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5136
2021-04-02 15:28:07 -05:00
Fedor Indutny 5c8cb6b89b Decrease batcher wait time to speed up startup 2021-03-30 20:40:48 -04:00
Fedor Indutny 6f7ecb141f
filterAndSortContacts should tokenize 2021-03-29 17:19:59 -05:00
Fedor Indutny 990e501850
First pass on CI support 2021-03-25 19:02:53 -07:00
Fedor Indutny 746e99b8c2
Flush all watchers on empty queue 2021-03-25 17:00:03 -07:00
Evan Hahn afe135df0c
Hide long message attachments in quotes 2021-03-25 11:36:50 -07:00
Fedor Indutny 7a9a4a1404
Clicking first bars of the waveform should rewind
It is practically impossible to rewind audio prior to this commit. With
this commit - clicking first two bars will rewind the audio to its very
start instead of updating its current play time to a specific non-zero v
alue.
2021-03-24 16:08:57 -07:00
Evan Hahn 77c306843d
Fix error on message details screen with audio messages 2021-03-24 15:06:12 -07:00
Fedor Indutny 919259c960
Use non-subtle crypto in libsignal-protocol 2021-03-23 17:50:02 -07:00
Fedor Indutny a75402d290
Add timestamp utilities with helpful names 2021-03-22 16:08:52 -05:00
Fedor Indutny 9fa3359477
Mark attachment as corrupted if audio load failed
Sending corrupted audio should not leave user with non-functional
UI. Mark attachment as corrupted and show generic attachment UI for it
instead.
2021-03-22 11:51:53 -07:00
Evan Hahn c97bb0feee Auto-scroll the left pane less frequently 2021-03-19 16:57:36 -04:00
Evan Hahn b725ed2ffb Refresh profiles on app start (at most every 12 hours) 2021-03-19 16:57:36 -04:00
Fedor Indutny 05f59f3db1 Add download button and pending spinner for audio messages 2021-03-19 16:57:36 -04:00
Fedor Indutny f98c3cba8c Preliminary support for better performance testing 2021-03-19 16:57:36 -04:00
Fedor Indutny fd8339e2ff Fix for UnregisteredUserError handling when fetching UUIDs 2021-03-19 16:57:36 -04:00
Fedor Indutny b93164a8c0 Reduce size of asar file and unpacked asar folder 2021-03-19 16:57:35 -04:00
Josh Perez 62e04a1bbd Fix for unread syncs and ooo reactions 2021-03-19 16:57:35 -04:00
Evan Hahn 45dbe4d145 In left pane and "add group member", sort E164-only contacts to the bottom 2021-03-19 16:57:35 -04:00
Evan Hahn b81a52bbdd New Group administration: Add users 2021-03-19 16:57:35 -04:00
Fedor Indutny 8c9e556a22 Don't use `useMemo()` for AudioContext/Audio/Cache
`useMemo()` doesn't guarantee that the value won't be recomputed during
re-renders. Unfortunately, every time `AudioContext` is instantiated -
there is an audible click. This click happens during the change between
conversations and is very annoying.

Move both `AudioContext` instance to the
GlobalAudioContext's top-level declarations, and `Audio`/`WaveformCache`
to `useRef()`s.
2021-03-19 16:57:35 -04:00
Josh Perez 0bd3c78187 Do not batch single saveMessage calls after start-up 2021-03-19 16:57:35 -04:00
Josh Perez d85a43fe93 Replace bunyan with pino 2021-03-19 16:57:35 -04:00
Fedor Indutny 12d7f24d0f New UI for audio playback and global audio player
Introduce new UI and behavior for playing audio attachments in
conversations. Previously, playback stopped unexpectedly during window
resizes and scrolling through the messages due to the row height
recomputation in `react-virtualized`.

With this commit we introduce `<GlobalAudioContext/>` instance that
wraps whole conversation and provides an `<audio/>` element that
doesn't get re-rendered (or destroyed) whenever `react-virtualized`
recomputes messages. The audio players (with a freshly designed UI) now
share this global `<audio/>` instance and manage access to it using
`audioPlayer.owner` state from the redux.

New UI computes on the fly, caches, and displays waveforms for each
audio attachment. Storybook had to be slightly modified to accomodate
testing of Android bubbles by introducing the new knob for
`authorColor`.
2021-03-19 16:57:35 -04:00
Evan Hahn 9f5335b854 New Group administration: update title and avatar 2021-03-19 16:57:35 -04:00
Evan Hahn 729d808f62 macOS: make conversation and main header draggable 2021-03-19 16:57:35 -04:00
Evan Hahn ecc04d36de Disallow group names longer than 32 extended graphemes 2021-03-19 16:57:35 -04:00
Evan Hahn 934e0fa415 In <ContactPills>, use new "scrollToBottom" helper 2021-03-19 16:57:35 -04:00
Josh Perez 3cc6c5f5ad Fix for missing replacement text in bodyRanges 2021-03-19 16:57:35 -04:00
Josh Perez d82ce07942 Improve cold start performance 2021-03-19 16:57:35 -04:00
Scott Nonnenberg c73e35b1b6 Support for translating Desktop sessions to libsignal-client sessions 2021-03-19 16:57:35 -04:00
Scott Nonnenberg 7e629edd21 Move SignalProtocolStore to TypeScript 2021-03-19 16:53:52 -04:00
Evan Hahn 5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -04:00
Josh Perez 12bba24dbd Improvements to Group Settings screen 2021-03-19 16:53:51 -04:00
Evan Hahn dfa5005e7d Update conversation header design 2021-03-19 16:53:51 -04:00
Scott Nonnenberg d0e3a2ce29 background.ts/conversation_view.ts modules, Whisper.View/ToastView in TS 2021-03-19 16:53:51 -04:00
Scott Nonnenberg 254cddc514 Move getPlaceholder to component that needs it 2021-03-19 16:53:51 -04:00
Jack Lloyd c33fea35dc Fingerprint using SignalClient library 2021-03-19 16:53:51 -04:00
Evan Hahn 06fb4fd0bc Add "new conversation" composer for direct messages 2021-03-19 16:53:51 -04:00
Scott Nonnenberg 98e7e65d25 Automatic session reset 2021-03-19 16:53:51 -04:00
Evan Hahn fe187226bb Upgrade protobufjs to 6.10.2 2021-03-19 16:53:51 -04:00
Evan Hahn eb203ba929 Disable search keyboard shortcuts when main header isn't shown 2021-03-19 16:53:51 -04:00
Scott Nonnenberg 220d906422 Update google-libphonenumber to v3.2.17 2021-02-16 12:14:54 -08:00
Scott Nonnenberg 9858ae0642 Honor messageKeysLimit, remove batching for session saves 2021-02-10 14:47:55 -08:00
Evan Hahn 24f2363ebe Upgrade Sinon to latest version, v9.2.4 2021-02-10 14:47:55 -08:00
Scott Nonnenberg e10ae03bb7
Create group link previews; don't open Signal links in browser first; allow ephemeral download of previously-error'd pack 2021-02-10 16:39:26 -06:00
Scott Nonnenberg e8b6f15ff5 Remove unused lint-deps exception 2021-02-04 14:59:13 -08:00
Evan Hahn bc37b5c907
Add an assertion when updating conversations; update cleanData 2021-02-04 11:54:03 -08:00
Scott Nonnenberg 089e2864b3
Reduce unnecessary or overly verbose logging 2021-02-04 11:39:07 -08:00
Evan Hahn 8f1bb6f087
Don't render links (or link previews) for blocked or unapproved conversations 2021-02-02 11:09:53 -06:00
Evan Hahn ddebbf8121
Hide title bar on macOS 2021-02-01 12:01:25 -08:00
Josh Perez a096220990
Do not download media if in call 2021-01-29 14:58:28 -08:00
Scott Nonnenberg a48b3e381e
Support for joining New Groups via invite links 2021-01-29 14:16:48 -08:00
Josh Perez c0510b08a5
Introduce conversation details screen for New Groups
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
Co-authored-by: Sidney Keese <me@sidke.com>
2021-01-29 13:19:24 -08:00
Josh Perez 1b38db2d79
Fixes rendering of about bio 2021-01-27 19:18:50 -05:00
Scott Nonnenberg 12c44d40a8
makeLookup: Allow for key of zero 2021-01-27 14:39:45 -08:00
Evan Hahn 1da724edf2
Fix missing avatars in groups 2021-01-27 13:15:43 -08:00
Evan Hahn a8787e7c9e
Convert logging infrastructure to TypeScript 2021-01-27 13:13:33 -08:00
Evan Hahn 10ace53845
Remove unnecessary query param for /v1/certificate/delivery endpoint 2021-01-27 11:10:00 -06:00
Josh Perez 258bd55dd2 Show about info from contact profiles 2021-01-25 18:29:01 -08:00
Evan Hahn c8b551edab Upgrade to Electron 11 2021-01-25 18:29:01 -08:00
Evan Hahn 932e44e3bf Don't let quote thumbnails get taller than the quote itself 2021-01-25 18:29:01 -08:00
Evan Hahn ca669a2638 Update Sharp to the latest version, v0.27.0 2021-01-25 18:29:01 -08:00
Evan Hahn 8a72607fa7 Prefer `type` to `interface` and add an ESLint rule 2021-01-25 18:29:00 -08:00
Evan Hahn c85c073669 Update Bunyan to the latest version, v1.8.15 2021-01-25 18:29:00 -08:00
Evan Hahn 7884f4033e Patch over slow debug log rendering 2021-01-25 18:29:00 -08:00
Scott Nonnenberg d1355d5874 Show 'you were removed from group' if dropped during migration 2021-01-25 18:29:00 -08:00
Evan Hahn fbfcdbf84e Group calling: add overflow area 2021-01-25 18:28:59 -08:00
Evan Hahn 8e1391c70c Share group calling frame buffers to reduce memory usage 2021-01-25 18:28:59 -08:00
Evan Hahn 12dbd38cb9 Clean up migrateColor utility 2021-01-25 18:28:59 -08:00
Evan Hahn 8ccf402497 Use consistent User-Agent when uploading debug logs 2021-01-25 18:28:59 -08:00
Scott Nonnenberg cbc6c29479 Finish in-redux conversation lookups, getPropsForSearchResult moved 2021-01-25 18:28:58 -08:00
Josh Perez 2529e208c1 Move confirmation_dialog_view to ts and React
* Moves confirmation_dialog_view to ts and React

* showConfirmationDialog API
2021-01-25 18:28:58 -08:00
Evan Hahn 8e7379a591 Move `getDefaultConversation` into a shared test folder 2021-01-25 18:28:58 -08:00
Evan Hahn dd0ea6b3fe Upgrade TypeScript to the latest version, v4.1.3 2021-01-25 18:28:57 -08:00
Scott Nonnenberg 4eb49ff304 Fix a few issues with linking a new Desktop instance 2021-01-19 17:35:07 -08:00
Evan Hahn 8c25ffd6f5 Link previews: show full size image less often 2021-01-11 14:23:09 -08:00
Evan Hahn 0a35489696
Fix layout of "this person is in your contacts" tooltip 2021-01-11 13:43:21 -08:00
Evan Hahn 55091edefa Avoid unnecessary re-render on CHECK_NETWORK_STATUS 2020-12-17 12:12:52 -05:00
Evan Hahn 116ff74be8 Update license tests in preparation for new year 2020-12-17 12:12:52 -05:00
Evan Hahn c87ffcd2e9
Call lobby: render local preview at camera's aspect ratio 2020-12-11 16:44:07 -08:00
Scott Nonnenberg 0506b79f6b
Quotes: Use authorId when navigating to original message 2020-12-11 12:06:04 -06:00
Scott Nonnenberg 3f58a9b762
Clean up UUID-handling to prepare for future 2020-12-09 17:26:37 -05:00
Scott Nonnenberg 5369950c1d
Don't promote archived sessions, more logging on error 2020-12-09 14:05:11 -08:00
Josh Perez 318013e83d
Handles safety number changes while in a call 2020-12-08 14:37:04 -05:00
Evan Hahn 0c039bf431
Add group calling events to the message timeline 2020-12-07 14:43:19 -06:00
Evan Hahn a2f285d243
Put group calling behind a remote feature flag 2020-12-07 14:35:14 -06:00
Evan Hahn a9367f48f1
Dark theme for calling device selection 2020-12-04 15:03:01 -08:00
Scott Nonnenberg 6832b8acca
Timeline: repair oldest/newest metrics if we fetch nothing 2020-12-04 14:41:40 -06:00
Evan Hahn 511ad14137
Fix mutation in CallingParticipantList component 2020-12-03 09:24:44 -08:00