Commit graph

713 commits

Author SHA1 Message Date
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
Scott Nonnenberg
fca40cb548 Disable keyboard shortcut for conversation archive 2019-04-17 14:19:32 -07:00
Scott Nonnenberg
22f7a352f9 updateLastMessage: If we don't update last text, clear it 2019-04-12 14:06:34 -07:00
Scott Nonnenberg
0ffda78ecb Update libphonenumber dependency 2019-04-11 18:01:28 -07:00
Scott Nonnenberg
5a50786e7a Lint fixes 2019-04-10 12:14:32 -07:00
Scott Nonnenberg
a450cdf528 Lint fixes for recent PRs 2019-04-08 11:30:19 -07:00
Derek Meer
7727dc093e Hides the "Hide menu bar" option on MacOS (#2903)
The "Hide menu bar" option is only applicable to Windows and some Linux distros,
where the menu bar is attached to the Signal window. Therefore, this commit
ensures that it doesn't show up on MacOS. It includes a setting,
isHideMenuBarSupported(), to control the option's appearance. This
commit also includes the tests to make sure isHideMenuBarSupported()
works correctly.

Fixes #2705
2019-04-08 10:25:14 -07:00
sha-265
3e16ea7b32 Add RTL support for author name in quote (#2594) 2019-04-08 10:22:52 -07:00
Buck Doyle
1a76f1dae3 Make manual emoji text entry case-insensitive (#2353) 2019-04-08 09:57:21 -07:00
Scott Nonnenberg
eae7660074 Downgrade to electron-builder@20.39.0 due to windows install bug
https://github.com/electron-userland/electron-builder/issues/3813
2019-04-05 17:18:37 -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
a2fca80759 Conversation.updateLastMessage: Properly clear timestamp/status 2019-04-04 17:17:19 -07:00
Scott Nonnenberg
81de5f9a76 Introduce CTRL-E shortcut for archiving a conversation 2019-04-04 17:17:19 -07:00
Scott Nonnenberg
613d0ddd12 Lint fixes 2019-03-28 17:24:46 -07:00
Scott Nonnenberg
d251282da1 Upgrade electron-builder and electron-updater 2019-03-22 12:24:07 -07:00
Scott Nonnenberg
c1b680eeb4 Skip URLs that include the @ symbol when generating links
Thanks to mcsim for the bug report.
2019-03-20 13:53:54 -07:00
Scott Nonnenberg
230c6dc284 Fix vertical sizing of left pane when switching inbox<->archive 2019-03-14 17:30:46 -07:00
Scott Nonnenberg
8c4d90df07 Send long text as an attachment instead of inline
Remove Android length warning

Handle incoming long message attachments

Show long download pending status in message bubble

Fix the width of the smallest spinner

Remove Android length warning from HTML templates
2019-03-14 17:30:46 -07:00
Scott Nonnenberg
ba461eb44a Update electron-updater to fix its handling of node_module pkging 2019-03-12 19:45:02 -07:00
Scott Nonnenberg
1c48db7df0 Update electron-builder/updater to fix build error on MacOS 2019-03-12 18:49:22 -07:00
Scott Nonnenberg
768007a269 Message Detail: Ensure that quotes are not clickable 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
6ffbc0ac06 Archive Conversation 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
d72f89d776 Render only visible conversations in left pane 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
031b64a476 Disable full-text search until we can go to arbitrary messages 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
b3ac1373fa Move left pane entirely to React 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
bf904ddd12 On attachment save include date, include album index 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
e980e3cd22 Lint fixes 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
ae161c6cf6 Update to Electron 4.x 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
ae2db9f09a Improve handling for URLs composed of mixed character sets 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
d574c2a1e4 Lint fixes 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
ca0c0133e9 Lint fixes 2019-02-13 16:07:35 -08:00
Scott Nonnenberg
e12e120355 Lint fixes 2019-02-13 16:04:58 -08:00
Scott Nonnenberg
3f8223ff48 Revert electron-builder upgrade due to bugs
This reverts commit 8a3acc6b7e
2019-02-13 16:04:58 -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
a43a78731a Note to Self 2019-02-12 16:08:51 -08:00
Scott Nonnenberg
4d69e109b8 Lint fixes 2019-01-29 16:13:23 -08:00
Scott Nonnenberg
1533fcc807 Fail over to all numbers in retry if errors don't have numbers 2019-01-29 16:08:03 -08:00
Scott Nonnenberg
8a3acc6b7e Update electron-builder and electron-updater 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
589a66c78c Lint fixes 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
813924685e Link Previews 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
51f1ef5725 Don't linkify quoted message contents 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
74bbdb88a5 Lint fixes 2019-01-15 10:51:49 -08:00
Scott Nonnenberg
0de54e125c Improve caption editor usability, new 'add attachment' affordance 2019-01-15 10:51:49 -08:00
Scott Nonnenberg
7db7a3ad44 Preserve scroll position when adding/removing staged quote 2019-01-14 19:20:45 -08:00
Scott Nonnenberg
cba47668cd Increase contrast of typing indicator in iOS theme 2019-01-14 17:40:31 -08:00
Scott Nonnenberg
57abb8300f Upgrade Electron to 3.0.14 2019-01-14 17:40:31 -08:00
Scott Nonnenberg
aab2a57b48 Some style and interaction fine-tuning 2019-01-14 17:40:31 -08:00
Scott Nonnenberg
a900792a06 Use thumbnails for smaller cells in image grids 2019-01-14 17:36:25 -08:00
Scott Nonnenberg
ba711d8985 Show just first image if we receive mixed multi-attachment msg 2019-01-14 17:36:25 -08:00
Scott Nonnenberg
52d3138958 Caption editor: add keyboard interaction, disable for single img 2019-01-14 17:36:25 -08:00
Scott Nonnenberg
b08c10a547 FileInputView: Event on attachment change to hide/show microphone 2019-01-14 17:35:01 -08:00
Scott Nonnenberg
6eb8f5680c Preserve links with embedded emoji 2019-01-04 12:25:48 -08:00
Scott Nonnenberg
f9ea7be61f Reintroduce single attachment limit 2019-01-04 12:25:48 -08:00
Scott Nonnenberg
985b1d6aa6 New staged attachments UI, multiple image attachments per message 2019-01-04 12:21:26 -08:00
Scott Nonnenberg
e4babdaef0 Updates to backup infrastructure 2019-01-04 12:21:26 -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
f45f8b190d Remove unused lint exceptions 2018-12-10 14:37:38 -08:00
Scott Nonnenberg
822ea9ae53 Improve sealed sender icon display logic 2018-11-29 15:41:26 -08:00
Scott Nonnenberg
313d08344a Request configuration sync on startup of new version 2018-11-28 12:35:26 -08:00
Scott Nonnenberg
f5954db711 Ensure that multi-video lightbox scrolling changes video 2018-11-28 12:34:29 -08:00
Scott Nonnenberg
9f1f4bf441 Lint fixes 2018-11-27 10:09:29 -08:00
Scott Nonnenberg
bdec2d4781 Update icon-gen for Electron v3 compatibility 2018-11-26 18:14:22 -08:00
Scott Nonnenberg
fc48b91efa Lint fixes 2018-11-26 17:46:15 -08:00
Scott Nonnenberg
79a861a870 Typing Indicators 2018-11-26 15:26:04 -08:00
Scott Nonnenberg
99252702e1 Support receiving multiple images in one messages 2018-11-26 15:26:04 -08:00
Scott Nonnenberg
4610b63fb7 Lint fixes 2018-11-12 17:25:23 -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
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
6656469f5f Update lint exceptions 2018-10-26 15:14:43 -07:00
Scott Nonnenberg
7789beec64 Calculate warning properly for all methods of attachment download 2018-10-23 14:11:30 -07:00
Scott Nonnenberg
2b5f6d8b5e Ensure that blue group avatars are preserved in dark theme 2018-10-18 15:41:05 -07:00
Scott Nonnenberg
fbaef50c4a Android theme: Incoming quotes take color from containing message 2018-10-18 11:57:10 -07:00
Scott Nonnenberg
f21f83a163 Conversations have blue avatar backgrounds if no image provided 2018-10-18 11:39:23 -07:00
Scott Nonnenberg
4514152320 Fix lint errors 2018-10-18 10:15:34 -07:00
Scott Nonnenberg
10bd12d622 Lint fixes 2018-10-15 16:59:38 -07:00
Scott Nonnenberg
bc0ec92ad2 Tests and increase consistency for isFileDangerous calls 2018-10-15 11:57:00 -07:00
Scott Nonnenberg
0850dc368a Lint fixes 2018-10-11 12:24:58 -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
ca61c9cb85 Warnings for dangerous files 2018-10-09 13:48:32 -07:00
Scott Nonnenberg
37822d2ef4 Update lint exceptions 2018-10-02 14:38:02 -07:00
Scott Nonnenberg
a8e12d0771 Add user's avatar to the top left of the screen 2018-10-01 18:18:37 -07:00
Scott Nonnenberg
8f3e3b7aaf Update to new design for avatars: individual/group icons/colors
And two initials.
2018-10-01 18:18:37 -07:00
Scott Nonnenberg
cf16ced91c Unread badge is now attached to avatar in left pane 2018-10-01 18:18:37 -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
c13b91a790 Update linter exceptions after update 2018-09-20 15:49:54 -07:00
Scott Nonnenberg
ecb126e74c
Custom linter to check code quality (#2753) 2018-09-20 15:24:52 -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
8290146721 Show generic attachment for non-loading/too-large images/videos 2018-09-05 17:48:43 -07:00
Scott Nonnenberg
006700f9a2 Properly style countdown icon in iOS light/dark themes 2018-08-16 16:55:55 -07:00
Scott Nonnenberg
37f3054976 Both UI timer and database timer will remove expired message 2018-08-15 17:45:24 -07:00
Scott Nonnenberg
b3d56276a8 Conversations now better take advantage of wide screens 2018-08-15 17:00:32 -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
a247ffe5cf When iOS device has been linked, use iOS color scheme 2018-08-15 11:22:45 -07:00
Scott Nonnenberg
727925a266 Clean up old messages, better handle errors from sending 2018-08-07 18:29:33 -07:00
Scott Nonnenberg
b0b1e9b8e3 Message: video/image attachment borders inline, on top of image
Otherwise, its transparency will result in a distracting line between it
and its attached message bubble
2018-08-02 17:19:56 -07:00
Scott Nonnenberg
3b7ee3e2ce A couple copy changes: Show -> View, New Number -> Safety Number 2018-08-01 11:59:49 -07:00
Scott Nonnenberg
19ff050b3a Show 'Off' text when disappearing messages are turned off 2018-08-01 09:24:05 -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
8b92e6112c Add dir='auto' to Message and Quote body for RTL languages 2018-07-27 10:55:10 -07:00
Scott Nonnenberg
f38647dfa5 ContactListItem: Add spacing above and below (for 'show members') 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
e80857562a Disappearing messages: show 'disabled' instead of 'set to off' 2018-07-27 09:15:57 -07:00
Scott Nonnenberg
7dd931fb7e ConversationHeader: centered title, ConvoListItem: unbold name 2018-07-27 09:15:57 -07:00
Scott Nonnenberg
3a07e9ae73 Ensure that color mapping matches the spreadsheet 2018-07-23 18:34:20 -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
643739f65d
Responding to feedback on the updated visuals (#2549)
* Conversation List Item: timestamp bold only when convo has unread

* Preserve the positioning of overlays on re-entry into convo

* ConversationListItem: Handle missing and broken thumbnails

* Shorten timestamp in left pane for better Android consistency

* Update convo last updated if last was expire timer change

But not if it was from a sync instead of from you or from a contact.

* Make links in quotes the same color as the text

* MediaGridItem: Update placeholder icon colors for dark theme

* Ensure turning off timer shows 'Timer set to off' in left pane

* ConversationListItem: Show unread count in blue circle

* Add one pixel margin to blue indicator for text alignment

* Ensure replies to voice message can bet sent successfully
2018-07-20 16:37:57 -07:00
Scott Nonnenberg
2384988b0a ConversationHeader: Ensure that profile has tilde before it 2018-07-18 19:41:16 -07:00
Scott Nonnenberg
fa18e2ba77 LightBox: tslint exception for play() call which returns promise 2018-07-18 19:40:07 -07:00
Scott Nonnenberg
4fa6a785f4 Remove unused code 2018-07-18 19:40:07 -07:00
Scott Nonnenberg
e90355dab5 Lightbox: Play video on open, play/pause on click of video itself 2018-07-18 19:40:07 -07:00
Scott Nonnenberg
66bd6c826d Fix MediaGallery handling of videos - show thumbnail and overlay 2018-07-18 19:40:07 -07:00
Scott Nonnenberg
0b9b738c88 Remove empty file: colorSVG.ts 2018-07-18 09:41:26 -07:00
Scott Nonnenberg
95976b10e7 Timestamp: Eliminate 'Invalid date' from potential output 2018-07-18 08:14:34 -07:00
Scott Nonnenberg
675e34fc8d New React component: ConversationListItem, installed in left pane
When collecting a conversation's last message, we grab that message's
status as well (if outgoing) and show it.
2018-07-17 20:25:55 -07:00
Scott Nonnenberg
7e2d7b5e60 Media Gallery: Support for dark theme 2018-07-17 17:15:34 -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
43a44793c5 Remove jshint - move everything over to eslint
Also removed all hints of previous linters
2018-07-17 15:54:32 -07:00
Scott Nonnenberg
dc11db92f9 New React component: Message
Also: Use react to render contects on the 'show group members' screen
2018-07-17 15:53:33 -07:00
Scott Nonnenberg
fc5c52fbdf Remove iOS theme in favor of plain light/dark themes 2018-07-17 15:45:40 -07:00
Scott Nonnenberg
445839770b
Fix width of message detail screen (#2478) 2018-06-21 12:02:50 -07:00
Scott Nonnenberg
951ae6d52c Disable inline rendering of SVG attachments
Like TIFF, they are now treated as binary files.
2018-06-15 17:49:35 -07:00
Scott Nonnenberg
925e02e397 Fix lint error in OS.ts 2018-05-23 16:26:48 -07:00
Scott Nonnenberg
34f423b52c Remove unused code; move signal.js to js/modules for eslint
(noticed as I was doing this that signal.js doesn't get eslint coverage)
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
9dedda84e2 Add style guide examples for ContactName and ConversationTitle 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
2988da0981 Turn on all of Microsoft's recommend lint rules
Biggest changes forced by this: alt tags for all images, resulting in
new strings added to messages.json, and a new i18n paramter/prop added
in a plot of places.

Another change of note is that there are two new tslint.json files under
ts/test and ts/styleguide to relax our rules a bit there. This required
a change to our package.json script, as manually specifying the config
file there made it ignore our tslint.json files in subdirectories
2018-05-23 16:26:47 -07:00
Scott Nonnenberg
23586be6b0 Add emojification to contact names shown in quotes 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
548c8e69cf Emojification now all done with react via a few new components
Three locations were changed:
  1. a group update, which lists a set of contacts
  2. the contact name in the left pane
  3. the conversation title

Three new components were added to window.Signal.Components to support
these scenarios, respectively:
  1. Emojify
  2. ContactName
  3. ConversationTitle

Note that there are a number of other places in the app that should be
emojified, but never have been before. Essentially any place that a
contact name might be shown. A non-exhaustive list:
  - Show group members
  - Show safety number
  - Verified change notification
  - Disappearing timer change notification
  - Contact verification notification
  - Quote contact name
2018-05-23 16:26:47 -07:00
Scott Nonnenberg
d9e5338dff Refactor link/emoji/newline components for composability 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
a5416e42c4 Refactor all emoji utility methods into window.Signal.Emoji 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
a328a70ba2
Update React-based emoji handling to fix skin tone modifiers (#2399) 2018-05-23 12:17:25 -07:00
jython234
84759d813e Modify OS.isWindows to check platform before version (#2407)
* Modify OS.isWindows to check if OS is Windows first before checking version.

Previously OS.isWindows checked if the windows version matched the one required. This worked fine, except for the fact that it would end up comparing a linux kernel version to a windows version as it didn't check if the platform was Windows in the first place before.

This caused issues as it would throw an error when comparing with non-semver linux kernels (such as Fedora). Now it checks if the current platform is Windows first, and if not, immediately returns false.

Resolves: #2396

* Fix formatting for OS.ts
2018-05-20 14:02:29 -07:00
Scott Nonnenberg
4e5c8965ff Move to react for newlines, emoji, and links in message body 2018-05-14 16:09:37 -07:00
Scott Nonnenberg
8f934251ae Fix a few types: relax contact, Email->Phone 2018-05-10 11:54:58 -07:00
Scott Nonnenberg
80b069e9b6 Move phone number format/parse into ts/types/PhoneNumber 2018-05-10 11:54:58 -07:00
Scott Nonnenberg
aa13a2c6f7 Parse phone numbers into e164 as part of schema upgrade 2018-05-10 11:54:58 -07:00
Scott Nonnenberg
8cb1f1f532 Fall back on givenName/familyName if no displayName/organization 2018-05-10 11:54:58 -07:00
Scott Nonnenberg
eafa038ba4 Use backup labels if custom contact type labels are missing 2018-05-10 11:54:58 -07:00
Daniel Gasienica
3bf8a8966a Notification improvements
- Remove on read, on focus, and on exit.
- Show multi-message notifications like '5 new messages'.
2018-05-10 14:45:56 -04:00
Daniel Gasienica
d349dd903d Add AttachmentSection to style guide 2018-05-08 16:52:01 -04:00
Daniel Gasienica
121bb0ecef Style guide: Fix empty state 2018-05-08 16:52:01 -04:00
Daniel Gasienica
f19e6ea93d Wrap JSX siblings in container 2018-05-08 16:52:01 -04:00
Daniel Gasienica
a8cd0b782e Rename DocumentListItem::isLast to shouldShowSeparator 2018-05-08 16:52:01 -04:00
Daniel Gasienica
05f67dc04a Hide separator for last document list entry 2018-05-08 16:41:07 -04:00
Daniel Gasienica
fd883b2896 Fix LightboxGallery style guide entry 2018-05-08 16:41:07 -04:00
Daniel Gasienica
bfe7eb7d5e Consolidate styles 2018-05-08 16:41:07 -04:00
Daniel Gasienica
90329a2764 Display icon for unsupported file formats
Still allows users to download media.
2018-05-08 16:41:07 -04:00
Daniel Gasienica
623bdd9284 Port colorSVG from Sass to TypeScript (React) 2018-05-08 16:41:07 -04:00
Daniel Gasienica
16bc1d34c6 Message schema 6: Change classification of media and documents
For an easier implementation, we change our original definition of
`initializeAttachmentMetadata`. This means we have to re-run it marked as
version 6 and mark schema version 5 as deprecated as its definition has changed.
2018-05-08 16:41:07 -04:00
Daniel Gasienica
f4a5bc9907 Add new MIME types 2018-05-08 16:41:06 -04:00
Daniel Gasienica
63bd9dcc61 Add tests for Attachment.isVisualMedia 2018-05-08 16:41:06 -04:00
Daniel Gasienica
53918d68de Add Attachment.isFile definition 2018-05-08 16:41:06 -04:00
Daniel Gasienica
20246c4d07 Classify all images and videos as visual media
Even if we can’t play it back. Handle that in the lightbox.

Also: Exclude voice messages.
2018-05-08 16:41:06 -04:00
Scott Nonnenberg
0282635142 Remove Object.assign still hanging around in typescript 2018-05-08 09:57:51 -07:00
Scott Nonnenberg
1918a88722 Drop ifTruthy suffix 2018-05-08 09:54:28 -07:00
Scott Nonnenberg
1fd487be3f Refactor to remove duplicated code, lint/prettier fixes 2018-05-07 19:30:50 -07:00
Scott Nonnenberg
f628df1035 Eliminate arrows in the standalone Lightbox component examples 2018-05-07 19:30:50 -07:00
Scott Nonnenberg
8beeef4d10 Show contact name when you reply to message with a contact 2018-05-07 19:30:50 -07:00
Scott Nonnenberg
9d1847a7e5 Pull all setup in preload.js into signal.js. goal: webpackable 2018-05-07 19:30:49 -07:00
Scott Nonnenberg
30cb673405 Fix style guide for LightboxGallery component 2018-05-07 19:11:37 -07:00
Scott Nonnenberg
37821e5a1b Wire up all contact behaviors, refactor Contact type/selector 2018-05-07 19:11:35 -07:00
Scott Nonnenberg
41be7f126b Visuals for embedded contacts as well as contact detail screen 2018-05-07 19:09:55 -07:00
Daniel Gasienica
daa4a3d63f Compile all protocol buffers 2018-05-07 21:53:40 -04:00
Daniel Gasienica
15759f0db5 Normalize package naming 2018-05-07 21:53:40 -04:00
Daniel Gasienica
f88ebdf8b7 Compile protocol buffers as part of yarn grunt dev 2018-05-07 21:53:40 -04:00
Daniel Gasienica
38f3ad6518 Use SignalService vs textsecure for protobuf 2018-05-07 21:53:39 -04:00
Daniel Gasienica
6589247750 Expose SignalService to style guide 2018-05-07 21:53:39 -04:00
Daniel Gasienica
86346ee239 Expose Signal.Types.Attachment to style guide 2018-05-07 21:53:39 -04:00
Daniel Gasienica
5789b3eb75 Add Attachment.isVoiceMessage 2018-05-07 21:53:39 -04:00