Commit Graph

833 Commits

Author SHA1 Message Date
shockrah
939042a4c5 skeleton code ready to start pluggin in async fetch calls to remote servers
Some model still has to be built to put RTC somewhere
Also stdout still requires async handling
2021-03-20 15:00:49 -07:00
shockrah
988aa9f155 Removal of chrono and async_trait as dependancy in db-lib
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
2021-03-20 14:59:06 -07:00
shockrah
cb5975f235 FULL REWORK AND PORT TO TERMION
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
2021-03-17 20:39:42 -07:00
shockrah
c3d5c75cc0 messages rebind now work properly and sends message correctly,
Message constructor no longer incorrectly check message type
2021-03-12 23:16:06 -08:00
shockrah
c667f69d0e Fixing busted config adder thingy 2021-03-12 21:36:44 -08:00
shockrah
67575cda53 adding tsc to make build 2021-03-12 02:20:33 -08:00
shockrah
5b2e92da06 Caching is still being designed but it _will_ be written in typescript to a more well docc'ed api for everything else
+ Basically im doing this to straight up abuse
- Moving cache types + methods to their own module
2021-03-12 02:20:00 -08:00
shockrah
9ce04e96a7 Query string parameter 'type' is now enforced by the api
+ Flag is literally called 'type'
2021-03-12 02:17:06 -08:00
shockrah
dc117ba02f Moving message type to types.ts 2021-03-11 17:22:22 -08:00
shockrah
d620d3cc61 New types module written with typescript to slowly start migrating code over to typescript
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
2021-03-11 17:22:05 -08:00
shockrah
049e8aea82 Misc fixes
- I've no idea how to describe these but they're really not that important
2021-03-11 17:20:13 -08:00
shockrah
e4f6e71ac8 ! Fixing message box to look decent
- Moving Initialization code into src/init.js
2021-03-11 17:18:26 -08:00
shockrah
b5822cd3f1 Moving as much auth/initialization logic out of index.html
 New local push function in auth for push server buttons onto the dom
2021-03-09 15:36:55 -08:00
shockrah
911edd8114 Supporting content_type flag in messages properly now 2021-03-09 00:11:34 -08:00
shockrah
2fa1ec6f34 Async rewrite of entire module !
 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
2021-03-09 00:10:59 -08:00
shockrah
7fede3b4e1 New css making channel buttons not ugly as hell
 Moving channels.list behind async call
 Moved server-name to top of dom to reduce clutter(i think)
2021-03-09 00:07:41 -08:00
shockrah
ddb08818b1 Updating schemas to support content_type 2021-03-09 00:03:12 -08:00
shockrah
ae675d000b content_type now a supported column in db-lib
 API layer now behaves as expected, returning 'content_type' flag with each message
2021-03-09 00:02:20 -08:00
shockrah
d8244388c2 Removing myself from callback hell slowly but surely
 Removing ipc calls reducing chance to shrek the drive
2021-03-08 19:53:14 -08:00
shockrah
ef0bc70f90 Complexity in auth.login by basically cutting it in half and throwing the bad half out
 auth.init is now the more complex site since it literally has 1 chance to fire
2021-03-08 19:51:57 -08:00
shockrah
c4e3fa72ce More comprehensive example user config
 Moving main.js to use more async code and make things a bit more homogeneous
2021-03-08 19:50:01 -08:00
shockrah
7125fc954d SERVER_PROTOCOL is now an official env variable for the json-api to read 2021-03-07 23:55:38 -08:00
shockrah
f14390f4bb Callback settings.add_server_to_config now in effect for people that don't want to fuck with config files 2021-03-07 23:54:57 -08:00
shockrah
0d888a4c63 More unused code that pull credentials out of an object
Like why was this here, it's literally just object[key_name]
2021-03-07 23:54:17 -08:00
shockrah
6cfb7e7e4d No more callback trickery with auth.init
 Even more fluff removed
 From this point forward the codebase is mature enough for slimming down fearlessly
2021-03-07 23:53:09 -08:00
shockrah
7d3325fdc6 ipcMain now uses handle instead of .on for
 config-request probably doesn't need to be async like at all
2021-03-07 23:51:51 -08:00
shockrah
ca68c61f3a Framework/Modal for settings coming together
 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
2021-03-07 23:49:49 -08:00
shockrah
5fc3e2a553 /channels/create refactored to use the new db-lib api
 Reduced branching a shit ton

Testing was ass but it should pass client tests now, back to normal
2021-03-07 17:47:24 -08:00
shockrah
7c3537e4f6 Updated target for debugger
 Tests now use the new flags required for /channels/create
 Doubled size for channel descriptions
2021-03-07 17:46:17 -08:00
shockrah
fadc7d6dc1 Removing more unused trait methods in db-lib's channel module
 /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>
2021-03-07 14:26:50 -08:00
shockrah
fd1bf41fec Message constructor now takes in username as a parameter and binds it to uname
 Removed some fluff
 New get_member endpoint handler for later
2021-03-07 13:50:48 -08:00
shockrah
784043fc89 Cleaned up channels list header/description
 Better scrollarea definition for messages area
 Logging http errors in catch statement on auth init
2021-03-07 13:47:41 -08:00
shockrah
12936d5b1a Removing double log issue with client-tester
 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
2021-03-07 13:29:10 -08:00
shockrah
a6e3f22eae Reverting package upgrades 2021-03-07 12:43:25 -08:00
shockrah
2fa77fecb1 Updating hyper and tokio to newest versions for better http2 support 2021-03-05 22:59:27 -08:00
shockrah
cf1dee9842 New docs describing new /members/single route 2021-03-05 19:26:11 -08:00
shockrah
898a7a8ca2 New /members/single route
 Simple test for /members/single handler
 Should probably add some more tests to verify failure cases
2021-03-05 19:23:50 -08:00
shockrah
8e6c90b3c4 Removing superflous css in some jquery
 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
2021-03-05 17:48:59 -08:00
shockrah
ba7b33ae62 Fixed broken links for messages endpoint description
 Should probably have a section for messages under structures
2021-03-04 13:21:09 -08:00
shockrah
231141221b Adding hooks to reqest channel messages
 DOM manipulation for channel buttons moved to new module
 Message hooks themselves still require actual implementation but
all the required fallbacks are there
2021-03-03 21:49:40 -08:00
shockrah
33716e5b7b Only building wiki if changes are detected 2021-03-03 17:39:55 -08:00
shockrah
ad1a3df1d9 Updating base license to GPL3
 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.
2021-03-03 17:33:00 -08:00
shockrah
b2b06083a4 Moving docking script to scripts directory 2021-03-03 17:18:18 -08:00
shockrah
ca5e93ffc8 New commit message prettyfier that i kidna like 2021-03-03 17:17:11 -08:00
shockrah
9bf4048313 Removing a bunch of bs that is no longer used 2021-03-03 16:31:01 -08:00
shockrah
b999907540 * channels are now nested in "channels" key 2021-03-03 16:30:39 -08:00
shockrah
080b2cc538 * update_channels_list now literally updates the channel list with the correct hooks
! Callback hooks are not featured yet but they are registered in the DOM
2021-03-03 16:29:59 -08:00
shockrah
25876f90e4 * Adapting auth module to new config structure
+ 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
2021-03-03 16:28:55 -08:00
shockrah
12c3d300ba * Updated html to receive /channel/list data
- Removing fluff from join modal
+ Setting up initial buttons in DOM for listing channels and pulling up menus and such
2021-03-03 16:27:06 -08:00
shockrah
143e6a1a77 Removing NODE_TLS_REJECT 2021-03-03 16:25:13 -08:00