Removig chrono from api code as well
Removing chrono as dep in api code
+ Using Content-Type for /message/send content type
Updating cargo lists for removal of fluff deps
Removal of more fluff
Addking makefile to avoid compiling debug builds by accident while developing
This patch is simply meant to mark the beginning of the newest phase for the tui build.
I've 100% settled on using termion as the backend and marking what is done so far
Renderer side:
Termion has a similar issue where moving data happens very quietly so its best
if the two (renderer and cache) have the their data to use as they please
Cache Side:
Basically we own the data we're using because we constantly have to mutate data
ourselves
Config in the middle:
Mutable but only from the rendering side because the cache is completely transient
It technically to own its data but it does anyway because the render(backend)
likes to consume data like there's no tomorrow
The main reason for this change is for writing more descriptive code
Such a change isn't impossible with JS but requires annoying doccing that most dev environments don't really pick up on ever
Also the cache system is goingto be much more complex than anything else in this project so static compilation should help remove annoyances
✨ Channels list now fully asynchronous
✨ html pusher is now its own function for cleanness
➕ New ANY_CHANNEL integer is supported by the backend for requesting all channels in one go instead of voice|text
➖ Removed more callback hell code
✨ JSDocs updated to reflect their respective function signatures
✨ Changing inline script to now run in an async block
❗ No more callback hell, literally anything can be written with async/await or callbacks when appropos
➕ /channels/list now takes a "type" parameter which defaults to TEXT_CHANNEL(1)
✨ Refactoring db::Channel::filter to use a more latency friendly approach
✨ db::Channel::Filter now returns Result<Response<Self>, SqlError>
➕ Moving Messages struct in db-lib to root for less namespacing uglyness
➖ Removing an whole unused trait
✨ Message::get_time_range now returns a special 'UserMessage' struct that includes the name of the author
❗ More code must be removed from db-lib since a ton of the trait methods aren't used anymore
✨ Messages now has its own properly named type exposed for other modules to use if it's required
➕ New jquery calls in messages to actually populate the message box with the last 48 hours worth of messages
✨ DOM manipulation for channel buttons moved to new module
❗ Message hooks themselves still require actual implementation but
all the required fallbacks are there
❗ Freedom by force isn't really freedom but this is more of a pragmatic reason
If people can take this codebase and close it down for others to use later
then those people will be subject to non-free software. Worse future projects
may opt to change the LICENSING which restricts users from doing anything with
the source code. On the one hand creators will have slightly less freedom to
do as they please, on the other hand, users(the greater sized population) will
have more transparency. Transparency is the real reason for the license change.
+ Explicit login route handler now in takes care of logging in to 1 specific domain on request
+ auth.init which just hits /login for all available servers it can find