Commit Graph

184 Commits

Author SHA1 Message Date
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
Scott Nonnenberg 5bd9964ed2 Windows: Reintroduce flash frame when we trigger a notification 2019-09-06 16:04:31 -04:00
Scott Nonnenberg ca6f7471f1 Remove all calls to flashFrame() 2019-08-21 14:55:12 -07:00
Scott Nonnenberg d3d2b0ec52 Use curve functions from native module 2019-08-21 14:55:12 -07:00
Scott Nonnenberg 9d4f2afa5a Persist drafts 2019-08-21 14:52:30 -07:00
Scott Nonnenberg cc7b9da0cf Ensure that all event handling in background.js is queued 2019-06-14 18:17:37 -04:00
Ken Powers be5d0837f8 Support additional sticker states
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-29 11:01:32 -07:00