Commit graph

135 commits

Author SHA1 Message Date
Evan Hahn
80e445389f
Fix marking tall messages read 2022-03-09 12:05:07 -08:00
Evan Hahn
fd72385b9f
<Timeline> only needs whether someone is typing, not who 2022-03-09 13:15:15 -06:00
Evan Hahn
0b5e2e6768
Simplify positioning of timeline warnings 2022-03-09 12:47:13 -06:00
Evan Hahn
4b6b9cce01
Fix timeline not scrolling to bottom reliably 2022-03-08 13:54:27 -08:00
Evan Hahn
944d60f40b
On conversation open, scroll to unread indicator if present 2022-03-08 14:05:05 -06:00
Josh Perez
4e48d7792b
Use a hook for the ever-updating now 2022-03-08 13:11:11 -06:00
Evan Hahn
c527de0a8d
Collapse message bubbles when applicable 2022-03-08 08:32:42 -06:00
Scott Nonnenberg
0a52318be6
Delete for everyone: Track sends and show failure states 2022-03-04 11:22:31 -08:00
Evan Hahn
0c31ad25ef
Remove React Virtualized from <Timeline> 2022-03-03 14:23:10 -06:00
Evan Hahn
052a8e65e2
Add "clean up timer if necessary" utility 2022-02-25 10:37:15 -08:00
Evan Hahn
b96c7e90fe
Remove <Timeline> logging when row count is 0 2022-02-22 14:32:47 -06:00
Evan Hahn
48137a498c
Timeline: Add alternate height measurement cache 2022-02-11 16:28:28 -06:00
Evan Hahn
7ff0aeacb8
Log if <Timeline> row count is 0 2022-02-10 13:35:05 -06:00
Evan Hahn
4e707c1b9a
Remove duplicated react-virtualized type 2022-02-10 12:59:09 -06:00
Evan Hahn
f5a4cd9ce8
Peek group calls when opening conversations and leaving calls 2022-02-08 13:18:51 -06:00
Evan Hahn
45393b1ca5
Fix timeline crash when deleting the oldest visible message 2022-02-07 10:54:15 -08:00
Evan Hahn
bd41bdf3cb
Tweaks to floating date header fading 2022-01-28 12:31:20 -06:00
Evan Hahn
babd61377b
Remove floating date header remote config flags 2022-01-27 13:50:01 -08:00
Evan Hahn
8fa4cd68d5
Fix timeline item sizing bug, and test timeline logic 2022-01-27 12:10:24 -08:00
Evan Hahn
f9440bf594
Timeline date headers 2022-01-26 17:05:26 -06:00
Evan Hahn
770c80b9ee
Remove several @ts-ignores 2021-12-16 17:14:21 -08:00
Fedor Indutny
518ebc315e
Ensure that message heights are always recomputed 2021-11-30 20:34:56 +01:00
Scott Nonnenberg
563f016245
When you send a message, scroll it into view 2021-11-30 12:25:24 +01:00
Evan Hahn
a7ca634e87
Show badges in contact spoofing dialog 2021-11-30 11:07:24 +01:00
Fedor Indutny
a52530262f
Revert "When you send a message, scroll it into view"
This reverts commit a3525c16ef.
2021-11-23 14:09:07 +01:00
Evan Hahn
e490d91cc4
Add badges to avatars in group dialogs 2021-11-20 09:41:21 -06:00
Scott Nonnenberg
a3525c16ef
When you send a message, scroll it into view 2021-11-19 09:19:55 -08:00
Evan Hahn
f4e336836f
Add user badges to typing bubbles, refactor typing logic 2021-11-15 21:01:58 +01:00
Evan Hahn
ede34ecee3
Enable noImplicitOverride TypeScript compiler option 2021-11-12 15:44:20 -08:00
Evan Hahn
4490d9f2d0
Upgrade Reselect to 4.1.2
Co-authored-by: Fedor Indutnyy <indutny@signal.org>
2021-11-12 16:37:44 -06:00
Scott Nonnenberg
edab7c7d83
Remember message Read More state when scrolling in virtualized container 2021-11-11 15:45:47 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Scott Nonnenberg
5bd7eda124
Scroll to bottom of conversation on message send 2021-11-02 19:00:54 -07:00
Fedor Indutny
254c87a1ac
Fix row height recomputation in Timeline 2021-11-02 16:42:35 -07:00
Fedor Indutny
63fcdbe787
Use UUIDs in group database schema 2021-10-26 15:59:08 -07:00
Evan Hahn
74fde10ff5
Prefer import type when importing types 2021-10-26 14:15:33 -05:00
Evan Hahn
35a54cdc02
Introduce a new design for the left pane 2021-10-12 16:59:08 -07:00
Evan Hahn
e346fb1f90
Persist overlay overflow in conversation list 2021-10-07 10:24:10 -05:00
Josh Perez
5fdfa1c632
ConversationView in React 2021-10-05 09:47:06 -07:00
Fedor Indutny
2f7226e200
Remove key caching from Timeline 2021-09-28 11:32:54 -07:00
Fedor Indutny
c19a801b89
Use consistent check for timeline height recomputation 2021-09-20 14:19:55 -05:00
Josh Perez
277992a468
Make scrollbar overlay content in left pane 2021-09-17 14:03:18 -07:00
Evan Hahn
9ff1c1e50d
Recompute hero row size when it appears 2021-09-16 14:47:08 -07:00
Evan Hahn
fda21edd23
Remove unnecessary disables of consistent-return lint rule 2021-09-16 15:25:55 -05: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
Evan Hahn
70d059beeb
Keep reaction poppers visible at all times 2021-08-20 14:36:27 -05: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
Fedor Indutny
12c78c742f
Optimize rendering 2021-08-11 09:23:21 -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
Fedor Indutny
2cd4160422
Unify audio playback under App component 2021-06-29 12:58:29 -07:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -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
36c15fead4
Group name spoofing warning 2021-06-01 16:30:25 -07:00
Evan Hahn
d4dc9b8e39 Message Requests: Add new "Report spam and block" button 2021-05-27 13:37:58 -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
Scott Nonnenberg
cf1eb77ed8
Message Requests: Always open to top of conversation 2021-04-30 15:59:37 -07:00
Evan Hahn
05703c2719
Blur avatars of unapproved conversations 2021-04-30 14:40:25 -05:00
Evan Hahn
e7ef3de6d0 Profile name spoofing dialog 2021-04-29 14:27:35 -07:00
Josh Perez
d5f2492ce5 Fine tune the conversation load experience 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
Evan Hahn
5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -04:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups 2020-12-01 10:42:35 -06:00
Evan Hahn
8bfaf598af Add license headers across the project 2020-11-04 13:03:13 -06:00
Evan Hahn
184f7e1bf3 Remove ESLint no-continue rule 2020-11-04 13:00:41 -06:00
Chris Svenningsen
372aa44e49 Migrate conversations to ESLint 2020-09-21 15:42:51 -04:00
Sidney Keese
1894ff0dc1 Migrate Timeline, TimelineLoadingRow to storybook 2020-08-28 15:42:24 -04:00
Scott Nonnenberg
81cb7730a5
Message Requests improvements 2020-08-06 20:50:54 -04:00
Ken Powers
83574eb067 Message Requests 2020-07-30 13:08:44 -07:00
Ken Powers
6cc0f2abce Render incoming Reactions 2020-01-17 14:23:19 -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
20a892247f Keyboard shortcuts and accessibility 2019-11-13 16:53:42 -08: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
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
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
c41bc53614 Refactor messages model; New timeline react components 2019-05-16 15:23:21 -07:00