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
Scott Nonnenberg
06333aef10
Drop 'group leave' messages if sender is not currently in group
2020-06-10 14:39:45 -07:00
Scott Nonnenberg
acf95f4745
resetSession: Take both UUID and e164, use each correctly
2020-06-10 14:39:45 -07:00
Scott Nonnenberg
ae47748720
handleDataMessage: Properly create new convo if given only membersE164
2020-06-10 14:39:45 -07:00
Ken Powers
352818fd32
Add more logging around attachment queueing
2020-06-10 14:39:45 -07:00
Ken Powers
d4ee1d4133
getProfile: Pull information from sendMetadata properly
2020-06-01 15:00:13 -07:00
Ken Powers
d6d2d242d4
Always use sender certificates including UUID
2020-05-07 13:51:37 -07:00
Scott Nonnenberg
d13c3d3350
Link flow: Show 'you must upgrade' on 409 server response
2020-05-05 14:18:46 -07:00
Ken Powers
7bb7c0d1e1
Debug Log: Copy URL instead of open in browser
2020-05-05 14:18:46 -07:00
Ken Powers
ba5e2ff6e5
Receive support for DOE messages
2020-04-29 17:42:41 -07:00
Scott Nonnenberg
464c814a95
Remove all IndexedDB migration code
2020-04-29 17:42:41 -07:00
Ken Powers
1b5c36a9a8
Add more safeguards to isTrustedIdentity
2020-04-29 17:42:41 -07:00
Scott Nonnenberg
3966d55d3b
Conversation.onOpened: Wait for outstanding message processing
2020-04-29 17:42:41 -07:00
Scott Nonnenberg
df849c65a8
Settings pane -> Preferences pane
...
* Settings pane -> Preferences pane
* Remove 'settings' string
2020-04-29 17:42:41 -07:00
Ken Powers
4b685d09b4
Fix application of incoming view syncs
2020-04-29 17:42:41 -07:00
Ken Powers
980862768b
Linkify URLs containing @
2020-04-29 17:42:41 -07:00
Scott Nonnenberg
ebb3864f58
New keyboard shortcuts: Ctrl+1..9, Ctrl+Tab/Ctrl+Shift+Tab
...
* New keyboard shortcuts: Ctrl+1..9, Ctrl+Tab/Ctrl+Shift+Tab
* Add new shortcuts to the shortcut guide
2020-04-29 17:42:41 -07:00
Scott Nonnenberg
aaa91c441b
Ensure old attachments with .id field only are handled
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
Corey Rice
45024beb9c
If no theme setting, default to 'system' theme ( #4128 )
2020-04-15 17:17:58 -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
6b094e1514
Refactor: Move data-access code to Typescript w/ shared interface
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
Scott Nonnenberg
71436d18e2
Include sender in group update notifications
2020-04-15 14:44:46 -07:00
Josh Perez
d88c21e5b6
Support ultramarine convo colors from Android linked devices
2020-04-15 14:39:48 -07:00
Ken Powers
324472e431
Fix incoming group messages appearing from the group
2020-04-13 11:49:10 -07:00
Ken Powers
741a0860f7
Delivery receipts: Ensure that message.delivered_to is used for merge
2020-04-08 11:51:34 -07:00
Ken Powers
8ede54c925
Handle UUID properly in group message processing
2020-04-06 17:12:16 -07:00
Ken Powers
750e50812c
Introduce dialog for long database migrations
2020-03-25 16:47:42 -07:00
Ken Powers
4c449019f8
Check for author id rather than conversation id
2020-03-25 16:47:42 -07:00
Ken Powers
c780c12df7
Use multiple spellCheckDirty messages
2020-03-25 08:16:10 -07:00
Ken Powers
a20c7c3357
Check targetTimestamp when looking for out-of-order reactions
2020-03-24 17:03:22 -07:00
Ken Powers
cbc670e855
Setup: Only display one QR code at a time
2020-03-24 17:03:22 -07:00
Scott Nonnenberg
2852b0b92c
Reaction Send: Include current conversation timer
2020-03-24 17:03:22 -07:00
Ken Powers
a1270867ff
Debug Logs: gzip before upload
2020-03-24 17:03:22 -07:00
Ken Powers
4a8f5db0a4
Use Electron Spellchecker
2020-03-24 17:03:22 -07:00
Ken Powers
42152be4af
Handle multiple out of order reactions
2020-03-24 17:03:22 -07:00
Ken Powers
37ad95af27
Passive UUID fixes
2020-03-24 17:03:22 -07:00
Scott Nonnenberg
6bd5587d50
Retry websocket connect if error returned is 502
...
* Retry websocket connect if error returned is 502
* Introduce connect button on 'Disconnected' left-pane dialog
* NetworkStatus: If user clicks connect, show connecting for 5s
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
Josh Perez
4830213a12
Sort by inbox position to match phone after link
2020-03-24 17:02: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
Ken Powers
6a517e4ef9
Disable spellcheck for non-English Linux users
...
Temporary workaround to prevent a possible startup hang
2020-03-06 12:34:22 -08:00
Scott Nonnenberg
a840e2e5b1
Remove legacy import flow
2020-03-04 17:12:56 -08:00
blckfalcon
fa052f1486
Windows: Fix context menu when spellchecker is off ( #3996 )
2020-03-02 17:30:56 -08:00
Scott Nonnenberg
90fef354e4
Enable reply/reactions on messages with no errors array
2020-02-28 16:26:50 -08:00
Josh Perez
60773d28d5
Fix new sticker pack keys
2020-02-24 17:03:55 -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
Josh Perez
6b56dd4ce0
Move registration from redux selectors to util
2020-02-21 15:08:21 -08:00
Josh Perez
018dc34e47
Fix for fallback update dialog
2020-02-20 16:24:40 -08:00
Scott Nonnenberg
f379c72aba
Lint fixes
2020-02-20 16:24:40 -08:00
Josh Perez
2138395bcb
Improve UI around Voice Message limits
2020-02-20 16:24:40 -08:00
Ken Powers
f0028a5cfe
Don't linkify invalid URLs
2020-02-19 15:22:37 -08:00
Josh Perez
32c0a8fbf6
Lint fixes
2020-02-19 09:55:35 -08:00
Josh Perez
1881fa5fa5
Add swoon sticker packs as blessed and known
...
* Add swoon sticker packs as blessed and known
* Do not install blessed packs by default
2020-02-18 14:36:59 -08:00
Josh Perez
9e9401693c
Replace spellchecker in favor of typo-js
2020-02-18 10:58:05 -08:00
Josh Perez
0843f569a0
Adds additional logging to boot path
2020-02-18 10:48:58 -08:00