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
Daniel Gasienica
fa4c3fda2b
Extract common MIME types
2018-05-07 21:53:39 -04:00
Daniel Gasienica
8a4f062120
Add MIME.APPLICATION_OCTET_STREAM
2018-05-07 21:53:39 -04:00
Daniel Gasienica
5d230d3778
Add Settings.isNotificationGroupingSupported
...
See: https://github.com/electron/electron/issues/11189
2018-05-04 15:37:46 -04:00
Daniel Gasienica
ecf23b6b2e
Disable audio notifications on Windows 7 and lower
2018-05-02 20:01:57 -04:00
Daniel Gasienica
a102016ed8
Port Settings
and OS
to TypeScript
2018-05-02 20:01:57 -04:00
Daniel Gasienica
c591c3ca55
Use native notifications on all platforms
2018-05-02 19:58:33 -04:00
Daniel Gasienica
4e6a03a91c
Log whether OS supports native notifications
2018-05-02 19:18:34 -04:00
Daniel Gasienica
d5b391757d
Add Notifications.getStatus
2018-05-02 19:18:33 -04:00
Scott Nonnenberg
322d307655
Turn on prettier support for markdown files, update all files
2018-05-01 16:06:57 -07:00
Daniel Gasienica
87d374ea78
Remove @prettier
pragmas
2018-04-30 16:53:34 -04:00
Daniel Gasienica
1dd87ad197
Format all source code using Prettier
2018-04-30 16:53:34 -04:00
Scott Nonnenberg
82e2fe93a5
Show 'You' in Android theme quotes instead of contact name ( #2312 )
...
Show 'You' in Android theme quotes instead of contact name
2018-04-30 13:49:19 -07:00
Scott Nonnenberg
c5935eef5d
Show 'You' in Android theme quotes instead of contact name
2018-04-30 12:33:16 -07:00
Daniel Gasienica
fccbf70d57
Pre-process media for LightboxGallery
2018-04-30 11:59:26 -04:00
Daniel Gasienica
110b58230b
Only revoke object URLs we created
2018-04-30 11:01:57 -04:00
Daniel Gasienica
c6599d2e14
Add another permutation of EmptyState
2018-04-30 11:01:00 -04:00
Daniel Gasienica
9ca6fd6498
Center lightbox navigation controls
2018-04-27 16:31:43 -04:00
Daniel Gasienica
fa45656e8e
Wire up media gallery empty state
2018-04-27 16:31:43 -04:00
Daniel Gasienica
4d01264c09
Fix layout of media gallery
2018-04-27 16:31:43 -04:00
Daniel Gasienica
78f15b654d
Add EmptyState
component
2018-04-27 16:31:43 -04:00
Daniel Gasienica
ea49f7a3b6
Implement keyboard navigation for Lightbox
2018-04-27 16:31:43 -04:00
Daniel Gasienica
e1b620602d
Display attachments from disk
2018-04-27 16:31:43 -04:00
Daniel Gasienica
407c77395b
Add explicit boolean
2018-04-27 16:31:43 -04:00
Daniel Gasienica
9451dc5e41
Define AttachmentSchemaVersion3
2018-04-27 16:31:43 -04:00
Daniel Gasienica
21db2e7182
Use saveURLAsFile
2018-04-27 16:31:43 -04:00
Daniel Gasienica
307ab0d3a5
Extract saveURLAsFile
2018-04-27 16:31:43 -04:00
Daniel Gasienica
4c0c55082f
Move navigation controls to the bottom
2018-04-27 16:31:43 -04:00
Daniel Gasienica
fb8d4e2421
Implement basic lightbox with gallery support
2018-04-27 16:31:42 -04:00
Daniel Gasienica
43e19f3b06
Prevent default event on icon button clicks
2018-04-27 16:31:42 -04:00
Daniel Gasienica
b3d0438537
Show hand cursor on media grid items
2018-04-27 16:31:42 -04:00
Daniel Gasienica
45d6c7a5a8
Implement video support in lightbox
2018-04-27 16:31:42 -04:00
Daniel Gasienica
ac04f0648a
Load more documents than media
2018-04-27 16:31:42 -04:00
Daniel Gasienica
6ee56b8445
Remove newlines
2018-04-27 16:31:42 -04:00
Daniel Gasienica
b74b761255
Implement click to save for document list
2018-04-27 16:31:42 -04:00
Daniel Gasienica
8ca5a391af
arrayBufferToObjectURL: Ensure data
is ArrayBuffer
2018-04-27 16:31:42 -04:00
Daniel Gasienica
b27fdd1559
Use pointer
cursor for DocumentListItem
2018-04-27 16:31:42 -04:00
Daniel Gasienica
4a5e61eaf4
Implement Attachment.save
2018-04-27 16:31:42 -04:00
Daniel Gasienica
f8119be97b
Include videos in media gallery
2018-04-27 16:31:42 -04:00
Daniel Gasienica
37d73accde
Show ‘Documents’ tab
2018-04-27 16:31:42 -04:00
Daniel Gasienica
96c44094e3
Implement Conversation.fetchFileAttachments
2018-04-27 16:31:42 -04:00
Scott Nonnenberg
ccf14710a3
styleguide: Make filesize and Signal.Util.GoogleChrome available
2018-04-27 08:51:46 -07:00
Daniel Gasienica
f36f206a01
Use IndexablePresence
for hasFileAttachments
and hasVisualMediaAttachments
...
Reduces index size, makes it easier to debug using IndexedDB inspector, and
hopefully improves lookup performance.
2018-04-25 15:25:12 -04:00
Daniel Gasienica
b65370c8d7
Prefer GoogleChrome.is*
over MIME.is*
2018-04-25 15:25:12 -04:00
Daniel Gasienica
64c3d604aa
Fix type errors
2018-04-25 15:24:52 -04:00
Daniel Gasienica
cd6912f0dd
🎨 Autoformat code
2018-04-25 15:24:52 -04:00
Daniel Gasienica
823a58f98a
Prevent NPE
2018-04-25 15:24:52 -04:00
Daniel Gasienica
96be0df8c7
Show lightbox controls based on presence of handlers
2018-04-25 15:24:52 -04:00
Daniel Gasienica
59650035ec
Use 🇺🇸 spelling
2018-04-25 15:24:52 -04:00
Daniel Gasienica
feff820cd4
Prefer custom styles over strong
2018-04-25 15:24:52 -04:00
Daniel Gasienica
fca8de16c8
Add required Message.id: string
2018-04-25 15:24:52 -04:00
Daniel Gasienica
dd7e51e697
🎨 Fix formatting
2018-04-25 15:24:52 -04:00
Daniel Gasienica
74582de2d1
Clarify naming
2018-04-25 15:24:52 -04:00
Daniel Gasienica
6330a8d9f3
Simplify expression
2018-04-25 15:24:52 -04:00
Daniel Gasienica
f99e6306c3
Simplify withSection
2018-04-25 15:24:52 -04:00
Daniel Gasienica
d98d08a7e0
Remove obsolete TODO
2018-04-25 15:24:52 -04:00
Daniel Gasienica
e97b078088
Use componentWillUnmount
2018-04-25 15:24:52 -04:00
Daniel Gasienica
9abf1f0fcd
Use dash-case
for CSS class names
2018-04-25 15:24:52 -04:00
Daniel Gasienica
2e121310e4
🎨 Fix lint error
2018-04-25 15:24:52 -04:00
Daniel Gasienica
4d04638358
Document changes for MVP
2018-04-25 15:24:52 -04:00
Daniel Gasienica
c3e04ecf87
Remove use of LoadingIndicator
2018-04-25 15:24:52 -04:00
Daniel Gasienica
6d5d0df1c0
🎨 Fix TSLint errors
2018-04-25 15:24:52 -04:00
Daniel Gasienica
8b9516de72
Update test for attachment metadata
2018-04-25 15:24:52 -04:00
Daniel Gasienica
f240269d7b
MVP: Only show images in media gallery
2018-04-25 15:24:51 -04:00
Daniel Gasienica
b4e3749c88
MVP: Only show media tab
...
Until we support showing documents.
2018-04-25 15:24:51 -04:00
Daniel Gasienica
60ed82b728
Show all lightbox controls in style guide
2018-04-25 15:24:51 -04:00
Daniel Gasienica
a7ed21a811
Add shouldShowSaveAsButton
option
2018-04-25 15:24:51 -04:00
Daniel Gasienica
0d676a65b8
Open media gallery item in lightbox
2018-04-25 15:24:51 -04:00
Daniel Gasienica
a9f7f18721
Add ItemClickEvent
2018-04-25 15:24:51 -04:00
Daniel Gasienica
d634a414c3
Make visibility of previous/next buttons opt-in
2018-04-25 15:24:51 -04:00
Daniel Gasienica
142236640e
Click lightbox to close
2018-04-25 15:24:51 -04:00
Daniel Gasienica
ce825fbd66
Rename save
to onSave
2018-04-25 15:24:51 -04:00
Daniel Gasienica
1b9e581e90
Show lightbox image as large as possible
2018-04-25 15:24:51 -04:00
Daniel Gasienica
2cb0b0aeb1
Add arrow controls
2018-04-25 15:24:51 -04:00
Daniel Gasienica
246e0ca87b
Add note about inline styles
2018-04-25 15:24:51 -04:00
Daniel Gasienica
d797ede791
Close lightbox on escape key press
2018-04-25 15:24:51 -04:00
Daniel Gasienica
86da80fd23
Wire up attachment saving
2018-04-25 15:24:51 -04:00
Daniel Gasienica
593976fe21
Extract Backbone Lightbox view module
2018-04-25 15:24:51 -04:00
Daniel Gasienica
2474b42198
Port lightbox icon buttons
2018-04-25 15:24:51 -04:00
Daniel Gasienica
4a5a2cb5c1
Replace Backbone with React lightbox
2018-04-25 15:24:51 -04:00
Daniel Gasienica
cb94d09ef9
Rename media gallery items
2018-04-25 15:24:51 -04:00
Daniel Gasienica
5d0469adef
Skip loading videos into memory for performance
2018-04-25 15:24:51 -04:00
Daniel Gasienica
c6904476f4
Improve IndexableBoolean
type
2018-04-25 15:24:51 -04:00
Daniel Gasienica
809e34b0f4
Load 50 attachments for media gallery
2018-04-25 15:24:51 -04:00
Daniel Gasienica
0a4be2e0f4
Remove unused i18n
2018-04-25 15:24:51 -04:00
Daniel Gasienica
4ce0472b9f
Extract Message.loadWithObjectURL
2018-04-25 15:24:51 -04:00
Daniel Gasienica
45d89d1e44
Create UserMessage
type
...
Describes user visible messages that can have attachments.
2018-04-25 15:24:51 -04:00
Daniel Gasienica
27c4bf90e3
Add Signal.Backbone
2018-04-25 15:24:51 -04:00
Daniel Gasienica
825980fbd1
Add Collection.fetchVisualMediaAttachments
2018-04-25 15:24:51 -04:00
Daniel Gasienica
cad5e417f3
Add arrayBufferToObjectURL
module
2018-04-25 15:24:51 -04:00
Daniel Gasienica
e5d90775d0
Add MapAsync
type definition
2018-04-25 15:24:51 -04:00
Daniel Gasienica
648a7ab1bb
Autoformat using Prettier
2018-04-25 15:24:51 -04:00
Daniel Gasienica
e07458d886
Add basic Backbone type definitions
2018-04-25 15:24:51 -04:00
Daniel Gasienica
9d84b2f420
Index messages with attachments using a boolean
...
When indexing message attachment metadata using numeric indexes such as:
```javascript
{
conversationId: '+12223334455',
received_at: 123,
attachments: […],
numAttachments: 2,
},
{
conversationId: '+12223334455',
received_at: 456,
attachments: [],
numAttachments: 0,
}
{
conversationId: '+12223334455',
received_at: 789,
attachments: [],
numAttachments: 1,
}
```
It creates an index as follows:
```
[conversationId, received_at, numAttachments]
['+12223334455', 123, 2]
['+12223334455', 456, 0]
['+12223334455', 789, 1]
```
This means a query such as…
```
lowerBound: ['+12223334455', 0, 1 ]
upperBound: ['+12223334455', Number.MAX_VALUE, Number.MAX_VALUE]
```
…will return all three original entries because they span the `received_at`
from `0` through `Number.MAX_VALUE`. One workaround is to index booleans using
`1 | undefined` where `1` is included in the index and `undefined` is not, but
that way we lose the ability to query for the `false` value. Instead, we flip
adjust the index to `[conversationId, hasAttachments, received_at]` and can
then query messages with attachments using
```
[conversationId, 1 /* hasAttachments */, 0 /* received_at */]
[conversationId, 1 /* hasAttachments */, Number.MAX_VALUE /* received_at */]
```
2018-04-25 15:24:51 -04:00
Daniel Gasienica
c46e1a1519
Move top-level functions to Signal.Util
2018-04-25 15:24:51 -04:00
Daniel Gasienica
a609c31a57
Style attachment section headers
2018-04-25 15:24:51 -04:00
Daniel Gasienica
ae4c74dd5b
Skip metadata initialization for verified-change
messages
2018-04-25 15:24:51 -04:00
Daniel Gasienica
b0fefdbb98
Implementing grouping messages by date
2018-04-25 15:24:51 -04:00
Daniel Gasienica
424965f876
🎨 Autoformat code
2018-04-25 15:24:51 -04:00
Daniel Gasienica
f367a9b059
Move private
method below public
ones
2018-04-25 15:24:51 -04:00
Daniel Gasienica
3d70e46aea
Calculate dates in UTC
2018-04-25 15:24:51 -04:00
Daniel Gasienica
d7b21ef5dc
Render attachments grouped by date
2018-04-25 15:24:51 -04:00
Daniel Gasienica
e34347f290
Add groupMessagesByDate
2018-04-25 15:24:51 -04:00
Daniel Gasienica
9053b6acfc
Remove unused style
2018-04-25 15:24:51 -04:00
Daniel Gasienica
66516fd36a
Use short format for dates
2018-04-25 15:24:51 -04:00
Daniel Gasienica
923d5ff088
Add missingCaseError
function
2018-04-25 15:24:51 -04:00
Daniel Gasienica
fc1c3aabf5
Add scaffolding for media gallery
2018-04-25 15:24:51 -04:00
Daniel Gasienica
a8be4f2d8d
Expose Lodash in style guide
2018-04-25 15:24:51 -04:00
Daniel Gasienica
94ef3bab80
Move test file
2018-04-25 15:24:50 -04:00
Daniel Gasienica
32a3ef518b
Render media gallery placeholder panel
2018-04-25 15:24:50 -04:00
Daniel Gasienica
f9e4613395
Move TS test for message migration
2018-04-25 15:24:50 -04:00
Daniel Gasienica
867bece952
Add Message.initializeAttachmentMetadata
2018-04-25 15:24:50 -04:00
Daniel Gasienica
c5352cf26c
Separate required from optional Message
keys
2018-04-25 15:24:50 -04:00
Daniel Gasienica
fc12353bb8
Add Attachment.isVisualMedia
2018-04-25 15:24:50 -04:00
Daniel Gasienica
47cc701e72
Add GoogleChrome
module
...
Helps us determine which media we can natively display / play back in Electron.
2018-04-25 15:24:50 -04:00
Daniel Gasienica
6ff82adf0a
Add MIME.isImage
and MIME.isVideo
2018-04-25 15:24:50 -04:00
Daniel Gasienica
df2e6e7864
Port MIME
module to TypeScript
2018-04-25 15:24:50 -04:00
Scott Nonnenberg
ef1d568a80
Restore rendering of group update and end session messages
...
The previous work to refactor bubbles broke rendering for these message
types. :0/
2018-04-23 19:16:00 -07:00
Scott Nonnenberg
fdc13d0af3
Fix some tslint errors
...
I really need to get it running in my editor!
2018-04-20 16:19:53 -07:00
Scott Nonnenberg
bd88407b78
iOS theme: Permanant background to attachment part of bubble
...
(this is to handle a quote making bubble wider, but a narrow image)
2018-04-20 16:02:33 -07:00
Scott Nonnenberg
21713cbce7
Update quotes to render emoji just like normal messages
2018-04-20 15:24:05 -07:00
Scott Nonnenberg
37cac717cb
Use fit: cover for non-square thumbnails, better movie icon
...
Also: Match Android's X button in the quote composition area
2018-04-20 15:23:55 -07:00
Scott Nonnenberg
12257e1560
MessageView: Show menu w/ 'reply to message' on triple-dot click
2018-04-20 15:23:55 -07:00
Scott Nonnenberg
f4d9ab8ba0
Put quote preview in text box for Android, above it in iOS
2018-04-20 15:23:54 -07:00
Scott Nonnenberg
c71dcf0139
Show current quoted message above composition field
...
Note that substantial changes will be required for the updated Android
mockups, putting the quotation into the text box next to the attachment
preview.
2018-04-20 15:23:51 -07:00
Scott Nonnenberg
d29162f3b6
CSS Refactor: Pull quote CSS out from parent classes
...
This is to prepare for it to be shown in the message composition area.
2018-04-20 15:23:50 -07:00
Scott Nonnenberg
26e4e97592
Tighten up CSS
...
- Remove extra padding at top of Android bubbles, via sibling selector
- Don't include .attachments, .quote-wrapper, .content in bubble unless
we actually need them. This allows for sibling selectors.
- This is a different technique for adding the ReactWrapperView for
quotes - it is now appended to the DOM instead of attaching to
something already in the DOM. This allows us to use .remove(), so it's
a bit cleaner.
- Users of ReactWrapperView can now specify tagName and className
2018-04-20 15:23:47 -07:00
Scott Nonnenberg
a563dc8b37
Style Guide: Additional message examples, a few fixes to enable
2018-04-20 15:23:47 -07:00
Scott Nonnenberg
5af5bbdb0f
Add style guide examples for portrait/landscape images
2018-04-20 15:23:46 -07:00
Scott Nonnenberg
e3d15d80f6
Quote.md: Fix image example, add examples for attachment + reply
2018-04-16 13:02:51 -07:00
Scott Nonnenberg
7bd747a796
ConversationContext: conversationType => type
...
And a group conversation example to messages.md
2018-04-13 18:10:52 -07:00
Scott Nonnenberg
3bbbf65a6b
Fix iOS: tail, blue partial border, extra attachment space
...
Turns out that display: inline on the img tag resulted in a mysterious
3px of space added below it.
2018-04-13 18:10:52 -07:00
Scott Nonnenberg
c283ba1a12
Remove pointer cursor when clicking on quote won't do anything
2018-04-13 18:10:51 -07:00
Scott Nonnenberg
fce9bb7342
Move to central MIME functions, remove some console.log
...
And generally address PR feedback.
2018-04-13 18:10:51 -07:00
Scott Nonnenberg
d91f40177e
Quote.tsx: Fix tslint errors
...
I really need to get tslint editor integration in place.
2018-04-13 18:10:50 -07:00
Scott Nonnenberg
a0b1dea693
Introduce a bit of color to the message/attachment style guide
2018-04-13 18:10:50 -07:00
Scott Nonnenberg
b458c7d449
android-dark: Constrain light play icon to with peer image
2018-04-13 18:10:49 -07:00
Scott Nonnenberg
bdaebc24ae
A few tweaks for the android-dark theme
2018-04-13 18:10:49 -07:00
Scott Nonnenberg
087dd0f758
Support for iOS theme
2018-04-13 18:10:49 -07:00
Scott Nonnenberg
644bc9e6fb
Fix problem of squished quote icons and images
2018-04-13 18:10:49 -07:00
Scott Nonnenberg
2243e348f1
Wire up fake window.Signal.HTML because it's captured on load
2018-04-13 18:10:48 -07:00
Scott Nonnenberg
0f8dd7e2db
Fix a number of lint failures
2018-04-13 18:10:48 -07:00
Scott Nonnenberg
1cc0633786
Full support for quotations in Android theme
2018-04-13 18:10:48 -07:00
Scott Nonnenberg
21bf02c94d
Fixed examples in Quote.md, rough Android visuals
2018-04-13 18:05:44 -07:00
Scott Nonnenberg
6653123671
Move quote-related examples from Message.md to Quote.md
2018-04-13 18:05:44 -07:00
Scott Nonnenberg
b4ce79cac0
Reply -> Quote
2018-04-13 18:05:43 -07:00
Scott Nonnenberg
09c3fbc5e2
Style guide: All permutations of text reply to diff. quote types
2018-04-13 18:05:43 -07:00
Scott Nonnenberg
ae043bf239
In iOS theme, join attachment bubble with caption bubble
2018-04-13 18:05:42 -07:00
Scott Nonnenberg
3a76c3c86e
Styleguide: Incoming/outgoing attachments of all types
2018-04-13 18:05:42 -07:00
Daniel Gasienica
44debd123d
Add basic implementation of Conversation.updateFromLastMessage
2018-04-11 19:34:21 -04:00
Daniel Gasienica
cca5db3237
Remove unused import
2018-04-11 19:25:38 -04:00
Daniel Gasienica
1659354f51
Expand Message
type definitions
2018-04-11 19:25:38 -04:00
Daniel Gasienica
b50c55172d
Add MIME
type
2018-04-11 19:25:38 -04:00
Daniel Gasienica
65bf34d1b8
Add basic Attachment
type definition
2018-04-11 19:25:38 -04:00
Daniel Gasienica
f25a579f32
Add basic Message
type definition
2018-04-11 19:25:38 -04:00
Daniel Gasienica
bcd3e26377
Fix TS warning about appendChild
2018-04-11 19:25:30 -04:00
Daniel Gasienica
55fc21505e
Rename ts/test
to ts/styleguide
2018-04-11 16:36:42 -04:00
Daniel Gasienica
9d41b86162
Remove escaping from linkText
...
We leverage jQuery’s HTML escaping in `$.html(…)`.
2018-04-11 16:36:42 -04:00
Daniel Gasienica
f04c65088b
Fork link-text
module
2018-04-11 16:36:42 -04:00
Daniel Gasienica
144cb58a47
Add HTML
module for rendering messages
2018-04-11 16:36:42 -04:00
Daniel Gasienica
f38370f40e
Add custom type definition for link-text
2018-04-11 16:36:42 -04:00
Scott Nonnenberg
96bd90a4e0
Simplify assignment; add warning to preload.js about Style Guide
2018-04-05 17:16:15 -07:00
Scott Nonnenberg
05303233fb
window.Signal.React -> window.Signal.Components
2018-04-05 16:10:59 -07:00
Scott Nonnenberg
23537546fe
Big refactor: ts/ directory for all typescript, including react
...
Split out test-specific and general utility react components too.
And moved our test/legacy* files for the Style Guide into a styleguide/
subdirectory of test/.
I think we'll be able to live in this directory structure for a while.
2018-04-05 15:30:40 -07:00