This might not be news to everyone, but since 2021, they stopped offering an alternative to the app. You can no longer print or screenshot the barcodes because they roll.
Super lame.
https://news.ycombinator.com/item?id=40906148 <-- And not for any reasonable technical reason either. It’s purely a policy/interface thing. If can wrap your head around the tech, that person figured out how the codes are generated, and made a web page that could make them (without cracking or ‘stealing’ an unpaid ticket)