Commit graph

190 commits

Author SHA1 Message Date
Evan Hahn
8ace4b6321 Improve window activity detection, improving notification delivery 2021-01-25 18:28:57 -08:00
Evan Hahn
a2f285d243
Put group calling behind a remote feature flag 2020-12-07 14:35:14 -06:00
Evan Hahn
23fed9ce63
Group calling SFU URL should be configurable 2020-12-07 13:40:11 -06:00
Evan Hahn
31c2fe56f4
yarn test-electron: automatically pick up test files 2020-12-04 13:54:46 -08:00
Scott Nonnenberg
6832b8acca
Timeline: repair oldest/newest metrics if we fetch nothing 2020-12-04 14:41:40 -06:00
Evan Hahn
5302b97066
Only allow group calling in beta versions 2020-11-30 18:48:24 -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
Evan Hahn
022c4bd0f4 Initial group calling support 2020-11-23 14:45:44 -05:00
Evan Hahn
3468de255d
Redux state: Allow multiple calls to be stored 2020-11-06 09:36:37 -08:00
Evan Hahn
e9642ae66f Test calling's toggle actions, run tests in Electron 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
cb9a7f79d1 Rewrite Message model tests in TypeScript 2020-11-04 13:00:41 -06:00
Vin Howe
526ab4fe29
Add menu option for copying supported images in lightbox (#4614) 2020-11-02 16:47:46 -08:00
Scott Nonnenberg
b914b59969 Disable obsolete feature flags 2020-10-12 18:10:08 -04:00
Evan Hahn
313faab774 Outbound link previews 2020-10-12 18:10:08 -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
Josh Perez
22ba54ce5c Don't count muted convos in badge count by default 2020-09-21 15:42:51 -04:00
Josh Perez
d87335f5a6 Support server-determined build expiration 2020-09-09 17:34:57 -07:00
Scott Nonnenberg
7a02cc815d Support for new GroupV2 groups 2020-09-09 17:34:57 -07:00
Ken Powers
8290881bd8 Support for Contact Discovery Service 2020-09-09 17:34:57 -07:00
Danny Lin
c8261814fd
Add setting to toggle notification attention drawing (#4457)
In many GNU/Linux setups, drawing attention when a notification arrives
causes the Signal window to steal focus immediately and interrupt the
user from what they were doing before the notification arrived. GNOME
Shell is the most prominent example of this behavior, but there are
likely other cases as well. Suddenly stealing focus on external events
like this can even pose a security problem in some cases, e.g. if the
user is in the middle of a typing a sudo password on one monitor while a
notification arrives and focuses Signal on another monitor. See #4452
for more information.

Disabling attention drawing entirely for Linux is also problematic
because some users rely on it as the sole indication of a new message,
as seen in #3582 and #3611.

Commit f790694559 improved the situation
by adding a hidden "--disable-flash-frame" command-line argument, but
this argument is undocumented and manually adding command-line arguments
to the application's .desktop file is not user-friendly.

This commit adds a settings option for whether to draw attention when a
new notification arrives to make it easy for all Linux users to obtain
the appropriate behavior without relying on an undocumented
command-line argument.

Fixes #4452.
2020-08-24 14:45:31 -07:00
Scott Nonnenberg
bab59ba2a1 Force social graph to pull down updates after beta.11 install 2020-07-30 13:27:44 -07:00
Josh Perez
8502d23576 Social Graph: read-only state sync with primary device 2020-07-30 13:10:05 -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
fb0a98ccb7 Enable support for versioned profiles 2020-06-23 17:38:32 -07:00
Ken Powers
480e1808ba Enable React with any Emoji 2020-06-10 14:39:45 -07:00
Ken Powers
0865a5481c Pre-alpha: React with any emoji, behind flag 2020-05-05 14:18:46 -07:00
Scott Nonnenberg
464c814a95 Remove all IndexedDB migration code 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
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
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
Scott Nonnenberg
9ab54b9b83 Move web_api.js and js/modules/crypto.js to TypeScript 2020-04-15 14:44:51 -07:00
Ken Powers
4a8f5db0a4 Use Electron Spellchecker 2020-03-24 17:03:22 -07:00
Scott Nonnenberg
8d6cba1b43 Eliminate remaining Electron 8 deprecations
* Change systemPreferences.isDarkMode() to nativeTheme.shouldUseDarkColors

* Remove vibrancy parameter to BrowserWindow

* Update curve25519-n; removes context-aware deprecation warning

* Set app.allowRendererProcessReuse = true to remove warning

* Move from deprecated setters to direct property set

* Serialized sender certificates: Store less, store plain object

* isMenuBarAutoHide -> autoHideMenuBar

* UUID: Fix sealed sender indicator on message details screen

* Data._cleanData: Remove function keys, handle null in array

Also:
- run _cleanData when saving attachment download jobs
- remove job from jobs table when the send itself throws error

* _cleanData: Don't dig into strings, booleans, or numbers

* getPropsForMessageDetail: Make it clear what we're reducing

Co-authored-by: Ken Powers <ken@signal.org>
2020-03-24 17:03: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
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
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
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
Scott Nonnenberg
7ca0dfdfbe
Move logic into handleDataMessage for proper queuing 2020-02-14 16:28:35 -05: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
7a0197b08c Remove sticker send flag 2020-02-03 12:05:21 -08:00
Ken Powers
539c02cb92 Remove reaction send flag 2020-02-03 12:05:21 -08:00
Ken Powers
153503efc5 Send Reactions 2020-01-23 15:57:37 -08:00
Scott Nonnenberg
a271fe0eee Add version number to user-agent header on outgoing requests 2020-01-16 21:36:14 -08:00
Ken Powers
11d47a8eb9 Sticker Creator 2019-12-17 12:28:46 -08:00
Scott Nonnenberg
20a892247f Keyboard shortcuts and accessibility 2019-11-13 16:53:42 -08:00
Scott Nonnenberg
c81c25bb85 Update colors, icons, and fonts 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
8ccb89310b New Idle timer; messages not marked read if user is idle 2019-09-24 13:43:08 -07:00