Backup codes generated at time of 2FA setup. Offer download button to store 10 auto-generated backup codes as plaintext file in downloads folder. Ask user to use an a code before they are allowed to enable 2FA to ensure they have the codes. Allow new codes to be generated whenever thereafter they are logged-in.
No sorry that is incorrect. The 2factor code implementation could fail due to a glitch in the solution or some other problem with communication. You might lose access to your 2factory codes. You always need a backup in case something goes wrong. There are real reasons why backup codes are offered with many 2factor implementations.
Just encountered the same issue myself and had to contact Obsidian support (who ere quite helpful) to regain full access to my account, though I was lucky to have made my account very recently, otherwise I may have forgotten some of the details required for retrieval.
I think backup codes are a necessity for a 2FA system.