fix(#261): safe session language access#268
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (12)
📝 WalkthroughWalkthroughAll ChangesSession Language Safe Access
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What changed
Replaced all unsafe
session["language"]reads withsession.get("language", "en")across 12 files. This prevents aKeyError(and 500 Internal Server Error) when the session language key is missing due to corruption, migration, or edge cases.Files touched
app/routes/change_password.pyapp/routes/change_profile_picture.pyapp/routes/change_username.pyapp/routes/create_post.pyapp/routes/edit_post.pyapp/routes/login.pyapp/routes/password_reset.pyapp/routes/post.pyapp/routes/set_language.pyapp/routes/signup.pyapp/routes/verify_user.pyapp/utils/delete.pyWrite sites left untouched
app/utils/before_request/browser_language.pyandapp/routes/set_language.pycontainsession["language"] = ...assignments. These were intentionally left as bracket assignments since they are write operations, not reads.Testing
py_compileverified).session["language"] =) remain in the codebase — zero unsafe reads left.e2e-tests.yamlwill cover e2e validation on merge.Closes #261
Summary by CodeRabbit