Commit graph

584 commits

Author SHA1 Message Date
Scott Nonnenberg
4f16cf595c
Ensure that oldest/newest are correct given duplicate timestamps 2020-01-31 07:39:30 -08:00
Ken Powers
7461250caf
Indicate when reaction is from the current user 2020-01-29 13:58:50 -08:00
Ken Powers
04d0a3c523 ReactionViewer: Handle an entirely removed category 2020-01-24 14:54:57 -08:00
Ken Powers
153503efc5 Send Reactions 2020-01-23 15:57:37 -08:00
Herohtar
3b050116fc Use later button as cancel behavior (#3896) 2020-01-23 14:52:47 -08:00
josh-signal
de7bc8b1b1 Upgrade emoji support to Unicode v12 2020-01-23 16:17:06 -05:00
Ken Powers
1b975bec65 Stop propagation in ReactionViewer 2020-01-23 11:59:29 -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
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
55eff02872 Reintroduce file chooser dialog for every attachment save 2020-01-15 17:23:02 -05:00
Ken Powers
1c906e76f9 Handle non-square stickers via 'contain' 2020-01-15 11:19:56 -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
744d1b5295 Message bubble: Larger stickers; handle non-square aspect ratios
* Sticker picker: Handle non-square stickers
* Message bubble: Larger stickers; handle non-square aspect ratios
2020-01-09 14:27:49 -05:00
Scott Nonnenberg
0f9bc57ccb Only show pack installed tooltip for non-blessed, local installs 2020-01-09 09:35:33 -05:00
Ken Powers
0d3b390129 Upgrade Prettier 2020-01-08 09:44:54 -08:00
Ken Powers
681222c0c0 Fix styleguide: upgrade deps, lock core-js to version babel needs 2020-01-06 17:49:00 -08:00
Scott Nonnenberg
e5d2952c90 Lint fixes after recent merges 2020-01-06 17:47:40 -08:00
sha-265
5ca53baeae Add RTL support in conversation list message text (#3539)
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-01-06 16:56:50 -08:00
Scott Nonnenberg
5d1f8cada9 Stickers: Disable 'installed pack' tooltip 2019-12-19 15:51:50 -08:00
Scott Nonnenberg
2bf9cf6716 Auto-dismiss 'pack installed' tooltip after 10 seconds (not 1m) 2019-12-18 14:28:34 -05:00
Scott Nonnenberg
1c5ea63410 Shortcuts screen: Show sticker picker cmd when stickers installed 2019-12-18 14:13:56 -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
d86e8ef7ec Add sticker introduction tooltip image 2019-12-17 10:30:03 -08:00
Scott Nonnenberg
991d7f9336 Flow installedPack property down from CompositionArea 2019-12-16 15:00:24 -08:00
Ken Powers
3b604bb13d Composition Input: If string is : alone, do not recurse 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
3aff3ed181 MainHeader: Ensure unmount doesn't double-remove on popperRoot 2019-12-04 17:30:36 -05: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
ed55006f20 Update to Electron 6.1.4 2019-11-21 10:17:55 -08:00
Scott Nonnenberg
0876bf7ae7 Visual bug fixes for v1.29 2019-11-21 10:17:55 -08:00
Scott Nonnenberg
e23d7a75b0 Open conversation menu: Ctrl-Shift-I -> Ctrl-Shift-L 2019-11-15 14:34:24 -08:00
Scott Nonnenberg
0512d08d61 Disable emoji and sticker pickers if conversation has open panels 2019-11-15 14:34:24 -08:00
Scott Nonnenberg
01bf53776b CompositionInput: Prevent ctrl+shift+m from adding a newline 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
79b9408f1f Message: Only focus if focus is not inside container already 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
Ken Powers
430b6377b0 Trim text coming out of CompositionInput 2019-11-13 15:35:44 -08:00
Ken Powers
7064691696 Revert custom caret navigation logic 2019-11-12 15:44:41 -08:00
Scott Nonnenberg
08dbff803a Update timer and group/profile icons 2019-11-11 13:03:15 -05:00
Ken Powers
bbb3b0467f Ensure second line of message body is never visible in LeftPane 2019-11-06 15:32:40 -08:00
Ken Powers
0fc384cfa3 Fine-tune editing logic within message composition box 2019-11-06 15:29:19 -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
3a0c50fb44 Batcher: Enable faster shutdown by flushing immediately 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
104b694186 MessageReceiver: Ensure that we always clearTimeout before set 2019-10-30 12:12:30 -07:00
Ken Powers
76549a95fb Fix linting exceptions 2019-10-21 15:38:25 -07:00
Ken Powers
94dde6f799 Trim text coming out of CompositionInput 2019-10-21 14:57:05 -07:00
Scott Nonnenberg
dd1f9b055f New AvatarPopup component 2019-10-17 14:22:07 -04:00
Scott Nonnenberg
86864279b2 Ensure we track message height change when long message loads 2019-10-17 13:19:41 -04:00
Scott Nonnenberg
2e2c5ebf9a When showing draft in left pane, don't show last message status 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
c81c25bb85 Update colors, icons, and fonts 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
0c09f9620f Improve message download performance 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
957f6f6474 Add entitlements and build configuration for MacOS catalina 2019-10-10 11:30:47 -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
43ac8ce37e Lightbox: Ensure that click of video pauses it 2019-09-24 13:43:08 -07:00
Scott Nonnenberg
a8a8d65e5b MessageReceiver: Add note about out-of-band updateCache calls 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
3215be7849 Add aria-live to network status area, left pane, and timeline 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
18d6582466 SearchResults: Add row and header roles 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
1984ffc94c Timeline: Add role='row' to each element item rendered 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
0e25b405e1 Timeline: Increase 'at bottom' threshold so we stick to bottom 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
1dea66dd73 Update Electron to 6.0.9 2019-09-13 13:55:13 -07:00
Scott Nonnenberg
e39c6e5321
Don't search conversations if searching within conversation 2019-09-05 08:59:21 -07:00
Scott Nonnenberg
dbc312e189 Timeline: Resize message if any attachment is no longer pending 2019-09-04 17:11:30 -04:00
Ken Powers
e567e25318 Move expand composition area button into a notch 2019-09-04 12:02:28 -07:00
Scott Nonnenberg
cbde0bb3d1 Timeline: Handle height change due to pending voice note 2019-09-04 12:02:28 -07:00
Ken Powers
1d3fe4bbf3
Split search actions between discussions and messages 2019-09-04 10:46:28 -04:00
Scott Nonnenberg
8fe73fa884 Timeline: Only call setIsNearBottom if value has changed 2019-09-03 16:06:17 -04:00
Scott Nonnenberg
979841f36c Optimize scrolling: resize only changed row index and higher 2019-08-23 15:56:49 -04:00
Scott Nonnenberg
936768d9c1 Recalculate message height when pending sticker is loaded 2019-08-22 15:41:55 -07:00
Ken Powers
0beb1416d1 Only pop emoji autocomplete for strict set of characters 2019-08-22 14:34:03 -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
Ken Powers
eec0fce62a Fix composition area link previews with multiline text 2019-08-22 13:42:03 -07:00
Scott Nonnenberg
c570a92e76 Fixes for CI 2019-08-21 16:04:49 -07:00
Scott Nonnenberg
90c2a97aa7 Address alpha feedback 2019-08-21 14:55:18 -07:00
Ken Powers
ea7d7217b5 Keyboard shortcut to toggle large composition mode 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
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
6292019d30 Virtualize search results - only render what's visible 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
Ken Powers
79bba52cfb Large Message Composition 2019-08-21 14:52:30 -07:00
Ken Powers
4d659f69cb Fix emoji autocompletion absorbing non-spaced emojis 2019-08-21 14:52:30 -07:00
Ken Powers
3946b5aec6 Fix ctrl-m shortcut for Windows and shift-del shortcut for Linux 2019-08-14 10:32:38 -07:00
Ken Powers
1c5450122f Composition Input: use state ref
* Use editorStateRef for submitting messages

This fixes sending messages with IME input

* Use editorStateRef for emoji input

* Use editorStateRef for external state listeners

* Rename editorState to editorRenderState
2019-08-08 14:09:08 -07:00
Scott Nonnenberg
6b6da04a65 Fix clicks on sticker picker buttons to page left/right 2019-08-05 16:23:47 -07:00
Scott Nonnenberg
d42eb2126e Changes to View Once 2019-08-05 16:23:47 -07:00
Scott Nonnenberg
9d88abdb90 Update improvements 2019-08-05 16:23:58 -07:00
Scott Nonnenberg
7f958b0ff0 Lint fixes 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
Ken Powers
c952d628c1 Emoji Typeahead Enhancements (Feedback)
* Wrap around completion menu with arrow keys
* Replace emoji text when typing final colon
2019-07-23 16:19:57 -07:00
Scott Nonnenberg
50ca51ca2c Update node gyp to remove fstream in production 2019-07-19 13:34:38 -04:00
Scott Nonnenberg
d5d8df3bf6 Update lodash 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
Buck Doyle
f2dd10cd1a Update search for colon-syntax emoji to ignore case (#3443)
* Add tests for existing replaceColons functionality

* Update to lowercase before matching short names

* Update lib_test.ts
2019-07-08 16:38:25 -04:00
Scott Nonnenberg
1464167e6b Lint fixes 2019-06-27 15:45:28 -07:00
Ken Powers
35b12d9b72 Preload emoji images in queue 2019-06-27 15:33:15 -07:00
Ken Powers
45f2bef8fe Tokenize fuzzy search for emoji 2019-06-27 15:21:08 -07: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
6caccdda5b Lint fixes after recent PR merges 2019-06-19 16:23:57 -07:00
Tim Ruffing
6150c3dcc0 Improve performance of _getLeftPaneList (#3398)
* Improve efficiency of conversation sorting in getLeftPaneLists

- Sort conversations and archivedConversations separately, without 
  items that had falsey activeAt
- Don't convert conversation titles to lowercase before comparing:
  collator.compare() is case-insensitive anyway.

* Enable caching for format() in PhoneNumber
2019-06-19 15:58:54 -07:00
Scott Nonnenberg
62fd2858a5 Lint fixes after js-yaml update 2019-06-19 16:51:28 -04:00
Ken Powers
dcf6a5f59c Use individual images in emoji picker rather than a spritesheet 2019-06-17 11:46:42 -07:00
Scott Nonnenberg
649544dfac Force unique filename when saving files from multi-attachment msg
* Force unique filename when saving files from multi-attachment msg

* Don't use attachment filenames if index is provided at all
2019-06-14 14:58:33 -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
Ken Powers
f4cb1194c6 Tune emoji search 2019-06-06 11:43:03 -07:00
Ken Powers
d23efc6717 Send message when pressing enter in the emoji picker 2019-05-31 14:58:53 -07:00
Ken Powers
e688450f23 Don't convert emoji text unless the shortname is valid 2019-05-30 16:37:28 -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
Ken Powers
67660e1e39 Use isShortName function 2019-05-30 12:43:18 -07:00
Ken Powers
a0e892bf12 Use selector for filtered recent emojis. 2019-05-30 12:43:18 -07:00
Scott Nonnenberg
99faac3549 Fix translation from :skin-tone-X: where X is greater than 1 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
46b4cf56a3 Close sticker picker on Escape keyup 2019-05-30 12:43:18 -07:00
Scott Nonnenberg
020d78e62b Remove borders from link preview small thumbnails 2019-05-30 12:43:18 -07:00
Scott Nonnenberg
8677e8376a Hide blessed packs section if we don't have any blessed packs 2019-05-30 12:43:18 -07:00
Scott Nonnenberg
1730ca1a02 Clear sticker introduction tooltip on button click 2019-05-30 12:43:18 -07:00
Ken Powers
9abd4e6495 Upgrade electron to v4.2.2 2019-05-29 11:01:32 -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
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
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
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
Scott Nonnenberg
4470f95e9d Move redux setup to central location - background.js 2019-05-16 15:23:21 -07:00
Scott Nonnenberg
c41bc53614 Refactor messages model; New timeline react components 2019-05-16 15:23:21 -07:00
Scott Nonnenberg
d342b23cbc Refactor: Prepare Message function props for conversation scope 2019-05-07 09:41:09 -07:00