Skip to content

Huge Update

Compare
Choose a tag to compare
@hackthedev hackthedev released this 29 Jul 22:16
· 27 commits to main since this release
6ccaea9

Info

In this update i mainly focused on the back-end first, like trying to better organize the code etc, then implemented some sort of plugin support while i was at it.

The previous release title might've been misleading as technically speaking this software would be source-available instead of open source (til) because the license doesnt give the user the freedom as defined in the open source standard. Reason for this is because i want to commercialize this software by either charging companies that want to make money with this (maybe in the future) or by making extra plugins that wouldnt make sense to be in the official release kinda. This wont effect the normal user tho. I wouldnt like being charged for it just to use it as "consumer" when the goal of it all is to be self hostable.


Release Notes

  • SQL Support (July 28th, 2024 | v3.4.6)

    • Storing Messages
      • It's possible to enable SQL in the config.php file to enable and configure SQL. It was tested with MariaDB.
    • Media Cache (SQL only)
      • If you're using the SQL feature, you will benefit from a media cache feature I implemented. The server now checks for the type of media using HTTP Requests and checking the Content-Type returned (= better media detection & better embeds etc). After the check, the URL will be stored in the database with its media type. If a media check is requested, the server will check the database first before making the HTTP Request.
  • Plugin System

    • Implemented a plugin system that can be used to customize the server and client.
      • You can add custom socket events, trigger events, and modify almost everything to your liking without needing to modify the source files directly.
      • You can also define custom functions that will trigger when the server is starting up. You can also create files that can modify the web client. Check out the GitHub Wiki.
  • Improvements

    • Config Compatibility
      • I implemented a feature to dynamically check if config features exist or not, and if not, it will update the config with pre-defined default variables. This way, your server should never run into an error because it couldn't find a config variable when updating (as long as I don't forget it).
    • Rich Text Editor
      • The cool people that follow the Update Previews on GitHub Discussions (3 people currently <3) already know this but the text input field has been completely purged and replaced with a new and cool Rich Text Editor or Markdown Editor. You can now type long fancy texts with easy formatting etc. I would suggest you try it out yourself ;) . Go to GitHub Discussions.
    • WebRTC
      • In the previous update, I released an experimental voice chat that I tried to put together myself because I didn't really see how I could use WebRTC. I finally figured it out and implemented it as well and compared to my previous attempt it's a day and night difference. Also, since using WebRTC, the audio is not being cut off anymore and other side effects are also gone.
    • Default Channel
      • It's now possible to set a default channel where the server will send specific events like "... user joined the server" etc. These messages SHOULD be stored now.
    • Message Editing
      • It's now possible to edit messages.
    • Member Count in Server Roles
      • If you go to the server settings and click on a role and scroll all the way down where the role members will be listed there will be a small counter now showing how many members are in that role.
    • New Colors
      • Recolored the UI to look nicer. At least I love it. I plan to add better customization features.
    • Mobile UI
      • Since I was already recoloring the UI I also tried to make the UI more mobile-friendly. Before this update, mobile wasn't really usable at all. It's still not perfect and some things need to be done still but at least you have basic functionality now.
  • Bugs

    • Styling
      • Fixed a bug where texts in the profile are overflowing. CSS is amazing.
      • Fixed a bug where the typing indicator text "Shy Devil is typing..." etc is overflowing.
    • Code
      • Fixed a bug where the channel right-click menu didn't work.
      • Fixed a bug where messages wouldn't be put together that were sent in a given time span from the same author.
      • Fixed an oversight where roles in the member profile aren't sorted and displayed based on hierarchy.
      • Added more bugs to fix later