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
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
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
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
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
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
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
648a7ab1bb
Autoformat using Prettier
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
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
fc1c3aabf5
Add scaffolding for media gallery
2018-04-25 15:24:51 -04:00
Daniel Gasienica
32a3ef518b
Render media gallery placeholder panel
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
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
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
bcd3e26377
Fix TS warning about appendChild
2018-04-11 19:25:30 -04: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