Commit graph

647 commits

Author SHA1 Message Date
dan
23a4bbf608
Prefetch profile links on web (#2634) 2024-01-25 21:23:56 -08:00
Eric Bailey
bc502edae1
Clean up some sentry logs (#2630)
* Change prop name for sentry ingestion

* Fix test

* Add default object
2024-01-25 21:11:01 -08:00
Eric Bailey
3371038f7d
New Onboarding (#2596)
* Add round and square buttons

* Allow some style for buttons, add icons

* Change text selection color

* Center button text, whoops

* Outer layout, some primitive updates

* WIP

* onboarding feed prefs (#2590)

* add `style` to toggle label to modify text style

* Revert "add `style` to toggle label to modify text style"

This reverts commit 8f4b517b8585ca64a4bf44f6cb40ac070ece8932.

* following feed prefs

* remove unnecessary memo

* reusable divider component

* org imports

* add finished screen

* Theme SelectedAccountCard

* Require at least 3 interests

* Placeholder save logic

* WIP algo feeds

* Improve lineHeight handling, add RichText, improve Link by adding InlineLink

* Inherit lineHeight in heading comps

* Algo feeds mostly good

* Topical feeds ish

* Layout cleanup

* Improve button styles

* moderation prefs for onboarding (#2594)

* WIP algo feeds

* modify controlalbelgroup typing for easy .map()

* adjust padding on button

* add moderation screen

* add moderation screen

* add moderation screen

---------

Co-authored-by: Eric Bailey <git@esb.lol>

* Fix toggle button styles

* A11y props on outer portal

* Put it all on red

* New data shape

* Handle mock data

* Bulk write (not yet)

* Remove interests validation

* Clean up interests

* i18n layout and first step

* Clean up suggested follows screen

* Clean up following step

* Clean up algo feeds step

* Clean up topical feeds

* Add skeleton for feed card

* WIP moderation step

* cleanup moderation styles (#2605)

* cleanup moderation styles

* fix(?) toggle button group styles

* adjust toggle to fit any screen

* Some more cleanup

* Icons

* ToggleButton tweaks

* Reset

* Hook up data

* Better suggestions

* Bulk write

* Some logging

* Use new api

* Concat topical feeds

* Metrics

* Disable links in RichText, feedcards

* Tweak primary feed cards

* Update metrics

* Fix layout shift

* Fix ToggleButton again, whoops

* Error state

* Bump api package, ensure interests are saved

* Better fix for autofill

* i18n, button positions

* Remove unused export

* Add default prefs object

* Fix overflow in user cards

* Add 2 lines of bios to suggested accounts cards

* Nits

* Don't resolve facets by default

* Update storybook

* Disable flag for now

* Remove age dialog from moderations step

* Improvements and tweaks to new onboarding

---------

Co-authored-by: Hailey <153161762+haileyok@users.noreply.github.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2024-01-25 20:22:40 -08:00
Paul Frazee
5443503593
Add account-activation queueing to signup (#2613)
* Add deactivated-account tracking

* Center button text

* Add Deactivated screen

* Add icon to Deactivated screen

* Abort session resumption if the session is deactivated

* Implement deactivated screen status checks

* Bump api@0.9.5

* Use new typo-fixed scope

* UI refinements
2024-01-25 15:33:23 -08:00
dan
8d3179f082
Fix races for post like/repost toggle (#2617) 2024-01-25 21:25:12 +00:00
dan
3b26b32f7f
Derive shadow like count (#2616) 2024-01-25 21:21:07 +00:00
dan
7f7b7492d6
Remove dead code for optimistic updates (#2615) 2024-01-25 12:19:25 -08:00
Mary
abac959d03
Resolve facets on list descriptions (#2485)
* feat: add strict/loose link mapping

* feat: resolve facets on list description
2024-01-23 10:39:13 -08:00
Hailey
6569f8a870
use color scheme in in-app browser (#2580) 2024-01-22 15:17:56 -08:00
Hailey
eb07b983bd
properly shorten links in quote embeds (#2570)
* properly shorten links in quote embeds

* lint
2024-01-19 16:15:07 -08:00
Paul Frazee
95f70a9a6a
Phone number verification in account creation (#2564)
* Add optional sms verification

* Add support link to account creation

* Add e2e tests

* Bump api@0.9.0

* Update lockfile

* Bump api@0.9.1

* Include the phone number in the ui

* Add phone number validation and normalization
2024-01-18 20:48:51 -08:00
Eric Bailey
66b8774ecb
New component library based on ALF (#2459)
* Install on native as well

* Add button and link components

* Comments

* Use new prop

* Add some form elements

* Add labels to input

* Fix line height, add suffix

* Date inputs

* Autofill styles

* Clean up InputDate types

* Improve types for InputText, value handling

* Enforce a11y props on buttons

* Add Dialog, Portal

* Dialog contents

* Native dialog

* Clean up

* Fix animations

* Improvements to web modal, exiting still broken

* Clean up dialog types

* Add Prompt, Dialog refinement, mobile refinement

* Integrate new design tokens, reorg storybook

* Button colors

* Dim mode

* Reorg

* Some styles

* Toggles

* Improve a11y

* Autosize dialog, handle max height, Dialog.ScrolLView not working

* Try to use BottomSheet's own APIs

* Scrollable dialogs

* Add web shadow

* Handle overscroll

* Styles

* Dialog text input

* Shadows

* Button focus states

* Button pressed states

* Gradient poc

* Gradient colors and hovers

* Add hrefAttrs to Link

* Some more a11y

* Toggle invalid states

* Update dialog descriptions for demo

* Icons

* WIP Toggle cleanup

* Refactor toggle to not rely on immediate children

* Make Toggle controlled

* Clean up Toggles storybook

* ToggleButton styles

* Improve a11y labels

* ToggleButton hover darkmode

* Some i18n

* Refactor input

* Allow extension of input

* Remove old input

* Improve icons, add CalendarDays

* Refactor DateField, web done

* Add label example

* Clean up old InputDate, DateField android, text area example

* Consistent imports

* Button context, icons

* Add todo

* Add closeAllDialogs control

* Alignment

* Expand color palette

* Hitslops, add shortcut to Storybook in dev

* Fix multiline on ios

* Mark dialog close button as unused
2024-01-18 20:28:04 -06:00
Eric Bailey
9cbd3c0937
Reduce some Sentry logs (#2549)
* Reduce some Sentry logs

* Update tests
2024-01-16 15:48:35 -08:00
Paul Frazee
a7d617c7a6
Add a new home feed-api wrapper and give a header indicating the fallback behavior (#2534)
* Add a new home feed-api wrapper and give a header indicating the fallback behavior

* Sneak in a quick fix: use the correct text color in the delete modal

* Use imported constant
2024-01-15 15:03:54 -08:00
Paul Frazee
8cc1bd0c40
Create a profile record on new user (#2520)
* Create a profile record on new user

* Dont hold up account creation for the profile
2024-01-12 17:01:14 -08:00
Eric Bailey
11f6ff7cbe
Ensure sessions and tokens are synced between tabs (#2498)
* Ensure sessions and tokens are synced between tabs

* Send clear account to sentry for monitoring
2024-01-12 10:39:21 -08:00
Paul Frazee
998ee29986
(optional) In app browser (#2490)
* add expo web browser + modal

* add in app browser option to settings

* don't show toggle on web

* Tweak browser-choice UIs

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2024-01-12 10:19:56 -08:00
Eric Bailey
f7b01c3542
Add expired log (#2456)
* Add expired log

* Add service
2024-01-10 22:52:46 -08:00
Paul Frazee
7ab4be6f7d
Reduce polling (#2465)
* Move profile and preference polling to polls-on-foreground

* Refetch prefs on feeds screen refresh since polling no longer occurs

* Reduce notifications polling by 50% if there's already an unread

* Disable feed polling if we know we have content

* Disable the hard refresh after 1 hour in case it's the cause of the random feed refresh bug

* Fix types
2024-01-10 22:27:14 -08:00
Hailey
dda5ca27fe
add expandable context to composer when replying to post (#2419)
* add expand replyTo text with animation

* add images, quote to replyTo

* support withmedia

* adjust layout

* add embed to all needed openComposer calls

* adjust gap

* organize imports
2024-01-08 21:37:12 -08:00
Eric Bailey
0ee0554b86
Do not nuke session on unknown backend errors (#2399)
* Do not nuke session on unknown backend errors

* Restore existing functionality

* Use new event

* Kick user out to sign in

* Remove unstable
2024-01-08 15:59:55 -08:00
Hailey
cb9ed35cf6
convert prefix to lowercase in actor autocomplete query (#2431) 2024-01-08 13:56:47 -08:00
Paul Frazee
0dae24e78f
Additional embed sources and external-media consent controls (#2424)
* add apple music embed

* add vimeo embed

* add logic for tenor and giphy embeds

* keep it simple, use playerUri for images too

* add gif embed player

* lint, fix tests

* remove links that can't produce a thumb

* Revert "remove links that can't produce a thumb"

This reverts commit 985b92b4e622db936bb0c79fdf324099b9c8fcd8.

* Revert "Revert "remove links that can't produce a thumb""

This reverts commit 4895ded8b5120c4fc52b43ae85c9a01ea0b1a733.

* Revert "Revert "Revert "remove links that can't produce a thumb"""

This reverts commit 36d04b517ba5139e1639f2eda28d7f9aaa2dbfb6.

* properly obtain giphy metadata regardless of used url

* test fixes

* adjust gif player

* add all twitch embed types

* support m.youtube links

* few logic adjustments

* adjust spotify player height

* prefetch gif before showing

* use memory-disk cache policy on gifs

* use `disk` cachePolicy on ios - can't start/stop animation

* support pause/play on web

* onLoad fix

* remove extra pressable, add accessibility, fix scale issues

* improve size of embed

* add settings

* fix(?) settings

* add source to embed player params

* update tests

* better naming and settings options

* consent modal

* fix test id

* why is webstorm adding .tsx

* web modal

* simplify types

* adjust snap points

* remove unnecessary yt embed library. just use the webview always

* remove now useless WebGifStill 😭

* more type cleanup

* more type cleanup

* combine parse and prefs check in one memo

* improve dimensions of youtube shorts

* oops didn't commit the test 🫥

* add shorts as separate embed type

* fix up schema

* shorts modal

* hide gif details

* support localized spotify embeds

* more cleanup

* improve look and accessibility of gif embeds

* Update routing for the external embeds settings page

* Update and simplify the external embed preferences screen

* Update copy in embedconsent modal and add 'allow all' button

---------

Co-authored-by: Hailey <me@haileyok.com>
2024-01-04 17:37:36 -08:00
Paul Frazee
db62f27241
Reduce web requests (#2420)
* Stop auto-refetching app passwords and invites on an interval

* Don't poll for posts or notifs if the app/tab isnt focused
2024-01-04 17:36:27 -08:00
Eric Bailey
2f6f27c4fb
Add some more logging (#2402)
* Add a few logs

* Report unknown create account errors separately

* Downgrade to warn

* Nvm
2024-01-02 22:11:04 -08:00
Hailey
c1dc0b7ee0
emoji picker improvements (#2392)
* rework emoji picker

* dynamic position

* always prefer the left if it will fit

* add accessibility label

* Update EmojiPicker.web.tsx

oops. remove accessibility from fake button
2024-01-02 12:16:28 -08:00
Paul Frazee
6e001dbf1c
A couple notifications fixes (#2327)
* Clear the app badge notif count on markallread

* Fix like notifications on custom feeds
2023-12-27 08:47:45 -08:00
Eric Bailey
b199405134
Hide posts tool (#2299)
* 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>
2023-12-24 14:24:56 -08:00
Paul Frazee
fe0a35cbea
Fix blank home screen (close #2281) (#2291) 2023-12-24 10:00:29 -08:00
Paul Frazee
7d6b7d2fa6
Fix some account filtering behaviors (#2290)
* Fix: don't filter ProfileCards out of certain lists

* Fix: don't filter ProfileCards and autocomplete based on mutes
2023-12-23 15:16:23 -08:00
Samuel Newman
4a93a5b6ad
Invalid handle autocomplete (#2251)
* refactor invalid handle check from a previous PR to use util function

* add invalid handle check to `prefixMatch`
2023-12-20 09:50:50 -08:00
Eric Bailey
14c77255dd
Use same source for pinned feeds on Home and tab/sidebars (#2235) 2023-12-18 14:42:37 -08:00
Ansh
7af4825911
fix Create Account metrics (#2242) 2023-12-18 14:24:06 -08:00
Paul Frazee
2a712630b4
Traffic reduction and tuned caching strats (#2215)
* 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
2023-12-15 15:49:07 -08:00
Paul Frazee
075ffdf583
PWI behavior updates (#2207)
* 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>
2023-12-14 10:31:49 -08:00
Paul Frazee
8245e56747
Feed bugfixes (#2204)
* Dont show both an error and empty message in the feed

* Add a sanity check when attempting to fill the first 30
2023-12-13 12:17:14 -08:00
Paul Frazee
e3ba014be0
More notifications improvements (#2198)
* On mobile, never replace the notifs under the user due to focus events

* Use the server's seenAt response to calculate isRead state locally
2023-12-13 12:16:55 -08:00
Eric Bailey
b1f9454f1d
Add fallback to email reminder modal (#2193)
* Add fallback to email reminder modal

* Add more debug
2023-12-12 15:18:38 -08:00
Eric Bailey
c6ab6e8b8e
i18n settings improvements (#2184)
* Handle language selector

* Improve type safety

* Add a little more safety

* Update comment
2023-12-12 12:42:11 -06:00
Eric Bailey
bae63f9bf0
Patch bad migration, sanitize bad value (#2179) 2023-12-11 15:34:18 -08:00
Eric Bailey
586c2417a8
Handle failed pinned feed fetches when rendering list of pinned feeds (#2173) 2023-12-11 14:31:05 -08:00
dan
52ffd6aabb
Don't validate embeds when traversing cache (#2174) 2023-12-11 14:30:32 -08:00
Eric Bailey
f7ec7f700e
Clarify MyList filter intent (#2167) 2023-12-11 13:55:14 -08:00
Paul Frazee
99cf6b626f
Additional reductions in request traffic (#2169)
* 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
2023-12-11 13:53:37 -08:00
Paul Frazee
28fa5e4919
Add "Who can reply" controls [WIP] (#1954)
* 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
2023-12-10 12:01:34 -08:00
Eric Bailey
97b54b51c6
Add back isInitialLoad to session (#2155) 2023-12-09 15:10:12 -08:00
Paul Frazee
6b3eb401b0
Multiple notifications fixes (#2154)
* 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
2023-12-09 15:09:31 -08:00
Eric Bailey
9c0c18d5d0
Use new filter for Posts tab on profile (#2150)
* Use new filter for Posts tab on profile

* Update deps

* Remove log
2023-12-08 16:29:53 -08:00
Eric Bailey
1b8b1b2ed1
Await app view when handling blocks mutes for lists (#2151)
* Await app view when handling blocks mutes for lists

* Do it right this time
2023-12-08 15:55:35 -08:00
dan
7b686b5592
Add manual per-page memoization to post select (#2146) 2023-12-08 13:57:00 -08:00