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
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
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
d6bb8ae35e
Adds axe-storybook-testing
2021-04-06 16:12:33 -04:00
Evan Hahn
d81aaf654f
Improve left pane UI when loading search results
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
Fedor Indutny
990e501850
First pass on CI support
2021-03-25 19:02:53 -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
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
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
b93164a8c0
Reduce size of asar file and unpacked asar folder
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
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
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
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
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
Evan Hahn
06fb4fd0bc
Add "new conversation" composer for direct messages
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
e8b6f15ff5
Remove unused lint-deps exception
2021-02-04 14:59:13 -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
Evan Hahn
1da724edf2
Fix missing avatars in groups
2021-01-27 13:15:43 -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
8ccf402497
Use consistent User-Agent when uploading debug logs
2021-01-25 18:28:59 -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
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
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
Scott Nonnenberg
6832b8acca
Timeline: repair oldest/newest metrics if we fetch nothing
2020-12-04 14:41:40 -06:00
Evan Hahn
c85ea814b1
Group calling participants refactor
2020-12-02 10:14:03 -08:00
Evan Hahn
d1866a0e5d
Group calling: tell RingRTC about our rendered resolutions for perf
2020-12-01 17:52:01 -08:00
Josh Perez
81cc8a1211
Group Calling: blocking participants
...
Co-authored-by: Evan Hahn <evanhahn@signal.org>
2020-12-01 19:30:25 -06:00
Evan Hahn
bb5036364e
Prevent calling PiP from going off-screen
2020-12-01 11:21:47 -08:00
Evan Hahn
c7290309d3
Minor: remove a typecast from <CallingPip>
2020-12-01 11:57:46 -05:00
Evan Hahn
4c78a6c57f
Show toast when group call is reconnecting
2020-12-01 11:46:44 -05:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups
2020-12-01 10:42:35 -06:00
Josh Perez
34574583b6
Group calling: fix participant hover state
2020-11-23 14:49:32 -05:00
Evan Hahn
daef1feae8
Add list of participants to the lobby, and add basic blocking for max participants
2020-11-23 14:49:32 -05:00
Josh Perez
f8b4862ed5
Participant list improvements
2020-11-23 14:49:32 -05:00
Evan Hahn
6d53cb1740
Group calling: Peek into a group call
2020-11-23 14:49:32 -05:00
Josh Perez
6a6f8e28ce
Group Calling: show participant name on hover
2020-11-23 14:49:31 -05:00
Josh Perez
5cc7c9a66a
Group Calling: Improve mute state styling
2020-11-23 14:49:31 -05:00
Josh Perez
c6eafbb8d5
Fix tooltip bugs
2020-11-23 14:49:31 -05:00
Evan Hahn
05205c77cf
In conversation header, only show video button for group calls
2020-11-23 14:49:31 -05:00
Evan Hahn
94178717c9
Group call video rendering performance improvements
2020-11-23 14:49:31 -05:00
Evan Hahn
b366967ca5
Upgrade to RingRTC v2.8.2 RC.6
2020-11-23 14:48:12 -05:00
Scott Nonnenberg
2c69f2c367
Support for GV1 -> GV2 migration
2020-11-23 14:48:12 -05:00
Scott Nonnenberg
26884432a2
Update TypeScript, Prettier and typescript-eslint for new TypeScript 3.8 syntax
2020-11-23 14:45:44 -05:00
Josh Perez
1f0c091e13
Group calling enhancements
2020-11-23 14:45:44 -05:00
Evan Hahn
c6e4c1d1a9
Add audio mute indicator for local preview and group remote participants
2020-11-23 14:45:44 -05:00
Evan Hahn
022c4bd0f4
Initial group calling support
2020-11-23 14:45:44 -05:00
Chris Svenningsen
24b70e6edd
CompositionInput: Proper RTL support
2020-11-20 16:03:16 -08:00
Sidney Keese
7af2284c6b
Composition area: Only paste HTML that originated in Signal
...
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-11-11 17:01:45 -08:00
Chris Svenningsen
d593f74241
New contact popup when clicking on group member or avatar
2020-11-11 09:36:05 -08:00
Evan Hahn
957a1e0d07
Calling lobby: show your blurred avatar instead of other person's
2020-11-09 10:56:20 -08:00
Sidney Keese
91beef7797
Improve emoji blot and override clipboard behavior
2020-11-06 12:11:18 -08:00
Evan Hahn
3468de255d
Redux state: Allow multiple calls to be stored
2020-11-06 09:36:37 -08:00
Chris Svenningsen
fe298444fb
Bring up picker on backspace into mention
2020-11-05 13:18:42 -08:00
Chris Svenningsen
4def45b86a
Remove fuzzy @mention search
2020-11-04 14:04:48 -08:00
Evan Hahn
66da943f27
Call screen footer styling improvements
2020-11-04 11:56:03 -08:00
Chris Svenningsen
53c89aa40f
Send @mentions
2020-11-04 13:03:13 -06:00
Chris Svenningsen
ff18063f89
Ensure emoji picker can insert without composition box focus
2020-11-04 13:03:13 -06:00
Evan Hahn
8bfaf598af
Add license headers across the project
2020-11-04 13:03:13 -06:00
Evan Hahn
decc93532b
Hide call buttons when on call
2020-11-04 13:03:13 -06:00
Chris Svenningsen
c408072576
Mark conversation as unread
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:03:10 -06:00
Evan Hahn
cb9a7f79d1
Rewrite Message model tests in TypeScript
2020-11-04 13:00:41 -06:00
Evan Hahn
8073ccd32c
Rewrite <CallScreen> component with hooks
2020-11-04 13:00:41 -06:00
Evan Hahn
dd8a2435ea
Add useRef()
React Hook to lint rules
2020-11-04 13:00:40 -06:00
Sidney Keese
fbf93374c1
Replace Draft with Quill for composition area
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:00:40 -06:00
Scott Nonnenberg
fa2d300714
Show 'accept invite UI' for re-invite, calm progress spinner
2020-10-26 15:55:27 -07:00
Scott Nonnenberg
04b7a29229
Modern profile sharing in 1:1 and GroupV1 groups
2020-10-26 15:48:44 -07:00
Evan Hahn
60f2422e2a
Consolidate sleep
usages into a tested utility function
2020-10-26 15:48:44 -07:00
Evan Hahn
dd57963dab
Outbound link previews: more lenient loading
...
Signed-off-by: Josh Perez <josh.p@signal.org>
2020-10-15 14:34:45 -04:00
Josh Perez
1507dea351
Move calling duration timer into redux state
2020-10-13 14:02:43 -07:00
Josh Perez
47cd1ddbff
Fixes lint
2020-10-12 18:48:19 -04:00
Josh Perez
59a181bd30
Calling: Lobby
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
b914b59969
Disable obsolete feature flags
2020-10-12 18:10:08 -04:00
Sidney Keese
c3ddedfde1
Reactions: skin tone support
2020-10-12 18:10:08 -04:00
Chris Svenningsen
6a7d45b6fc
Pinned Chats
2020-10-12 18:10:08 -04:00
Evan Hahn
6e1a83ae4e
Reject HTTP URLs when loading link previews
2020-10-12 18:10:08 -04:00
Evan Hahn
2637d90df0
Minor: remove two any
s from <CallScreen>
2020-10-12 18:10:08 -04:00
Josh Perez
a581f6ea81
Calling: Picture-in-picture
2020-10-12 18:10:08 -04:00
Sidney Keese
866217a724
Delete For Everyone Send
...
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:08 -04:00
Chris Svenningsen
63b2644cb4
Read Pinned Chats
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:08 -04:00
Evan Hahn
313faab774
Outbound link previews
2020-10-12 18:10:08 -04:00
Sidney Keese
dabab60f56
Remove TSLint
...
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:07 -04:00
Sidney Keese
7b6d8f55d6
Migrate textsecure to eslint
...
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:07 -04:00
Chris Svenningsen
b5df9b4067
Migrate messages, conversations, conversation_view, background to TS
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:07 -04:00
Scott Nonnenberg
4e223def29
Improved support for images with extreme ratios
2020-09-23 12:07:27 -04:00
Evan Hahn
eba1bf3100
Add software acknowledgments, link to them from About window
2020-09-21 15:42:51 -04:00
Josh Perez
64ba7b63d3
Fix lint
2020-09-21 15:42:51 -04:00
Josh Perez
22ba54ce5c
Don't count muted convos in badge count by default
2020-09-21 15:42:51 -04:00
Chris Svenningsen
5364de90a4
migrate components stickers to eslint
2020-09-21 15:42:51 -04:00
Sidney Keese
2ade4acd52
Migrate util, types, state, sticker-creator to ESLint
2020-09-21 15:42:51 -04:00
Chris Svenningsen
372aa44e49
Migrate conversations to ESLint
2020-09-21 15:42:51 -04:00
Evan Hahn
b4f0f3c685
Upgrade node-fetch to v2.6.1
2020-09-21 15:42:51 -04:00
Chris Svenningsen
b13dbcfa77
Migrate components to eslint
2020-09-21 15:42:50 -04:00
Evan Hahn
6d2e994f9f
Windows: mark downloads as "from the internet"
2020-09-21 15:42:50 -04:00