1
0
mirror of https://github.com/TeamNewPipe/CrashReportImporter synced 2025-10-06 08:32:39 +02:00
Files

11 lines
139 B
Python
Raw Permalink Normal View History

Rewrite most of the project as an LMTP server This huge commit turns this project into an LMTP server to which Postfix can forward all mails directly. This is a lot more efficient than having the MTA send them to the MDA, save them, then fetch them via IMAP. It's a form of stream processing. It uses asyncio wherever possible to improve the parallel handling of mails and make the control flow easier than, say, having a message queue. We also have a relatively low mail volume (at most 2-3 mails per minute to this address) at the moment, so this would be overkill as well. Adding some scalability by spawning additional workers would not be too hard, though. This project now also targets GlitchTip instead of Sentry, as Sentry is non-free software now. GlitchTip is not very well documented at this point, but works quite well once you know where you need to fiddle. Unfortunately, it hardly reports errors to the user, both on the API as well as in the frontend, so one has to watch the logs a bit. Also, the Sentry docs, especially the SDK docs, don't apply 100% to GlitchTip. The rewrite further slightly improves the parsing of the stacktraces, making them look a lot more useful in GlitchTip compared to the old Sentry setup, and improving the bug aggregation a lot. A lot of research and trial and error went into this, but after importing the last 30 days worth of mail into the system with a little Python script, it seems a lot better than before. A lot of the parsing is still basically the old code, maybe with a little fixes and tweaks. The data representation in the GlitchTip storage has been rewritten entirely. The package was restructured to fix some of the mess, but there's still potential for improvements.
2021-01-27 17:24:29 +01:00
class ParserError(Exception):
pass
class StorageError(Exception):
pass
class NoPlaintextMessageFoundError(Exception):
pass