Commit graph

3084 commits

Author SHA1 Message Date
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