Commit Graph

533 Commits (3389b1d45765d9384bd6ea47d4cb3acb29b5513e)

Author SHA1 Message Date
Scott Nonnenberg 10c53bddb0 Move to new colors, switch incoming/outgoing colors 7 years ago
Scott Nonnenberg cd60bdd08a Move conversations to SQLCipher 7 years ago
sachaaaaa d521795cf8 add helper to set the keysPending flag for a discussion 7 years ago
sachaaaaa 22a86b5351 store key bundle status in conversation model 7 years ago
sachaaaaa 33ad509fbf Merge branch 'master' of https://github.com/signalapp/Signal-Desktop into development
# Conflicts:
#	_locales/ar/messages.json
#	_locales/es_419/messages.json
#	_locales/he/messages.json
#	_locales/hi/messages.json
#	_locales/hr/messages.json
#	_locales/kn/messages.json
#	_locales/ko/messages.json
#	_locales/mk/messages.json
#	_locales/sr/messages.json
#	_locales/uk/messages.json
#	_locales/vi/messages.json
#	package.json
7 years ago
Scott Nonnenberg 3464eb65b8 Keep conversation.lastMessage in memory 7 years ago
Scott Nonnenberg 9c399624cc Support for blocking groups on mobile, via group/blocked syncs 7 years ago
Scott Nonnenberg 8584a79352 Don't treat sends to a group with unregistered users as an error 7 years ago
sachaaaaa 8f33419b52 Change pubkey representation to hex instead of base64 7 years ago
sachaaaaa c1d6e6113f ValidateNumber now accepts pubkeys instead of phone numbers. This allows starting a conversation with a pubkey. 7 years ago
Scott Nonnenberg 37f3054976 Both UI timer and database timer will remove expired message 7 years ago
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
7 years ago
Scott Nonnenberg ae6876a153 Ensure that error in handleDataMessage is treated as error 7 years ago
Scott Nonnenberg 727925a266 Clean up old messages, better handle errors from sending 7 years ago
Scott Nonnenberg 9ff80469a5 In partially-successful group send, don't start expire timer 7 years ago
Scott Nonnenberg 9ed1ee90f8 Move expiring message time earlier if read sync has earlier time 7 years ago
Scott Nonnenberg 4b3ddef955 Allow for 'error' status on incoming messages not just outgoing 7 years ago
Scott Nonnenberg 8180417611 Update conversation first on timer change to eliminate flicker 7 years ago
Scott Nonnenberg 22613c8cc4 Set disappearing check timer reliably - on all message saves 7 years ago
Scott Nonnenberg 1d7987108b Show and log progress during the SQLCipher migration 7 years ago
Scott Nonnenberg b1c6a5fe19 When updating message schema pre-SQLCipher, use legacy save 7 years ago
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
7 years ago
Scott Nonnenberg 8860e4c7fb Update delivered/read message if already in collection 7 years ago
Scott Nonnenberg 61f7b8360b Conversation: store lastMessage/lastMessageStatus in memory only 7 years ago
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.
7 years ago
Scott Nonnenberg 34231168a7 On message delete, ensure that all external files are deleted 7 years ago
Scott Nonnenberg e80857562a Disappearing messages: show 'disabled' instead of 'set to off' 7 years ago
Scott Nonnenberg 1a01e38d5c Show 'group updated' in left pane when we get info-free update 7 years ago
Scott Nonnenberg b7d5013558 Add verified notification and sync the verified status as well 7 years ago
Scott Nonnenberg 5933a34a18 Use window.log in browser context, turn on console eslint rule 7 years ago
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
7 years ago
Scott Nonnenberg d5d6cdb250 Automatically clean up old debug info, remove unneeded field 7 years ago
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.
7 years ago
Scott Nonnenberg 5e64e4ef40 Remove verbose updateLastMessage logging, fix MediaGallery save 7 years ago
Scott Nonnenberg fdc7c85876 A couple small fixes: quotes, ConversationListItem, MessageDetail
- Load quoted message even with local thumbnail
- A bit more space for message in ConversationListItem
- Make the message detail screen scrollable
7 years ago
Scott Nonnenberg db91560990 Fixes for quotes/schema upgrade, optimize media gallery load
Also: Fix for contact detail page; didn't show back button
7 years ago
Scott Nonnenberg 60f61c804b Fix reply to message w/attachment, dark theme quoted attachment 7 years ago
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.
7 years ago
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
7 years ago
Scott Nonnenberg 43a44793c5 Remove jshint - move everything over to eslint
Also removed all hints of previous linters
7 years ago
Scott Nonnenberg e30b34f424 Add 'newmessage' event handler to Conversation for reliablity 7 years ago
Scott Nonnenberg 9d9a797bda Handle timer updates along with group updates 7 years ago
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.
7 years ago
Scott Nonnenberg 0abdd5ead1 Add missing await for thumbnail creation in makeQuote() 7 years ago
Scott Nonnenberg b113cd0ad2
Expire timer updates: don't send if updated via remote message (#2473)
A recent change removed the type property to make markRead() behave
properly, but that broke our check 'should we send an update?' logic. So
instead of using `isIncoming()` we now use the thing we previously used
to determine whether a message was incoming: `receivedAt`.
7 years ago
Scott Nonnenberg a4603807e1
Send/reply: Be resilient to errors making attachment thumbnail (#2468)
* Show generic file icon if we fail to make attachment thumbnail

* Be resilient to thumbnail creation errors when creating quote
7 years ago
Scott Nonnenberg 5fca44d1b1 Send message: Pull expireTimer, recipients, dest before queueJob 7 years ago
Scott Nonnenberg dfa1f0797c Ensure timer updates show in convo before initiating message 7 years ago
Scott Nonnenberg 71d873ccfe Ensure message expire timer start times are never in the future 8 years ago
Scott Nonnenberg 8c85f6e3a6 When marking message read, ensure that peers have same read_at
When we mark a message as read, we go to the database to ensure that
older messages in this conversation are marked read as well. That
optimization was missing the read_at value provided to the starting
message, so now it is piped along to all of them.
8 years ago
Scott Nonnenberg ec3e36824c Remove jscs from the project 8 years ago
Scott Nonnenberg 93d3abbf8d Use contact name when updating last message for a conversation 8 years ago
Daniel Gasienica 3bf8a8966a Notification improvements
- Remove on read, on focus, and on exit.
- Show multi-message notifications like '5 new messages'.
8 years ago
Scott Nonnenberg 8beeef4d10 Show contact name when you reply to message with a contact 8 years ago
Scott Nonnenberg 3ea3e4e256 Contact sharing: protos and data pipeline
As of this commit: 82b76ccf37
8 years ago
Daniel Gasienica 38f3ad6518 Use `SignalService` vs `textsecure` for protobuf 8 years ago
Daniel Gasienica a0ddab669b Organize `global`s 8 years ago
Daniel Gasienica 13f1ec2e51 Use structured logs
Easier to search for static prefix and fields are named.
8 years ago
Daniel Gasienica 0ce56eed87 Use structured log 8 years ago
Daniel Gasienica ae7d6aa900 Log `Conversation::updateLastMessage` 8 years ago
Daniel Gasienica 95321e5d3e Remove Vim mode lines 8 years ago
Daniel Gasienica 822850433e Apply manual fixes for ESLint errors 8 years ago
Daniel Gasienica 1dd87ad197 Format all source code using Prettier 8 years ago
Daniel Gasienica 36c609c2c3 Persist `has*Attachments` properties for incoming messages 8 years ago
Daniel Gasienica 3df8c22e44 Alphabetize `Message` properties 8 years ago
Scott Nonnenberg 84c7a4c293 Move to some of our global utility methods 8 years ago
Scott Nonnenberg 403fb1fd60 Make algorithm for finding thumbnails more efficient 8 years ago
Scott Nonnenberg 27a30b3267 Respond to PR feedback
- makeThumbnail -> makeImageThumbnail
- duplicate 'display: flex'
- remove no-longer-applicable comment
8 years ago
Scott Nonnenberg ac0b50d20f
Generate thumbnails for new video attachments, video quotes 8 years ago
Daniel Gasienica bf3a547a76 Organize `global`s 8 years ago
Daniel Gasienica b65370c8d7 Prefer `GoogleChrome.is*` over `MIME.is*` 8 years ago
Scott Nonnenberg 9619e5b66d
Fix quote thumbnail flickering issue
Turns out that we reload thumbnails for every message when any new
message is added to the conversation. This fix prevents that by actually
checking for the proper sentinel on the message model
8 years ago
Scott Nonnenberg c02860af5c
Responding to pull request review feedback
- messages.getQuoteObjectUrl: early return
- backup.js: explaining variables for long if statement
- types/messages.js: Log if thumbnail has neither data nor path
- sendmessage.js:
  - remove extraneous logging
  - fix indentation
  - upload attachments and thumbnails in parallel
- preload: don't load fs for tests, just fse
- _conversation.scss: split two selectors into two lines, 0px -> 0
- backup_test.js: use fse.existsSync and comment twoSlashes regex
- network_tests_view_test.js: Comment duplicate assignment to window.getSocketStatus
8 years ago
Scott Nonnenberg 26dd01c4fd
Make sent quote clickable - process after adding to conversation 8 years ago
Scott Nonnenberg 73edabfb17
Full pipeline to send quotes, including thumbnail upload 8 years ago
Scott Nonnenberg 13ce056830
Make thumbnails on quote load and on quote preview creation 8 years ago
Scott Nonnenberg b4ff223d18
Refactor: Push selector logic for quote props into Message model 8 years ago
Scott Nonnenberg a563dc8b37
Style Guide: Additional message examples, a few fixes to enable 8 years ago
Scott Nonnenberg 000dc3a159
Handle attachment load failure for quoted message 8 years ago
Scott Nonnenberg 04d186c05a
Conversation.loadQuoteThumbnail: Be resilient to no attachments 8 years ago
Scott Nonnenberg 3bbb9f535a
Load thumbnail even if we have the full message in hand
This is important for now, when we aren't generating our own thumbnails
8 years ago
Scott Nonnenberg fce9bb7342
Move to central MIME functions, remove some console.log
And generally address PR feedback.
8 years ago
Scott Nonnenberg 32925ed026
Load attachment data for quotedMessages, processMessage on add
Not ideal that it loads it twice, but AttachmentView is so selfish with
its blob and objectUrl!
8 years ago
Scott Nonnenberg fc330ef854
Quote loading: Check for in-memory message until we get one 8 years ago
Scott Nonnenberg 1cc0633786
Full support for quotations in Android theme 8 years ago
Scott Nonnenberg 5602241a0c
Eliminate eslint-generated triple-parents 8 years ago
Scott Nonnenberg 5c2936bdd6
Turns out that we call validateNumber() on group conversations! 8 years ago
Scott Nonnenberg e99192dca7
Unleash eslint on models/messages.js
Fun fact: eslint was not running on this file, despite the eslint
directives previously in the file!
8 years ago
Scott Nonnenberg 33ef967dd7
Unleash eslint on models/conversations.js 8 years ago
Scott Nonnenberg 054d3887a1
Quotes: The full pipeline into the database
1. MessageReceiver always pulls down thumbnails included in quotes
2. Message.upgradeSchema has a new schema that puts all thumbnails on
   disk just like happens with full attachments.
3. handleDataMessage pipes quote from dataMessage into the final message
   destined for the database
8 years ago
Daniel Gasienica 5f8148d3da Bind to `Conversation` lazily to prevent style guide errors 8 years ago
Daniel Gasienica 0902c94093 Reset last message after message has expired
Fixes #980.
8 years ago
Daniel Gasienica f253fef5c6 Explicitly make `onDestroy` have `void` return type 8 years ago
Daniel Gasienica 0c06fff47b Wire up `Message` / `Attachment` migration functions on startup
Makes `migrationContext` obsolete.
8 years ago
Daniel Gasienica 9d25aa4e43 Delete attachment files on disk upon message delete 8 years ago
Daniel Gasienica 833a203559 Remove Vim modeline 8 years ago
Daniel Gasienica 38e2468b2e Set `schemaVersion` in `handleMessage` 8 years ago
Daniel Gasienica e3dbeba963 Initialize schema version during `Message` construction 8 years ago
Daniel Gasienica 9a540d6d18 Load attachment data before sending message 8 years ago
Daniel Gasienica e0428355be Wire up `writeAttachment` 8 years ago