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
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
Scott Nonnenberg
7ca0dfdfbe
Move logic into handleDataMessage for proper queuing
2020-02-14 16:28:35 -05:00
Tom Huzij
3f6d4486f6
Restore macOS full screen shortcut ( #3939 )
2020-02-12 13:56:28 -08:00
Josh Perez
18fd44f504
Move all status/alert dialogs into the Left Pane
2020-02-12 13:30:58 -08:00
Ken Powers
101070bf42
Prevent replies/reactions on messages with errors
2020-02-07 15:13:46 -08:00
Ken Powers
f37e73c723
Add more logging for reactions handling
2020-02-07 15:12:47 -08: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
01d4aa0772
Update to new message bubble reactions design
2020-02-03 12:02:49 -08:00
Josh Perez
c2d1979c1e
Set conversation avatar to null explicitly when missing
2020-01-24 15:50:41 -08:00
Ken Powers
153503efc5
Send Reactions
2020-01-23 15:57:37 -08:00
Ken Powers
109c40e055
Set correct fromId on reactions in all circumstances
2020-01-23 11:52:40 -08:00
Scott Nonnenberg
bfa76b05d2
No propagate, fix 'attachment save' cancel
...
* Quote: Ensure that clicks don't propagate to parent
* Attachment Save: Check for null; returned if user cancels out
2020-01-22 14:34:36 -05:00
Ken Powers
6cc0f2abce
Render incoming Reactions
2020-01-17 14:23:19 -08:00
Scott Nonnenberg
a271fe0eee
Add version number to user-agent header on outgoing requests
2020-01-16 21:36:14 -08:00
Scott Nonnenberg
be6ae038dc
Ensure sender cert refresh timer resets only when necessary
2020-01-16 21:36:14 -08:00
Scott Nonnenberg
4af7a9ae2c
ducks/conversations: Ensure metrics agree with in-memory messages
...
* ducks/conversations: Ensure metrics agree with in-memory messages
* Clean up logic cleaning up metrics
2020-01-16 11:45:06 -05:00
Scott Nonnenberg
7aaee0cb64
idle timer: don't check window.isFocused, force inactive on blur
2020-01-16 11:41:00 -05:00
Ken Powers
8dbbde6790
Partial Revert "Conversation: Wait for database fetch to add incoming messages"
...
This partially reverts commit bce711c36dfdb3eefda59a10aabe71058b3e40a2.
2020-01-16 08:34:31 -08:00
Scott Nonnenberg
55eff02872
Reintroduce file chooser dialog for every attachment save
2020-01-15 17:23:02 -05:00
Scott Nonnenberg
a37c239e01
handleDataMessage: Apply out-of-order view sync directly
2020-01-14 12:03:25 -08:00
Scott Nonnenberg
11266cb775
Handle both given and family name in decrypted profile name
...
* Decrypt given and family names from profile name string
* Handle both given and family name from decrypted profile name
* Ensure we properly handle profiles with no family name
2020-01-13 17:28:28 -05:00
Scott Nonnenberg
4f50c0b093
Use 1x icon in View-once bubbles, explanatory expired toasts
2020-01-10 11:29:51 -05:00
Scott Nonnenberg
1bf9ca7233
Save attachments with macOS quarantine attribute
...
* Attachments: Always save file to downloads directory, show toast
* Add new build:dev command for casual builds
2020-01-09 14:57:43 -05:00
Scott Nonnenberg
3e5071e340
Conversation: Wait for database fetch to add incoming messages
2020-01-09 09:43:47 -05:00
Ken Powers
0d3b390129
Upgrade Prettier
2020-01-08 09:44:54 -08:00
Scott Nonnenberg
0a4190f83f
handleDataMessage: Set convo preview after message processing
2020-01-07 16:29:57 -05:00
Scott Nonnenberg
e5d2952c90
Lint fixes after recent merges
2020-01-06 17:47:40 -08:00
Victor Sheremetov
ddb5e90967
Fixing issue #2689 with broken right click when spell check is disabled ( #2708 )
...
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-01-06 17:33:20 -08:00
Ken Powers
fe65fd3eaa
Sticker creator updates: new 200 sticker max, WebP supported
2019-12-19 15:27:02 -08:00
Scott Nonnenberg
f5be32ba14
Simplify linkification filter - check for ASCII/non-ASCII only
2019-12-18 14:45:11 -05:00
Ken Powers
11d47a8eb9
Sticker Creator
2019-12-17 12:28:46 -08:00
Scott Nonnenberg
2df1ba6e61
Introduce two built-in sticker packs: Zozo and Bandit
2019-12-17 12:28:46 -08:00
Scott Nonnenberg
2c7baad68d
macOS shortcuts: Only listen for command key, not control key
2019-12-17 13:52:36 -05:00
Ken Powers
a83f5ce3e0
Drop reaction messages
2019-12-16 15:00:24 -08:00
Scott Nonnenberg
f9b01f007f
Don't do any additional processing of unsupported messages
2019-12-16 15:00:24 -08:00
Scott Nonnenberg
3aba4d0d06
Check for duplicate and send delivery receipts in per-convo queue
2019-12-16 15:00:24 -08:00
Scott Nonnenberg
5f58be1a29
Set focus properly in confirmation dialogs when in mouse mode
2019-12-16 15:00:24 -08:00
Scott Nonnenberg
38e9ddef40
Add logging to help track down 401s during registration
2019-12-03 16:29:03 -08:00
Scott Nonnenberg
e9f08c3da9
Bugfixes for v1.29
...
* If focus was set to document.body during archive, focus left pane
* Shortcut Guide: Add space between text and shortcut highlight
* Ensure that draft attachment can be closed with click on X button
* Move to keyDown event for user idle checking
* Additional resiliency around avatars; check for them on on-disk
* Increase timeouts to preserve websocket connection
* On startup, be resilient to malformed JSON in log files
* Don't crash if shell.openExternal returns an error
* Whenever we request a contact/group sync, also request block list
* Avatar popup: Ensure styling is mouse- and keyboard-appropriate
* MainHeader: Create popperRoot on demand, not on mount
* CompositionInput: Disable default Ctrl-/ shortcut
* Update libphonenumber
2019-12-03 15:02:50 -05:00
jjkaufman
ee9e86ab7a
Show message sent time (not received time) in search results ( #3769 )
2019-12-02 13:40:38 -08:00
Scott Nonnenberg
2a0a73cfc1
Keyboard/mouse mode and keyboard support bugfixes
2019-11-21 14:16:06 -05:00
Scott Nonnenberg
e23d7a75b0
Open conversation menu: Ctrl-Shift-I -> Ctrl-Shift-L
2019-11-15 14:34:24 -08:00
Scott Nonnenberg
5750412fda
Hover/focus styles for embedded contacts, default action
2019-11-15 14:34:24 -08:00
Scott Nonnenberg
bb02fa3a7e
Prevent conversation up/down when showing search results
2019-11-15 14:34:24 -08:00
Scott Nonnenberg
6b60ca6bd7
Handle Ctrl+/ in the application instead of via Electron
...
To prevent 'select all' on Linux.
2019-11-15 14:34:24 -08:00
Scott Nonnenberg
3c6e23cc5e
Shortcuts: Check for both capital and lowercase characters
2019-11-14 12:37:28 -08:00
Scott Nonnenberg
20a892247f
Keyboard shortcuts and accessibility
2019-11-13 16:53:42 -08:00
Scott Nonnenberg
8590a047c7
Change domain for sharing sticker packs
2019-11-13 19:12:36 -05:00
Scott Nonnenberg
43ec99f5d8
Ensure heartbeat interval starts even if we start up expired
2019-11-13 18:25:57 -05:00
Scott Nonnenberg
fa70fa2ecf
Track last use via heartbeat instead of by last startup
2019-11-12 17:56:57 -05:00
Scott Nonnenberg
edba3a522a
Fix View Once Video, fix Permissions Popup
...
* Ensure we're ready to handle incoming View Once messages
* Ensure that permissions popup initializes fully
2019-11-07 15:07:37 -05:00
Scott Nonnenberg
b85943b688
Ensure that loading screen progress includes all message types
2019-11-04 11:58:22 -08:00
Scott Nonnenberg
a905b2c656
ConversationView.unload: Remove CompositionArea component
2019-11-04 10:53:56 -08:00
Ken Powers
8659f1dd23
Fix a number of emoji bugs in message composer
2019-10-31 12:32:10 -07:00
Scott Nonnenberg
fd5af8bb62
SessionRecord: Once again serialize/deserialize within libsignal
2019-10-30 12:12:30 -07:00
Scott Nonnenberg
785e31b154
SettingsView: Remove unused localization strings
2019-10-30 12:12:30 -07:00
Scott Nonnenberg
dd1f9b055f
New AvatarPopup component
2019-10-17 14:22:07 -04:00
Scott Nonnenberg
05439c6cd6
ConversationStack: Unset lastConversation on model unload
2019-10-17 13:35:35 -04:00
Scott Nonnenberg
1632e19476
Startup message counter: increment on message processing complete
2019-10-17 13:18:10 -04:00
Scott Nonnenberg
c81c25bb85
Update colors, icons, and fonts
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
28aed8247f
MessageReceiver: Remove contact/group sync from cache immediately
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
0f93c780ec
Kick off checks for updates in more situations
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
5c00b89600
Support for receiving View Once Video
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
9cda14c4f2
On startup after 30+ days, delete local encryption info
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
0c09f9620f
Improve message download performance
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
7ab2d9acc6
Video Thumbnails: Seek to 1s mark in video before capture
2019-09-24 13:43:08 -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
b77246a7e0
When SQLITE_CORRUPT error happens, immediately restart the app
2019-09-24 13:43:08 -07:00
Scott Nonnenberg
ca43f52151
Message: Ensure that change event always has getReduxData() data
2019-09-18 16:08:46 -07:00
Scott Nonnenberg
344e7e5e76
Attachment-add flow: capture renamed filename, file type checks
2019-09-18 16:08:46 -07:00
Scott Nonnenberg
3719724337
Prevent multiple instances of same background attachment job
2019-09-18 16:08:46 -07:00
Scott Nonnenberg
92235678b5
Only re-save and re-sort conversation if draft has changed
2019-09-18 16:08:46 -07:00
Scott Nonnenberg
095cd884a2
Prevent >64k text in composition box; truncate too-large drafts
2019-09-16 15:47:52 -07:00
Scott Nonnenberg
5bd9964ed2
Windows: Reintroduce flash frame when we trigger a notification
2019-09-06 16:04:31 -04:00
Scott Nonnenberg
e011589a5e
A number of performance tweaks
2019-09-06 12:19:50 -07:00
Scott Nonnenberg
35e943e817
Fix access to safety number view from group members screen
2019-09-05 14:18:44 -04:00
Scott Nonnenberg
1ab844674a
Ensure out-of-band attachment updates make new top-level objects
2019-09-03 20:07:47 -04:00
Scott Nonnenberg
15af1eea7a
Only update drafts in left pane when conversation is closed
2019-09-03 18:41:21 -04:00
Scott Nonnenberg
936768d9c1
Recalculate message height when pending sticker is loaded
2019-08-22 15:41:55 -07:00
Scott Nonnenberg
b19659f5ac
Address beta feedback
...
* Use signal blue for search box focus outline
* Reduce debounce for draft saves
* Be less aggressive in our scrolling corrections
* Lightbox: Ensure that a tall image is still fully visible
* Fix spell checking after Electron API breaking changes
* Fix link preview image generation
* Message highlight: Move to border in signal blue
2019-08-22 17:11:36 -04:00
Scott Nonnenberg
90c2a97aa7
Address alpha feedback
2019-08-21 14:55:18 -07: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
e29eee4583
Update Electron to 6.0.1, SQLCipher to 4.2.0
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
6ac7f4ccf6
Two fixes for messages causing errors
...
* Queue delivery receipt sends, only start after we get 'empty'
* Retry cached two minutes after empty, or any post-empty message
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
b5ebd034db
Don't render left pane until we're done processing initial queue
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
0b0214cbf9
Some fixes for windowed render
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
e4d2e28ec4
Make identity key screen show up immediately
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
c39d5a811a
Full-text search within conversation
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
9d4f2afa5a
Persist drafts
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
5ebd8bc690
Virtualize Messages List - only render what's visible
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
a976cfe6b6
Time out faster for IndexedDB existence checks
2019-08-21 14:52:30 -07:00
Ken Powers
79bba52cfb
Large Message Composition
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
d42eb2126e
Changes to View Once
2019-08-05 16:23:47 -07:00
Scott Nonnenberg
adf21985c1
Use MessageController whenever we create a new Message
2019-08-05 16:23:47 -07:00
Scott Nonnenberg
cb9ba0fe7f
Re-register support for sealed sender when a device is re-linked
2019-08-05 16:23:47 -07:00
Ken Powers
6c0365a770
One emoji image set for picker, composition, message bubble
2019-07-25 09:28:44 -07:00
Ken Powers
464361b2eb
Animate in-conversation panels on show/hide
2019-07-25 09:24:03 -07:00
Scott Nonnenberg
df74103335
Two small changes
...
* Signed prekey rotation: better logging, let => const
* Ensure that we remove sync messages from cache
2019-07-19 09:35:04 -04:00
Scott Nonnenberg
de78d42ad5
Change group_update field of message after avatar download queued
2019-07-17 11:29:51 -07:00
Scott Nonnenberg
e09fa7b402
Ensure suggested attachment filenames are consistent
2019-07-17 11:29:51 -07:00
Scott Nonnenberg
cb2c691667
Improve queuing strategies in the app
2019-07-17 11:29:51 -07:00
Ken Powers
7b645011c2
New composition area with emoji typeahead
2019-07-17 11:29:51 -07:00
Scott Nonnenberg
e62a1a7812
Receive support for View Once photos
2019-07-17 11:29:51 -07:00
Ken Powers
fccf1eec30
Fix file size limitation
2019-07-16 14:48:40 -07:00
Disconnect3d
fa4b2d412f
Fix SUPPORTED_MEDIA_DOMAINS regex whitelist ( #3459 )
...
The `SUPPORTED_MEDIA_DOMAINS` regex whitelist, used to check if media link comes from trusted hosts is invalid. It does not expose a security risk or I couldn't find an example for such as of now, but if someone would add a subdomain host to it using the same pattern, it would.
A counter example below:
```js
const SUPPORTED_MEDIA_DOMAINS = /^([^.]+\.)*(ytimg.com|cdninstagram.com|redd.it|imgur.com|fbcdn.net|pinimg.com)$/i;
console.log('Testing redd.it: ' + SUPPORTED_MEDIA_DOMAINS.test('redd.it'));
console.log('Testing reddjit: ' + SUPPORTED_MEDIA_DOMAINS.test('reddjit'));
```
Output:
```
$ node example.js
Testing redd.it: true
Testing reddjit: true
```
---
To be more clear, if someone would extend the regex in the future with e.g. `media.redd.it`, an attacker would be able to create a `mediaXredd.it` domain and bypass the whitelist.
---
A visualisation of the incorrect regex can be found on https://regexper.com/#%5E%28%5B%5E.%5D%2B%5C.%29*%28ytimg.com%7Ccdninstagram.com%7Credd.it%7Cimgur.com%7Cfbcdn.net%7Cpinimg.com%29%24
The issue has been found with LGTM: b626ef0b64/files/js/modules/link_previews.js (xdabadfc2bf20f0c3)
:1
2019-07-16 13:28:16 -07:00
Ken Powers
cb272111ab
Run yarn format
2019-07-08 16:29:45 -04:00
Scott Nonnenberg
0df9b4b8fb
Prevent multiple parallel signed prekey rotations
...
* Prevent multiple parallel signed prekey rotations
* When logging error, recalculate id to capture sealed sender info
2019-07-03 14:56:49 -04:00
AJ Jordan
22f5c01247
Fix typo ( #3345 )
2019-06-28 13:07:00 -04:00
Scott Nonnenberg
569acb091c
Migrate from IndexedDB before doing new version checks
2019-06-27 15:21:08 -07:00
Scott Nonnenberg
cc4886caa5
Ensure only one active attachment download setTimeout
2019-06-24 13:39:37 -07:00
Scott Nonnenberg
ab2cc6ee53
Properly download new group avatars
2019-06-24 14:51:33 -04:00
Scott Nonnenberg
d97dae6a87
Capture id after first save for incoming error messages
2019-06-24 14:47:43 -04:00
Scott Nonnenberg
3feb0037e5
Ensure that long message attachments don't show in media gallery
2019-06-21 16:13:42 -07:00
Scott Nonnenberg
102b93241c
Only preload emoji after the window is fully loaded
2019-06-20 17:48:54 -07:00
Scott Nonnenberg
6c8bce7b9f
Fix incorrect contentType/extension for outgoing resized image attachments
...
* Use contentType from conversion when resizing outgoing images
* Update outgoing filename with proper extension after resize
2019-06-19 11:51:23 -04:00
Scott Nonnenberg
cc7b9da0cf
Ensure that all event handling in background.js is queued
2019-06-14 18:17:37 -04:00
Scott Nonnenberg
e19067861e
ConversationView - extract all header setup into new method
2019-06-11 11:07:56 -04:00
Scott Nonnenberg
9fd867fdd1
Support new 'requiredProtocolVersion' in DataMessage
...
* Add new requiredProtocolVersion field to DataMessage
* Message.requiredProtocolVersion, warning if version mot supported
* Update strings; limit width; new left pane preview text
2019-06-10 17:40:02 -04:00
Scott Nonnenberg
dd98477479
For 'me,' prefer signal profile avatar over address book info
2019-06-07 14:40:34 -04:00
Scott Nonnenberg
3505ab9198
Drop profile on missing profile key, drop avatar on download 403
2019-06-07 13:20:39 -04:00
Ken Powers
d23efc6717
Send message when pressing enter in the emoji picker
2019-05-31 14:58:53 -07:00
Ken Powers
a934759e66
Maintain last-known cursor position for inserting emojis
2019-05-30 16:37:28 -07:00
Scott Nonnenberg
344885d8b1
Focus message box on emoji panel close, don't dismiss on shift
2019-05-30 12:43:18 -07:00
Ken Powers
feb4da874b
Enable keyboard navigation in EmojiPicker.
2019-05-30 12:43:18 -07:00
Scott Nonnenberg
86a38d2f2b
Exclude invalid recent emoji, simplify items redux structure
2019-05-30 12:43:18 -07:00
Scott Nonnenberg
b221dcff5a
Only use attemptedStatus on re-download if it is 'installed'
2019-05-30 12:43:18 -07: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
Scott Nonnenberg
41880cfe66
Add some logging for debug log upload
2019-05-28 17:24:28 -07:00
Ken Powers
0e9d549cf3
Fuzzy-Searchable Emoji Picker
2019-05-24 17:03:13 -07:00
Scott Nonnenberg
2f47a3570b
Update NetworkStatusView on message error instead of plain render
2019-05-24 13:14:51 -04:00
Scott Nonnenberg
e18b6bed1f
Refactor 'waiting' flags into one location, fix timestamp check
2019-05-16 17:15:54 -07:00
Ken Powers
fd36720079
Add "system" theme setting for MacOS
2019-05-16 17:15:54 -07:00
Scott Nonnenberg
47e46e0f43
Improved handling of group changes
2019-05-16 17:15:54 -07:00
Ken Powers
29de50c12a
Stickers
...
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-16 16:10:37 -07:00
Scott Nonnenberg
13ad4abaea
Handle and send isRecipientUpdate sync messages
...
* Handle and send isRecipientUpdate sync messages
* Disable sending isRecipientUpdates for now
2019-05-16 15:43:29 -07:00
Scott Nonnenberg
8c365b1a3a
Don't add duplicate errors to the database
2019-05-16 15:43:29 -07:00
Scott Nonnenberg
26a3342d2a
Padded attachments, attachments v2
...
* Handle incoming padded attachments
* Attachments v2 - multipart form POST, and direct CDN GET access
* Pad outgoing attachments before encryption (disabled for now)
2019-05-16 15:43:29 -07:00
Michael Walker
4a8e0bd466
Add pinterest domain and asset domains for link preview support
...
Co-authored-by: ken@signal.org
Co-authored-by: @cmswalker
2019-05-16 15:43:29 -07:00
Scott Nonnenberg
5a5bb859e6
Conversation: Update last message after deleting all messages
2019-05-16 15:23:21 -07:00
Scott Nonnenberg
2cae8d3c25
Fix for incorrect checkmarks when syncs were received offline
2019-05-16 15:23:21 -07:00