~reykjalin

Canada

https://www.thorlaksson.com

Find me on Mastodon.

Trackers

~reykjalin/Fonn

Last active 7 months ago

~reykjalin/jarm

Last active 8 months ago

~reykjalin/social-circles

Last active 3 years ago

~reykjalin/nova-phpcs

Last active 3 years ago

~reykjalin/qode

Last active 4 years ago

~reykjalin/kakoune-mode

Last active 4 years ago

#23 Fix notifications 8 months ago

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

#23 Fix notifications 8 months ago

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 )

#22 Explore different layouts for the UI 8 months ago

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.

#21 Use a task queue for async tasks 8 months ago

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.

#18 Make FFMPEG NIF 8 months ago

Comment by ~reykjalin on ~reykjalin/jarm

#20 Add an admin dashboard 8 months ago

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.

#19 Fix width and height for media after re-compressing 8 months ago

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 in lib/jarm_web/live/admin_live/media_list.ex.ex::handle_info.

#17 Make ImageMagick NIF 8 months ago

Comment by ~reykjalin on ~reykjalin/jarm

Need to use the MagickWand API to bridge the gap between C and Elixir here.

#18 Make FFMPEG NIF 8 months ago

Comment by ~reykjalin on ~reykjalin/jarm

#17 Make ImageMagick NIF 8 months ago

Comment by ~reykjalin on ~reykjalin/jarm