* Disable autocomplete, autocapitalize, and autocorrect in create account login
* Add username textContentType to login to try to prompt password manager more regularly
* Fix type
* Enforce UTC for birthdate picker
* Handle locales
* Remove log
* Add a second snap point to the date input in case text is zoomed
* Guard against bad dates
* Log message
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* handle taps while keyboard is displayed
* dismiss keyboard on drag when searching feeds
* dismiss on drag and persist taps on suggested follows
* add hitslop to clear button
* add hitslop to cancel button
* dismiss keyboard on drag when searching users
* hit slop for feed search clear button
* move import
* Split out web dropdown
* Remove unused
* Remove unused style
* Close on escape
* Reduce chance of opening while scrolling
* Tune web dropdown styles
* Fix type
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Set up hidden posts persisted state
* Wrap moderatePost
* Integrate hidden posts into moderation
* Complete hide-post behaviors
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Bump to react-native@0.73, bump expo@next
Includes bumps for all expo deps and dev dependencies. Updates
react-native patch and others, and removes the babel-preset-expo patch.
* Remove duplicate Splash ref
* Bump more deps
* Properly install expo-notifications
* Bump webview dep
* Bump packages according to expo fix; remove pager-view patch as it is no longer needed
* Don't access expo-camera from Web
* Fix crypto dep on web
* Fix some type issues
* Build esnext modules to support dynamic imports
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* add french localization
* get dynamic import to work
* fix broken strings
* fix bug
* fix tests
* build files again
* add german locale
* Add german translated strings
* update file details
* fix plural case errors
* make german translations work
* add 'es' as a locale option
* enable spanish translations
* fix spelling mistake
* Implement embed player for YT, spotify, and twitch
* fix: handle blur event
* fix: use video dimensions for twitch
* fix: remove hack (?)
* fix: remove origin whitelist (?)
* fix: prevent ads from opening in browser
* fix: handle embeds that don't have a thumb
* feat: handle dark/light mode
* fix: ts warning
* fix: adjust height of no-thumb label
* fix: adjust height of no-thumb label
* fix: remove debug log, set collapsable to false for player view
* fix: fix dimensions "flash"
* chore: remove old youtube link test
* tests: add tests
* fix: thumbless embed position when loading
* fix: remove background from webview
* cleanup embeds (almost)
* more refactoring
- Use separate layers for player and overlay to prevent weird sizing issues
- Be sure the image is not visible under the player
- Clean up some
* cleanup styles
* parse youtube shorts urls
* remove debug
* add soundcloud tracks and sets (playlists)
* move logic into `ExternalLinkEmbed`
* border radius for yt player on native
* fix styling on web
* allow scrolling in webview on android
* remove unnecessary check
* autoplay yt on web
* fix tests after adding autoplay
* move `useNavigation` to top of component
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Update the feed to only check latest on focus after 30s, but to do a full reset on focus after 1 hour to avoid very stale data
* Remove the isFeedPublic query
* Fix: avoid double next-page fetches
* Reduce some poll intervals to reduce server load
* Guard against double-fires of fetchNextPage
* Reduce polling on blurred screens
* Add logo to left nav in logged out
* Protect last routes
* Hide links in left nav, hide nav
* Replace bottom bar for pwi
* Remove same links from drawer
* Hide reply prompt
* Allow search
* Enable PWI
* Disable access to feeds on PWI
* Remove feeds nav item from drawer when signed out
* Replace discover feed on home with a CTA
* Wire up the sign in and create account buttons to go straight to their respective screens
* Give a custom ScreenHider interface for no-pwi
* Add side borders on desktop to the screen hider
* Filter accounts in the autocomplete according to mod settings
* Trim replies in the post thread that are pwi opt-out
* Show 'learn more' on the content hider when no-override is enabled
* Apply the moderation filter on profile cards
* Disable post search on logged-out view
* Update locale files
* Bump api pkg
* Ensure feeds with no posts don't show as NSFPublic
* Fix types
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Add an intermediate List component
* Fix type
* Add onScrolledDownChange
* Port pager to use onScrolledDownChange
* Fix on mobile
* Don't pass down onScroll (replacement TBD)
* Remove resetMainScroll
* Replace onMainScroll with MainScrollProvider
* Hook ScrollProvider to pager
* Fix the remaining special case
* Optimize a bit
* Enforce that onScroll cannot be passed
* Keep value updated even if no handler
* Also memo it
* add japanese to list of languages
* add japanese translations
* change `jp` to `ja`
* minor changes to Japanese translation
* minor changes to Japanese translation
* update japanese strings with feedback
* Update languages.ts
* Extract translations
* Gitignore new compiled file
* allow switching to japanese
---------
Co-authored-by: Jake Gold <jake@blueskyweb.xyz>
Co-authored-by: Eric Bailey <git@esb.lol>
* Resolve links in profile bios
* Improve solution
* On mobile, dont disable pointer events on the bio richtext
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Revise FeedSourceCard load state to allow deletion for failures
* Translate
* Remove test error feed
* Fix missing uri param
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Dont poll for new content on profiles
* Drop the whenAppReady query after new post to reduce traffic overhead
* Reduce getPosts calls in notifs to only use them when needed
* Reduce calls to getFeedGenerator by the mergefeed
* Dont run end-of-follows mergefeed requests until actually at the end of the feed
* build AWS container
---------
Co-authored-by: Jake Gold <jake@blueskyweb.xyz>
* Add threadgating
* UI improvements
* More ui work
* Remove comment
* Tweak colors
* Add missing keys
* Tweak sizing
* Only show composer option on non-reply
* Flex wrap fix
* Move the threadgate control to the top of the composer
* Dont reset notifications feed on push notification event
* Dont separate notifications by read state to avoid jank
* On notifications screen focus, check latest and only rerender if not scrolled down
* Reuse the cached notifs page when its not stale
* Bump ios build number
* Improve comments
* Change the 'mark all read' condition to avoid firing too early
* Fix quote post moderation check
* Restore the ContentHider check
* Apply the content hider to quote posts
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Allow going directly to password input screen when switching accounts and password is required
* Revise state handling
* Handle logged out states, enable clearing requestedAccount
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Move moderatePost up to feed query
* Attemt to fill page up to 30
* Add the 'ensure full page' behavior to notifs
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Remove listenSessionLoaded from analytics
* Move analytics init call to navigation ready
* Remove zod dependency from analytics
* Mirror changes on the web
* Delete listenSessionLoaded
* Only set up listeners once
* Inline never-imported export
* Remove pretense at handling cleanup
* Extract per-session listener to a function
* Split notifications.init() from notifications.onSessionLoaded()
* Tweak forked code to be more similar
* Remove unnecessary guards
* Split notifications.onSessionLoaded in two
* Always use getAgent()
* Remove dep on listenSessionLoaded, add cleanup