June 26, 2025
worked on
SharinFlame
Change Its Beta! message. I really need to rest and I can't work more now. SoM was pretty good, I love it! I will be still working on this project later, hopefully I will finish it soon. I wna make DMs next, when I finish small critical UX things like Forgot Password?, username changes, etc.
worked on
SharinFlame
Email changing dialog, when you change email it will have pending status, so you can cancel changing before email was changed
worked on
SharinFlame
Made password change (later will add Forgot Password thingy)
worked on
SharinFlame
Added social activity thingy in user profile, now it has followers/following counter but later will have more things, like reputation and maybe other things
worked on
SharinFlame
Added username to reports (and finally the screenshot :3)
worked on
SharinFlame
Added moderation dialog (that was a lot of work ngl), so now moderators will get assigned posts and so that means all moderators will have different posts/comments/resources even if they click at the same time. Also it has grace period (1 sec) so you can't click Approve right after you got assigned to resource, just for cases if you click accidentally. Later I will also add reject/approve appellations, but now it shows only posts/comments with reposts and no appellations
worked on
SharinFlame
Made moderation content deletion notifications, and audit & appellation mod dialog
worked on
SharinFlame
Fixed text in notifications by adding unescape, also many other small improvements and fixes for push notifications
worked on
SharinFlame
Added this little thingy for touch screens in each dialog
worked on
SharinFlame
Made that images can be opened in fullscreen
worked on
SharinFlame
Added rate limiting and added rate limits to each endpoint. It uses Redis and Lua for limiting
worked on
SharinFlame
Improved UX. Now when you click on reply in notifications it opens reply to reply, and not replies of the comment it was replied to. So person will get notification when you write a new reply
worked on
SharinFlame
Removed NSFW tag from posts. Maybe later when I will moderation, and better settings so I will be able to add option show NSFW content and age verification I will return it back
you could make the user enter their birthdate and make the NSFW posts only available for users above 18!
worked on
SharinFlame
Starting second beta test. Configured everything and fixed everything. Added reports, logout button and many other small things
worked on
SharinFlame
Made my own video player. Video.js was so bad and laggy ngl. Also fixed some parts of code
worked on
SharinFlame
Made my own carousel. Now Imma change <q-img> to <my-image> everywhere
worked on
SharinFlame
Made video player. Also made that when you upload files for posts you have to choose between Video and Image cause now I added type to files table, and so before uploading it creates file context with type post_image or post_video, it's made like that so different types has different limits. postimage's limits are 1 file and 15 mb, postvideo's limits are 5 files and 10 mb for each file. Also posts' fields has now media_type so frontend understands what to use, carousel or video player
worked on
SharinFlame
So I made scheduler for tasks like file deletion or posts deletion. I store posts for 3 days in database before hard deletion so yea. I used @dataclass for class Scheduled cause why not. I also improved some things, added deletedat to posts table in database, and added trigger to isdeleted to update deleted_at
worked on
SharinFlame
Now it's possible to upload files for posts. Almost the same as uploading avatars and banners (uses the same table in database) but with higher count of max uses and higher max file size. Also deleted media TEXT[] from posts table and now it gets media from files.objects. First time for me using drag & drop thingy btw.
worked on
SharinFlame
Added skeletons everywhere
worked on
SharinFlame
Finally!!! So now it works, banners and avatars. Gotta fix some bugs in R2 Worker. Also I didn't know how to use vue-advanced-cropper, so I had to use docs. Imma test how deleting images with 0 references works. And I'mma maybe make that client can't set filename for banners and avatars so I will use <snowflake_id>.webp on them
worked on
SharinFlame
Made clean up function, I didn't use Redis lock or something like that. I made everything fully async and each worker deletes its own batch without any collisions
worked on
SharinFlame
Made avatars and banners uploading. So now it creates context every time you upload file. It's stored in files table in db. Files table has references count, and the same user profile has avatarcontextid and bannercontextid. Later I will make that when references count goes to 0, files deletion from R2 will be queued
worked on
SharinFlame
Made Cloudflare R2 Worker. It's the first time for me doing something like that. I decided to make my own worker instead of using S3-like api cause I need content size limit. Made tests to test uploading. Now API creates token with signed JSON that contains maxsize (mb), expires (unix timestamp), allowedoperations (List with something like GET:path/to/object). I think it's good enough. I'm planning on making contexts, like for example you're making post and you can make post context and upload only 5 files to one context, and context deletes automatically if it wasn't linked to any resource (post, user, comment, message or anything else)
worked on
SharinFlame
Yea I was doing that all day today, I'm crazy. But who cares!? It looks so cool, and it's memory to my cat (he was gray :3). I think it turned out very cool and cute. It's an easter egg so I will post it only here and nowhere else.
worked on
SharinFlame
Created and added confirmation dialog!
worked on
SharinFlame
Made tag dialog. Now thinking how to make it look less boring and how to improve it. Also from last changes in API: I made that tags will be sanitized and normalized before creating/linking, so Tag1 yee! will be tag1-yee cause it endpoint it's used like /tags/tag1-yee/posts so I had to do it like that
worked on
SharinFlame
Added endpoints for tag info and tag posts. Tomorrow going to finish the fronted part and everything will be finished. Tag has posts_count.
worked on
SharinFlame
I made tables for post tags. Now on get_post you get tags and ctags, ctags are basically clickable tags, and tags are not-clickable tags like is-nsfw or ai-generated or legacy tags from the old beta test. Adding tags to post automatically creates tag in database
worked on
SharinFlame
Made animation in login/register page
worked on
SharinFlame
Made dialog background white on light theme cause it looks better than dark
worked on
SharinFlame
I was working on improving color generation system again. I was testing some random staff. And Math.sqrt actually fixed my problem... So on screenshot you can see green color that is finally looking good
worked on
SharinFlame
So media server of SoM was down yesterday. So I have to make 1 big devlog. I can upload one file per devlog tho so I will upload the screenshot of comment replies.
2h 25m:
I made comment replies! I love how easy it was compared to what I thought. On server there aren't even endpoints for replies. Cause replies and comments are the same. Just reply has parentcommentid so in REST Api I can just do ?parent_id=... or provide it in data if it's POST request. I think it's very cool.
45m:
Now it will close last dialog on back button. On phones in really helps :P. .hide() returns false if the dialog is already closed.
Rest of the time:
I was improving color generation system. And instead of map of saturation I decided to make auto saturation depends on lightness. So if lightness go down too much (like on green) I make less saturation and try again until target luminance = luminance, it makes the same green and yellow look much better.
worked on
SharinFlame
Ran it on tauri instead of electron. Cool experiment but maybe I will try it later. Cause I have IPC only on Electron and tray icon on it as well. But it was fun
worked on
SharinFlame
I made crossfade animation in settings and My Activity
worked on
SharinFlame
Added updates! It's like pinned comments but separated from comments. And only author can write things there
worked on
SharinFlame
Made my own select menu instead of q-select
worked on
SharinFlame
Made a function for opening dialogs. So I don't have to import dialogs and use quasar.dialog in components
worked on
SharinFlame
Improved color generation. Saturation and lightness were incorrect on light theme (checked by tools). I also had to change palettes and test them.
worked on
SharinFlame
Added icons to Register and Login page (I can only add 1 picture to the devlog, but they're pretty similar)
worked on
SharinFlame
Added icon to Login and Register page and added watchers that are removing errors
worked on
SharinFlame
A lot of small changed, I thought it'd be better if everything will be in one devlog cause changes aren't really big
worked on
SharinFlame
Made a big work on improving UX for CloseableContent component (this component is for touchscreens, it's used in every dialog and it makes it possible to close with just swipe)
worked on
SharinFlame
Added Go To Post button to comment that is not in Post Dialog
worked on
SharinFlame
Just made it more touch-friendly, before only post and profile dialogs had swipe to close. Now all dialogs have that feature.
worked on
SharinFlame
changed like/dislike buttons
worked on
SharinFlame
Made unread notifications label in dialog and Read All button
worked on
SharinFlame
Made read notification event on WS, I will also make endpoint for it as well just for the future
worked on
SharinFlame
Just added created at to post
worked on
SharinFlame
Now ping requests will have only 3 seconds timeout
worked on
SharinFlame
Made that requests are canceled when you're changing page, it's not only on main page but also in profiles or favorites. So no race conditions now :3.
Requests like follow, unfollow, like, dislike, etc. aren't canceled when components are destroyed
worked on
SharinFlame
Just made cooler loading
worked on
SharinFlame
Made massive refactoring
worked on
SharinFlame
Just made that slider's color changes when you move it
worked on
SharinFlame
Made some refactoring and changed where files are (I don't like the structure I made half year ago)
worked on
SharinFlame
Improved colors on light theme
worked on
SharinFlame
After last project I decided to back to my social network. Now it looks like that. Today I made CardSecondary color (you can see it on selected items).
created a project
It's a new social network. But it's not gonna be just regular social network like TikTok or Reddit. It will have reputation system, and it's gonna be very dynamic. There will be two types of it. Static and dynamic. Static will remain after time (like karma in Reddit), and dynamic will slowly always go to the zero every 12h (like -0.5 points every time). Likes and dislikes will affect to your reputation! I'm also planning on other unique features but they are in secret. I also spent a lot of time on color generation and themes. Hope you like it! :D I couldn't finish everything to the end of SoM, too many things to do. ;(
Finally fixed the bug when Tray apps were giving too big icons and GUI was freezing and then crashing. So I made argbtorgba function that is using numpy (maybe later I will rewrite it to Cython so I don't have to import numpy for that). So now it shows even Vekstop icon in tray (1080x1080) without lags
created a project
It's desktop environment for Linux, it's primarily made for Arch Linux just for case. It has Material You color generation and Material 3 design so your system will look like Android or ChromeOS. And colors of your whole system can change dynamically even if you just change wallpapers, there are even themes for Discord, Telegram and other apps. I was trying to make everything more understandable and easy to use and install. For advanced users, window manager here is Hyprland.
joined Summer of Making
This was widely regarded as a great move by everyone.