Commit graph

230 commits

Author SHA1 Message Date
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
a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
2018-10-29 14:49:18 -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
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
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
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
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
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
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
445839770b
Fix width of message detail screen (#2478) 2018-06-21 12:02:50 -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
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
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
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
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
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
38f3ad6518 Use SignalService vs textsecure for protobuf 2018-05-07 21:53:39 -04:00
Daniel Gasienica
5789b3eb75 Add Attachment.isVoiceMessage 2018-05-07 21:53:39 -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
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
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
b74b761255 Implement click to save for document list 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
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
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