WIP: task-581 #4

Draft
realaravinth wants to merge 6 commits from task-581 into forgejo

6 commits