Fedor Indutny
bcd79cf17d
Fix uncaught exception during shutdown on update
2021-05-06 16:32:23 -05:00
Evan Hahn
a5fde38c98
Mark links with a password as "sneaky"
2021-04-29 14:27:38 -07:00
Fedor Indutny
caf1d4c4da
GIF attachments
2021-04-29 14:27:37 -07:00
Scott Nonnenberg
86d2a4b5dd
decrypt/encrypt with libsignal-client, remove libsignal-protocol-javascript
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
25458be515
upgrade electron-builder to 22.10.5
2021-04-13 18:27:43 -07:00
Scott Nonnenberg
e0415de893
Don't always show an error on manual contact sync
2021-04-09 00:06:46 -04:00
Evan Hahn
99928ee831
Move refresh_sender_certificate.js to TypeScript
2021-04-05 18:08:50 -04:00
Evan Hahn
63ece2e9b4
Don't set or read reaction target 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
77c306843d
Fix error on message details screen with audio messages
2021-03-24 15:06:12 -07:00
Josh Perez
62e04a1bbd
Fix for unread syncs and ooo reactions
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
468d491d34
Optimizations to the performance improvement changes
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
c9ffb7c014
Move SecretSessionCipher to TypeScript
2021-03-19 16:57:35 -04:00
Scott Nonnenberg
7e629edd21
Move SignalProtocolStore to TypeScript
2021-03-19 16:53:52 -04:00
Fedor Indutny
18fb2b806e
Remove notification on reaction remove/change
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
c4551ca7ca
Revoke object URLs in two error cases
2021-03-19 16:53:51 -04:00
Evan Hahn
4519aa4abf
Allow PSD uploads over 6MB
...
You can't currently upload PSD files over 6MB. This is because its
mimetype is `image/vnd.adobe.photoshop`. We think this is an image, and
non-GIF images have a limit of 6MB.
To fix this, we could do one of two things:
1. Add a special case for PSD files
2. Increase the size limit for unsupported image types such as this
I went with the second option.
Tested this by:
- adding automated tests
- uploading a ~9 MB PSD file
- uploading a ~1 MB PNG
- uploading a ~27 MB PNG (which worked because it's converted to a smaller JPEG)
- uploading a ~50 MB text file
- trying to upload a ~500 MB text file (which failed, as expected)
Addresses [DESKTOP-1168][].
[DESKTOP-1168]: https://signalmessenger.atlassian.net/browse/DESKTOP-1168
2021-02-10 14:47:55 -08:00
Scott Nonnenberg
9858ae0642
Honor messageKeysLimit, remove batching for session saves
2021-02-10 14:47:55 -08:00
Scott Nonnenberg
e10ae03bb7
Create group link previews; don't open Signal links in browser first; allow ephemeral download of previously-error'd pack
2021-02-10 16:39:26 -06:00
Evan Hahn
bc37b5c907
Add an assertion when updating conversations; update cleanData
2021-02-04 11:54:03 -08:00
Scott Nonnenberg
089e2864b3
Reduce unnecessary or overly verbose logging
2021-02-04 11:39:07 -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
Evan Hahn
a8787e7c9e
Convert logging infrastructure to TypeScript
2021-01-27 13:13:33 -08:00
Evan Hahn
7884f4033e
Patch over slow debug log rendering
2021-01-25 18:29:00 -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
8ace4b6321
Improve window activity detection, improving notification delivery
2021-01-25 18:28:57 -08:00
Evan Hahn
cf6f4a9174
Bump logging batch size from 20 to 500
2021-01-19 17:35:11 -08:00
Scott Nonnenberg
9f81b4157b
Also use sent_at whenever we query database with received_at
2021-01-19 17:35:11 -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
6320e1f3a7
Fix logging batcher max size
2021-01-11 14:23:09 -08: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
Evan Hahn
688938b5a1
Don't send messages to blocked group members
2020-12-01 12:04:14 -05:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups
2020-12-01 10:42:35 -06: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
Chris Svenningsen
d593f74241
New contact popup when clicking on group member or avatar
2020-11-11 09:36:05 -08: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
184f7e1bf3
Remove ESLint no-continue rule
2020-11-04 13:00:41 -06:00
Evan Hahn
b7cd0b1bf7
Tidy up link previews types
2020-11-04 13:00:40 -06:00
Scott Nonnenberg
29eaa7b9a2
Cleanup: Reactions, Delete for Everyone
2020-11-02 14:49:07 -08:00
Scott Nonnenberg
e8759fc81b
Fix out-of-order applications of reaction and delete-for-everyone
2020-11-01 09:06:41 -06: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
f21dad1519
Mark long hrefs or those with invalid characters as sneaky
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
358ee4ab72
storage: Don't throw if we store undefined
2020-10-12 18:10:08 -04:00
Evan Hahn
776b500142
Ensure that clicking a link does not close the conversation
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
b914b59969
Disable obsolete feature flags
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
d51a0b5ece
GroupsV2: Better group invite behavior
2020-10-12 18:10:08 -04:00
Josh Perez
9510fd1eec
Cleans up mute state after mute expires
2020-10-12 18:10:08 -04:00
Josh Perez
27759233e4
Storage Service Write: Improved conflict handling
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
Evan Hahn
693deaebe8
Remove IP addresses from "sneaky" link detection
2020-10-12 18:10:08 -04:00
Evan Hahn
313faab774
Outbound link previews
2020-10-12 18:10:08 -04:00
Evan Hahn
bdd71e4898
Support APNGs in Sticker Creator
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
Evan Hahn
bee51d74f5
Add debug logging to conversation view when starting outbound call
2020-09-25 17:14:18 -04:00
Scott Nonnenberg
58af7adeaa
Update to the new gv2 capability string
2020-09-25 15:19:03 -05:00
Scott Nonnenberg
9f73b40d7a
MessageReceiver: Use UUID if we have it
2020-09-25 09:20:36 -05:00
Scott Nonnenberg
04d3769bd4
Update to the new gv2 capability string
2020-09-22 20:30:25 -04:00
Josh Perez
2d5292b2f3
Render quoted mentions as text
2020-09-21 15:42:51 -04:00
Scott Nonnenberg
bc3b61db1d
Add p-queue timeouts; fix search crash; improve promise rejection logging
2020-09-21 15:42:51 -04:00
Scott Nonnenberg
67cb10fcae
Ensure that ConversationController.load is resilient to errors
2020-09-21 15:42:51 -04:00
Chris Svenningsen
b4e9c278d3
Migrate to eslint
2020-09-21 15:42:51 -04:00
Josh Perez
0fe7e30398
Storage Service: More logging
2020-09-21 15:42:51 -04:00
Evan Hahn
eba1bf3100
Add software acknowledgments, link to them from About window
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
Evan Hahn
de66486e41
Add sound effect for notifications in Linux
2020-09-21 15:42:50 -04:00
Evan Hahn
ad555ec8a9
Cleanup and remove unused chunks of libsignal-protocol
2020-09-21 15:42:50 -04:00
Josh Perez
9657c38987
@mentions receive support
2020-09-21 15:42:37 -04:00
Josh Perez
c25759ca3a
Storage Service Write: Tighten up validation
2020-09-10 15:37:20 -07:00
Scott Nonnenberg
9fae795e8f
GroupsV2: Register GV2 capabilities properly
2020-09-10 15:03:17 -07:00
Scott Nonnenberg
cad9803d38
GroupsV2: Use both sent_at and received_at when processing changes
2020-09-10 17:04:45 -04:00
Scott Nonnenberg
4c98b4a96f
Introduce new remote flag for storage service write behavior
2020-09-10 13:59:59 -04:00
Scott Nonnenberg
5f6a9a661f
Fix typing indicator in groups: now goes away when we get the message
2020-09-09 17:34:57 -07:00
Josh Perez
d1d7e0aa99
Storage logging improvements and repeat limits for stop sync
2020-09-09 17:34:57 -07: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
Josh Perez
1ce0959fa1
Storage Service: Write
2020-09-09 17:34:57 -07:00
Chris Svenningsen
8a2c17f65f
Apply new ESLint rules to legacy code
2020-09-09 17:34:57 -07:00
Scott Nonnenberg
9d64b6e8d7
Fix left pane preview text for timer changes
2020-09-09 17:34:57 -07:00
Evan Hahn
91a591c6ca
Show group names in notifications, and only show the latest
2020-09-09 17:34:57 -07:00
Evan Hahn
496a90efbb
More descriptive notification/left pane text
2020-09-09 17:34:57 -07:00
Ken Powers
8290881bd8
Support for Contact Discovery Service
2020-09-09 17:34:57 -07:00
Evan Hahn
bd32a55c15
Fix issue with dates on inbound link previews
2020-09-02 14:49:47 -04:00
Josh Perez
9eeb68a9a7
Blocking/Unblocking improvements for message requests
2020-09-01 17:11:16 -04:00
Scott Nonnenberg
91ea69133b
Ensure conversation details flow down to Message Requests UI
2020-09-01 17:11:16 -04:00
Chris Svenningsen
5b1536cc02
Initial move towards new ESLint config supporting TS
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-09-01 17:11:16 -04:00
Evan Hahn
fd06ac9d57
Sticker improvements
2020-09-01 17:11:16 -04:00
Evan Hahn
2e1e6e847a
Widen the set of link previews which can be received
2020-09-01 17:10:18 -04:00
Josh Perez
84e52c948b
Mute conversations
2020-08-28 15:42:25 -04:00
Scott Nonnenberg
8d5e832ed6
Left pane preview/timestamp: Further refine logic
2020-08-28 15:42:25 -04:00
Evan Hahn
aaed0db2e5
Verify sticker data in getDataFromLink
2020-08-28 15:42:25 -04:00
Josh Perez
25dabd56fd
Outgoing call: Show safety number dialog if change detected
2020-08-28 15:42:24 -04:00
Evan Hahn
45d829e439
Improved link verification logic.
2020-08-28 15:42:24 -04: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
2db1569fbd
Fix conversation last activity calculation
2020-08-13 17:47:50 -05:00
Josh Perez
02607edfff
Fix selectedReaction which is now always undefined
2020-08-13 15:19:04 -07:00
Scott Nonnenberg
eb44e2fc6a
Calling: Show call event summaries in left pane
2020-08-12 19:52:34 -04:00
Scott Nonnenberg
67058e27bb
Safely generate cached conversation props on startup
2020-08-11 19:15:06 -04:00
Josh Perez
6a68b37c83
New message state: Partially sent
2020-08-06 18:22:52 -07:00
Scott Nonnenberg
81cb7730a5
Message Requests improvements
2020-08-06 20:50:54 -04:00
Scott Nonnenberg
b63291507a
Sync messages: Additional debugging info, consistent ids
2020-08-06 13:28:56 -04:00
Scott Nonnenberg
57308d3104
Fixes several bugs
2020-08-04 21:13:19 -04:00
Scott Nonnenberg
7eabdffcd0
Update message.isEmpty() and .isNormalBubble() with recent additions
2020-07-30 20:10:54 -04:00
Scott Nonnenberg
d75eee015f
Show notifications when a user's profile name changes
2020-07-30 13:27:44 -07:00
Scott Nonnenberg
5a79ed1c60
combineContacts: Don't clear conversations to reset lookups
2020-07-30 13:27:44 -07:00
Scott Nonnenberg
bab59ba2a1
Force social graph to pull down updates after beta.11 install
2020-07-30 13:27:44 -07:00
Scott Nonnenberg
d07b8e82b2
First-class profile name rendering
2020-07-30 13:27:41 -07:00
Josh Perez
0f8a60acc3
Integrate message requests with storage service
2020-07-30 13:18:34 -07:00
Josh Perez
9433a1de99
Don't reset panel on close of recent media pane
2020-07-30 13:17:47 -07:00
Scott Nonnenberg
901179440f
Merge contacts when we discover split or duplicated contacts
2020-07-30 13:17:45 -07:00
Josh Perez
8502d23576
Social Graph: read-only state sync with primary device
2020-07-30 13:10:05 -07:00
Scott Nonnenberg
7f71046f93
Restore ability to get to safety number screen from member list
2020-07-30 13:10:05 -07:00
Josh Perez
5b83485c89
Update safety number change warning dialog
2020-07-30 13:10:05 -07:00
Ken Powers
bf04c9114e
Harden UUID-handling code paths
2020-07-30 13:10:03 -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
1518b159d3
Only use membersE164 field in GroupV1 messages
2020-07-27 14:49:37 -07:00
Josh Perez
128859fdb7
Support system theme on all platforms
2020-07-27 14:39:19 -07:00
Scott Nonnenberg
efaa856c35
Don't start rotation mechanisms until queue is empty
2020-07-27 14:39:19 -07:00
Josh Perez
1ad2b175dc
Delete right away if we already have the message
2020-07-27 14:39:19 -07:00
Scott Nonnenberg
9214aee3ec
Conversation.idForLogging: Show groupId or uuid/e164 instead of id
2020-07-13 16:06:24 -07:00
Scott Nonnenberg
6afa6db5be
Conversation.getTitle(): return 'unknown contact' if no data
2020-07-13 16:06:29 -07:00
Josh Perez
ba6cb653bf
Drop group messages that don't change group
2020-07-13 16:06:24 -07:00
Scott Nonnenberg
4289c28a38
Improve reliability of out-of-order reactions and DOE
2020-07-13 16:06:24 -07:00
Scott Nonnenberg
e536929e35
Handle messages with the same received_at
2020-07-13 16:06:24 -07:00
Scott Nonnenberg
82bf517a69
onGroupReceived: Only process a group if it has a 16-byte id
2020-07-10 11:08:49 -07:00
Scott Nonnenberg
fd612234bb
onContactReceived: Tighten up 'self' check
2020-07-10 11:08:28 -07:00
Scott Nonnenberg
a14936451e
deleteStickerPackReference: Return early on empty array as well
2020-07-10 11:07:37 -07:00
Jan Janik
1503053496
Close/cancel draft "reply to" on Escape ( #4387 )
2020-06-30 18:59:38 -07:00
Scott Nonnenberg
fb0a98ccb7
Enable support for versioned profiles
2020-06-23 17:38:32 -07:00
Scott Nonnenberg
6aedb30905
getPropsForSearchResult: Harden to missing conversation
2020-06-23 17:31:21 -07:00
Ken Powers
9f1304bca8
Prevent duplicate message history disclaimers
2020-06-23 17:31:07 -07:00
Scott Nonnenberg
b290a27173
Message.idForLogging: Ensure that it works for outgoing
2020-06-23 17:30:58 -07:00
Josh Perez
8eed6b62b9
Wrap delivery receipt sends in conversation.queueJob
2020-06-10 14:39:45 -07:00
Scott Nonnenberg
55f4cd591c
Improve safety number logic in group conversations
2020-06-10 14:39:45 -07:00