khakers / modmail-viewer

An advanced web frontend for the modmail discord bot with built in Discord OAuth2 authentication, and support for browsing and searching current and historical logs. Directly replaces logviewer.
MIT License
10 stars 4 forks source link

Discord authenticated attachments #112

Open khakers opened 1 year ago

khakers commented 1 year ago

Discord has just announced they will soon be adding additional authentication parameters to attachments. Without significant change, this will result in all attachments becoming unusable after an unknown (likely short) period of time even when the thread is still open.

The easiest option is probably to patch modmail to store images as base64 in the database (though this will hugely inflate its size). This is the best solution for downloaded transcripts in html format since the file will contain everything it needs to work.

Modmail viewer should have the required information to get messages from discord, so it could renew links for open threads on its own.

There's also the option of S3 and file system storage, but these would likely require more work for modmail and the viewer.

khakers commented 1 year ago

From Discord:

When will the change go out? The URL parameter change will be a gradual rollout that may adjust based on identified user impact. The earliest the rollout will begin no earlier than December 15. As the change is rolling out, we will be monitoring developer and end-user impact to ensure that the client experience is not breaking in unintended ways.

khakers commented 1 year ago

It doesn't look like it will be too hard to do in database attachment storage. Prospective plan is to add this to my fork, OpenModmail, (name pending) as the default attachment backend, and look into some better solutions in the future.

khakers commented 1 year ago

https://github.com/khakers/OpenModmail/pull/3

khakers commented 11 months ago

Initial implementation is done for OpenModmail with both an S3 handler and MongoDB in database store