Jump to content

GSoc/2023/StatusReports/RishiKumar

From KDE Community Wiki
Revision as of 15:10, 11 July 2023 by Keys (talk | contribs) (Timeline)

Adding moderation tool in Tokodon

This project aims to enhance the functionality of Tokodon by integrating moderation tools which will allow moderators and administrators of Mastodon instances to efficiently manage their communities through the easy-to-use interface of Tokodon. This project aims to provide Mastodon instance owners with a comprehensive suite of admin tools, making Tokodon a more versatile and usable tool for the fediverse moderators.

Mentor

Carl Schwan

Merge Request

Blog Posts

Timeline

Week 1 and Week 2

The first task I worked on was implementing the account moderation tool. This tool enables moderators/admins of an instance to view all the accounts available on the server and take action against them.

Initially, when attempting to receive raw `JSON` data from the `/api/v1/admin/accounts` endpoint, I encountered a `403` error response. Upon spending some time debugging my code I couldn’t determine what I was doing wrong and so I finally resorted to asking for help in the Tokodon matrix chat, where redstrate❣️ helped me identify that we didn’t have the necessary scope set in Tokodon to access admin endpoints.

An image showing User Interface of Tokodon’s Account Moderation Tool
Images showing implemented Account Moderation tool

I decided to implement a `QAbstractListModel` to expose all the data and required properties in the `QML` UI. With this in mind, I created a new class `AccountsToolModel` that inherited from `QAbstractListModel`. For making all the filter options functional I created `QProperty` instances with the necessary `READ`, `WRITE` and `NOTIFY` methods.


Week 3 and Week 4

Week 5 and Week 6

Week 7 and Week 8

Week 9 and Week 10

Week 11 and Week 12

Contact

I am on Matrix as @k3ys:matrix.org.