Skip to content
This repository was archived by the owner on Oct 4, 2023. It is now read-only.

[C-2130] Fix race cond in lineup init#2905

Merged
raymondjacobson merged 1 commit into
mainfrom
rj-c-2130
Feb 22, 2023
Merged

[C-2130] Fix race cond in lineup init#2905
raymondjacobson merged 1 commit into
mainfrom
rj-c-2130

Conversation

@raymondjacobson

Copy link
Copy Markdown
Member

Description

Rough bug. Turns out the way we initialize lineup reducers is bad.
Cannot read order of undefined comes from the fact that an action gets dispatched against feed when you repost any track

yield takeEvery(tracksSocialActions.REPOST_TRACK, addTrackRepost)
and that hits an undefined value for the feed lineup slice.

This removes the lazy init and normalizes a few things.

Dragons

Is there anything the reviewer should be on the lookout for? Are there any dangerous changes?

This is a deep cut. Major lineup change (but should be for the better)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide repro instructions & any configuration.

Locally vs staging. Bug no longer reproable

How will this change be monitored?

For features that are critical or could fail silently please describe the monitoring/alerting being added.

Feature Flags

Are all new features properly feature flagged? Describe added feature flags.

@dylanjeffers dylanjeffers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nice changes! its good that our lineups have all the right stuff from the beginning probably anyway?

trendingAllTime
)

const reducer = (state, action) => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

gotcha so this is the part that is replaced with not-lazy version to ensure each lineup is ready to go when a repost action happens?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

yeyo

@raymondjacobson

Copy link
Copy Markdown
Member Author

nice changes! its good that our lineups have all the right stuff from the beginning probably anyway?

yeah, definitely. i'm not sure why it wasn't done this way to start.

@audius-infra

Copy link
Copy Markdown
Collaborator

Preview this change https://demo.audius.co/rj-c-2130

@raymondjacobson

Copy link
Copy Markdown
Member Author

nice changes! its good that our lineups have all the right stuff from the beginning probably anyway?

yeah, definitely. i'm not sure why it wasn't done this way to start.

https://github.com/AudiusProject/audius-client-old/commit/463b09cd5d5f380de1cf54161fe421bff857fc1b

Here's the origin

@raymondjacobson raymondjacobson merged commit 902159c into main Feb 22, 2023
@raymondjacobson raymondjacobson deleted the rj-c-2130 branch February 22, 2023 05:08
audius-infra pushed a commit that referenced this pull request Feb 25, 2023
[ef02ac1] Fix podfile, specify ruby-version (#2924) Dylan Jeffers
[c925cfe] Fix track play button (#2925) Michael Piazza
[6e3338b] [C-2201] Improve card list skeleton count (#2916) Dylan Jeffers
[c696519] [C-2207] Fix scrubber timestamp sync issues (#2912) Dylan Jeffers
[f9f5066] [C-2202] Sync legacy search history (#2915) Dylan Jeffers
[1c50935] [C-2193] Fix webview audio players on ios (#2922) Raymond Jacobson
[dd649d5] [C-1922] Fix mobile share encoding (#2918) Dylan Jeffers
[eb6b89e] Fix collectibles route (#2917) Dylan Jeffers
[efaa539] Fix lineup showing empty tile before fetch (#2911) Dylan Jeffers
[c77076a] comma (#2920) Marcus Pasell
[6041a40] [PAY-943] - Filter out download options for gated track (#2919) Saliou Diallo
[3b2ff6d] [DMs] RadioButton component and InboxSettingsModal (#2884) Marcus Pasell
[709dde5] [PAY-890] Add locked content modal (#2893) Saliou Diallo
[3d8912f] [C-1856] Upgrade react-native to 0.71 (#2644) Dylan Jeffers
[e863756] [C-1931] Refactor collection header for private track logic (#2676) Dylan Jeffers
[1f8358b] [C-2171] Fix remove download performance (#2903) Dylan Jeffers
[4050a55] [C-2042] Fix empty collection on deep link (#2914) Sebastian Klingler
[03a31ee] [C-2164] add retry and requeue logic to download track jobs (#2899) Andrew Mendelsohn
[3bf27f7] [C-2186] Fix spacing for longs handles/names (#2908) Raymond Jacobson
[a89b3bb] Fix image loading issues w Share to X (#2909) nicoback2
[902159c] [C-2130] Fix race cond in lineup init (#2905) Raymond Jacobson
[7beb57d] [C-2200] Fix profile tabs loading/empty states (#2906) Dylan Jeffers
[6beaa2d] [C-2198] Fix runtime error due to missing drawer data (#2904) Dylan Jeffers
[2b44b26] [C-2197] Fix image prefetch to work with fast-image (#2902) Dylan Jeffers
[5a8069f] Permission copy change (#2901) nicoback2
[d427d3e] Fix TikTok share permission for iOS (#2897) nicoback2
[44c665d] [C-2195] Fix tiktok share on android (#2900) Sebastian Klingler
[0235af9] [C-2178] Complete w/ tiktok qa fixes (#2896) Sebastian Klingler
[dfe4622] Add repost of a repost metadata to reposting tracks and collections (#2847) sabrina-kiam
[c2f6ad7] Minor updates to mobile chats (#2891) Reed
[0e70d27] [C-2169] Fix track-player hot reload (#2890) Dylan Jeffers
[a07ce78] Rename TikTok video feature flag (#2894) nicoback2
[3da2b87] Relay to both POA and ACDC (#2895) Isaac Solo
[a02fee7] [C-2176] TikTok sdk improvements (#2892) Sebastian Klingler
@AudiusProject AudiusProject deleted a comment from linear Bot Sep 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants