Canada
Ticket created by ~reykjalin on ~koehr/the-250kb-club
Hi! DevTools say my site, https://www.thorlaksson.com is 170kB compressed with assets and all. Could I join the club? :)
Comment by ~reykjalin on ~reykjalin/jarm
Look at the commits that removed the full DB approach in favor of a more in-code approach to notifications to see how to get the right posts out of the DB via DB queries: d5a42e3e343be86b7b5ba68f76e189ad697cbbc0
Ticket created by ~reykjalin on ~reykjalin/jarm
Notifications don't always get delivered. Current implementation is all done in Elixir to find which posts should be included in notifications, but that's probably causing the bugs. Code should probably look something like the following after the fix:
## THIS IS ALL PSEUDO-CODE ## # We get these here because any posts created while notifications are being delivered should receive the notification_sent flag. posts_with_no_notification_sent = Timeline.get_posts_with_no_notification_sent() comments_with_no_notification_sent = Timeline.get_comments_with_no_notification_sent() foreach ( user ) do new_posts = get_new_posts_for( user ) # From DB new_comments = get_new_comments_for( user ) # From DB new_comments_on_posts = get_new_comments_on_posts_made_by( user ) # From DB send_notification( user, new_posts, new_comments, new_comments_on_posts ) end set_notified( posts_with_no_notification_sent ) set_notified( comments_with_no_notification_sent )
Ticket created by ~reykjalin on ~reykjalin/jarm
Considering a sidebar for the desktop-ish layout where there’s a fixed sidebar to the left, and maybe a bottom toolbar for the mobile layout.
Ticket created by ~reykjalin on ~reykjalin/jarm
Instead of starting tasks immediately as they’re created instead use a queue to make sure the CPU on the server isn’t overloaded when doing something like converting video or images.
BEAM might actually manage this already, but it warrants some investigation since generating compressed media fails frequently when making posts and it’s unclear why, but I suspect it has something to do with limited resources on the server since regenerating them later works.
Comment by ~reykjalin on ~reykjalin/jarm
This could be a good resource: https://github.com/leandromoreira/ffmpeg-libav-tutorial#common-video-operations
Ticket created by ~reykjalin on ~reykjalin/jarm
Instead of popping the admin links to the top of the page make a dedicated admin dashboard with the various features implemented so far.
Ticket created by ~reykjalin on ~reykjalin/jarm
Currently the width and height are not fixed after recompressing the media, making it so that if the initial compression fails subsequent attempts at compression through the admin UI won't update the dimensions in the DB.
We need to update the dimensions on the
:compress_original
event inlib/jarm_web/live/admin_live/media_list.ex.ex::handle_info
.
Comment by ~reykjalin on ~reykjalin/jarm
Need to use the MagickWand API to bridge the gap between C and Elixir here.
Comment by ~reykjalin on ~reykjalin/jarm
Relevant guide in https://andrealeopardi.com/posts/using-c-from-elixir-with-nifs/