Ken Powers
feb4da874b
Enable keyboard navigation in EmojiPicker.
2019-05-30 12:43:18 -07:00
Ken Powers
be5d0837f8
Support additional sticker states
...
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-29 11:01:32 -07:00
Ken Powers
0e9d549cf3
Fuzzy-Searchable Emoji Picker
2019-05-24 17:03:13 -07:00
Scott Nonnenberg
e18b6bed1f
Refactor 'waiting' flags into one location, fix timestamp check
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
5a5bb859e6
Conversation: Update last message after deleting all messages
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
b31fbcaa17
Don't send if message body is too long
2019-04-16 14:35:16 -07:00
Scott Nonnenberg
629dc8737b
Fix issue where 'delete messages' was not clickable second time
2019-04-05 17:18:37 -07:00
Scott Nonnenberg
81de5f9a76
Introduce CTRL-E shortcut for archiving a conversation
2019-04-04 17:17:19 -07:00
Scott Nonnenberg
74cb808763
New MessageController as the single place for in-memory messages
2019-04-04 17:17:19 -07:00
Scott Nonnenberg
3b140d9b51
Update react-contextmenu to avoid event handler issues un unload
2019-03-20 13:43:24 -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
6ffbc0ac06
Archive Conversation
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
667b2e63f1
Ensure image lightbox is aware of its underlying message changes
2019-03-12 17:44:14 -07:00
Scott Nonnenberg
9afea3ae2b
View All Media: Listen for updates to conversation, re-render
2019-02-20 16:51:30 -08:00
Scott Nonnenberg
5b54c9554e
Remove groups table, conversation is single source of truth
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
858c7e629f
Fine-tune linkification technique for link previews
2019-02-11 18:32:05 -08:00
Scott Nonnenberg
462fa712bc
Show members: Pull conversation from group table
2019-02-11 18:32:05 -08:00
Scott Nonnenberg
1a7df91dbc
Fix: Navigation to message via quote click didn't always work
2019-02-08 11:54:22 -08:00
Scott Nonnenberg
813924685e
Link Previews
2019-01-29 13:53:14 -08:00
Scott Nonnenberg
0eb4760349
Show contact name on 'send anyway' dialog instead of $name$
...
Partial fix for #1914
2019-01-29 13:53:14 -08:00
Scott Nonnenberg
1e4b562922
Multiple images can now be selected in file chooser and drag/drop
2019-01-16 10:32:57 -08:00
Scott Nonnenberg
74bbdb88a5
Lint fixes
2019-01-15 10:51:49 -08:00
Scott Nonnenberg
16a821645f
Preserve scroll position on toggle emoji panel, add attachment
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
b08c10a547
FileInputView: Event on attachment change to hide/show microphone
2019-01-14 17:35:01 -08:00
Scott Nonnenberg
dc9f9dabfd
Ensure that caption is shown even for single-image message
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
Herohtar
0b60af1c84
Don't compare a numeric value with a string when using the identity operator ( #2989 )
...
Fix comparison for emoji injection at cursor location
2019-01-02 12:22:47 -08:00
Scott Nonnenberg
3851bf351f
Throttle typing events, fix profile logging, fix group typing
2018-12-10 14:06:43 -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
ca61c9cb85
Warnings for dangerous files
2018-10-09 13:48:32 -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
9c399624cc
Support for blocking groups on mobile, via group/blocked syncs
2018-09-14 16:25:43 -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
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
53b1b73909
Ensure back button appears when safety number screen shows
2018-07-27 11:07:23 -07:00
Scott Nonnenberg
d51b2b48d1
Workaround for not ending up at bottom of conversation
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
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
66bd6c826d
Fix MediaGallery handling of videos - show thumbnail and overlay
2018-07-18 19:40:07 -07:00
Scott Nonnenberg
5e64e4ef40
Remove verbose updateLastMessage logging, fix MediaGallery save
2018-07-18 12:06:35 -07:00
Scott Nonnenberg
6e4b73ec0c
Fix lint errors in conversation_view.js
2018-07-18 09:44:14 -07:00
Scott Nonnenberg
db91560990
Fixes for quotes/schema upgrade, optimize media gallery load
...
Also: Fix for contact detail page; didn't show back button
2018-07-18 09:38:42 -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
212ec8bb73
Whenever user opens conversation, update its last message
2018-07-12 11:33:59 -07:00
Scott Nonnenberg
e30b34f424
Add 'newmessage' event handler to Conversation for reliablity
2018-07-05 09:32:14 -07:00
Scott Nonnenberg
12b5547e72
Update contents of conversation even when view not hydrated
...
Also ensure that we update the last message in a conversation after
expire, after the mesage is really deleted from the database.
2018-07-03 16:04:21 -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
a5416e42c4
Refactor all emoji utility methods into window.Signal.Emoji
2018-05-23 16:26:47 -07:00
Scott Nonnenberg
d54aedcefa
A few fixes for the contact detail screen ( #2374 )
...
* Only show 'send message' on contact detail when user has account
* Make contact detail headers visible in dark mode
* Fix vertical scrolling for very large contact in detail pane
* Fix a couple comment typos
2018-05-23 12:15:46 -07:00
Scott Nonnenberg
4e5c8965ff
Move to react for newlines, emoji, and links in message body
2018-05-14 16:09:37 -07:00
Daniel Gasienica
e723484498
Simplify closing emoji panel on escape key down
2018-05-08 17:30:11 -04:00
tommypacker
48708d5738
Close emoji panel on escape press
2018-05-08 17:25:20 -04: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
13f1ec2e51
Use structured logs
...
Easier to search for static prefix and fields are named.
2018-05-03 13:24:39 -04:00
Daniel Gasienica
822850433e
Apply manual fixes for ESLint errors
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
Daniel Gasienica
fccbf70d57
Pre-process media for LightboxGallery
2018-04-30 11:59:26 -04:00
Daniel Gasienica
d00fb560b0
Avoid exposing AttachmentTS
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
e2a2165d9c
Remove lightbox on unload
2018-04-27 16:31:43 -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
b86f9c0be8
Allow saving of attachments from media gallery lightbox
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
954433366e
Load documents for media gallery
2018-04-27 16:31:42 -04:00
Daniel Gasienica
2a5f513ebc
Organize global
s
2018-04-27 16:31:42 -04:00
Daniel Gasienica
bf3a547a76
Organize global
s
2018-04-25 15:28:56 -04:00
Daniel Gasienica
8e3c38d5fe
Fix formatting
2018-04-25 15:25:12 -04:00
Daniel Gasienica
96be0df8c7
Show lightbox controls based on presence of handlers
2018-04-25 15:24:52 -04:00
Daniel Gasienica
86a9923181
Remove TODOs
2018-04-25 15:24:52 -04:00
Daniel Gasienica
204de3aaea
Lazily bind Signal.Components.MediaGallery
2018-04-25 15:24:52 -04:00
Daniel Gasienica
b4a4182613
Hide ‘Save As…’ button in media gallery
...
Wait until we support it.
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
4ce0472b9f
Extract Message.loadWithObjectURL
2018-04-25 15:24:51 -04:00
Daniel Gasienica
2dc3877fd4
Integrate visual media attachment gallery
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
d7b21ef5dc
Render attachments grouped by date
2018-04-25 15:24:51 -04:00
Daniel Gasienica
ae419764bf
Use arrow function over .bind
2018-04-25 15:24:51 -04:00
Daniel Gasienica
272c49c5bf
Use existing ReactWrapper
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
273248d3fd
Wire up ‘View All Media’ menu item
2018-04-25 15:24:50 -04:00
Scott Nonnenberg
21713cbce7
Update quotes to render emoji just like normal messages
2018-04-20 15:24:05 -07:00
Scott Nonnenberg
d0bcf506b4
Put focus in the message composition field on reply
2018-04-20 15:24:03 -07:00
Scott Nonnenberg
73edabfb17
Full pipeline to send quotes, including thumbnail upload
2018-04-20 15:23:57 -07:00
Scott Nonnenberg
13ce056830
Make thumbnails on quote load and on quote preview creation
2018-04-20 15:23:56 -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
afad1a8d77
conversation_view: Remove logging in quote handling
2018-04-20 15:23:52 -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
b4ff223d18
Refactor: Push selector logic for quote props into Message model
2018-04-20 15:23:49 -07:00