Commit graph

466 commits

Author SHA1 Message Date
Ken Powers
0d3b390129 Upgrade Prettier 2020-01-08 09:44:54 -08: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
Scott Nonnenberg
3aba4d0d06 Check for duplicate and send delivery receipts in per-convo queue 2019-12-16 15:00:24 -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
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
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
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
b85943b688 Ensure that loading screen progress includes all message types 2019-11-04 11:58:22 -08: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
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
8ccb89310b New Idle timer; messages not marked read if user is idle 2019-09-24 13:43:08 -07:00
Scott Nonnenberg
d3d2b0ec52 Use curve functions from native module 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
c39d5a811a Full-text search within conversation 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
d42eb2126e Changes to View Once 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
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
e62a1a7812 Receive support for View Once photos 2019-07-17 11:29:51 -07:00
Scott Nonnenberg
569acb091c Migrate from IndexedDB before doing new version checks 2019-06-27 15:21:08 -07:00
Scott Nonnenberg
d97dae6a87 Capture id after first save for incoming error messages 2019-06-24 14:47:43 -04:00
Scott Nonnenberg
102b93241c Only preload emoji after the window is fully loaded 2019-06-20 17:48:54 -07:00
Scott Nonnenberg
cc7b9da0cf Ensure that all event handling in background.js is queued 2019-06-14 18:17:37 -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
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
Ken Powers
0e9d549cf3 Fuzzy-Searchable Emoji Picker 2019-05-24 17:03:13 -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
4470f95e9d Move redux setup to central location - background.js 2019-05-16 15:23:21 -07:00
Scott Nonnenberg
c8ea2e9463 Download and install updates without the help of electron-updater 2019-04-05 17:18:37 -07:00
Scott Nonnenberg
b3ac1373fa Move left pane entirely to React 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
782516186f Move expiring message cleanup after ConversationController.load() 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
ad53423e0a Queue quote reference handling per convo in handleDataMessage 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
5165eb3bd4 On database error: show popup, allow user to delete and relaunch 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
77ae717b9b Clean up shutdown handling - stop processing incoming messages 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
9c540ab977 Add cache support to Signal Protocol Store 2019-02-13 16:04:58 -08:00
Scott Nonnenberg
1d2c3ae23c Download attachments in separate queue from message processing 2019-02-12 16:34:21 -08:00
Scott Nonnenberg
813924685e Link Previews 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
43e5d16020 Support for web socket communication with no signaling key 2019-01-14 10:32:12 -08:00
Scott Nonnenberg
47f834cf5c Encrypt device name on account create, on first launch if needed 2019-01-04 12:21:26 -08:00
Scott Nonnenberg
313d08344a Request configuration sync on startup of new version 2018-11-28 12:35:26 -08:00
Scott Nonnenberg
79a861a870 Typing Indicators 2018-11-26 15:26:04 -08:00
Scott Nonnenberg
ecf3f18762 Improve our deletion of IndexedDB post-SQLCipher migration 2018-11-12 15:31:17 -08:00
Scott Nonnenberg
6300256a3e Gracefully shut down database operations before app exit 2018-11-12 15:31:17 -08:00
Scott Nonnenberg
2d48daa7b6 Refine Sealed Sender behaviors 2018-11-07 16:34:20 -08:00
Scott Nonnenberg
fb670ad6b9 Remove IndexedDB files after removing IndexedDB database 2018-11-01 17:00:24 -07:00
Scott Nonnenberg
e08c5e3307 Add current message counter to the log to help with debugging 2018-11-01 17:00:24 -07:00
Scott Nonnenberg
e2e0e4c96b Refine sealed sender logic 2018-11-01 17:00:24 -07:00
Scott Nonnenberg
1755e0adfd Move all remaining stores to SQLCipher 2018-10-31 17:36:51 -07:00
Scott Nonnenberg
a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
2018-10-29 14:49:18 -07:00
Scott Nonnenberg
739bd4dbda Request contact sync only on the first connect after upgrade 2018-10-26 14:58:33 -07:00
Scott Nonnenberg
2060118e85 Remove messages/conversations/unprocessed IndexedDB object stores 2018-10-26 14:58:33 -07:00
Scott Nonnenberg
7532f397ea Keep object stores after conversations migrate to SQLCipher 2018-10-15 12:24:43 -07:00
Scott Nonnenberg
7d9711ba65 Restore iOS-specific theme; colors on left in android theme 2018-10-11 11:42:18 -07:00
Scott Nonnenberg
3b8f934741 On startup, if we've just upgraded to a new version, contact sync 2018-10-09 13:48:03 -07:00
Scott Nonnenberg
10c53bddb0 Move to new colors, switch incoming/outgoing colors 2018-10-01 18:18:37 -07:00
Scott Nonnenberg
cd60bdd08a Move conversations to SQLCipher 2018-10-01 18:18:37 -07:00
Scott Nonnenberg
814b9cf26a Only accept 'you left group' messages when group blocked 2018-09-17 15:58:27 -07:00
Scott Nonnenberg
9c399624cc Support for blocking groups on mobile, via group/blocked syncs 2018-09-14 16:25:43 -07:00
Scott Nonnenberg
8584a79352 Don't treat sends to a group with unregistered users as an error 2018-09-05 14:17:38 -07:00
Scott Nonnenberg
9f920aa35b Re-enable orphaned attachment cleanup 2018-08-15 17:45:24 -07:00
Scott Nonnenberg
fedfbed304 Copy quoted message contents into quote on receipt
Also:
  - visually distinguish any reference we couldn't verify on receipt
  - show toast on quote click if we can't scroll to message
  - toast visuals redesigned to match rest of app
2018-08-15 14:58:55 -07:00
Scott Nonnenberg
0eb2c958a5 Handle contact: don't exit early if timer is 'invalid' 2018-08-15 11:20:53 -07:00
Scott Nonnenberg
621883a0ce Disable drag and drop if it's not a file attachment 2018-08-15 11:17:52 -07:00
Scott Nonnenberg
7983300f4a Use base64 strings for incoming message cache instead of binary 2018-08-10 13:13:25 -07:00
Scott Nonnenberg
727925a266 Clean up old messages, better handle errors from sending 2018-08-07 18:29:33 -07:00
Scott Nonnenberg
44dec45995 Ensure that all messages in cache are migrated properly 2018-08-06 18:08:10 -07:00
Scott Nonnenberg
1d7987108b Show and log progress during the SQLCipher migration 2018-08-02 17:25:51 -07:00
Scott Nonnenberg
1e8f71f035 Make settings and debug log available during initial migrations 2018-08-02 17:19:56 -07:00
Scott Nonnenberg
b1c6a5fe19 When updating message schema pre-SQLCipher, use legacy save 2018-08-01 12:38:48 -07:00
Scott Nonnenberg
3105b77475 Migrate to SQLCipher for messages/cache
Quite a few other fixes, including:
  - Sending to contact with no avatar yet (not synced from mobile)
  - Left pane doesn't update quickly or at all on new message
  - Left pane doesn't show sent or error status

Also:
 - Contributing.md: Ensure set of linux dev dependencies is complete
2018-07-31 17:08:45 -07:00
Scott Nonnenberg
aa4339a69f Preserve migration state when deleting config due to failed login 2018-07-27 10:55:10 -07:00
Scott Nonnenberg
02675312c5 Introduce mandatary migration on startup, to minimum version 2018-07-27 10:55:10 -07:00
Scott Nonnenberg
f39a96bc76 Move to centralized message/cache data layer
Also, ensure that conversation.messageCollection has nothing in it
unless it has an associated ConversationView.
2018-07-27 10:55:10 -07:00
Scott Nonnenberg
34231168a7 On message delete, ensure that all external files are deleted 2018-07-27 09:15:57 -07:00
Scott Nonnenberg
80dd25e995 Preload all icon images to reduce flickering when they are used 2018-07-27 09:15:57 -07:00
Scott Nonnenberg
bffa910c64 Remove too-verbose logging on contact sync 2018-07-21 14:52:43 -07:00
Scott Nonnenberg
4b3f9e969a Ensure a theme is selected on initial load 2018-07-21 14:52:43 -07:00
Scott Nonnenberg
5933a34a18 Use window.log in browser context, turn on console eslint rule 2018-07-21 14:52:43 -07:00
Scott Nonnenberg
f2a63c99ed Streamline code to clean logs based on version number 2018-07-20 15:49:51 -07:00
Scott Nonnenberg
12f1932d02
Workaround for linux w/tmp mounted as noexec; spellcheck fails (#2548) 2018-07-20 14:01:36 -07:00
Scott Nonnenberg
c517e4193b New option: Disable spell check 2018-07-18 19:41:16 -07:00
Scott Nonnenberg
d5d6cdb250 Automatically clean up old debug info, remove unneeded field 2018-07-18 19:41:16 -07:00
Scott Nonnenberg
0ac3517d51 On click of search result, show and focus conversation
Also: remove too-verbose logging on contact sync
2018-07-18 11:40:10 -07:00
Scott Nonnenberg
3c69886320 Finish new Message component, integrate into application
Also:
- New schema version 8 with video/image thumbnails, screenshots, sizes
- Upgrade messages not at current schema version when loading messages
  to show in conversation
- New MessageDetail react component
- New ConversationHeader react component
2018-07-17 15:58:07 -07:00
Scott Nonnenberg
fc5c52fbdf Remove iOS theme in favor of plain light/dark themes 2018-07-17 15:45:40 -07:00