August 18
Hi all, hope you’re doing well.
First of all, sorry for the late update; I recently had jaw surgery to remove an awkward wisdom tooth and a tooth in front of it. The surgery itself went okay, but I haven’t been too well since then - my jaw is alright but the other aspects of the surgery (post-surgery antibiotics causing an infection, sudden diet change) seem to have hit me kinda hard. I'm recovering and everything, just slows me down a lot. I might pause Patreon for this month if I don’t get much done in the next week and a bit, will see how things go.
That aside, some updates on Deserted Chateau and other things ^^
Display Artwork page refactoring
I’ve refactored the main artwork display page to load most data via AJAX requests. For goodness knows what reason I initially put most of the content on the page via PHP, but that made for a very messy code file that wasn’t similar to the rest of the codebase, and made changing the page a little harder than it needed to be.
Next/Previous artworks: category considerations
One of the other reasons for refactoring the display artwork page was that, in an AJAX-loaded page, it’s a lot easier to keep a list of next/previous artworks to enable left/right arrows on the page (if it’s all loaded in PHP, it means going to the database to get that info, which is a bit awkward).
That being said, I think I might just remove left and right arrows on artworks entirely. It’s awkward to implement both in terms of keeping a list of next/previous artworks at hand, and also because a particular user may have some artworks hidden by their NSFW settings and thus will have a different list of what the next and previous artworks in a gallery are. Also not entirely sure it’s even that useful, I’ve personally never used those arrows for browsing on art websites.
Video uploading and resizing functionality
Now that the CDN bandwidth costs are much lower, video hosting should be doable, at least to some extent. I’ve implemented cloud functions to re-encode and resize videos as needed, and finished some of the artwork submission flow for videos in the backend. Still a bit more work to do on that front, as video uploads come with some extra considerations, and it means a lot of extra code when editing an artwork submission. I really need to refactor the submission code as it’s rather messy at the moment.
I ran into what I thought was going to be a major problem resizing and re-encoding videos in the cloud; ffmpeg didn’t seem to work on some videos, but after a while debugging and doing local testing, I realised it was to do with giving it an S3 stream URL instead of an actual file (which works for some videos and some not, weirdly). Downloading the video file from S3 first and then processing it seems to work fine.
Videos are also working in gallery display, for content creators who make primarily videos such as e.g. 3D animators. Exactly how to moderate this function is something I’m still deciding, to prevent abuse and excessive bandwidth usage. A humorous example is in the main video of this post.
Bug fixes/improvements
- Private messages: no longer fail when sending to a user you already have a conversation with (it previously didn’t check that)
- Artwork notifications now work properly. The cloud function that inserts new notifications upon a new artwork being added had to be modified to work correctly due to some weird behaviour in the NodeJS connector for MariaDB.
- The cloud function for moving S3 files has been improved, so that videos can be properly hosted (as unlike images, re-encoding the video at 480p a second time when submitting is not very efficient).