-
Notifications
You must be signed in to change notification settings - Fork 480
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
Re-add project backed freeplay level to uncached levels list #48008
Conversation
Bummer. Definitely would love to find a fix for this scenario (signed out users) before Hour of Code. Let me know if I can help with implementing tests that detect this issue in environments that don't use CloudFront (we have logic that implements HTTP caching in that fallback scenario). |
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.
This looks like the right list to me! I compared against #43629, which were the last changes to http_cache.rb before HOC last year.
Users who are signed out (not 100% sure being signed out is necessary) and go to these levels all get the same channel id.
I agree with the "not sure" bit. The teacher panel shows up on these cached levels now, as described in #45096, which suggests that somehow work WAS done to fix the experience for signed-in users, but it is not clear that anyone doing that work inspected the channel ids on the cached, project-backed levels.
huge thanks to the infra team (past and present) for making the http caching rules work without cloudfront! My initial take is that this gives us the ability to iterate on a fix for this quickly in local development. I am not sure I see a way to add an automated test to catch this kind of problem, but it could be possible. One saving grace is that the behavior of showing an error and reloading the page is pretty aggressive and user-visible, which means it is likely that users notice and report this kind of problem. this is a big step up from when we just silently let users continue editing only to find later that their work was lost. Based on that, I would argue that automated end-to-end testing of a fix for this is not 100% required. |
@sureshc if you believe this is possible then we'd love your help with it! |
Also not sure how to write a test for this but happy to if I can get a pointer as to how. I'd like to merge this PR ASAP (unfortunately, Drone decided to start slowly on this PR so not quite as ASAP as I'd have liked) so it might be done in a follow up PR. I did create a task to fix this: https://codedotorg.atlassian.net/browse/LP-2433
💯 |
unfortunately it looks like dashboard tests did not run in drone:
and now this test is failing in my drone runs:
@bethanyaconnor would you be willing to own the fix? |
oh shoot, sorry didn't notice that. Yeah, I can own |
Fix tests broken by #48008
Reported by Brendan in this thread. Users who are signed out (not 100% sure being signed out is necessary) and go to these levels all get the same channel id. This in turn leads to saving errors and data loss for these users.
Repro steps:
I confirmed that I could repro with these steps locally before this change and could not repro with these steps after this change.
PR Checklist: