Commit graph

101 commits

Author SHA1 Message Date
Samuel Newman
3d4b390a8a
Only enable keyboard controller when necessary (#4483)
* Only enable keyboard controller when necessary

* make it screen only

* rm keyboard padding

* rm keyboardpadding file

* revert using keyboard controller in composer

* remove styles.outer (unnecessary for revert)

* continue to use keyboard padding in the report dialog for dms

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-06-11 12:50:56 -07:00
Eric Bailey
de93e8de74
[🐴] Post embeds polish (#4339)
* Handle message cleanup

* Handle last message in chat list

* Memoize lastMessage
2024-06-04 02:07:01 +01:00
Eric Bailey
de257a1186
Revert "[🐴] Embed backwards compat (#4302)" (#4338)
This reverts commit f868821cfc.
2024-06-03 17:05:14 -05:00
Eric Bailey
f868821cfc
[🐴] Embed backwards compat (#4302) 2024-05-31 12:56:06 -05:00
Samuel Newman
cd3b502b34
[🐴] Option to share via chat in post dropdown (#4231)
* add send via chat button to post dropdown

(cherry picked from commit d8458c0bc344f993266f7bc7e325d47e40619648)

* let usePostQuery take uris with DIDs

(cherry picked from commit 16b577ce749fd07e1d5f8461e8ca71c5b874a936)

* add embed preview in composer

(cherry picked from commit 795ceb98d55b6a3ab5b83187a582f9656d71db69)

* rm log

(cherry picked from commit 374d6b8869459f08d8442a3a47d67149e8d9ddd4)

* remove params properly, or at least as close to

(cherry picked from commit c20e0062c2ca4d9c2b28324eee5e713a1a3ab251)

* show images in preview

(cherry picked from commit 5bb617a3ce00f67bfc79784b2f81ef8dcb5bfc25)

* Register embed immediately

(cherry picked from commit ee120d5438a2c91c8980288665576d6a29b4c7e7)

* Add hover to match embeds

(cherry picked from commit 5297a5b06e499f46a9f6da510124610005db2448)

* Update post dropdown copy

(cherry picked from commit bc7e9f6a4303926a53c5c889f1f1b136faf20491)

* Embed preview style tweaks

(cherry picked from commit 9e3ccb0f25ac2f3ce6af538bb29112a3e96e01b1)

* use hydrated posts from API and just use postembed component

(cherry picked from commit cc0b84db87ca812d76cc69f46170ae84cfdde4ef)

* fix type error

(cherry picked from commit 9c49b940e1248e8a7c3b64190c5cb20750043619)

* undo needless export

(cherry picked from commit 1186701c997c50c0b29a809637cb9bc061b8c0a0)

* fix overflow

(cherry picked from commit 8868d5075062d0199c8ef6946fabde27e46ea378)

---------

Co-authored-by: Eric Bailey <git@esb.lol>
2024-05-31 11:10:00 -05:00
Samuel Newman
8eb3cebb36
[🐴] send record via link in text (Record DMs - base PR) (#4227)
* send record via link in text

* re-trim text after removing link
2024-05-31 10:41:06 -05:00
Hailey
9628070e52
add prop to ListImpl for disabling content-visibility style (#4236)
* add prop to `ListImpl` for `content-visibility` style

* change to `disableContentVisibility`

* lint

* tweaks

* Keep the fix more general

* Clarify ambiguity

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-05-30 04:09:24 +01:00
dan
9bd411c151
Replace getAgent() with reading agent (#4243)
* Replace getAgent() with agent

* Replace {agent} with agent
2024-05-28 16:37:51 +01:00
Hailey
85782aeb93
[🐴] Don't submit the message on return press when on a phone (web input) (#4203)
move this to the `onKeyDown` prop

Revert "do the same for tablets"

This reverts commit 47c709e2734f2acf34f89dd5aca42a75a2b56270.

do the same for tablets

don't submit message if the device is a phone on web

move `onTouchStart` to `browser.ts` globals
2024-05-23 19:45:50 -07:00
Hailey
5c2e99e3e6
[🐴] Fix Firefox send button positioning (#4201)
* use `align_center`

* revert

* account for firefox textarea size differences

set to `38`

remove some extra stuff

equal height on all platforms

* use atom
2024-05-23 13:08:12 -07:00
Hailey
9900d32904
Decrease thickness of border on message input (#4196) 2024-05-23 10:17:50 -07:00
Hailey
d051614342
implement a safari hack for ime (#4186)
remove debug logs

use a better hack

implement a safari hack

extract `isSafari` and `isFirefox` to a global variable
2024-05-23 16:45:24 +01:00
Hailey
69f4684859
Handle zero bottom inset on iOS (#4184)
* set message padding to a minimum of 60 and max of 70

* adjust range
2024-05-22 19:44:37 -07:00
Hailey
cbfb69dd15
[🐴] Support Japanese (et al.) IME in message input on web (#4159)
* support japanese et al. IME

* update comment

* nit
2024-05-21 13:37:16 -07:00
Eric Bailey
8be65a8790
Add convoId as key to Convo wrapper (#4140) 2024-05-20 21:59:55 -05:00
Hailey
a7c2370680
[🐴] set layout height in onLayout (#4135)
* set layout height in `onLayout`

* keep setting it in `onScroll` too
2024-05-20 18:03:53 -07:00
Samuel Newman
4a7436886d
remove DMs gate (#4112) 2024-05-20 19:29:22 -05:00
Eric Bailey
a7b0242cc8
[🐴] Empty chat prompt (#4132)
* Add empty chat pill

* Tweak padding

* move to `components`, place inside `KeyboardStickyView`

* cleanup unused vars

* add a new animation type

* (unrelated) add haptic to long press

* adjust shrink and pop

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-05-20 16:56:44 -07:00
Eric Bailey
6dde487563
[🐴] Prevent flash upon first message (#4133)
* Prevent flash upon first message

* set `hasScrolled` to true when sending a message if it isn't already true

* revert other change

* lint

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-05-20 16:29:16 -07:00
Hailey
516eb69637
[🐴] Add new chat metrics (#4130)
* remove a comment

* add types for event, add log to profile button

* add `chat:open`

* add to chat list items

* fix types

* oops

* oops 2.0
2024-05-20 15:26:05 -07:00
Eric Bailey
e98bf6521b
[🐴 Tweak appeal button styles (#4128)
* Tweak styles

* Tweak copy
2024-05-20 16:41:03 -05:00
Samuel Newman
d3d2dc8ad4
[🐴] Appeal form for disabled DMs (#4126)
* add appeal dialog

* use useMutation for the labels on me dialog

* replace text button with small button
2024-05-20 22:23:36 +01:00
Hailey
52a885ad19
[🐴] Make message input layout resizing synchronous (#4123)
* make input resizing synchronous

* remove a log

* make scroll enable/disable sync

* lint

* start as undefined
2024-05-20 13:01:21 -07:00
Hailey
994af1454f
[🐴] Adjust content height whenever the emoji picker keyboard is opened or closed (#4120)
* properly resize whenever the emoji keyboard is opened

* properly resize whenever the emoji keyboard is opened
2024-05-20 12:53:15 -07:00
Eric Bailey
f52db843ad
[🐴] Fix load state for disabled chats (#4119) 2024-05-20 12:17:26 -07:00
Hailey
52beb29a0d
[🐴] Fully implement keyboard controller (#4106)
* Revert "[🐴] Ensure keyboard gets dismissed when leaving screen (#4104)"

This reverts commit 3ca671d9aa.

* getting somewhere

* remove some now nuneeded code

* fully implement keyboard controller

* onStartReached check

* fix new messages pill alignment

* scroll to end on press

* simplify pill scroll logic

* update comment

* adjust logic on when to hide the pill

* fix backgrounding jank

* improve look of deleting messages

* add double tap on messages

* better onStartReached logic

* nit

* add hit slop to the gesture

* better gestures for press and hold

* nits
2024-05-19 19:25:49 -07:00
Samuel Newman
cb7ce1d22e
disable min shell on convo screen (#4103) 2024-05-19 02:14:04 +01:00
Hailey
1ac13abf4d
[🐴] Minor nits (#4102)
* set a better size for `initialNumToRender`

* memo list items

* scroll to end on both platforms

* rev
2024-05-18 16:45:46 -07:00
Hailey
5343910570
[🐴] 🤞 This should be the final message list change - Use dispatchCommand so we don't need to know the content height (#4090)
* handle keyboard scroll more elegantly

simplify

missing `runOnUI`

better naming to avoid confusion

nit

remove unused function

use `dispatchCommand` in `onContentSizeChanged` as well

use `dispatchCommand` so we don't need to know the content height

remove `isMomentumScrolling`

* better timing

* nit

* another nit

* handle message input resizes better too

* account for other size changes like emoji keyboard opening

* one last nit

* just adding comments

* account for dragging

* make it easier to read

* add a comment

* 🤦‍♀️

* remove a little bit of that padding at the top
2024-05-18 12:29:23 -07:00
Eric Bailey
49314e2d1f
[🐴] Mod disabled (#4089)
* Handle send failures

* Add chat disabled state
2024-05-17 16:05:21 -07:00
Hailey
d02e0884c4
[🐴] Block Info (#4068)
* get the damn thing in there 😮‍💨

* more cleanup and little fixes

another nit

nit

small annoyance

add a comment

only use `scrollTo` when necessary

remove now unnecessary styles

* move padding out

* add unblock function

* rm need for moderationpts

* ?

* ??

* extract leaveconvoprompt

* move `setHasScrolled` to `onContentSizeChanged`

* account for block footer

* wrap up

nit

make sure recipient is loaded before showing

refactor to hide chat input

typo squigglie

add report dialog

finalize delete

implement custom animation

add configurable replace animation

add leave convo to block options

* correct functionality for report

* moev component to another file

* maybe...

* fix chat item

* improve

* remove unused gtmobile

* nit

* more cleanup

* more cleanup

* fix merge

* fix header

* few more changes

* nit

* remove old
2024-05-17 16:21:15 -05:00
Samuel Newman
115041f4bf
[🐴] Reduce header size (#4078)
* make text input container smaller

* make header much smaller

* improve web styling
2024-05-17 14:17:59 -05:00
Hailey
dd4c8d8e4f
[🐴] Additional tweaks to the message list (#4075)
* more cleanup and little fixes

another nit

nit

small annoyance

add a comment

only use `scrollTo` when necessary

remove now unnecessary styles

* move `setHasScrolled` to `onContentSizeChanged`

* account for block footer
2024-05-17 08:21:35 -07:00
Hailey
808511617d
[🐴] 60 FPS Keyboard (#4066)
* use `scrollTo`

* let the animated reaction handle keyboard scroll

* no need for `requestAnimationFrame` now

* 'worklet'

* nit

* fixes

* more nits

* bool check
2024-05-16 17:12:41 -07:00
Hailey
a84a14d084
[🐴] Input hover and focus styles (#4064)
* styles for native input

* web focus/hover

* nit
2024-05-16 14:23:02 -07:00
Eric Bailey
0c6af4fc6e
Fix error styles (#4063) 2024-05-16 16:16:28 -05:00
Eric Bailey
4bceabc21c
[🐴] Error recovery (#4036)
* Handle block state when sending messages

* Handle different pending failures

* Use existing profile data to handle blocks

* Better cleanup, leave room for more

* Attempt recover upon next send

* Reset pending failure

* Capture unexpected error

* Gracefully handle network errors and recovery

* Re-align error components and types

* Include history fetching in recoverable states
2024-05-16 14:01:39 -05:00
Hailey
ef0ce951e7
[🐴] Only scroll down one "screen" in height when foregrounding (#4027)
* maintain position after foreground

* one possibility

* don't overscroll when content size changes.

* ignore the rule on 1 item

* fix

* [🐴] Pill for additional unreads when coming from background (#4043)

* create a pill with some animatons

* add some basic styles to the pill

* make the animations reusable

* bit better styling

* rm logs

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>

* import

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2024-05-16 10:40:12 -07:00
Hailey
b15b49a48f
[🐴] Remove keyboard controller lib (#4038)
* remove library

* implement using just reanimated

* always return false for `keyboardIsOpening` on web

* undo comment

* handle input focus scroll more elegantly

* add back minimal shell toggle on mobile web

* adjust initialnumtorender

* oops

* nit
2024-05-16 09:32:10 -07:00
Hailey
d639c40e17
[🐴] Tweak padding of web input (#4033)
* tweak more

* nit
2024-05-16 08:52:53 -07:00
Hailey
400c269330
[🐴] Copy tweaks (#4042)
* `notifications` -> `conversation`

* `users` -> `people`

* `other participants` -> `the other participant`

* rename
2024-05-16 08:37:04 -07:00
Hailey
b635d000b5
[🐴] Disable hover card when blocked or blocking (#4041) 2024-05-16 08:17:34 -07:00
Hailey
9499d4343d
[🐴] A few tweaks to message input on native (#4035)
* tweaks

* only apply the padding on ios

* use a hitslop of 10 instead

* version bump
2024-05-16 08:09:14 -07:00
Hailey
31868b255f
[🐴] Tweak list on mobile web (#3958)
* mobile web tweaks chat screen

* revert a change

* remove unnecessary prop

* Spacing tweaks

---------

Co-authored-by: Eric Bailey <git@esb.lol>
2024-05-15 09:50:16 -07:00
Eric Bailey
04aea93192
[🐴] Better retry styling (#4032)
* Pass whole object to MessageItem for clarity

* Add retry to pending-message

* Style send failure, retry

* Group pending messages

* Remove todos

* Fix types with fake message
2024-05-15 11:45:18 -05:00
Eric Bailey
6efe90a5f5
[🐴] Block states, read only (#4022)
* Refactor ChatListItem for mod state

* Refactor Conversation Header for mod state

* Invalidate query for list when blocking/unblocking

* Remove unused prop, restore border

* Add mutations, hook up profile shadow to list query, use shadow-aware query for convo (#4024)
2024-05-14 20:07:53 -05:00
Hailey
e1ed4a4429
[🐴] show deleted account for missing.invalid (#4014)
* show deleted account for `missing.invalid`

* sigh
2024-05-14 11:42:54 -07:00
Samuel Newman
9861494e34
[🐴] Message drafts (#3993)
* drafts

* don't throw if no convo ID

* Remove labs package

---------

Co-authored-by: Eric Bailey <git@esb.lol>
2024-05-14 18:55:43 +01:00
Eric Bailey
1c51a48764
[🐴] Make status checks easier, fix load state (#4010)
* Make status checks easier, fix load state

* Make naming more clear

* Split up types for easier re-use

* Replace hacky usage
2024-05-14 11:59:53 -05:00
Samuel Newman
5d92ac2ce3
dont send message if >1000 graphemes (#3995) 2024-05-13 22:36:56 +01:00