-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pinned feeds cards #4526
Pinned feeds cards #4526
Conversation
Your Render PR Server URL is https://social-app-pr-4526.onrender.com. Follow its progress at https://dashboard.render.com/web/srv-cpmc0ol6l47c73btvia0. |
|
* origin/main: (22 commits) Disable newskie dialog tap in hover card web (#4562) Implement thread locking (#4545) Prevent unecessary calls (#4561) Force callers of `getTimeAgo` to pass in the value for "now" (#4560) Fix: only apply self-thread load-more behavior on the outer edge of the reply tree (#4559) Server-side thread mutes (#4518) Explore fixes (#4540) Is it "newskie" or "newsky" 🤔 (#4557) fix keyboard overlaying onboarding inputs (#4558) Add `useGetTimeAgo` and utils (#4556) Unconditionally polyfill Intl.PluralRules for native (#4554) Dedupe Zod installation (#4551) Use exact imports for icons (#4549) Fix Android startup perf regression (#4544) Explore feed cards (#4521) Onboarding fixes (#4508) Add `native_pwi_disabled` feature gate experiment (#4507) Select, don't mutate (#4541) Don't show "Pin/Add" button on feed card w/ no session (#4539) Add patch for `RCTBaseTextInput` fixing `selectTextOnFocus` prop (#4533) ...
this loading sequence feels a bit janky. some ideas:
loading.mov |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's polish the loading sequence a bit
Oh yep, meant to do this, I have a good idea for how to do this nicely I think |
* origin/main: (25 commits) Add a11y context (#4586) center pill text in label pill (#4579) Wait for AppView when posting (#4584) Bsky link card service (#4547) Merge #4492, fixes profile menu hover (#4580) Rework "Who can reply" to blend more nicely into the UI (#4578) Fix threadgate read after write (#4577) Convert button to use forwardRef (#4576) use 1000x1000 for image height in avatar cropper (#4453) fix for autofill covering border (#4573) Update HomeHeaderLayoutMobile.tsx (#4572) Option for large alt badges (#4571) Truncate post metrics and fix truncation on native (#4575) Fix avi placeholder layout (#4570) add support for `ListEmptyComponent`, allow `undefined` data (#4403) GIF previews in notifications (#4447) [Session] Convert account to session data explicitly (#4446) Move onboarding start to after successfull account creation (#4381) Collection of moderation fixes (#4566) Fix undefined block (#4479) ...
Added a skeleton loading state. Cool thing we can do here is load the exact # of placeholders we need, bc we should have preferences loaded and therefore know how many saved feeds the user has. RQ has a On warm loads i.e. navigation, we have prefs loaded so we can smoothly show placeholder -> real cards. On cold loads, prefs haven't loaded yet, so even the I double checked this in a no-feeds state, which can only happen if the user rugs their feeds in a 3p app or directly via API access, and the logic still works as it has been. |
And pushed a fix for a flash of the load state when pinning. RQ let's us re-use the previous query result as the next placeholder state when the query is invalidated after a pin. |
jump.movThe initial load is still jumpy because we're showing both sections despite not knowing the height of the first section. So once the first section arrives, it re-layouts. Two questions:
To sum up, I'd expect this screen to load in two stages:
|
Yeah good idea. The goal of this PR isn't to totally redo this page, I just want to get rid of the n+1 queries we're doing for each saved feed and all the feeds under the bottom section (that bit I did last week). I think I explained the multiple glitters above. On cold loads it's due to preferences not having been loaded yet. But I could see an argument for not jumping between the base of 4, to the actual # of feeds, to the loaded feeds. We could just show 4 or so and then wait for feeds data and show all feeds fully loaded. Keep in mind that's only on cold loads though. With warm preferences data, I think it's super nice. I'll look at the staged loading you're suggesting and see if it's easy to hit. |
Would be good to get this fixed: regr.movFeels disorienting. Should doable by implementing |
Replaces the lil avi+feed name at the top of the Feeds screen. Adds support for lists in
FeedCard
. Fixes alignment on mobile.One small improvement from prod is that there's a pressed state on native now, that matches the hover on web.