Commit graph

600 commits

Author SHA1 Message Date
Scott Nonnenberg
dd1f9b055f New AvatarPopup component 2019-10-17 14:22:07 -04:00
Scott Nonnenberg
1632e19476 Startup message counter: increment on message processing complete 2019-10-17 13:18:10 -04: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
8ccb89310b New Idle timer; messages not marked read if user is idle 2019-09-24 13:43:08 -07:00
Scott Nonnenberg
ca43f52151 Message: Ensure that change event always has getReduxData() data 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
e011589a5e A number of performance tweaks 2019-09-06 12:19:50 -07:00
Scott Nonnenberg
d3d2b0ec52 Use curve functions from native module 2019-08-21 14:55:12 -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
Scott Nonnenberg
d42eb2126e Changes to View Once 2019-08-05 16:23:47 -07:00
Scott Nonnenberg
adf21985c1 Use MessageController whenever we create a new Message 2019-08-05 16:23:47 -07:00
Scott Nonnenberg
de78d42ad5 Change group_update field of message after avatar download queued 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
Scott Nonnenberg
e62a1a7812 Receive support for View Once photos 2019-07-17 11:29:51 -07:00
Scott Nonnenberg
ab2cc6ee53 Properly download new group avatars 2019-06-24 14:51: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
Scott Nonnenberg
dd98477479 For 'me,' prefer signal profile avatar over address book info 2019-06-07 14:40:34 -04:00
Scott Nonnenberg
3505ab9198 Drop profile on missing profile key, drop avatar on download 403 2019-06-07 13:20:39 -04:00
Ken Powers
be5d0837f8 Support additional sticker states
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-29 11:01:32 -07:00
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
13ad4abaea Handle and send isRecipientUpdate sync messages
* Handle and send isRecipientUpdate sync messages
* Disable sending isRecipientUpdates for now
2019-05-16 15:43:29 -07:00
Scott Nonnenberg
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
22f7a352f9 updateLastMessage: If we don't update last text, clear it 2019-04-12 14:06:34 -07:00
Scott Nonnenberg
62de2a229d Add logging to track synchronization in message processing 2019-04-10 12:15:00 -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
274949b247 Enable long message send as an attachment 2019-03-29 11:31:15 -07:00
Scott Nonnenberg
4d8fbe95ff Retry send: Always remove all errors and recalculate recipients 2019-03-29 11:31:15 -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
32fa5cccde Send sync sent messages properly in 1-member group 2019-03-13 10:46:00 -07:00
Scott Nonnenberg
c76d537482 Note to Self: On just expire timer update, set TIMER_UPDATE flag 2019-03-13 09:11:39 -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
b3ac1373fa Move left pane entirely to React 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
812f895e12 Bring lastMessage and lastMessageStatus back to conversation 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
dcd16775c3 Note to Self: set expirationStartTimestamp before sending sync 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
eb7ad48951 Only put nbsp before last token in msg body if token is <12 chars 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
41ea9ee15b Ensure that we show error'd recipients in message details screen 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
ad53423e0a Queue quote reference handling per convo in handleDataMessage 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
af40ceda6c Note to Self timer fixes for bugs reported by beta users 2019-02-20 16:40:35 -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
a43a78731a Note to Self 2019-02-12 16:08:51 -08:00
Scott Nonnenberg
462fa712bc Show members: Pull conversation from group table 2019-02-11 18:32:05 -08:00
Scott Nonnenberg
12739ac82d Ensure we don't add empty attachments to quote 2019-02-11 17:37:33 -08:00
Scott Nonnenberg
0d7480bd92 A number of small fixes for Link Previews 2019-02-05 13:55:55 -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
c936859d09 Fix rendering bug with verified state in updateVerified() 2019-01-29 16:08:03 -08:00
Scott Nonnenberg
813924685e Link Previews 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
c0be4718fc Update delivered_to for outgoing with earlier delivery receipts 2019-01-04 12:25:48 -08:00
Herohtar
a21d63e450 Make notification initials consistent with everything else (#3006)
Make notification initials consistent with Avatar component
2019-01-02 14:34:18 -08:00
Scott Nonnenberg
3851bf351f Throttle typing events, fix profile logging, fix group typing 2018-12-10 14:06:43 -08:00
Scott Nonnenberg
a291834301 Dismiss typing indicator when ConversationView is not loaded 2018-11-26 17:09:50 -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
447a217397 Bulletproof getNumberInfo against missing ourNumber 2018-11-26 15:23:25 -08:00
Scott Nonnenberg
6300256a3e Gracefully shut down database operations before app exit 2018-11-12 15:31:17 -08:00
Scott Nonnenberg
2d48daa7b6 Refine Sealed Sender behaviors 2018-11-07 16:34:20 -08:00
Scott Nonnenberg
486932048c Add logging to help in debugging sealedSender state 2018-11-01 17:00:24 -07:00
Scott Nonnenberg
0297279084 Eliminate some conversation fields which are no longer used 2018-11-01 17:00:24 -07:00
Scott Nonnenberg
68e3cade17 Don't display 'read' icon if read-recipts-setting is disabled 2018-11-01 17:00:24 -07:00
Scott Nonnenberg
e2e0e4c96b Refine sealed sender logic 2018-11-01 17:00:24 -07:00
Scott Nonnenberg
1755e0adfd Move all remaining stores to SQLCipher 2018-10-31 17:36:51 -07:00
Scott Nonnenberg
a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
2018-10-29 14:49:18 -07:00
Scott Nonnenberg
1e562c8293 Properly handle avatar changes in group update messages 2018-10-24 11:31:01 -07:00
Scott Nonnenberg
f21f83a163 Conversations have blue avatar backgrounds if no image provided 2018-10-18 11:39:23 -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
f38410976d Delete conversation external files on deletion 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
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
3464eb65b8 Keep conversation.lastMessage in memory 2018-09-20 15:25:54 -07:00
Scott Nonnenberg
9c399624cc Support for blocking groups on mobile, via group/blocked syncs 2018-09-14 16:25:43 -07:00
Scott Nonnenberg
8584a79352 Don't treat sends to a group with unregistered users as an error 2018-09-05 14:17:38 -07:00
Scott Nonnenberg
37f3054976 Both UI timer and database timer will remove expired message 2018-08-15 17:45:24 -07:00
Scott Nonnenberg
fedfbed304 Copy quoted message contents into quote on receipt
Also:
  - visually distinguish any reference we couldn't verify on receipt
  - show toast on quote click if we can't scroll to message
  - toast visuals redesigned to match rest of app
2018-08-15 14:58:55 -07:00
Scott Nonnenberg
ae6876a153 Ensure that error in handleDataMessage is treated as error 2018-08-08 09:40:12 -07:00
Scott Nonnenberg
727925a266 Clean up old messages, better handle errors from sending 2018-08-07 18:29:33 -07:00
Scott Nonnenberg
9ff80469a5 In partially-successful group send, don't start expire timer 2018-08-06 18:08:10 -07:00
Scott Nonnenberg
9ed1ee90f8 Move expiring message time earlier if read sync has earlier time 2018-08-06 18:08:10 -07:00
Scott Nonnenberg
4b3ddef955 Allow for 'error' status on incoming messages not just outgoing 2018-08-06 18:08:10 -07:00
Scott Nonnenberg
8180417611 Update conversation first on timer change to eliminate flicker 2018-08-02 22:31:27 -07:00
Scott Nonnenberg
22613c8cc4 Set disappearing check timer reliably - on all message saves 2018-08-02 22:31:27 -07:00
Scott Nonnenberg
1d7987108b Show and log progress during the SQLCipher migration 2018-08-02 17:25:51 -07:00
Scott Nonnenberg
b1c6a5fe19 When updating message schema pre-SQLCipher, use legacy save 2018-08-01 12:38:48 -07:00
Scott Nonnenberg
3105b77475 Migrate to SQLCipher for messages/cache
Quite a few other fixes, including:
  - Sending to contact with no avatar yet (not synced from mobile)
  - Left pane doesn't update quickly or at all on new message
  - Left pane doesn't show sent or error status

Also:
 - Contributing.md: Ensure set of linux dev dependencies is complete
2018-07-31 17:08:45 -07:00
Scott Nonnenberg
8860e4c7fb Update delivered/read message if already in collection 2018-07-27 10:55:10 -07:00
Scott Nonnenberg
61f7b8360b Conversation: store lastMessage/lastMessageStatus in memory only 2018-07-27 10:55:10 -07:00
Scott Nonnenberg
f39a96bc76 Move to centralized message/cache data layer
Also, ensure that conversation.messageCollection has nothing in it
unless it has an associated ConversationView.
2018-07-27 10:55:10 -07:00
Scott Nonnenberg
34231168a7 On message delete, ensure that all external files are deleted 2018-07-27 09:15:57 -07:00
Scott Nonnenberg
e80857562a Disappearing messages: show 'disabled' instead of 'set to off' 2018-07-27 09:15:57 -07:00
Scott Nonnenberg
1a01e38d5c Show 'group updated' in left pane when we get info-free update 2018-07-27 09:15:57 -07:00
Scott Nonnenberg
b7d5013558 Add verified notification and sync the verified status as well 2018-07-26 15:42:07 -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
d5d6cdb250 Automatically clean up old debug info, remove unneeded field 2018-07-18 19:41:16 -07:00
Scott Nonnenberg
c2c8dc5090 Make quote props consistent, white circle dark theme play overlay
Prevents errors in the logs about attempting to load images from their
relative patn instead of the absolute path. No effect on the user.
2018-07-18 12:20:14 -07:00