Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Resolve an issue with next.js caching user profiles to a 404 #680

Merged
merged 2 commits into from
Jan 12, 2022

Conversation

TatisLois
Copy link
Contributor

Why

On every deployment a random subset of users is negatively effected with 404s on their profile. The "randomness" stems from a call v4/profile_server/${encodeURIComponent(slug_address)} made in the [profile].js during the first time a user hits the route (see getStaticPaths). If the call fails and the response is not a 400 then we return { notFound: true } causing the page to be cached and preventing future fetches to occur (see fallback-blocking).

Removing { notFound: true } completely felt incorrect without first refactoring the entire page. After doing some research I realized that we can revalidate the route and is an approach recommended to other users facing a similar issue (see this git issue)

How

  • Add revalidate: 1 to the returned notFound block

Test Plan

Added video, look at the bottom left as the page loads/is hit a second time

The bug

bug404.mp4

With solution

bugfix404.mp4

@vercel
Copy link

vercel bot commented Jan 12, 2022

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/showtime/showtime/5wum9rEYo4HuTdTwhAGRH3vL954n
✅ Preview: https://showtime-git-hotfix-show2-6-investigate-increas-ee5c78-showtime.vercel.app

@github-actions
Copy link

PR Preview - Storybook

This pull request preview deployment is now available.

✅ Preview: io.showtime.storybook://expo-development-client/?url=https://exp.host/@tryshowtime/showtime-storybook-react-native/index.exp?release-channel=pr-680&sdkVersion=44.0.0

Comment ID:

@github-actions
Copy link

PR Preview - App

This pull request preview deployment is now available.

✅ Preview: io.showtime.development://expo-development-client/?url=https://exp.host/@tryshowtime/showtime/index.exp?release-channel=pr-680&sdkVersion=44.0.0

Comment ID:

@kilkka kilkka self-requested a review January 12, 2022 21:28
Copy link
Contributor

@kilkka kilkka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@TatisLois TatisLois merged commit 3c789e4 into main Jan 12, 2022
@TatisLois TatisLois deleted the hotfix/show2-6-investigate-increasing-number-of-404 branch January 12, 2022 21:47
@m1guelpf
Copy link

m1guelpf commented Jan 12, 2022

@TatisLois you are a genius

@TatisLois
Copy link
Contributor Author

@TatisLois you are a genius

Press X to doubt - but thank you, I feel the same about you.

TatisLois added a commit that referenced this pull request Jan 17, 2022
TatisLois added a commit that referenced this pull request Jan 17, 2022
* upgrade mmkv

* Home/Feed (#655)

* feed tabs

* pinch to zoom

* pinch to zoom

* pinch to zoom

* pinch to zoom

* fix: feed ptr

* fix: feed images

* fix: feed images

* wip: feed

* wip: feed

* wip: feed

* wip - feed

* wip - feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* wip: feed

* upgrade mmkv

* use correct app scheme and icon for walletconnect

* improve walletconnect implementation

* automatically submit when wallet is connected

* Adjust gas price by a percentage (#653)

* create video component

* Feature/show2 290 trending screen (#663)

* wip: trending

* wip: trending

* wip: trending

* wip: trending

* make api fast again

* optimise creator previre

* optimise creator preview

* optimise creator preview

* optimise creator preview

* Update to handle long collection names (#662)

* Enable Magic on minting & marketplace (#665)

* install three.js + upgrade to react 18 + patch packages

* add model component

* Misc fixes (#666)

* spinner fix

* spinner fix

* add swr

* add swr

* add swr

* initial scroll fix

* add accessToken hook (#667)

* fix: added `useAccessToken` to access token for web (#669)

* feat(SHOW2-225): refactor modal component (#652)

* refactor: updated the modal styling for web

* fix: fixed tailwind colors import

* refactor: updated the modal styling for mobile

* chore: reset modal storybook visibility

* refactor: removed index.web

* fix: fixed the modal body styling on mobile

* refactor: updated modal styling for web/ios

* fix: modal gestures components on Android

Co-authored-by: Axel Delafosse <[email protected]>

* list improvements (#671)

* list improvements

* list improvements

* list improvements

* list improvements

* list improvements

* list improvements

* list improvements

* render model as image for now

* mark svg as todo

* mark blurhash as todo on android

* update logo

* add nft title and description components

* clean code

* Update styles and semantics for listed for per feedback (#660)

* disable save changes button when username is not available (#674)

* use suspense + add types + add navigation elements context and hook to hide

* improve collection component

* add send icon

* add comments + message box

* use constants for scroll and padding height

* clean code

* chore(magic): add magic flag in useFlags and import them into modals (#675)

* Profile screen (#677)

* add flipper

* add flipper

* inti

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* enable double tap

* list improvements

* list improvements

* wip profile

* wip profile

* profile api

* profile wip

* profile wip

* profile wip

* profile wip

* profile wip

* profile wip

* profile wip

* wip profile

* wip profile

* wip profile

* wip profile

* wip profile

* wip profile

* profile change route param

* add react navigation to storybook RN

* add react navigation to storybook RN

* add react navigation to storybook RN

* add react navigation to storybook RN

* add camera

* add reanimated handler to pager (#678)

* add reanimated handler to pager

* add reanimated handler to pager

* new tabs

* Revert "new tabs"

This reverts commit b88ae0b.

* upgrade vision-camera

* add create modal

* clean code

* refactor: updated tabs item header width to be dynamic (#681)

* update dependencies

* upgrade deps and revert yarn.lock changes

* use text-13 for tab items

* render svg via xml + disabled press on media if in nft modal

* fix camera tab bar icon container size

* set trending tabs to full width screen

* use suspense for profile tabs

* clean header dropdown

* Show an error when username is too short

* set user color scheme

* update status bar

* fix imports

* Feature/show2 309 create (#688)

* fieldset

* wip create UI

* wip create UI

* wip create UI

* wip create UI

* remove animated view from header (#692)

* use media component everywhere

* use the modal component for the create screen

* fix: color mode re-renders

* fix: color mode re-renders

* fix: color mode re-renders

* feat(SHOW2-283): added login with SMS flow and refactor login styling (#672)

* fix: updated the button height based on design system

* refactor: updated login screen styling

* feat: added keyboard handling for iOS & Android

* refactor: extracted email field ui into a separate component

* feat: added phone number field

* refactor: added contact details and remove email and phone number components

* feat: added loading view

* chore: removed debug console logs

* fix: set loading state on phone number submitting

* refactor: extract root magic instance

* refactor: updated tabs header item indicator positioning

* refactor: added a generic input field

* refactor: extracted login container and header

* refactor: updated login design to follow design system

* fix: prevent tab header from setting invalid height

* refactor: added text content type to input field

* fix: logout customer when app fails to login

* fix(unlist): allow an item to be unlisted by the owner when it not the lowest item for sale (#683)

* Resolve an issue with next.js caching user profiles to a 404 (#680) (#698)

Co-authored-by: Axel Delafosse <[email protected]>

* rework explore page for marketplace (#700)

* rework explore page for marketplace

* fix mobile links

* fix feed button tracking events

Co-authored-by: Axel Delafosse <[email protected]>
Co-authored-by: Nishan <[email protected]>
Co-authored-by: Axel Delafosse <[email protected]>
Co-authored-by: Miguel Piedrafita <[email protected]>
Co-authored-by: Mo Gorhom <[email protected]>
Co-authored-by: Henry Fontanier <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants