Commit graph

943 commits

Author SHA1 Message Date
Josh Perez
59f8243a0d
Do not show play button for undownloaded media 2021-10-04 15:29:11 -07:00
Josh Perez
9a9fc60103
Fix click propagating from reaction viewer to container 2021-10-04 15:56:34 -05:00
Evan Hahn
893a77a3ad
Fix render loop in <Modal>, clean up ref merger code 2021-10-01 16:53:00 -07:00
Fedor Indutny
3534408c97
Fix various clipping issues with message buttons 2021-09-30 16:24:23 -05:00
Josh Perez
31d1f25b18
Adds error dialog when voice recorder cannot start 2021-09-30 13:13:47 -07:00
Fedor Indutny
3e31a7405b Use physical keys+layout for shortcuts 2021-09-29 14:21:15 -07:00
Josh Perez
603c315c82
Moves AudioCapture into react 2021-09-29 13:23:06 -07:00
Evan Hahn
c170d04ffa
Enable customization of preferred reactions for everyone 2021-09-29 13:21:26 -07:00
Fedor Indutny
5c1776e00e
Autofocus "choose group member" modal input 2021-09-29 14:29:02 -05:00
Fedor Indutny
2f7226e200
Remove key caching from Timeline 2021-09-28 11:32:54 -07:00
Fedor Indutny
a6e3d5cbae
Display thumbnails for video attachments 2021-09-24 13:47:47 -07:00
Josh Perez
1c3c971cf4 Moves DraftAttachments into redux 2021-09-24 16:03:32 -04:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Fedor Indutny
b9d6497cb1
Better types for WebAPI 2021-09-21 17:58:03 -07:00
Josh Perez
c05d23e628
Modernize ContactModal 2021-09-21 15:37:10 -07:00
Josh Perez
1d2fcde49f
Moves navigateTo to util 2021-09-21 16:45:25 -04:00
Evan Hahn
a68e3a6d20
Improve staged attachment designs 2021-09-20 18:23:55 -07:00
Fedor Indutny
c19a801b89
Use consistent check for timeline height recomputation 2021-09-20 14:19:55 -05:00
Josh Perez
829e42ca6e
Move i18n setup to TypeScript 2021-09-17 20:30:08 -04:00
Josh Perez
7b5faa1cc1
Permissions popup context iso 2021-09-17 18:24:21 -04:00
Josh Perez
277992a468
Make scrollbar overlay content in left pane 2021-09-17 14:03:18 -07:00
Scott Nonnenberg
e2454ef7c5
Improve a few strings, highlight back button on focus, proper key value 2021-09-17 13:57:54 -07:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Evan Hahn
7e7078e11a Fix lint error in <Linkify> stories 2021-09-17 11:28:26 -05:00
jojomatik
51d85e58eb Linkify additional TLDs
See [#5170][0].

[0]: #5170
2021-09-17 10:14:42 -05:00
Fedor Indutny
ce0ccc9b58
Disable jumbomoji in quotes 2021-09-16 15:45:32 -07:00
Evan Hahn
9ff1c1e50d
Recompute hero row size when it appears 2021-09-16 14:47:08 -07:00
Evan Hahn
11855d1585
Make onHeightChange a required prop of <ConversationHero> 2021-09-16 14:44:00 -07:00
Evan Hahn
fda21edd23
Remove unnecessary disables of consistent-return lint rule 2021-09-16 15:25:55 -05:00
Evan Hahn
eed7aff925
Remove unnecessary props from <ContactName> 2021-09-16 11:15:43 -05:00
Fedor Indutny
59ca63cd2e
Use audio.ended in MessageAudio.tsx 2021-09-16 08:02:23 -07:00
Evan Hahn
ce1daef9f3
Fix <UniversalTimerNotification> stories 2021-09-15 09:04:42 -07:00
Evan Hahn
240585ef94
Allow duplicates in reaction palette 2021-09-13 10:04:45 -07:00
Fedor Indutny
5a57e2b704
Fix action propagation to timeline items 2021-09-12 19:36:41 -07:00
Evan Hahn
bfa0bbf7da
Add "call back", "call again" buttons to timeline 2021-09-10 16:59:41 -07:00
Scott Nonnenberg
5fb78e1986
ConversationDetails: Prevent block/leave of group if only admin 2021-09-10 11:18:37 -07:00
Evan Hahn
84ac7dd2df
To fix Storybook, make <Message> take renderReactionPicker 2021-09-10 11:00:31 -07:00
Scott Nonnenberg
6efb6da937
Render disappearing message countdown even if deleted for everyone 2021-09-10 09:23:04 -05:00
Evan Hahn
e2392433e0
Preferred reactions: store raw emoji, gate on feature flag 2021-09-09 16:47:30 -07:00
Evan Hahn
4f1188e213
Save skin tone changes in reaction picker 2021-09-09 13:53:26 -07:00
Evan Hahn
759c043c12
Make <ReactionPicker> skin tone story more obvious 2021-09-09 09:32:16 -07:00
Evan Hahn
f28456c160
Let users customize the preferred reaction palette 2021-09-09 09:29:01 -07:00
Evan Hahn
1184098b42
Fix reactions i18n key 2021-09-08 09:25:16 -07:00
Evan Hahn
561bc0695f
Update reaction picker visuals 2021-09-07 14:30:58 -07:00
Evan Hahn
7f34bedd87
Styling adjustments to timeline notifications 2021-09-07 12:55:03 -07:00
Scott Nonnenberg
71b50aae00
Message: Don't propagate sender avatar click event 2021-09-07 14:38:32 -05:00
Fedor Indutny
30075f18fc
Fix lightbox for tap-to-view GIFs 2021-09-02 16:38:46 -05:00
Evan Hahn
ddc591e962
Add stories for timeline notifications with long names 2021-09-02 16:23:27 -05:00
Scott Nonnenberg
9ca9f743c3
One lightbox at a time; proper dismiss of "read more" screen; proper in-progress draft HEIC images 2021-09-02 14:35:23 -05:00
Evan Hahn
8e0b94e720
Use missingCaseError in groupMediaItemsByDate 2021-09-02 10:43:56 -07:00
Evan Hahn
808ade2a8c
Fix rendering of long names in <DeliveryIssueNotification> 2021-09-02 12:34:00 -05:00
Evan Hahn
d88128b146
Remove extra license header comment from a story 2021-09-02 10:08:08 -07:00
Evan Hahn
c251726698
Fix rendering of long names in <ProfileChangeNotification> 2021-09-02 11:07:30 -05:00
Evan Hahn
ce922eed7d
Hide "leave group" button if you've already left 2021-09-01 16:08:33 -05:00
Evan Hahn
a85dd1be36
Retry outbound "normal" messages for up to a day 2021-08-31 13:58:39 -07:00
Scott Nonnenberg
dcf29078f4
ConversationView: Improve types 2021-08-30 14:32:56 -07:00
Evan Hahn
7f50fcdb54
Improve performance when rendering many emoji 2021-08-30 11:39:03 -05:00
Josh Perez
c6b4f14f3b
Fixes no group description unless admin 2021-08-26 16:12:07 -05:00
Josh Perez
2b08cbfdfe
Streamlined system messages 2021-08-26 13:51:55 -07:00
Josh Perez
4afe4649ec
Fixes save in lightbox 2021-08-25 14:08:32 -07:00
Josh Perez
d5d808651a
Improved Lightbox experience 2021-08-23 16:14:53 -07:00
Evan Hahn
70d059beeb
Keep reaction poppers visible at all times 2021-08-20 14:36:27 -05:00
Fedor Indutny
fe040a2873
Rename ContactType to EmbeddedContactType 2021-08-19 20:56:39 -05:00
Evan Hahn
4b810d5c3e
<ConversationHero>: only call onHeightChange when certain props change 2021-08-19 11:36:09 -05:00
Evan Hahn
f3ba979246
Attempt to fix <ConversationHero> re-rendering 2021-08-18 09:38:47 -07:00
Fedor Indutny
7a8363c7c8
Additional render optimizations 2021-08-18 08:34:22 -05:00
Fedor Indutny
6dcceb81ac
Use stable keys for rendering timeline 2021-08-17 11:41:12 -07:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Evan Hahn
9fd191ae00
Add more logging for view-once message interactions 2021-08-12 09:20:22 -07:00
Fedor Indutny
61b7eebfcf
Modernize Benchmarks CI 2021-08-11 12:29:07 -07:00
Fedor Indutny
12c78c742f
Optimize rendering 2021-08-11 09:23:21 -07:00
Josh Perez
9078919545
Transcode heic/heif images 2021-08-09 13:06:21 -07:00
Josh Perez
12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Fedor Indutny
a001882d58
Change Phone Number notifications 2021-08-05 16:34:49 -07:00
Josh Perez
db0c9f0f49
Allows you to turn off announcements only if already on 2021-08-05 10:23:50 -07:00
Evan Hahn
6b290a0f0c
@mentions notifications 2021-08-05 07:35:33 -05:00
Evan Hahn
3b476fb60d
Fix tooltip placement bugs by upgrading Popper 2021-08-03 12:04:49 -05:00
Scott Nonnenberg
bcb9d2d2f3
Modernize DeliveryIssueDialog, fix outline clipping in Modal 2021-08-02 14:19:18 -07:00
Fedor Indutny
907e1d32ec
Handle message render errors in timeline 2021-08-02 13:55:47 -07:00
Scott Nonnenberg
bf7da5ca2e
DeliveryIssueDialog: Add learn more button linking to support 2021-07-30 13:30:59 -07:00
Scott Nonnenberg
0ab09711a4
Track performance of message sends 2021-07-30 11:37:03 -07:00
Fedor Indutny
b7e5efe0a3
Fix rendering of links with emoji 2021-07-27 16:39:57 -07:00
Scott Nonnenberg
114a9b6969
Delivery Issues: Show simpler message when displayed in a group 2021-07-27 13:30:41 -07:00
Evan Hahn
14929fb408
Show "unplayed" dot on outgoing audio messages 2021-07-27 10:42:25 -05:00
Evan Hahn
fc33e9be41
Add stories for <CallingNotification> 2021-07-23 16:34:48 -05:00
Josh Perez
d9e90e9ea8
Improvements to shared library components 2021-07-21 13:45:41 -07:00
Fedor Indutny
dd0baf9ab4 Merge branch 'heysujal/development' into development 2021-07-20 13:25:52 -07:00
Josh Perez
56d5d283bd
Support for announcement-only groups 2021-07-20 13:18:35 -07:00
Evan Hahn
1e10286210
Message details: group by send status, including viewed state 2021-07-20 14:56:50 -05:00
Evan Hahn
c4a09b7507
Refactor outbound delivery state, take 2
This reverts commit ad217c808d.
2021-07-19 17:44:49 -05:00
Josh Perez
aade43bfa3
Allow download of view once images if received in-call 2021-07-19 17:48:07 -04:00
Josh Perez
b392b7c7ee
Fix read more for long group descriptions 2021-07-19 17:14:41 -04:00
Josh Perez
cd35a29638
Edit profile 2021-07-19 12:26:06 -07:00
Sujal Gupta
3ef72d537b Unescape HTML encoded entities in link preview 2021-07-19 04:34:34 +05:30
Fedor Indutny
aa63aabbc6
Fix negative countdown for audio messages 2021-07-16 11:05:11 -07:00
Fedor Indutny
c3bdf3d411
Show lightbox for GIFs 2021-07-14 16:39:52 -07:00
Josh Perez
0303b6715c
Shorten the submenu hover delay 2021-07-13 15:27:28 -07:00
Fedor Indutny
ad217c808d
Revert "Refactor outbound delivery state"
This reverts commit 9c48a95eb5.
2021-07-12 16:51:45 -07:00
Evan Hahn
d4558dc13b
Remove delete button from message details screen 2021-07-12 15:57:58 -04:00
Evan Hahn
9c48a95eb5
Refactor outbound delivery state 2021-07-09 16:38:51 -05:00
Evan Hahn
831ec98418
Audio messages: move countdown under waveform 2021-07-09 13:27:16 -07:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Evan Hahn
da27a6ac64
Add array-type TypeScript ESLint rule 2021-07-08 14:55:48 -07:00
Evan Hahn
3827f05db9
Upgrade to TypeScript v4.3.5 2021-07-07 11:37:55 -05:00
Evan Hahn
3dd850b9b8
Disable tooltip on emoji 2021-07-02 13:16:55 -07:00
Fedor Indutny
e7e9021e3f
Fix duplicate key in Linkify 2021-06-30 12:25:02 -07:00
Fedor Indutny
773aa9af19
Better emoji support in linkify/previews 2021-06-30 10:00:02 -07:00
Fedor Indutny
2cd4160422
Unify audio playback under App component 2021-06-29 12:58:29 -07:00
Evan Hahn
af1f2ea449
Officially support the system tray on Windows 2021-06-29 12:18:03 -05:00
Fedor Indutny
cd28e71bc6
Default disappearing message timeout fixes 2021-06-25 16:52:56 -07:00
Josh Perez
01eabf9ec6
Option to send photos as high quality 2021-06-25 11:08:16 -05:00
Fedor Indutny
6c56d5a5f1
Fix UI for GIFs in groups 2021-06-24 16:00:11 -05:00
Fedor Indutny
a7799a74c1
Fix rendering of GIFs 2021-06-24 12:05:27 -07:00
Evan Hahn
c1e2757751
Remove redundant prop from <MessageDetail> props type 2021-06-23 10:00:56 -07:00
Josh Perez
94d116c621
Removes some Backbone views 2021-06-17 14:15:09 -07:00
Evan Hahn
65a1e82857
Emojify and linkify group descriptions 2021-06-17 12:15:51 -05:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Evan Hahn
03a187097f
Disappearing message cleanups 2021-06-16 17:20:17 -05:00
Scott Nonnenberg
1520c80013
Remove messageCollection from Conversation model 2021-06-15 17:44:14 -07:00
Jordan Rose
9a1f722545
On right-click link in message bubble, show menu to copy 2021-06-14 11:49:12 -07:00
Jordan Rose
befe886a83
Context menu for message bubbles 2021-06-09 15:30:05 -07:00
Josh Perez
df7f702dde
Update group name colors 2021-06-07 11:50:18 -05:00
Scott Nonnenberg
3956443f50
Group Description: Render newlines, view button in change notification 2021-06-04 09:27:04 -07:00
Evan Hahn
2d6b0ecfe9
Edit group title/description: fix focus issues 2021-06-04 09:55:34 -05:00
Josh Perez
d42a513619
Value in Select needs to be a string(boolean) 2021-06-03 17:42:46 -07:00
Fedor Indutny
4c4351df39
Make link preview image clickable 2021-06-03 17:42:01 -07:00
Josh Perez
016ef8af79
Use the new Select component everywhere 2021-06-03 15:12:23 -07:00
Fedor Indutny
430d60093a
Fix nested border-radius for attachments 2021-06-02 17:41:23 -07:00
Josh Perez
66d9bb8418
Focus group description input when editing it 2021-06-02 17:07:37 -07:00
Scott Nonnenberg
9ea827c033
Timeline: mark messages read even with no known oldest message 2021-06-02 15:32:49 -05:00
Evan Hahn
23b0a5698f
Fix error in <Timeline> stories 2021-06-02 10:27:12 -07:00
Evan Hahn
6c6eed0b1e
Don't show name collisions for system contacts 2021-06-02 10:24:22 -07:00
Evan Hahn
84be8288e9
Typing bubble avatar should not use cursor: pointer 2021-06-02 09:45:24 -07:00
Fedor Indutny
b009967a83
Display proper text when quoting view once message 2021-06-02 09:42:19 -07:00
Scott Nonnenberg
9705f464be
Group Description: Edit/Receive 2021-06-01 20:24:28 -04:00
Evan Hahn
36c15fead4
Group name spoofing warning 2021-06-01 16:30:25 -07:00
Fedor Indutny
19f8042cd3
Universal Disappearing Messages 2021-06-01 13:45:43 -07:00
Scott Nonnenberg
ee513a1965
Support for message retry requests 2021-05-28 12:11:19 -07:00
Josh Perez
28f016ce48
Conversation Colors 2021-05-28 09:15:17 -07:00
Evan Hahn
d4dc9b8e39 Message Requests: Add new "Report spam and block" button 2021-05-27 13:37:58 -07:00
Fedor Indutny
d8417e562b
Do not display call buttons for SMS-only convo 2021-05-25 15:30:57 -07:00
Scott Nonnenberg
07c1505782
Force load of newer/older messages if, on load, all messages visible 2021-05-25 11:34:34 -07:00
Fedor Indutny
05306c2d3d
Handle durationchange events in MessageAudio 2021-05-24 09:30:50 -07:00
Scott Nonnenberg
f6bc4dfe25
Enable click on draft quotes, fetch groups from contact modal 2021-05-21 10:27:28 -07:00
Scott Nonnenberg
be087c3498 Ensure that context is always provided for error logs 2021-05-20 17:37:18 -07:00
Fedor Indutny
8fa5ea6b2b Add outlines for MessageAudio buttons 2021-05-20 17:37:08 -07:00
Evan Hahn
a8346c490e Fix inaccurate numbers on group details screen 2021-05-20 17:37:07 -07:00
Fedor Indutny
b1d49f7b3e
Do not compute waveform for a long audio 2021-05-12 12:18:02 -07:00
Evan Hahn
09d7a253af
Fix non-default disappearing message timers on group details screen 2021-05-11 12:05:02 -05:00
Josh Perez
24b7790829
One SearchInput to rule them all 2021-05-10 20:50:43 -04:00
Scott Nonnenberg
efaaafa370
A few small bug fixes 2021-05-10 15:38:18 -07:00
Evan Hahn
d28678dbf9
Make it more difficult to blur avatars 2021-05-07 17:21:10 -05:00
Fedor Indutny
986d8a66bc
Show challenge when requested by server 2021-05-05 17:09:29 -07:00
Evan Hahn
7afbbb3a4c
Fix render loop in <ConversationHero> 2021-05-05 17:35:32 -05:00
Evan Hahn
7c2f233384
Fix blurred avatars in message details 2021-05-04 16:19:36 -07:00
Scott Nonnenberg
f0b3c43313
Fix a number visual bugs with message forwarding 2021-05-04 09:57:14 -05:00
Evan Hahn
736075322c
Render disappearing message timers generically 2021-05-03 16:24:40 -07:00
Scott Nonnenberg
cf1eb77ed8
Message Requests: Always open to top of conversation 2021-04-30 15:59:37 -07:00
Evan Hahn
fe772af251
Show "no groups in common" warning for relevant message requests 2021-04-30 15:58:57 -07:00
Evan Hahn
05703c2719
Blur avatars of unapproved conversations 2021-04-30 14:40:25 -05:00
Evan Hahn
1238cca538 Ensure group details screen has the latest data 2021-04-29 14:27:38 -07:00
Fedor Indutny
caf1d4c4da GIF attachments 2021-04-29 14:27:37 -07:00
Evan Hahn
5f17d01f49 Take an author object in <Message> 2021-04-29 14:27:37 -07:00
Evan Hahn
86a01f289d <Message> shouldn't be a PureComponent. It re-renders every time 2021-04-29 14:27:37 -07:00
Evan Hahn
a5a64f354f Upgrade Prettier from v2.1.2 to v2.2.1 2021-04-29 14:27:36 -07:00
Evan Hahn
e7ef3de6d0 Profile name spoofing dialog 2021-04-29 14:27:35 -07:00
Evan Hahn
885ff5fe42 Show common groups in contact modal 2021-04-29 14:27:35 -07:00
Josh Perez
353becffac
Various fixes for message forwarding 2021-04-28 15:44:48 -05:00
Scott Nonnenberg
3face767aa
Group settings: on block and leave, don't delete 2021-04-28 16:27:16 -04:00
Josh Perez
d203f125c6
Adds message forwarding 2021-04-27 18:35:35 -04:00
Josh Perez
e75bba1c52
Replaces ConfirmationModal with ConfirmationDialog 2021-04-27 15:29:59 -04:00
Josh Perez
5e2d48cc2f
Do not populate left pane on initial link 2021-04-20 19:16:49 -04:00
Fedor Indutny
0b969f3f42
Improve MessageAudio peaks computation
There are two parts to this change:

1. The computation of peaks is moved from `MessageAudio` to the
   `GlobalAudioContext` and thus we can limit the concurrency of the
   computations (`p-queue`!) and de-duplicate the computations as well
2. While the peaks are computed the component has to display spinning
   animation instead of empty waveform and unclickable UI.
2021-04-15 14:02:24 -07:00
Evan Hahn
62f1a42c25
Add reusable <Modal> component, use with <Alert> 2021-04-13 09:20:02 -05:00
Josh Perez
6c0acd09df
Sync mute state 2021-04-09 11:19:38 -05:00
Evan Hahn
95482fbf31 Add affirmative and destructive secondary button variants 2021-04-08 23:53:18 -04:00
Evan Hahn
7ae25590e6 Add conversation hero to <Timeline> stories 2021-04-08 23:53:18 -04:00
Evan Hahn
8fe1be8678 Remove ability to set or read author E164 for new quotes 2021-04-08 23:51:54 -04:00
Evan Hahn
c8dc8a7398 Don't let users leave groups if they're the only admin 2021-04-05 18:08:50 -04:00
Evan Hahn
2d35fa8f57 Fix replies to image-only messages 2021-04-05 18:08:50 -04:00
Evan Hahn
130dac527f Add types for <ConversationHeader>'s mute options 2021-04-05 18:08:50 -04:00
Evan Hahn
c711fbe0c0 In conversation hero, show “No group in common” if you have no common groups and no phone number 2021-04-05 18:08:50 -04:00
Fedor Indutny
79acb7513d
Fix delivery status overflow in sticker messages 2021-03-29 14:34:47 -07:00
Evan Hahn
afe135df0c
Hide long message attachments in quotes 2021-03-25 11:36:50 -07:00
Evan Hahn
6f404648d7
Prefer author ID to phone number for message menu trigger ID 2021-03-24 16:42:08 -07:00
Fedor Indutny
7a9a4a1404
Clicking first bars of the waveform should rewind
It is practically impossible to rewind audio prior to this commit. With
this commit - clicking first two bars will rewind the audio to its very
start instead of updating its current play time to a specific non-zero v
alue.
2021-03-24 16:08:57 -07:00
Evan Hahn
77c306843d
Fix error on message details screen with audio messages 2021-03-24 15:06:12 -07:00
Fedor Indutny
9fa3359477
Mark attachment as corrupted if audio load failed
Sending corrupted audio should not leave user with non-functional
UI. Mark attachment as corrupted and show generic attachment UI for it
instead.
2021-03-22 11:51:53 -07:00
Fedor Indutny
d6063d71e5
Change duration to countdown in MessageAudio
Message Audio UI should display remaining time not the duration of the
audio.
2021-03-22 11:15:59 -07:00
Josh Perez
e58975ec8b Fix for multiple at-mentions 2021-03-19 16:57:36 -04:00
Fedor Indutny
d7ec22fb0b Save attachment button should download attachment if needed 2021-03-19 16:57:36 -04:00
Evan Hahn
c97bb0feee Auto-scroll the left pane less frequently 2021-03-19 16:57:36 -04:00
Fedor Indutny
3eaa47ec72 Remove useless logic in MessageAudio
`isLoading` was initially used to avoid duplicate loads of the audio on
re-renders, but this has to be handled in GlobalAudioContext not in
MessageAudio.
2021-03-19 16:57:36 -04:00
Fedor Indutny
f41ffda3e0 Update types: attachments may not have url property 2021-03-19 16:57:36 -04:00
Fedor Indutny
05f59f3db1 Add download button and pending spinner for audio messages 2021-03-19 16:57:36 -04:00
Fedor Indutny
529dd1a3cc Show download button for pending Link Preview images 2021-03-19 16:57:36 -04:00
Evan Hahn
e09fb6cce4 Improve types in ConversationView#showConversationDetails 2021-03-19 16:57:35 -04:00
Josh Perez
d5f2492ce5 Fine tune the conversation load experience 2021-03-19 16:57:35 -04:00
Evan Hahn
f7d4f84736 Enable New Group settings for everyone; remove desktop.gv2Admin feature flag 2021-03-19 16:57:35 -04:00
Evan Hahn
b81a52bbdd New Group administration: Add users 2021-03-19 16:57:35 -04:00
Evan Hahn
80e3582d01 Trim group titles when creating or editing
* Trim group titles when creating or editing

* Trim title in more places
2021-03-19 16:57:35 -04:00
Fedor Indutny
12d7f24d0f New UI for audio playback and global audio player
Introduce new UI and behavior for playing audio attachments in
conversations. Previously, playback stopped unexpectedly during window
resizes and scrolling through the messages due to the row height
recomputation in `react-virtualized`.

With this commit we introduce `<GlobalAudioContext/>` instance that
wraps whole conversation and provides an `<audio/>` element that
doesn't get re-rendered (or destroyed) whenever `react-virtualized`
recomputes messages. The audio players (with a freshly designed UI) now
share this global `<audio/>` instance and manage access to it using
`audioPlayer.owner` state from the redux.

New UI computes on the fly, caches, and displays waveforms for each
audio attachment. Storybook had to be slightly modified to accomodate
testing of Android bubbles by introducing the new knob for
`authorColor`.
2021-03-19 16:57:35 -04:00
Josh Perez
1ca4960924 Changes display of your own name to "You" 2021-03-19 16:57:35 -04:00
Evan Hahn
9f5335b854 New Group administration: update title and avatar 2021-03-19 16:57:35 -04:00
Josh Perez
d82ce07942 Improve cold start performance 2021-03-19 16:57:35 -04:00
Evan Hahn
5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -04:00
Evan Hahn
8c951602b7 Add conversation header button hover states 2021-03-19 16:53:51 -04:00
Josh Perez
12bba24dbd Improvements to Group Settings screen 2021-03-19 16:53:51 -04:00
Evan Hahn
dfa5005e7d Update conversation header design 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
2aa2aca9f2 A few bug fixes 2021-03-19 16:53:51 -04:00
Evan Hahn
06fb4fd0bc Add "new conversation" composer for direct messages 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
98e7e65d25 Automatic session reset 2021-03-19 16:53:51 -04:00
Evan Hahn
3306c82992 Fix "URI malformed" crashes on Windows 2021-02-22 14:01:40 -08:00
Josh Perez
34285054f6
Manual download of attachments with no blurHash 2021-02-11 17:50:11 -08:00
Idan Moral
cd2c6351fc
Fixed a comment typo in Linkify.tsx (#4825) 2021-02-04 14:30:21 -08:00
Evan Hahn
8f1bb6f087
Don't render links (or link previews) for blocked or unapproved conversations 2021-02-02 11:09:53 -06:00
Josh Perez
267ae80442
UI fixes for conversation details screen 2021-02-01 14:57:42 -08:00
Josh Perez
a096220990
Do not download media if in call 2021-01-29 14:58:28 -08:00
Scott Nonnenberg
a48b3e381e
Support for joining New Groups via invite links 2021-01-29 14:16:48 -08:00
Josh Perez
c0510b08a5
Introduce conversation details screen for New Groups
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
Co-authored-by: Sidney Keese <me@sidke.com>
2021-01-29 13:19:24 -08:00
Evan Hahn
1268945840
Fix typing bubble in group chats 2021-01-27 19:41:41 -08:00
Josh Perez
1b38db2d79
Fixes rendering of about bio 2021-01-27 19:18:50 -05:00
Evan Hahn
1da724edf2
Fix missing avatars in groups 2021-01-27 13:15:43 -08:00
Josh Perez
258bd55dd2 Show about info from contact profiles 2021-01-25 18:29:01 -08:00
Evan Hahn
932e44e3bf Don't let quote thumbnails get taller than the quote itself 2021-01-25 18:29:01 -08:00
Evan Hahn
8a72607fa7 Prefer type to interface and add an ESLint rule 2021-01-25 18:29:00 -08:00
Evan Hahn
fd7b18e382 Properly handle sending videos which cannot be played locally 2021-01-25 18:29:00 -08:00
Evan Hahn
ffc5e9ef9b Remove obsolete <Message> story 2021-01-25 18:29:00 -08:00
Evan Hahn
4c40d861cf Update link preview styles to better match designs 2021-01-25 18:28:59 -08:00
Scott Nonnenberg
272e6cc614 Group V2 invite links: in-conversation messages 2021-01-25 18:28:58 -08:00
Evan Hahn
8c25ffd6f5 Link previews: show full size image less often 2021-01-11 14:23:09 -08:00
Evan Hahn
0c99604585 Minor: use clearTimeout instead of clearInterval in <Message> 2020-12-17 12:12:52 -05:00
Evan Hahn
1225d45ade Incremental improvements to header 2020-12-17 12:12:52 -05:00
Scott Nonnenberg
0506b79f6b
Quotes: Use authorId when navigating to original message 2020-12-11 12:06:04 -06:00
Evan Hahn
0c039bf431
Add group calling events to the message timeline 2020-12-07 14:43:19 -06:00
Scott Nonnenberg
df4e7c1bd4
GroupV1Migration: Pass areWeInvited value, don't set to always true 2020-12-03 14:39:41 -06:00
Scott Nonnenberg
b3c161f484
Migration: Use pendingMember roles, better 'you were invited' 2020-12-01 15:45:39 -08:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups 2020-12-01 10:42:35 -06:00
Evan Hahn
6d53cb1740 Group calling: Peek into a group call 2020-11-23 14:49:32 -05:00
Evan Hahn
05205c77cf In conversation header, only show video button for group calls 2020-11-23 14:49:31 -05:00
Scott Nonnenberg
2c69f2c367 Support for GV1 -> GV2 migration 2020-11-23 14:48:12 -05:00
Scott Nonnenberg
26884432a2 Update TypeScript, Prettier and typescript-eslint for new TypeScript 3.8 syntax 2020-11-23 14:45:44 -05:00
Chris Svenningsen
d593f74241
New contact popup when clicking on group member or avatar 2020-11-11 09:36:05 -08:00
Sidney Keese
91beef7797
Improve emoji blot and override clipboard behavior 2020-11-06 12:11:18 -08:00
Chris Svenningsen
53c89aa40f Send @mentions 2020-11-04 13:03:13 -06:00
Evan Hahn
8bfaf598af Add license headers across the project 2020-11-04 13:03:13 -06:00
Evan Hahn
decc93532b Hide call buttons when on call 2020-11-04 13:03:13 -06:00
Chris Svenningsen
c408072576 Mark conversation as unread
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:03:10 -06:00
Evan Hahn
184f7e1bf3 Remove ESLint no-continue rule 2020-11-04 13:00:41 -06:00
Josh Perez
928bfcc221 Recent Media list: Round file sizes 2020-11-04 13:00:40 -06:00
Josh Perez
de45db255c Improve context menus 2020-11-04 13:00:40 -06:00
Scott Nonnenberg
8eea20ea91
Reliability fixes for conversation formatting and message send 2020-10-28 14:54:33 -07:00
Scott Nonnenberg
04b7a29229 Modern profile sharing in 1:1 and GroupV1 groups 2020-10-26 15:48:44 -07:00
Chris Svenningsen
492bb283ee A few Delete For Everyone fixes
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
b914b59969 Disable obsolete feature flags 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
d51a0b5ece GroupsV2: Better group invite behavior 2020-10-12 18:10:08 -04:00
Sidney Keese
c3ddedfde1 Reactions: skin tone support 2020-10-12 18:10:08 -04:00
Chris Svenningsen
6a7d45b6fc Pinned Chats 2020-10-12 18:10:08 -04:00
Sidney Keese
866217a724 Delete For Everyone Send
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:08 -04:00
Evan Hahn
3ca547f3dd Only fuzzy linkify TLDs in place in 2010 2020-10-12 18:10:08 -04:00
Evan Hahn
313faab774 Outbound link previews 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
6b3d5c19b3 GroupV2: Show better strings for 'added but previously invited' cases 2020-10-12 18:10:07 -04:00
Scott Nonnenberg
d39ede068a Two small bugfixes 2020-10-12 18:10:07 -04:00
Chris Svenningsen
b5df9b4067 Migrate messages, conversations, conversation_view, background to TS
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:07 -04:00
Josh Perez
2d5292b2f3 Render quoted mentions as text 2020-09-21 15:42:51 -04:00
Sidney Keese
2ade4acd52 Migrate util, types, state, sticker-creator to ESLint 2020-09-21 15:42:51 -04:00
Chris Svenningsen
372aa44e49 Migrate conversations to ESLint 2020-09-21 15:42:51 -04:00
Josh Perez
9657c38987 @mentions receive support 2020-09-21 15:42:37 -04:00
Scott Nonnenberg
7a02cc815d Support for new GroupV2 groups 2020-09-09 17:34:57 -07:00
Chris Svenningsen
8a2c17f65f Apply new ESLint rules to legacy code 2020-09-09 17:34:57 -07:00
Scott Nonnenberg
91cf075697 ProfileChangeNotification: Ensure emoji are rendered properly 2020-09-09 17:34:57 -07:00
Josh Perez
aeff7540c8 Calling type improvements 2020-09-04 14:41:07 -05:00
Josh Perez
9eeb68a9a7 Blocking/Unblocking improvements for message requests 2020-09-01 17:11:16 -04:00
Josh Perez
bb7d9cec7e Message Requests: Swap Unblock/Delete buttons to match mobile apps 2020-09-01 17:11:16 -04:00
Evan Hahn
2e1e6e847a Widen the set of link previews which can be received 2020-09-01 17:10:18 -04:00
Josh Perez
84e52c948b Mute conversations 2020-08-28 15:42:25 -04:00
Chris Svenningsen
bcd4f6407f Migrate MessageDetail to Storybook 2020-08-28 15:42:25 -04:00
Chris Svenningsen
a7de10f628 Delete unused Quote.md 2020-08-28 15:42:25 -04:00
Chris Svenningsen
cb367bfdb4 Migrate Quote to Storybook 2020-08-28 15:42:25 -04:00
Chris Svenningsen
b9c5e7bf1d Migrate Message to Storybook 2020-08-28 15:42:25 -04:00
Chris Svenningsen
0051253125 Migrate MessageBody to Storybook 2020-08-28 15:42:25 -04:00
Sidney Keese
b3a54870b8 Migrate ScrollDownButton to Storybook
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-08-28 15:42:24 -04:00
Sidney Keese
15c7e9bf72 Migrate Timestamp to Storybook
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-08-28 15:42:24 -04:00
Sidney Keese
ac0ddf34ea Migrate StagedXXX components to Storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
1894ff0dc1 Migrate Timeline, TimelineLoadingRow to storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
45b9bbc837 Migrate Typing/Unsupported/Verification components to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
58844f92ab Migrate ImageGrid to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
7098c8b393 Migrate Image to Storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
de72a2f6c6 Migrate SafetyNumberNotification to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
7b75f8bb2e Migrate ReactionViewer to Storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
fba8f7bf1e Migrate TimerNotification to storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
252c101e06 Migrate AttachmentSection to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
812b1c5b21 Migrate ResetSessionNotification to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
58db34c5e8 Migrate LastSeenIndicator to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
15e817c3e2 Migrate Linkify to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
0e79f83a42 Migrate EmbeddedContact to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
db1f4d107f Migrate Emojify to Storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
88dce16b32 Migrate MediaGridItem to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
ac28f9f13c Migrate ExpireTimer to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
6494818f76 Migrate ContactDetail to Storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
b112666239 Migrate MediaGallery to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
67d2dd07c3 Migrate AttachmentList to Storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
3416818e01 Migrate DocumentListItem to Storybook 2020-08-28 15:42:24 -04:00
Sidney Keese
8975b3473c Migrate EmptyState to Storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
2cd187abaf Migrate AddNewLines to Storybook 2020-08-28 15:42:24 -04:00
Evan Hahn
aa43f322b3
Remove scrollbar from author title in quotes 2020-08-13 15:21:05 -07:00
Chris Svenningsen
d3d3c41f94
Convert <Avatar /> component to Storybook
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
Co-authored-by: Sidney Keese <me@sidke.com>
2020-08-13 13:53:45 -07:00
Scott Nonnenberg
eb44e2fc6a
Calling: Show call event summaries in left pane 2020-08-12 19:52:34 -04:00
Evan Hahn
a8090d8c66
A few CSS fixes for message bubbles 2020-08-12 15:47:20 -07:00
Josh Perez
6a68b37c83
New message state: Partially sent 2020-08-06 18:22:52 -07:00
Scott Nonnenberg
81cb7730a5
Message Requests improvements 2020-08-06 20:50:54 -04:00
Scott Nonnenberg
57308d3104
Fixes several bugs 2020-08-04 21:13:19 -04:00
Scott Nonnenberg
d75eee015f Show notifications when a user's profile name changes 2020-07-30 13:27:44 -07:00
Scott Nonnenberg
d07b8e82b2 First-class profile name rendering 2020-07-30 13:27:41 -07:00
Peter Thatcher
d3a27a6442 Calling support 2020-07-30 13:08:47 -07:00
Ken Powers
83574eb067 Message Requests 2020-07-30 13:08:44 -07:00
Jan Janik
fd6358ac9d
GroupNotification: Fix 'joined group' pluralization (#4380) 2020-06-25 15:36:24 -07:00
Scott Nonnenberg
6aedb30905 getPropsForSearchResult: Harden to missing conversation 2020-06-23 17:31:21 -07:00
Scott Nonnenberg
205ee6c6ac
GroupNotification: Use singular string when we have just one contact 2020-06-11 13:32:21 -04:00
Nat Talbot
66aa6f142a
Avatar color on ReactionViewer is now Contact Color, not Grey (#4325)
Fixes #4167. A user's avatar, if they do not have a profile picure,
now shows up with their assigned color rather than as grey in the
reactionviewer.

Changed the ReactionViewer from field to make the
color a ColorType rather than a string, and passed that to the color prop
of the Avatar rendered in the viewer.
2020-06-10 14:48:26 -07:00
Scott Nonnenberg
56470d8374 View All Media -> View Recent Media 2020-06-10 14:39:45 -07:00
Ken Powers
480e1808ba Enable React with any Emoji 2020-06-10 14:39:45 -07:00
Ken Powers
0865a5481c Pre-alpha: React with any emoji, behind flag 2020-05-05 14:18:46 -07:00
Ken Powers
ba5e2ff6e5 Receive support for DOE messages 2020-04-29 17:42:41 -07:00
Ken Powers
980862768b Linkify URLs containing @ 2020-04-29 17:42:41 -07:00
Ken Powers
2f2d027161 Port StickerPreviewModal to storybook 2020-04-15 14:45:11 -07:00
Scott Nonnenberg
71436d18e2 Include sender in group update notifications 2020-04-15 14:44:46 -07:00
Scott Nonnenberg
30e5051239 Eliminate clipped error icon for wide messages with errors 2020-03-25 16:47:42 -07:00
Ken Powers
17f212ffcf CompositionInput: Fix high CPU usage 2020-03-24 17:03:22 -07:00
Josh Perez
4830213a12 Sort by inbox position to match phone after link 2020-03-24 17:02:01 -07:00
Ken Powers
faa2b13026
Reactions: Go directly to all tab, show 'You' for current user 2020-03-03 14:33:54 -08:00
Ken Powers
4d4c522c7f
Emojify group title updates 2020-02-28 11:11:15 -08:00
Ken Powers
101070bf42
Prevent replies/reactions on messages with errors 2020-02-07 15:13:46 -08:00
Ken Powers
38c7fa3da6
Storybook: Basic messages and messages with reactions 2020-02-07 11:07:22 -08:00
Ken Powers
c9292544aa
Show clicked-on reaction in ReactionViewer 2020-02-06 11:57:46 -08:00
Ken Powers
6a9d8b86d8
Add "all" tab to ReactionViewer 2020-02-05 15:14:25 -08:00
Ken Powers
c6a23ff4f6
Remove "you" qualifier from ReactionViewer and ContactName 2020-02-05 14:28:54 -08:00
Scott Nonnenberg
22a53153f8 ContactName: Fix case in import 2020-02-03 12:53:59 -08:00
Ken Powers
539c02cb92 Remove reaction send flag 2020-02-03 12:05:21 -08:00
Ken Powers
01d4aa0772
Update to new message bubble reactions design 2020-02-03 12:02:49 -08:00
Ken Powers
7461250caf
Indicate when reaction is from the current user 2020-01-29 13:58:50 -08:00
Ken Powers
04d0a3c523 ReactionViewer: Handle an entirely removed category 2020-01-24 14:54:57 -08:00
Ken Powers
153503efc5 Send Reactions 2020-01-23 15:57:37 -08:00
Ken Powers
1b975bec65 Stop propagation in ReactionViewer 2020-01-23 11:59:29 -08:00
Scott Nonnenberg
bfa76b05d2 No propagate, fix 'attachment save' cancel
* Quote: Ensure that clicks don't propagate to parent
* Attachment Save: Check for null; returned if user cancels out
2020-01-22 14:34:36 -05:00
Ken Powers
6cc0f2abce Render incoming Reactions 2020-01-17 14:23:19 -08:00
Scott Nonnenberg
4f50c0b093 Use 1x icon in View-once bubbles, explanatory expired toasts 2020-01-10 11:29:51 -05:00
Scott Nonnenberg
744d1b5295 Message bubble: Larger stickers; handle non-square aspect ratios
* Sticker picker: Handle non-square stickers
* Message bubble: Larger stickers; handle non-square aspect ratios
2020-01-09 14:27:49 -05:00
Ken Powers
0d3b390129 Upgrade Prettier 2020-01-08 09:44:54 -08:00
Scott Nonnenberg
2c7baad68d macOS shortcuts: Only listen for command key, not control key 2019-12-17 13:52:36 -05:00
Scott Nonnenberg
e9f08c3da9 Bugfixes for v1.29
* If focus was set to document.body during archive, focus left pane
* Shortcut Guide: Add space between text and shortcut highlight
* Ensure that draft attachment can be closed with click on X button
* Move to keyDown event for user idle checking
* Additional resiliency around avatars; check for them on on-disk
* Increase timeouts to preserve websocket connection
* On startup, be resilient to malformed JSON in log files
* Don't crash if shell.openExternal returns an error
* Whenever we request a contact/group sync, also request block list
* Avatar popup: Ensure styling is mouse- and keyboard-appropriate
* MainHeader: Create popperRoot on demand, not on mount
* CompositionInput: Disable default Ctrl-/ shortcut
* Update libphonenumber
2019-12-03 15:02:50 -05:00
Scott Nonnenberg
2a0a73cfc1 Keyboard/mouse mode and keyboard support bugfixes 2019-11-21 14:16:06 -05:00
Scott Nonnenberg
0876bf7ae7 Visual bug fixes for v1.29 2019-11-21 10:17:55 -08:00
Scott Nonnenberg
5750412fda Hover/focus styles for embedded contacts, default action 2019-11-15 14:34:24 -08:00
Scott Nonnenberg
79b9408f1f Message: Only focus if focus is not inside container already 2019-11-15 14:34:24 -08:00
Scott Nonnenberg
20a892247f Keyboard shortcuts and accessibility 2019-11-13 16:53:42 -08:00
Scott Nonnenberg
8590a047c7 Change domain for sharing sticker packs 2019-11-13 19:12:36 -05:00
Scott Nonnenberg
c81c25bb85 Update colors, icons, and fonts 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
5c00b89600 Support for receiving View Once Video 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
1984ffc94c Timeline: Add role='row' to each element item rendered 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
0e25b405e1 Timeline: Increase 'at bottom' threshold so we stick to bottom 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
8fe73fa884 Timeline: Only call setIsNearBottom if value has changed 2019-09-03 16:06:17 -04:00
Scott Nonnenberg
979841f36c Optimize scrolling: resize only changed row index and higher 2019-08-23 15:56:49 -04:00
Scott Nonnenberg
b19659f5ac Address beta feedback
* Use signal blue for search box focus outline
* Reduce debounce for draft saves
* Be less aggressive in our scrolling corrections
* Lightbox: Ensure that a tall image is still fully visible
* Fix spell checking after Electron API breaking changes
* Fix link preview image generation
* Message highlight: Move to border in signal blue
2019-08-22 17:11:36 -04:00
Scott Nonnenberg
90c2a97aa7 Address alpha feedback 2019-08-21 14:55:18 -07:00
Scott Nonnenberg
0b0214cbf9 Some fixes for windowed render 2019-08-21 14:55:12 -07:00
Scott Nonnenberg
c39d5a811a Full-text search within conversation 2019-08-21 14:52:30 -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
7f958b0ff0 Lint fixes 2019-08-05 16:23:47 -07:00
Ken Powers
6c0365a770 One emoji image set for picker, composition, message bubble 2019-07-25 09:28:44 -07:00
Ken Powers
464361b2eb Animate in-conversation panels on show/hide 2019-07-25 09:24:03 -07:00
Ken Powers
7b645011c2 New composition area with emoji typeahead 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
Ken Powers
dcf6a5f59c Use individual images in emoji picker rather than a spritesheet 2019-06-17 11:46:42 -07: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
020d78e62b Remove borders from link preview small thumbnails 2019-05-30 12:43:18 -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
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
sha-265
3e16ea7b32 Add RTL support for author name in quote (#2594) 2019-04-08 10:22:52 -07:00
Scott Nonnenberg
c1b680eeb4 Skip URLs that include the @ symbol when generating links
Thanks to mcsim for the bug report.
2019-03-20 13:53:54 -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
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
ae2db9f09a Improve handling for URLs composed of mixed character sets 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
9c540ab977 Add cache support to Signal Protocol Store 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
813924685e Link Previews 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
51f1ef5725 Don't linkify quoted message contents 2019-01-29 13:53:14 -08:00
Scott Nonnenberg
0de54e125c Improve caption editor usability, new 'add attachment' affordance 2019-01-15 10:51:49 -08:00
Scott Nonnenberg
cba47668cd Increase contrast of typing indicator in iOS theme 2019-01-14 17:40:31 -08:00
Scott Nonnenberg
aab2a57b48 Some style and interaction fine-tuning 2019-01-14 17:40:31 -08:00
Scott Nonnenberg
a900792a06 Use thumbnails for smaller cells in image grids 2019-01-14 17:36:25 -08:00
Scott Nonnenberg
ba711d8985 Show just first image if we receive mixed multi-attachment msg 2019-01-14 17:36:25 -08:00
Scott Nonnenberg
52d3138958 Caption editor: add keyboard interaction, disable for single img 2019-01-14 17:36:25 -08:00
Scott Nonnenberg
6eb8f5680c Preserve links with embedded emoji 2019-01-04 12:25:48 -08:00
Scott Nonnenberg
985b1d6aa6 New staged attachments UI, multiple image attachments per message 2019-01-04 12:21:26 -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
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
fbaef50c4a Android theme: Incoming quotes take color from containing message 2018-10-18 11:57:10 -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
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
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
8b92e6112c Add dir='auto' to Message and Quote body for RTL languages 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
4fa6a785f4 Remove unused code 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