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