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). |
davidsbailey
left a comment
There was a problem hiding this comment.
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: