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
fc5c52fbdf
Remove iOS theme in favor of plain light/dark themes
2018-07-17 15:45:40 -07:00
Scott Nonnenberg
445839770b
Fix width of message detail screen ( #2478 )
2018-06-21 12:02:50 -07:00
Scott Nonnenberg
951ae6d52c
Disable inline rendering of SVG attachments
...
Like TIFF, they are now treated as binary files.
2018-06-15 17:49:35 -07:00
Scott Nonnenberg
925e02e397
Fix lint error in OS.ts
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
34f423b52c
Remove unused code; move signal.js to js/modules for eslint
...
(noticed as I was doing this that signal.js doesn't get eslint coverage)
2018-05-23 16:26:48 -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
jython234
84759d813e
Modify OS.isWindows to check platform before version ( #2407 )
...
* Modify OS.isWindows to check if OS is Windows first before checking version.
Previously OS.isWindows checked if the windows version matched the one required. This worked fine, except for the fact that it would end up comparing a linux kernel version to a windows version as it didn't check if the platform was Windows in the first place before.
This caused issues as it would throw an error when comparing with non-semver linux kernels (such as Fedora). Now it checks if the current platform is Windows first, and if not, immediately returns false.
Resolves : #2396
* Fix formatting for OS.ts
2018-05-20 14:02:29 -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
80b069e9b6
Move phone number format/parse into ts/types/PhoneNumber
2018-05-10 11:54:58 -07:00
Scott Nonnenberg
aa13a2c6f7
Parse phone numbers into e164 as part of schema upgrade
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
3bf8a8966a
Notification improvements
...
- Remove on read, on focus, and on exit.
- Show multi-message notifications like '5 new messages'.
2018-05-10 14:45:56 -04: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
Daniel Gasienica
623bdd9284
Port colorSVG
from Sass to TypeScript (React)
2018-05-08 16:41:07 -04:00
Daniel Gasienica
16bc1d34c6
Message schema 6: Change classification of media and documents
...
For an easier implementation, we change our original definition of
`initializeAttachmentMetadata`. This means we have to re-run it marked as
version 6 and mark schema version 5 as deprecated as its definition has changed.
2018-05-08 16:41:07 -04:00
Daniel Gasienica
f4a5bc9907
Add new MIME types
2018-05-08 16:41:06 -04:00
Daniel Gasienica
63bd9dcc61
Add tests for Attachment.isVisualMedia
2018-05-08 16:41:06 -04:00
Daniel Gasienica
53918d68de
Add Attachment.isFile
definition
2018-05-08 16:41:06 -04:00
Daniel Gasienica
20246c4d07
Classify all images and videos as visual media
...
Even if we can’t play it back. Handle that in the lightbox.
Also: Exclude voice messages.
2018-05-08 16:41:06 -04:00
Scott Nonnenberg
0282635142
Remove Object.assign still hanging around in typescript
2018-05-08 09:57:51 -07: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
9d1847a7e5
Pull all setup in preload.js into signal.js. goal: webpackable
2018-05-07 19:30:49 -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
daa4a3d63f
Compile all protocol buffers
2018-05-07 21:53:40 -04:00
Daniel Gasienica
15759f0db5
Normalize package naming
2018-05-07 21:53:40 -04:00
Daniel Gasienica
f88ebdf8b7
Compile protocol buffers as part of yarn grunt dev
2018-05-07 21:53:40 -04:00
Daniel Gasienica
38f3ad6518
Use SignalService
vs textsecure
for protobuf
2018-05-07 21:53:39 -04:00
Daniel Gasienica
6589247750
Expose SignalService
to style guide
2018-05-07 21:53:39 -04:00
Daniel Gasienica
86346ee239
Expose Signal.Types.Attachment
to style guide
2018-05-07 21:53:39 -04:00
Daniel Gasienica
5789b3eb75
Add Attachment.isVoiceMessage
2018-05-07 21:53:39 -04:00
Daniel Gasienica
fa4c3fda2b
Extract common MIME types
2018-05-07 21:53:39 -04:00
Daniel Gasienica
8a4f062120
Add MIME.APPLICATION_OCTET_STREAM
2018-05-07 21:53:39 -04:00
Daniel Gasienica
5d230d3778
Add Settings.isNotificationGroupingSupported
...
See: https://github.com/electron/electron/issues/11189
2018-05-04 15:37:46 -04:00
Daniel Gasienica
ecf23b6b2e
Disable audio notifications on Windows 7 and lower
2018-05-02 20:01:57 -04:00
Daniel Gasienica
a102016ed8
Port Settings
and OS
to TypeScript
2018-05-02 20:01:57 -04:00
Daniel Gasienica
c591c3ca55
Use native notifications on all platforms
2018-05-02 19:58:33 -04:00
Daniel Gasienica
4e6a03a91c
Log whether OS supports native notifications
2018-05-02 19:18:34 -04:00
Daniel Gasienica
d5b391757d
Add Notifications.getStatus
2018-05-02 19:18:33 -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
110b58230b
Only revoke object URLs we created
2018-04-30 11:01:57 -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
9451dc5e41
Define AttachmentSchemaVersion3
2018-04-27 16:31:43 -04:00
Daniel Gasienica
21db2e7182
Use saveURLAsFile
2018-04-27 16:31:43 -04:00
Daniel Gasienica
307ab0d3a5
Extract saveURLAsFile
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
ac04f0648a
Load more documents than media
2018-04-27 16:31:42 -04:00
Daniel Gasienica
6ee56b8445
Remove newlines
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
8ca5a391af
arrayBufferToObjectURL: Ensure data
is ArrayBuffer
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
4a5e61eaf4
Implement Attachment.save
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
96c44094e3
Implement Conversation.fetchFileAttachments
2018-04-27 16:31:42 -04:00
Scott Nonnenberg
ccf14710a3
styleguide: Make filesize and Signal.Util.GoogleChrome available
2018-04-27 08:51:46 -07:00
Daniel Gasienica
f36f206a01
Use IndexablePresence
for hasFileAttachments
and hasVisualMediaAttachments
...
Reduces index size, makes it easier to debug using IndexedDB inspector, and
hopefully improves lookup performance.
2018-04-25 15:25:12 -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