Commit graph

529 commits

Author SHA1 Message Date
Josh Perez
048e1e4cd7
Move the safety number viewer into modal 2021-10-06 16:27:14 -04:00
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
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
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
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
Josh Perez
1c3c971cf4 Moves DraftAttachments into redux 2021-09-24 16:03:32 -04:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Josh Perez
e6d952d105
Removes ToastView, new React toast 2021-09-22 16:59:54 -04:00
Josh Perez
c05d23e628
Modernize ContactModal 2021-09-21 15:37:10 -07:00
Evan Hahn
7937280971
Fix <Modal> scroll event handler 2021-09-21 09:25:21 -07:00
Josh Perez
e9ef239ff0
Move emoji loading into TS 2021-09-20 10:59:09 -07: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
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
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
Fedor Indutny
a43abe628a
Update TypeScript to 4.4.2 2021-08-27 15:21:42 -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
Josh Perez
d5d808651a
Improved Lightbox experience 2021-08-23 16:14:53 -07: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
Josh Perez
91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
Josh Perez
9078919545
Transcode heic/heif images 2021-08-09 13:06:21 -07:00
Josh Perez
12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Evan Hahn
f33a0db32c
Convert the loading window to TypeScript 2021-08-03 09:28:45 -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
Evan Hahn
ceb2f594e3
Upgrade Sinon to v11.1.1 2021-07-22 14:53:49 -05: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
570fb182d4
Fully move to protobufjs 2021-07-13 11:54:53 -07:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Evan Hahn
af1f2ea449
Officially support the system tray on Windows 2021-06-29 12:18:03 -05:00
Evan Hahn
7cf7b1fca5
Upgrade zkgroup to v0.7.3 2021-06-28 12:16:55 -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
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
Josh Perez
173771d34b
New top-level React root: <App /> 2021-06-14 12:01:00 -07:00
Evan Hahn
2d6b0ecfe9
Edit group title/description: fix focus issues 2021-06-04 09:55:34 -05:00
Scott Nonnenberg
9705f464be
Group Description: Edit/Receive 2021-06-01 20:24:28 -04: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
Josh Perez
28f016ce48
Conversation Colors 2021-05-28 09:15:17 -07:00
Evan Hahn
05f9224273
Update Babel dependencies to allow import type 2021-05-27 08:44:06 -07:00
Josh Perez
ceffc2380c Add screensharing behind a feature flag 2021-05-20 17:37:19 -07:00
Evan Hahn
8f0731d498 Remove unsupported auto-launch setting on Linux 2021-05-20 17:37:18 -07:00
Scott Nonnenberg
4ce4569afb Upgrade a number of sub-dependencies 2021-05-20 17:37:09 -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
Scott Nonnenberg
c62b5a900e
Update proxy-agent to v4.0.1 2021-05-10 15:38:39 -07: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
Evan Hahn
f71f789c94
Upgrade Grunt to v1.4.0 2021-05-06 17:07:11 -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
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
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
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
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