Commit Graph

2330 Commits

Author SHA1 Message Date
dan 1c2186bc03 Fix character count with intent (#6056) 2024-11-01 16:21:10 +00:00
dan 21b82fa19c Fixes for thread composer on Android (#6045)
* Extract function to read contentHeight later

* Remove autoscroll to bottom

We're going to implement this in the UI layer instead.

* Remove worklet from non-worklets to avoid confusion

* Rename and invert hasScrolled* variables

Their naming was too ambiguous (they used to represent "has scrolled _away_ from X"). I inverted them and clarified the naming. No functional changes.

* This should not be necessary

It's already called not just from UI thread. And it only sets shared values, which can be done from either thread.

* Make hasScrolledTo* derived values

It wasn't always correct to derive them manually because reading from .value is stale on JS thread. We could fix that by using the local variables but it makes more conceptualy sense to treat these as derived anyway.

* Reimplement autoscroll-to-bottom in UI layer

Doing it here ensures we also do it when you add an image at the end of the thread. Otherwise it's very confusing where it went.

* Use fancy ScrollView

This seems to fix ScrollView getting stuck after inserting images at the thread end on Android.

* More aggressive scroll-to-bottom

* "Fix" cursor getting stuck on Android

* Revert "Use fancy ScrollView"

This reverts commit 04e34a54e3b75f8a77de5062bff5fe6e76420bbb.
2024-11-01 03:47:53 +00:00
dan 7a08d61d88 Thread composer UI (#6050)
* Basic adding of posts

* Switch active post on focus

* Conditionally show plus button

* Insert posts midthread

* Track active/inactive post

* Delete posts in a thread

* Focus after deletion

* Tweak empty post detection

* Mix height for active only

* Move toolbar with post on web

* Fix footer positioning

* Post All button

* Fix reply to positioning

* Improve memoization

* Improve memoization for clearVideo

* Remove unnecessary argument

* Add some manual memoization to fix re-renders

* Scroll to bottom on add new

* Fix opacity on Android

* Add backdrop

* Fix videos

* Check alt for video too

* Clear pending publish on error

* Fork alt message by type

* Separate placeholder for next posts

* Limit hitslop to avoid clashes
2024-11-01 03:45:55 +00:00
dan 01c9ac0e13 Implement posting threads (#6049)
* Implement posting a thread

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

* Fix native build

* Remove dependency on web crypto API

* Fix unrelated TS error (wtf)

---------

Co-authored-by: Mary <148872143+mary-ext@users.noreply.github.com>
2024-11-01 03:42:38 +00:00
dan 4c31403330 Check video state for the entire thread (#5957)
* Switch to using post ID for post actions

* Pass post-bound dispatch to ComposerPost

* Check video state for entire thread

* Always bind post actions to an ID

* Rename variable for consistency

* Fix clashing keys
2024-11-01 03:37:30 +00:00
dan d85dcc3dd0 Explicitly mark lightbox worklets (#6038) 2024-10-31 17:34:33 +00:00
Eric Bailey 41452de165 Improve notification localization (#5550)
* Improve notification localization (#3911)

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update PostMeta.tsx

* Update RightNav.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* a11y

* Update FeedItem.tsx

* Update PostThreadItem.tsx

* Update PostThreadItem.tsx

* revert

* Update FeedItem.tsx

* Update FeedItem.tsx

* Update FeedItem.tsx

* Revert "Merge remote-tracking branch 'upstream/main' into Improve-notification-localization"

This reverts commit f435d1e7ed, reversing
changes made to dae2aee676.

* Reapply "Merge remote-tracking branch 'upstream/main' into Improve-notification-localization"

This reverts commit c93ac19048.

* Update ThreadgateBtn.tsx

* Rm import edits for now

* Cleanups

---------

Co-authored-by: Minseo Lee <itoupluk427@gmail.com>
2024-10-31 12:11:54 -05:00
dan 1e32327de0 Measure tapped image coordinates before opening lightbox (#6001)
* Measure image on press

* Pass dimensions to the lightbox component
2024-10-31 16:24:15 +00:00
dan a22685c345 Sort imports (#6009)
* Mark import sort/order/style rules as error

* npm run lint -- --fix
2024-10-29 23:02:48 +00:00
dan ba802eb0f2 Add subtle web hover to interactive rows (#5989)
* Add subtle web hover to interactive rows

* Adjust numbers

* Ignore touch devices
2024-10-29 21:42:37 +00:00
Samuel Newman c8f264b78b Settings revamp (#5745)
* start building storybook

* add title

* add some styles

* try out new icons

* more settings list component parts

* make text do the spacing

* clean up storybook

* gated new settings screen

* switch account

* add current profile

* use Layout.Screen

* Layout.Header and Layout.Content

* translate helpdesk text

thanks @surfdude29!

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* add account settings

* undo changes to export car dialog

* privacy and security screen

* Translate protect account stuff

Thanks @surfdude29!

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* content and media settings

* about settings

* 2fa copy

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* a11y and appearance

* use new components for appearance settings

* redesign accessibility settings

* Update ContentAndMediaSettings.tsx

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* add divider

* remove a11y and appearance middleman screen

* fix web settingslist styles

* new SettingsList.Group component

* explain how portal magic works

* hide pwioptout in old location

* Update Settings.tsx

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* replace gate with `IS_INTERNAL`

* add IS_INTERNAL to app-info.web

* fix profile area growing

* add close button to switch account

---------

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
2024-10-29 21:14:54 +00:00
dan ab492cd77a Show almost-instant preview when opening lightbox (#6000)
* Plumb thumbUri down to the lightbox

* Remove onLoad tracking from lightbox

* Hook up placeholder URI to the image

* Fix NaN causing crash on double tap while offline

* Protect against NaNs in the future
2024-10-29 21:00:28 +00:00
dan 339f45ccbb Refactor lightbox model to plain object (#5999)
* Refactor lightbox model to plain object

* Rename name to type
2024-10-29 20:58:38 +00:00
Samuel Newman 1cfcffd79e temp revert to old modal (#6005) 2024-10-29 20:55:30 +00:00
dan 27ff85433b Extend composer checks to all posts in a thread (#5955)
* Check all posts in a thread

* Use thread for more checks
2024-10-29 20:31:04 +00:00
dan 96ba6456e7 Remove indirection when rendering composer state (#5954)
* Simplify onPressCancel dismiss condition

* Remove alias variables

* Move grapheme length calculation to reducer
2024-10-29 20:29:38 +00:00
dan bab44a5a13 Refactor composer state for threads (#5945)
* Refactor composer state for threads

* Remove unnecessary default case

TS can see it's exhaustive.
2024-10-29 20:27:44 +00:00
dan 3bf91eb814 Disable Post button when empty (#5953)
* Disable Post button when empty

* Use regular disabled button

* Disable post on video error until cleared
2024-10-29 20:23:02 +00:00
Samuel Newman 9c27d83d4b fix splash screen (#5997) 2024-10-29 14:17:51 +00:00
Samuel Newman d1355d52fc Fix video quality for short videos (#5996)
* remove auto level capping

* flush first fragment on loop
2024-10-29 13:35:43 +00:00
Samuel Newman 5e18b6f09f fix alt position (#5985) 2024-10-28 23:43:41 +00:00
Hailey bdb5722640 hailey/filter dupe labels (#5984) 2024-10-28 16:23:38 -07:00
Hailey 84db1f997b Fix E2E tests (#5980) 2024-10-28 13:31:24 -07:00
Samuel Newman 0f3fa06c3e One more haptic tweak (#5979)
* remove 10ms delay and make light

* make like haptic light

* same for PostThreadComposePrompt
2024-10-28 20:30:59 +00:00
Samuel Newman d050a78a2d Tweak haptics, add to post controls (#5977)
* change timing to 10ms, make ios only

* add haptics to post controls

* rm from like button
2024-10-28 20:03:08 +00:00
dan dcc5405e8a Make composer min height conditional and align attachments (#5976)
* Make web composer min height condiitonal

* Fix alignment

* Fix alignment on mobile
2024-10-28 19:12:15 +00:00
Samuel Newman 5bce043e1e FAB - delay followup haptic (#5974) 2024-10-28 21:02:38 +02:00
Hailey 2e3844c7b4 Don't render ComposerPills when unnecessary (#5975) 2024-10-28 11:07:22 -07:00
Samuel Newman e652b2d7b1 Fix clipping issue with 2 image grid (#5744)
* don't set aspect ratio for 2 images

* let -> const
2024-10-28 15:52:07 +00:00
dan 2b53ef2541 Fix missing style (#5944) 2024-10-25 23:04:54 +01:00
Hailey e05b4a910f Conditionally render labels button when media exists in post (#5942)
* conditionally render button

* update labels on remove

* tweak
2024-10-25 22:52:37 +01:00
dan d520dd95b9 Split composer into smaller components (#5941)
* Extract ComposerTopBar

* Rename state variables to align with props

* Extract ComposerEmbeds

* Extract ComposerPills

* Extract ComposerFooter

* Tweak condition to be simpler

* Extract ComposerPost
2024-10-25 21:36:54 +01:00
dan 0ecc98d0de Display non-post embeds in composer preview (#5647)
* Display non-post embeds in composer preview

* Remove starter pack special case from ExternalLinkEmbed

This should not be needed because starter pack composer preview now goes through the record preview codepath, just like in the feed/post view.

* Hide record ext links if quote is present

* Align remove buttons

Remove the implicit top padding in record embeds and make it conditional, which is similar to how we treat external link embeds. This makes the X button appear in the same place for record embeds as with links.
2024-10-24 20:44:24 +01:00
dan 3327c47957 Include hydrated responses for other records (#5646)
* Include hydrated responses for other records

* Rename meta -> view

This is actually all it is now.
2024-10-24 20:43:00 +01:00
dan e8a53dcea8 Refactor post meta to return PostView (#5645) 2024-10-24 20:41:50 +01:00
Eric Bailey fa4cca11fe Put ExternalEmbedRemoveBtn on top (#5887) 2024-10-24 20:02:42 +01:00
Samuel Newman f6649e22a7 double haptic (#5886) 2024-10-21 19:20:36 +03:00
Hailey e9be8f4574 Disable feed debug gate due to EME (#5815) 2024-10-17 12:54:05 -07:00
Hailey c3e5107882 Move self-label button (#5780)
* move self label button?

* rm

* make sure its usable on large font sizes

* tweak wording

* update icon

* tweaks

* change button label and change opacity when no media (#5794)

* Tweak it moar (#5807)

* Tweak it moar

* Pluralize

* Labels

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2024-10-17 11:42:19 -05:00
Samuel Newman 59f9cd916e Fix PageWithHeader header leaking into safe area (#5792)
* fix header leaking out of safe area

* make fix native-only
2024-10-17 11:16:42 -05:00
Samuel Newman 74b0929e4d Logged out improvments (#5771)
* fetch all accounts in one go

* delete unused component

* add safeareaview to logged out layout

* add safe area insets to LoggedOut view

* add safe area insets to the error boundary

* sanitize displaynames/handles

* use button for X

* increase spacing
2024-10-17 18:48:38 +03:00
surfdude29 34f1e4d71c Remove double an from error message strings (#5782)
* Update ProfileHeaderLabeler.tsx

* Update FeedErrorMessage.tsx

* Update FeedShutdownMsg.tsx

* Update ProfileFeed.tsx
2024-10-17 12:37:32 +03:00
Hailey 2e74f98392 Add graphic media self label (#5758)
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2024-10-16 19:17:22 -07:00
Samuel Newman 6bc00f8d71 Composer - Self label dialog ALF rewrite (#4354) 2024-10-16 08:52:14 -07:00
Samuel Newman c3d0cc55d9 Edit profile dialog ALF refresh (#5633) 2024-10-15 21:57:28 +03:00
surfdude29 53b6d16b51 translate video state strings (#5762) 2024-10-15 19:21:37 +03:00
Eric Bailey 4c3c10d7f8 Link cards (#5677)
* New link card styles

* Cleanup of consituent parts, add hover state

* Fix gif alt text view

* Fix alt text view more

* Remove dupe

* Update remove button

* Remove added margin on gif
2024-10-14 16:06:23 -05:00
Samuel Newman a445489b53 Translate some missing strings via global i18n instance (#5740) 2024-10-14 18:19:30 +03:00
Hailey 432dc867f8 Fix keyboard hiding alt text input after viewing DMs on iOS (#5739) 2024-10-14 08:02:16 -07:00
Samuel Newman d6322477fe Present in-app browser as sheet (#5718)
* use page sheet presentation

* move to its own file rather than sitting in prefs

* whoops, missed one
2024-10-11 16:42:58 -07:00