If you missed the last one, check it out here!
Mobile Development
Our mobile teams have been swiftly implementing various features and polishing the experience.
☁️ Push Notifications
We’ve been hard at work iterating on push notifications for the mobile platforms, including:
- Fixing Firebase Cloud Messaging issues which means the Android app can now receive notifications (insert~backend).
- Refactoring the push notification code (tom~backend/pushd).
- Continued work on implementing notifications on both the Android and iOS side.
Screenshots showing push notifications on Android and iOS
🍎 iOS Teasers
Below are some teasers from the iOS team:
Screenshots showing Spotify embeds, search functionality, and reactions
📱 Android Updates
And we’ve also got some Android updates for you!
A new image picker has been implemented using the new Android photo picker, various stability improvements have been made, and the sidebar has been redesigned to follow Material 3 guidelines.
Screenshots showcasing the new file picker and sidebar.
A new colour picker has also been shipped to help users wishing to customise their experience to the fullest.
Screenshots showcasing colour picker in slider, palette, and hex modes.
🚧 Beta Reminder
If you’re eager to try either app, you can:
- Request to join the Android test track here or build it yourself.
- Join the iOS testlight using link here or build it yourself.
Behind The Scenes
Revolt’s backend continues to receive regular fixes and improvements, if you’d like to keep up with changes as a developer, you can visit the releases page on GitHub.
Minor notable changes:
-
Switched to using distroless Docker images for the runtime. (0.7.16)
Docker image size halved as a result!
- Various fixes for Apple Push Notifications and events. (0.7.15)
- Support for message pins has been added by Zomatree. This will likely find its way into clients shortly. (0.7.15)
- Created a new package revolt-nodejs-bindings intended for exposing procedure calls from the Revolt backend to various Node.js projects, notably the admin panel.
☁️ Migration to Backblaze B2
We have begun migrating our file server from its previous host to Backblaze B2 and we’ve taken measures to ensure this data can only ever be read by our servers:
- All files uploaded to Revolt (and migrated to B2) are encrypted using a pre-shared key and the aes-256-gcm algorithm. This means only Revolt can read files back from B2.
- All files are additionally encrypted at rest by Backblaze using SSE-B2.
We’ve also introduced de-duplication within the file service itself which was previously provided by the filesystem and is no longer available. As such, uploading the same file twice will mean we will get charged twice, so instead: all uploaded/processed files are hashed and are matched where appropriate to de-duplicate them internally.
The migration started on the 19th of August and by the 28th of August all files up until that point have been uploaded.
To finish the migration, Autumn needs changes made to use the new system, more information about this is provided below.
📦 Moving services into backend
The remaining micro-services which aren’t already in the backend monorepo, are being moved into the monorepo and getting some changes in the process!
- Both january and autumn are being migrated to services/january and services/autumn respectively.
- They both now use axum instead of actix as the HTTP framework.
- They both now generate an OpenAPI specification that is accessible through Scalar.
- Since they are being moved into the backend repository, they will both gain ARM64 build support. Yippie!
Scalar API documentation for january (dark mode)
Scalar API documentation for autumn (light mode)
Web Client
Written by insert.
Unfortunately, client work has stalled due to a lack of time on end, my focus has been shifted over to assisting with the other teams, working on the backend, and also on our moderation tools.
More contributors to the project would be helpful but I think the most important thing the frontend project is missing right now is at least one additional maintainer that can help guide contributions and triage incoming pull requests. I think other areas of the project could also benefit from this but objectively the frontend is suffering the most currently.
Please come talk to me in #Revolt Discussion if you are interested.
Admin Panel
If you run your own Revolt instance, we have new and upgraded tools coming in the future for managing your services. The new admin panel is still a heavy work in progress but it’s slowly coming together!
Note! Apologies for the lack of updates on the self-hosted repo with the recent configuration changes, work is being done to standardise everything on the code side and setup guides will follow after. Thank you for your patience.
Currently, the focus is on providing the ability to quickly jump to content whether necessary to assist with support tickets or to handle external moderation reports.
The search functionality allows you to quickly jump to users by username, username#discriminator, most objects by ID, channels/servers by invite code, and so forth.
Example search result for ‘insert’ listing users matching that name
Example search result for ‘Testers’ listing the ‘Revolt’ server which matches the code
Only one of these inspect pages has been (partially) implemented so far:
Inspect user page
From The Community
If you have a cool project/art/thing related to Revolt that you’ve made or otherwise like to share, drop into the #Month in Revolt channel in the Revolt community server. We’d love to give you the opportunity to have it featured in this series.
Andre_601’s Revolt logo idea, permalink
Taroovala’s Revolt-Arch logo mashup, permalink
Taroovala’s Revolt-Revolut branding mashup, permalink
ive watched this video like 100 times over the past 2 months, permalink
Taroovala’s Revolt-Artix branding mashup, permalink
Delta’s Revolt logo, permalink
The Loop
Have any questions or feedback? Go to our feedback or Q&A discussions on GitHub.
⚙️ Organisational changes
As mentioned before, our organisation structure became unsustainable and needed immediate change. The first focus is on our operations, to coordinate this, Jen has been chosen to lead as the COO of Revolt and has been working to put together organisational structures (and generally figure out what everyone should be responsible for).
🚶 Holiday season (cont.)
We’re coming to the tail end of the holiday season, some response times may still be affected but everything has almost come back to normal.
🌎 Update on prior post (again)
Licensing updates in no particular order:
- No changes yet for Discover, although it will be published at the latest when we update our website.
- The old admin panel and Shield source code have been released (to the best of my ability).