Skip to content

Conversation

@costowell
Copy link

@costowell costowell commented Dec 21, 2025

What

  1. Bumps deps
    • Switch to using requirements.in requirements.txt pattern
    • Switch to using Flask-XCaptcha since Flask-ReCaptcha is old and incompat with Flask 3
  2. Better error handling
    • If OTP code is invalid when confirming, the secret doesn't get erased
  3. No more user impersonation (solves Fix TOTP settings #114)
  4. Adds PR template
  5. Adds Dockerfile

Why

  1. Bumps deps
    • Yet another old ass flask app, its now in a little bit better shape
    • Side note: this is actually a nicely set up Flask app compared to others
  2. Better error handling
    • Kind of annoying to have to add a new secret to your password manager if you missed it by a second
  3. No more user impersonation
    • Using beautiful soup and filling the form is jank af
  4. Adds PR template
    • Why not
  5. Adds Dockerfile
    • Fuck S2I

Test Plan

  1. Ran the happy path
    • Clicked 'Configure Two Factor'
    • Saved the secret in my password manager and input the code
      • It worked :D
    • Clicked 'Remove Two Factor'
      • It worked :D
  2. Ran the less happy path
    • Clicked 'Configure Two Factor'
    • Input no code
      • It failed and told me I need to input a code
    • Input invalid code
      • It failed and told me the code was invalid

Env Vars

All RECAPTCHA_* become XCAPTCHA_*

Checklist

  • Tested all changes locally

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants