I don't yet, I plan to add one and work on this one more. I used Summernote for a while, but I didn't like having to deal with parsing HTML in some scenarios. This seemed like a much better option since most developers are familiar with Markdown. This library is called SimpleMDE (https://simplemde.com/). I'll probably cover an episode on it soon with integrating with ActiveStorage or something similar.
I believe that this is caused by the `url_for` which creates the `presigned_key` URL and has a 5 minute default expiration. You could instead of the JSON response of the direct URL, you send the response back which goes to the SHOW action of the ArticleImage. The show action will get the record and redirect to the S3 link from the `url_for`. This could have the added benefit of checking authorization/authentication of the image about to be displayed to a user. This would also solve the expiration time as it would generate a new link. You could also wrap the `url_for` with a `Rails.cache.fetch` and set the expiration to 5 minutes to prevent the overhead of having to get another signed url for every request of the same image within the given interval.
I'm interested in this as well. I'll do some research and will probably write up a blog article about it. If I had to guess, it will be removing the default image button and making a custom button which mimics the Drag/Drop functionality.