Logo Cyca

A Week of Dev #11


The Groups Update was the largest I have ever done for Cyca, and it took a lot of time because of profound changes in the database.

It took so long to release that I made the decision of releasing it without giving users the possibility to join “public” groups, unless they were being invited to by the user that created the group.

Just a semantic note here, which will be specified soon in a documentation update: public groups in Cyca are groups that don’t require an invitation to join.

So, this week, my top priority was to provide a UI to browse public groups and join them. Displayed list includes all the public groups current user can join, but you can also filter by group name using the search box above.

The second, top-priority related to groups were per-user permissions. Once a user has joined a group, the creator of the group must be able to say what the new user can and cannot do, and it was yet to be implemented.

Now, the group creator can define, per folder, what each user in the group can do.

Home network

Now that I installed my new server (the Beelink-T34) with public services related to Cyca, I felt the need of improving things on my network.

I installed a reverse-proxy dedicated to the public part of the network on a Raspberry Pi 4, introduce my shiny Mac Mini M1 to my network as my main dev computer, made a couple of adjustements on my DNS server, etc. In the end, I now manage my whole network with Ansible, and I’m getting pretty comfortable with it.

Anyways, the public services related to Cyca I have put together consist of:

  • a micro-blogging plateform, running Pleroma, which allows me to publish whatever text-messages I want without being suspended for nothing (hello twitter…)
  • an image hosting platform, of which you got a glimpse right above, running Pixelfed, which allows me to host screenshots of Cyca or whatever pictures I want to share, like this one:

Aside note: the Mac Mini is my birthday/christmas gift from my parents “to improve [my] work on Cyca”, and I confirm: it does improve my Quality of Life as a dev… So, thank you mom and dad 😁

End of v0.8.x branch

With adding the public groups browser and per-user permissions, I decided it’s time to move on to the v0.9 branch. From now on, I consider Cyca having all the features I wanted for the v1.0 release, so no new feature will be added until then. The v0.9 branch will be focused on UI and themes. Once satisfied with it, I will release the first stable version of Cyca.

But fear not: I have a lot of features I plan to add to Cyca after releasing the v1.0…

In the mean time, the project is looking for translators (Cyca is currently available in 🇺🇸 and 🇫🇷).

Donators are welcome too !

You can help by forking Cyca’s repository and use the /resources/lang/fr.json file as a base for your new translation.

Or, you can make a small donation if you prefer !

What’s next

As I said, I will introduce the v0.9 branch this week with UI improvements, including but not limited to upgrading tailwind, which could lead to heavy modifications of current themes and themes management, and, maybe, if I have time after that, upgrading Vue.

Actually, I’ve already started upgrading tailwind, and modernizing pages with few content, such as the login page.

You can see the adjustments that have been made, now figure yourself there will be the same work everywhere else in the app, and you really got something ! Not spectacular when just comparing the two but underlying CSS and Javascript is realy going the right way. I just need to let my poor skills at design express themselvesand see what is going to pop out of it 😅

Oh and BTW, the upgrade concerns the default dark theme, but the light theme will get its refresh as well.

I will also try to provide a demo instance of Cyca on my public server, but it raises some concerns about my network bandwidth. I still have to figure this out.