Commit Graph

2943 Commits (4862bc2ba85a91d885b4bd116f25b6533ab568d0)

Author SHA1 Message Date
dan 181e61bedb
Memoize context value (#3786) 2024-05-01 05:35:52 +01:00
Paul Frazee 31cb3e5422
Performance improvements: structural sharing & moderation opts context (#3785)
* Fix: correctly apply structural sharing to preferences object

* Move moderation opts into a context

* Fix import

* Remove log

* Pass userdid directly

* Pass moderationPrefs directly
2024-04-30 21:06:51 -07:00
dan 39807a8630
[Session] Refactor to prepare for V2 (#3781)
* Move types to another file

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

* Move utilities out

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

* Move PUBLIC_BSKY_AGENT

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

* Move createPersistSessionHandler inline

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

* Call configureModeration when clearing account too

This ensures that the app labelers get reset in a test environment.

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

* Make guest configureModeration sync, non-guest async

* Extract isSessionExpired

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

* Flip isSessionExpired condition

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

* Extract agentToSessionAccount

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

* Extract createAgent*

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

* Simplify isSessionExpired

---------

Co-authored-by: Eric Bailey <git@esb.lol>
2024-05-01 02:55:43 +01:00
dan 66ad5543f1
[Session] Move deactivated field off the session object (#3780) 2024-05-01 01:36:56 +01:00
dan 339f26567a
[Session] Consistently copy SessionAgent fields (#3779)
Co-authored-by: Eric Bailey <git@esb.lol>
2024-05-01 01:13:55 +01:00
Samuel Newman 80bcf81dc5
[Clipclops] Separate messages if there's a time gap (#3777)
* separate msg groups by age

* clean up logic and add comments
2024-04-30 23:40:26 +01:00
Hailey db968b7610
[Clipclops] Header for chat (#3775)
* add temp `getchat` query

* properly get the other profile

* add basic header

* normalize layout on all devices

* remove unused imports, adjust style

* remove unnecessary log

* remove another log

* remove some more imports

* cleanup

* use `Button` instead in the header

* lint
2024-04-30 15:04:17 -07:00
Hailey 268e30d21a
[Clipclops] adjust scroll position, keyboard color (#3771)
* use the correct keyboard appearance based on theme

* i guess the min index should be 1
2024-04-30 11:33:41 -07:00
Samuel Newman 611ff0c7e4
[Clipclops] Add clop sent time to clipclop (#3772)
* add message sent time to message

* fix last message in group logic
2024-04-30 19:31:30 +01:00
Samuel Newman 7b694fd860
[Clipclops] Use API data for clipclop list (#3769)
* use real API

* remove extra tab icon

* messages list web layout + style improvements

* use style's text color for input

* make new chat button way more obvious

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-04-30 18:15:48 +01:00
Samuel Newman bcd3678067
[Clipclops] New clipclop dialog (#3750)
* add new routes with placeholder screens

* add clops list

* add a clop input

* add some better padding to the clops

* some more adjustments

* add rnkc

* implement rnkc

* implement rnkc

* be a little less weird about it

* rename clop stuff

* rename more clop

* one more

* add codegenerated lexicon

* replace hailey's types

* use codegen'd types in components

* fix error + throw if fetch failed

* remove bad imports

* update messageslist and messageitem

* import useState

* replace hailey's types

* use codegen'd types in components

* add FAB

* new chat dialog

* error + default search term

* fix typo

* fix web styles

* optimistically set chat data

* use cursor instead of last rev

* [Clipclops] Temp codegenerated lexicon (#3749)

* add codegenerated lexicon

* replace hailey's types

* use codegen'd types in components

* fix error + throw if fetch failed

* remove bad imports

* update messageslist and messageitem

* import useState

* add clop service URL hook

* add dm service url storage

* use context

* use context for service url (temp)

* remove log

* cleanup merge

* fix merge error

* disable hack

* sender-based message styles

* temporary filter

* merge cleanup

* add `hideBackButton`

* rm unneeded return

* tried to be smart

* hide go back button

* use `searchActorTypeahead` instead

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-04-30 17:43:57 +01:00
dan 2b7d796ca9
Session fixes, pt. 1 (#3762)
* Update persisted schema for new source of truth, implement in existing session

(cherry picked from commit b1e5f12baee932721d66c60dd51c981b46b0c274)

* Improve toasts, log caught error, during switch account

(cherry picked from commit fe0d1507063d2e532b7b1a447670b689292d1dc3)

* Handle thrown errors from initSession during login

(cherry picked from commit 2c85c045917e923901284b9ba310a82e28f37b5c)

---------

Co-authored-by: Eric Bailey <git@esb.lol>
2024-04-30 17:38:05 +01:00
Samuel Newman 4de78fb69e
use keyboardDismissMode rather than onScrollBeginDrag (#3767) 2024-04-30 16:11:41 +01:00
Hailey eb8bfd11d1
[Clipclops] Add screen to view and send clip clops (#3754)
* add new routes with placeholder screens

* add clops list

* add a clop input

* add some better padding to the clops

* some more adjustments

* add rnkc

* implement rnkc

* implement rnkc

* be a little less weird about it

* rename clop stuff

* rename more clop

* one more

* [Clipclops] Temp codegenerated lexicon (#3749)

* add codegenerated lexicon

* replace hailey's types

* use codegen'd types in components

* fix error + throw if fetch failed

* remove bad imports

* update messageslist and messageitem

* import useState

* add clop service URL hook

* add dm service url storage

* use context

* use context for service url (temp)

* remove log

* nits

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2024-04-29 23:34:26 -07:00
dan 42966fb49e
Fix List onMomentumScrollEnd (#3759) 2024-04-29 23:38:03 +01:00
Paul Frazee 28fc98d942
Release 1.80 (#3757)
* Test fixes

* Intl extract
2024-04-29 15:00:25 -07:00
Frudrax Cheng 599dab1c7a
Update zh-TW translations (#3678)
* consistent improvements

* update messages.po

* improve translation

* improve translation

* fix punctuation issues

* remove superseded strings

* GIFs to GIF

* modify according to review suggestions

* fix some misnomers

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>

* modify according to review suggestions

* modify according to review suggestions

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update src/locale/locales/zh-TW/messages.po

Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>

* Update messages.po

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>

* Update messages.po

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>

* Update messages.po

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>

* modify according to review suggestions

* a small adjustment

---------

Co-authored-by: cirx <133132480+cirx1e@users.noreply.github.com>
Co-authored-by: Yuki Cheung <13027432+snowleo208@users.noreply.github.com>
2024-04-29 14:54:17 -07:00
Gabriella 6dd2e07ab9
Italian localization (#3684)
* Add files via upload

* Update messages.po

Changed the grama of string

* Update messages.po

Following the input of @niconick89.bsky.social I have added additional correction to some of the strings.
2024-04-29 14:53:45 -07:00
Ivan Beà 983d9e55b3
Update catalan messages.po (#3697)
* Update catalan messages.po

New lines translated
You can check it @jordimas @darccio @ferranrego @MiquelAdell @mvdan @johnnydement @Mejans @surfdude29

* Update messages.po

Remove extra space

* Update messages.po
2024-04-29 14:53:13 -07:00
Minseo Lee c8aa16e90e
Update Korean localization (#3698)
* Update messages.po

* Update messages.po

* Update messages.po

* Update messages.po

* Update messages.po

* Update messages.po

* Update messages.po
2024-04-29 14:52:39 -07:00
Takayuki KUSANO c2fff6a861
Update Japanese translation (#3734)
* Remove old old onboarding related entries

cf. https://github.com/bluesky-social/social-app/pull/3674

* Update Japanese translation

(accessibilityLabel & accessibilityHint)
cf. https://github.com/bluesky-social/social-app/pull/3670

* Update Japanese translation

* Fix Japanase translation related to block
2024-04-29 14:52:15 -07:00
Frudrax Cheng f3c32f9996
Update zh-CN translations (#3716)
* fix punctuation issues

* improve translation

* remove superseded strings

* update messages.po

* fix typo

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* Update src/locale/locales/zh-CN/messages.po

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>

* update language-team

* Update messages.po

Co-authored-by: Leonid <kasumi@bangdream.moe>

* Update messages.po

Co-authored-by: Leonid <kasumi@bangdream.moe>

* Update messages.po

Co-authored-by: Leonid <kasumi@bangdream.moe>

* Update messages.po

Co-authored-by: Leonid <kasumi@bangdream.moe>

* Update messages.po

Co-authored-by: Leonid <kasumi@bangdream.moe>

* Update messages.po

Co-authored-by: Leonid <kasumi@bangdream.moe>

* Update messages.po

Co-authored-by: Leonid <kasumi@bangdream.moe>

---------

Co-authored-by: IceCodeNew <32576256+IceCodeNew@users.noreply.github.com>
Co-authored-by: Leonid <kasumi@bangdream.moe>
2024-04-29 14:51:41 -07:00
Eric Bailey a4e34537ce
Send Bluesky feeds and suggested follows more data (#3695)
* WIP

* Fix constructors

* Clean up

* Tweak

* Rm extra assignment

* Narrow down the argument

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-29 22:04:35 +01:00
Hailey 2feea51ae3
clear search on tab press (#3753)
* clear search on tab press

* don't need to call `onPressCancelSearch`
2024-04-29 17:32:20 +01:00
dan 5d715ae1d0
Improve search screen perf (#3752)
* Extract SearchHistory to a component

* Extract AutocompleteResults to a component

* Extract SearchInputBox to a component

* Add a bunch of memoization

* Optimize switching by rendering both

* Remove subdomain matching

This is only ever useful if you type it exactly correct. Search now does a better job anyway.

* Give recent search decent hitslops
2024-04-29 16:52:24 +01:00
dan 3c2d73909b
Remove layout animation from search (#3751) 2024-04-29 16:11:59 +01:00
Hailey 388c4f79cf
Increase search `TextInput` hit area and improve the related UI (#3748)
* improve hit area of search text input

use text cursor on web

use a pressable instead

use a vertical padding of 9

oops

move vertical padding to `TextInput` to increase hit area

* Hide it from a11y tree, change cursor

* Hide clear on empty text

* Render either Clear or Cancel

* Remove Clear button

* Animate it

* Better animation

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-29 05:12:20 +01:00
dan dfce190cb6
[iOS] Fix selecting search input on focus (#3746)
* Select search text on focus

* Scope to iOS only
2024-04-28 22:52:40 +01:00
dan 361d255e95
Remove useEffect from TimeElapsed (#3741) 2024-04-28 22:37:00 +01:00
dan 256bb33de0
Remove test gating code (#3742) 2024-04-28 22:36:50 +01:00
dan 2a08931127
Fix dropdown immediately closing on Enter (#3745)
* Move dropdown content into separate component

* Fix dropdown with keyboard

* No-op is sufficient
2024-04-28 21:29:43 +01:00
dan 1dd3d6657c
Account for momentum when hiding minimal shell (#3740)
* Add optional momentum events to scroll context

* If there is a velocity, don't snap until momentum end

* Don't show bar on scroll down

* Rm onMomentumBegin
2024-04-28 17:48:20 +01:00
dan 3b4848ba59
Reduce hovercard false positives, add them to display names and handles (#3739)
* Don't trigger hovercards on scroll

* Add display name / handle hovercards

* Increase hovercard delay
2024-04-28 13:59:18 +01:00
Mary 74cd1d4458
YouTube Music as supported player (#3736) 2024-04-27 22:11:08 -07:00
Hailey 61d7e6014b
ensure dialog is closed on unmount (#3650)
Revert "properly check if the ref is null"

This reverts commit 8f563808a5d39389b0bc47a31e73cd147d1e7e8b.

properly check if the ref is null

ensure dialog is closed on unmount
2024-04-27 07:42:49 +01:00
Hailey 7eb1444f2c
remove precacheThreadPostProfiles (#3729)
* remove `precacheThreadPostProfiles`

* add `displayName` to `PreviewableUserAvatar`

* memo

* use `precacheProfile`

* pass `profile` directly to `PreviewableUserAvatar`

* update the `UserAvatar`'s props

* remove feed cache

* one more spot

* rm unused queryClient

* Don't call fn unnecessarily

* Preload for display name too

* try notification item

* add to feeditem

* and finally, precache for post threads

* timestamp

* Fix

* onBeforePress

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-27 06:31:07 +01:00
Samuel Newman ce85375c85
[Clipclops] New routes with placeholder screens (#3725)
* add new routes with placeholder screens

* gate content

* add filled envelope style

* swap filled state

* switch to `useAgent`
2024-04-27 05:54:18 +01:00
Samuel Newman 1af59ca8a7
Special-case bsky.app/download to open share sheet or copy to clipboard (#3710)
* special-case bsky.app/download to share

* Address feedback

* Improve detection

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-27 05:25:28 +01:00
Hailey 5f9136479b
Improve usability of search on web (#3663)
* dont select the text on web

* TODO REVERT THESE CHANGES

* use `usethrottledvalue` for autocomplete

* use `isFetching` from query

* rm setTimeout

* getting there

* improve functionality of cancel button

* rm todo

* add comment back

* encode `searchText` rather than `queryTerm`

* use "back" on web in some cases

* don't flash results in autocomplete

* remove unnecesary usestate

* rename everything to `query` temporarily

* revert accidental lint

* rm todo

* rm comment

* use `useFocusEffect` to update the query term on back navigation

* `searchText` is always defined here

* Fix race

* remove back functionality

* use `keepPreviousData` for query

* rename `q` to `queryParam`

* remove hack

* remove `q=` on cancel

* blur on submit

* use `setParams` instead of `replace`

* use `replace` on web still

* clear the search input when we clear `q` on native

* onPress dismiss attempt

* Adjustments

* Fix search history

* Always hide autocomplete

* Clear right pane search on select

* `blur` on autosuggestion press

* Rename to reduce diff

* Fixes

* Unify codepaths

* Fixes

* precache the autosuggestion

* do the cache in the link card

* Revert "precache the autosuggestion"

This reverts commit 79c433e984621ba4231a2a4c4b3f4690b0516b4d.

* use `throttledValue` and `keepPreviousData` in sidebar search

* show spinner when fetching pt 1

* show spinner when fetching pt 2

* show spinner properly for autocomplete

* Fix extra border

* Position fixed

* TS

* Revert "TS"

This reverts commit df187ea2d7a96d0f1832bc2392215f4d969a87c9.

* Revert "Position fixed"

This reverts commit 9c721c952b0fa4e5e4a23de38cab916ab13397e6.

* Maybe fix iPad

* Revert "TODO REVERT THESE CHANGES"

This reverts commit 279f717f3091c9df8c73ba35f9a038e12f5a1122.

* Rename var

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-27 04:34:53 +01:00
dan f2797218f8
Move Notifications up on desktop web (#3696) 2024-04-25 23:30:07 +01:00
Eric Bailey 45d354cd0c
[Session] Add `useAgent` hook and replace (#3706)
* Hook it up

* Memoize getAgent method

* Use one shared reference

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-25 22:29:05 +01:00
Eric Bailey d8c8e1e854
[Session] Drill `getAgent` into notifications handlers (#3705)
* Drill into notifications handlers

(cherry picked from commit 7ac9e500866732e1f2e205bbe96e70db331e5ffb)

* Thread getAgent instead

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-25 21:57:45 +01:00
Eric Bailey e5fdbfe294
[Session] Drill `getAgent` into `Onboarding/util` (#3704)
* Drill agent into Onboarding/util

(cherry picked from commit 2ba68eb5e446a694730b720f2a5b3307eb0914ef)

* Thread getAgent instead

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-25 21:53:27 +01:00
Eric Bailey 35005da59e
[Session] Drill `getAgent` into `notifications/utils` (#3703)
* Drill into notifications/util

(cherry picked from commit 84b535ed54f4fe93debcd198809bb184519c3507)

* Thread getAgent instead

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-25 21:48:01 +01:00
Eric Bailey a69e567991
[Session] Drill into `getAgent` into `whenAppViewReady` (#3702)
* Drill into whenAppViewReady

(cherry picked from commit e290e5be3df509bdd9d0e626a164996c9dee3636)

* Drill getAgent instead

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-25 21:39:28 +01:00
Eric Bailey ec37696034
[Session] Drill `getAgent` into feed APIs (#3701)
* Update to desired post-feed usage

* Drill agent into feed apis

* Thread getAgent instead

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-25 21:29:06 +01:00
Kevin Scannell 282ad4b17d
Irish translation back to 100% (#3683) 2024-04-25 09:08:56 -07:00
Eric Bailey 6aded4f257
[Session] Base (#3541)
* Add readLastActiveAccount to use accounts[] as source of truth

* Add public service constant, use
2024-04-25 10:35:21 -05:00
Hailey 5b82b15007
remove use of `pointerEvents` on iOS profile header (#3694) 2024-04-25 01:24:20 +01:00
Hailey c3fcd486b3
Cleanup files after each iteration of compression and downloading (#3599)
* delete image on each iteration of compression

* replace a few other instances of `unlink()`

* ensure that moving to the permanent path will succeed

* use `cacheDirectory`

* missing file extension?

* assert

* Remove extra .

* Extract safeDeleteAsync, fix normalization

* Normalize everywhere

* Use safeDeleteAsync in more places

* Delete .bin too

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-25 01:12:36 +01:00
dan 90c3ec8749
Ignore image responses on non-200 status (#3693)
* Ignore image responses on non-200 status

* Fix tests
2024-04-24 23:16:11 +01:00
Mary 15055cb8c4
Persist PDS URL for session resumption (#3620)
* fix: store PDS URL for session resumption

* fix: handle a few more cases

* fix: blocking resumption should also use pds url

* refactor: do it in the construct itself

* fix: revert ce96223
2024-04-24 21:57:16 +01:00
dan 05212ca9e3
Remove Moderation from sidebar (#3692) 2024-04-24 21:37:16 +01:00
dan e2a59449df
Remove old Suggested Follows logic (#3689) 2024-04-24 17:45:11 +01:00
dan 8ec3d8c76e
Rewrite the link detection (#3687)
* Rewrite the link detection

* Handle parens and colons
2024-04-24 17:30:44 +01:00
Hailey b3df0b177f
Remove unnecessary `.trimEnd()` and fix facet detection (#3672)
* Fix link facet detection

Exclude the trailing period from the link, similar as done in the atproto package

* Fix JSON to text conversion

The trimEnd() call was only needed because we were always appending \n\n at the end. Fix that by only adding line breaks after non-final paragraphs.

* Detect paste reliably

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-24 15:10:29 +01:00
Eric Bailey 05beb1bbad
Remove old old onboarding (#3674) 2024-04-23 19:30:49 -05:00
dan 24da3a8f4e
Disable autoplay by default if prefers-reduced-motion (#3671) 2024-04-23 17:07:18 -07:00
Samuel Newman 0847e2752b
Add option to remove quoted post in composer (#3670)
* add option to remove quoted post

* add generous hitslop
2024-04-24 00:36:59 +01:00
Samuel Newman 9ebfa9a015
Add border radius to GIF loading state (#3669) 2024-04-23 23:56:23 +01:00
Hailey 76aef2d064
use mp4 over webm (#3666)
* use mp4 over webm

* tinymp4

* safari only
2024-04-23 23:55:01 +01:00
Paul Frazee 316fce6439
Release 1.79 (#3661)
* Update tests

* Intl exract
2024-04-23 11:26:50 -07:00
Takayuki KUSANO dc3f694a91
Update Japanese translation (#3656)
* Update Japanese translation

- GIPHY is replaced by Tenor
- Accessibility hint for long-pressing hashtags have been changed to follow

* Translated accessibility hints related to embedded GIFs

* Translate Email 2FA related messages.

* Updated Japanese transaltion

* More update

* Update
2024-04-23 10:55:03 -07:00
dan 096725110a
[Statsig] Add test gates and events (#3659)
* [Statsig] Add test gates and events

* Better types
2024-04-23 04:47:13 +01:00
Paul Frazee 30c2c05103
Quick fix to ensure disable 2fa dialog adjusts to keyboard (#3658) 2024-04-22 19:43:54 -07:00
Paul Frazee 710e913024
Email auth factor (#3602)
* Add email 2fa toggle

* Add UI elements needed for 2fa codes in login

* Wire up to the server

* Give a better failure message for bad 2fa code

* Handle enter key in login form 2fa field

* Trim spaces

* Improve error message
2024-04-22 19:18:13 -07:00
Hailey cbb817b5b7
GIF Viewer (#3605)
* ios player

autoplay after recycle

remove all items from AVPlayer queue

recurururururursion

use managers in the view

add prefetch

make sure player items stay in order

add controller and item managers

start of the view

create module, ios

* android player

smoother

basic caching

prep cache

somewhat works

backup

other files

android impl

blegh

lets go

touchup

add prefetch to js

use caching

* bogus testing commit

* add dims to type

* save

* add the dimensions to the embed info

* add a new case

* add a new case

* limit this case to giphy

* use gate

* Revert "bogus testing commit"

This reverts commit b3c8751b71f7108de9aa843b22ded4e0249fa854.

* add web player base

* flip mp4/webp

* basic mp4 player for web

* move some stuff into `ExternalLinkEmbed` instead

* use a class component for web

* remove extra component

* add `onPlayerStateChange` event type on web

* layer properly

* fix tests

* add new test

* about ready. native portions done, a few touch ups on web needed

show placeholder on ios

fix type

rm log

display thumbnail until video is ready to play

add oncanplay, playsinline

remove unused method

add `isLoaded` change event

release player when finished

apply gc to the view

cleanup logs

android gc

rm log

automatic gc for assets

make `nativeRef` private

remove unnecessary `await`

cleanup

rev log

only play on prepare whenever needed

rm unused

perfperfperf

rm var

comment + android width

native height calculations

rm pressable

add event dispatcher on android

add event dispatcher on ios

* ready to test ios

fix autoplay ios

clean

oops

* autoplay on web

* normalize across all platforms

add check for `ALT:`

separate gif embed logic to another file

handle permissions requests

flatten web styles

normalize styles

normalize styles

prefetch functions

pause animatable on foreground android

nits

one more oops

idk where that code went

lint

rethink the usage

wrap up

android

clear bg

update gradle

more android

rename dir

update android namespace

web

ios

add deps

use webp

rm unused

update types

use webp on mobile

* rm gate from types

* remove unused event param

* only start placeholder op if doesn't exist in disk cache

* fix gifs animating on app resume android

* remove comment

* add `isLoaded` for ios

* add `isLoaded` to Android

* onload for web

* add visual loading state

* rm a log

* implement isloaded for android

* dialogs

* replace `webpSource` with `source`

* update prop name

* Move to Tenor for GIFs (#3654)

* update some urls

* right order for dimensions

* add GIF coder for ios

* remove giphy check

* rewrite tenor urls

* remove all the unnecessary stuff for consent

* rm print

* rm log

* check if id and filename are strings

* full size playback controls

* pass tests

* add accessibility to gifs

* use `onPlay` and `onPause`

* rm unused logic for description

* add accessibility label to the controls

* add gif into to external embed in composer

* make it optional

* gif dimensions

* make the jsx look nicer

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2024-04-23 02:54:15 +01:00
dan fe9b3f0432
Ungate profile scroll fix (#3655) 2024-04-23 00:54:59 +01:00
Samuel Newman 49b5d420e6
rm country param (#3653) 2024-04-23 00:37:46 +01:00
dan 861804629a
[GIFs] Remove consent flow (#3652)
* Remove tenor from settings

* Remove consent flow
2024-04-23 00:18:03 +01:00
Samuel Newman 76449fb6ef
[GIFs] Replace GIPHY with Tenor (#3651)
* replace GIPHY with Tenor

* remove "directly" wording

* replace GIPHY wording

* remove log
2024-04-22 23:39:32 +01:00
Hailey 1a4e05e9f9
properly close the switch account dialog (#3558)
* properly close the switch account dialog

* use it for switch account as well

* ensure dialog is closed on unmount

Revert "properly check if the ref is null"

This reverts commit 8f563808a5d39389b0bc47a31e73cd147d1e7e8b.

properly check if the ref is null

ensure dialog is closed on unmount

* Revert "ensure dialog is closed on unmount"

This reverts commit a48548fd8ed53ae3eb08a0e05bb89f641c112b95.
2024-04-22 22:46:05 +01:00
Samuel Newman f49d73dd00
[GIFs] Reset scroll on query change (#3642)
* scroll list to top on query change

* dismiss keyboard on swipe list

* don't need an effect
2024-04-22 22:18:39 +01:00
surfdude29 0b3cc59019
Update French translations (#3644)
* Update French translations

* Apply suggestions from code review

Co-authored-by: Stanislas Signoud <signez@stanisoft.net>

---------

Co-authored-by: Stanislas Signoud <signez@stanisoft.net>
2024-04-22 14:13:10 -07:00
Samuel Newman f4e72cc83c
[GIFs] Add error boundary to GIF picker (#3643)
* error boundary on gif picker

* add dialog.close for web users

* fix size of dialog on web

* Safer coercion

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-22 22:07:48 +01:00
Samuel Newman 27c4054fcb
Revert "Add layout transitions to the composer photo gallery on iOS (#3609)" (#3649)
This reverts commit 1a5b8b2c94.
2024-04-22 21:56:40 +01:00
Jan-Olof Eriksson 94ea2a3e56
Update Finnish translations (#3630)
* Update messages.po

Repostausten yhdenmukaistamista

* Update messages.po

* Update messages.po

* Update messages.po

Typos

* Update messages.po

Couple of typos

* Update messages.po

Removed strings that are obsolete and no longer used.

* Update messages.po
2024-04-22 13:48:48 -07:00
Takayuki KUSANO c525974d51
Update Japanese translations (#3632)
* Update Japanese translations

- Add GIPHY related messages
- Add a11y related messagges
- Update a message in empy search screen

* Updated Japanese translation.
2024-04-22 13:48:22 -07:00
Minseo Lee 0e082cb094
Update messages.po (#3639) 2024-04-22 13:47:49 -07:00
Hailey 551e3330b9
remove unnecessary padding from the right hand side of the post in threaded (#3645) 2024-04-22 21:44:01 +01:00
Samuel Newman b09903e3b8
only open tag menu on long press (#3553) 2024-04-22 21:29:29 +01:00
Samuel Newman bcd88b088a
add maxwidth to app language dropdown (#3635) 2024-04-22 21:24:50 +01:00
Hailey 243769e657
remove gate from updates (#3646) 2024-04-22 21:06:25 +01:00
dan ce1c1e1cbe
Search in PWI (#3628) 2024-04-20 00:29:35 +01:00
dan d3c0b48da3
Top/Latest for hashtags (#3625)
* Split HashtagScreen into two components

* Hashtag tabs

* Visual fixes
2024-04-19 23:37:11 +01:00
Hailey c0ca891501
Player improvement pre-reqs (#3618)
* add dims to type

* save

* add the dimensions to the embed info

* add a new case

* add a new case

* limit this case to giphy

* use gate

* flip mp4/webp

* fix tests

* add new test
2024-04-19 23:31:20 +01:00
Samuel Newman 22e86c9903
fix onEndReached issue by forcing flatlist to scroll (#3623) 2024-04-19 23:26:04 +01:00
Samuel Newman edbb18afa4
Throttle gif search by 500ms (#3622)
* debounce gif search by 300ms

* Throttle it instead

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-19 22:55:53 +01:00
Samuel Newman 8b33ffdfb5
Add disable autoplay preference and group related settings into a dedicated page (#3626)
* add autoplay preference

* group accessibility settings into a dedicated page

* fix gray background on web

* Put a11y first

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-19 22:10:37 +01:00
dan ade2ea6172
Ungate Top/Latest search (#3627) 2024-04-19 21:58:18 +01:00
dan c42a557417
[Statsig] Send locale info (#3621) 2024-04-19 15:51:41 +01:00
dan 55aea348c2
[Statsig] Update experiments (#3617) 2024-04-19 15:23:47 +01:00
Hailey f709fbcbdd
align center post meta in threaded (#3615)
* align center post meta in threaded

* put `displayNameStyle` in correct place

* maybe?

* with mobile padding too?
2024-04-19 05:38:54 +01:00
Hailey c91f065be5
add dimensions to data (#3616)
* add dimensions to data

* keep alt text

* put it in the right url

* just send the original height and width instead
2024-04-18 21:32:25 -07:00
Samuel Newman ba1c4834ab
Add GIF select to composer (#3600)
* create dialog with flatlist in it

* use alf for composer photos/camera/gif buttons

* add gif icons

* focus textinput on gif dialog close

* add giphy API + gif grid

* web support

* add consent confirmation

* track gif select

* desktop web consent styles

* use InlineLinkText instead of Link

* add error/loading state

* hide sideborders on web

* disable composer buttons where necessary

* skip cardyb and set thumbnail directly

* switch legacy analytics to statsig

* remove autoplay prop

* disable photo/gif buttons if external media is present

* memoize listmaybeplaceholder

* fix pagination

* don't set `value` of TextInput, clear via ref

* remove console.log

* close modal if press escape

* pass alt text in the description

* Fix typo

* Rm dialog

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-04-19 03:42:26 +01:00
Takayuki KUSANO 2090738185
Update Japanese translation (#3557)
* Remove obsoleted entries

* Add new translation messages.

* Fix one translation

* Update Japanese translation
2024-04-18 14:28:49 -07:00
Frudrax Cheng bf5363c7dc
Update zh-TW localization (#3564)
* Fix file format, punctuations and wording

* Some minor adjustments

* Update messages.po

* Remove superseded strings

* Some minor adjustments
2024-04-18 14:28:08 -07:00
Frudrax Cheng 2fb41566e9
Update zh-CN localization (#3565)
* Some minor adjustments

* Update messages.po

* Remove superseded strings
2024-04-18 14:27:19 -07:00
Ivan Beà bf2dccd2a2
Update catalan messages.po (#3595)
New lines translated again, just a few

You can check it @jordimas @darccio @ferranrego @MiquelAdell @mvdan @johnnydement @Mejans @surfdude29
2024-04-18 14:25:45 -07:00
Mary 08c6014751
Fix splash screen language picker appearance on Chrome (#2952)
* fix: correct language picker appearance on Chrome

* fix: prevent chevron shrink on long language names
2024-04-18 14:21:09 -07:00