Commit Graph
100 Commits
Author SHA1 Message Date
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
shockrah 05acbfa94e Passing tests for invite routes 2021-02-25 16:05:46 -08:00
shockrah 212173f543 Fixing /join route, time check was backwards oops and it was set to GET not post 2021-02-25 15:31:45 -08:00
shockrah ab1c9e40f7 Ower creation now gives back prettier output + server meta vars as well 2021-02-25 14:03:34 -08:00
shockrah e893800dab removing empty artifacts section from build-wiki job 2021-02-23 22:19:12 -08:00
shockrah e791294f9b Merge branch 'wiki' 2021-02-23 22:17:04 -08:00
shockrah bc19f220fa More docs on what to expect from the protocol and freechat servers/clients in general 2021-02-23 22:15:58 -08:00
shockrah 6ab622d109 adding first pass of overview section 2021-02-23 21:44:26 -08:00
shockrah 64125a7874 dumy test stats for no reason 2021-02-21 20:10:14 -08:00
shockrah 93fd8c2cd6 +Adding new tests for /members/me/nickname
* Fixed incorrect param key in endpoint handler
+Adding a ycm conf for easier writing
2021-02-21 18:52:35 -08:00
shockrah 5db976b9de + New route for /members/me/nickname
! No testing yet that comes in next patch, with any required fixes
+ db now has specific method for Member::update_nickk
2021-02-21 17:21:17 -08:00
shockrah 7263df8928 Adding new routes for /members/get_online & /members/me
Passing the previous tests as well
2021-02-20 20:15:43 -08:00
shockrah 34736bef3f updating tests for members routes 2021-02-20 20:14:10 -08:00
shockrah c4db03f962 Merging new wiki into master 2021-02-18 16:30:16 -08:00
shockrah c896870397 Reformatting of wiki:
* Adding endpoint docs and correcting some typesetting mistakes
* Change qs params to match documentation
* Splitting up articles to geneate the sidebar links properly'
* Bad baseurl issue fixed in previous patch
2021-02-18 16:29:29 -08:00
shockrah 035fdd6a36 new job for channer build
- removing unused code
2021-02-17 17:24:28 -08:00
shockrah dd61d7e6dd -Removed default value for max_days option
+Adding note about query performance
2021-02-17 15:24:07 -08:00
shockrah f1a0771855 moving this chron job over to rust for muh resources and shieet 2021-02-17 14:52:54 -08:00
shockrah d4d6f19c5f fixing busted html output from hugo 2021-02-16 13:48:26 -08:00
shockrah fc5d925c60 Pre script for ssh agent 2021-02-15 21:16:05 -08:00
shockrah 9983824e15 using latest build from shockrah/website docker images 2021-02-15 21:11:12 -08:00
shockrah 974506e4d7 using blog image for wiki deployment/builds 2021-02-15 21:01:00 -08:00
shockrah 3ca34ec099 uploading wiki to personal vps because why not 2021-02-15 20:59:24 -08:00
shockrah 71ebefce51 Dummy commit 2021-02-13 19:08:21 -08:00
shockrah 376d307a61 no clue if this will work but let's find out 2021-02-13 19:06:59 -08:00
shockrah da1b4c3253 Trivial change to test out new filtered pipeline 2021-02-13 19:00:22 -08:00
shockrah d2144ef7e9 Yolo: adding cargo_home to arti's and copying over run restricts to test-json-api job 2021-02-13 18:57:32 -08:00
shockrah 5392e0e69a fixed mssing ref key in only restriction 2021-02-13 18:48:11 -08:00
shockrah d243623202 only building json on actual changes 2021-02-13 18:46:23 -08:00
shockrah fb9a1e05f5 Setting up recursive submodule strategy 2021-02-13 18:30:44 -08:00
shockrah b5ebb04e80 moving docs pages to build stage 2021-02-13 18:22:11 -08:00
shockrah 1329bfbcb2 basic docs 2021-02-13 18:20:09 -08:00
shockrah f0f1121893 Merging new docs page and ignoring the output which is only relevant for pipelines 2021-02-13 18:18:54 -08:00
shockrah fbf4880d46 Starting content to test deployment 2021-02-13 18:14:42 -08:00
shockrah cf490419a2 Submodule for wiki theme 2021-02-13 16:58:09 -08:00
shockrah e4630199a6 Only using http in dev environments 2021-02-12 19:07:14 -08:00
shockrah 41bfd1cd89 Only building html with 200's in channel_list 2021-02-12 19:07:03 -08:00
shockrah 24a49663d2 dev_env environment var check 2021-02-12 18:13:24 -08:00
shockrah d42c39d117 Hiding menu but not removing it anymore 2021-02-12 18:12:33 -08:00
shockrah 8fb0fdbeed Basic channel button css 2021-02-12 18:11:20 -08:00
shockrah 6904e8eb26 using env vars for some comfy defaults for development 2021-02-12 15:50:05 -08:00
shockrah 4323156242 Building and testing against proper nginx setup now
! No longer pipeline ready because the docker image is out of date with this change
2021-02-11 22:28:20 -08:00
shockrah ec6701418c update-config ipc calls now using new cfg.update_config as backend 2021-02-11 22:27:15 -08:00
shockrah 316b5ad1fd get_channels now has nearly no logic in it
Doing this because there are other mechanisms in place to protect against bs JWT's which really just adds a ton of complexity to every function
2021-02-11 22:26:42 -08:00
shockrah e693d7e62b Removing docs which are soon to be replaced by a proper wiki page 2021-02-11 22:25:52 -08:00
shockrah efb8aa94de creating a new jwt when open the app for earch server
May as well do this to keep jwt's fresh
2021-02-11 22:25:27 -08:00
shockrah d7e57c0751 new func for requesting jwt tokens from a server 2021-02-11 22:18:54 -08:00
shockrah 687b514d0d Adding listener for update-config requests from the render proc 2021-02-11 22:18:22 -08:00
shockrah 689366072e Nginx config notes 2021-02-11 21:04:41 -08:00
shockrah bd684a8f5d Fixing target artifact for test job to use 2021-02-11 20:27:38 -08:00
shockrah b5609febf6 Adding some basic configuration for Nginx as a reverse proxy
For now the readme walks the user through how to generate any keys that may be required for self signing, more documentation to come in following patches on origin/nginx
2021-02-11 20:22:53 -08:00
shockrah 9e70e7272b removing busted conf 2021-02-11 20:21:30 -08:00
shockrah a876aa7ccf Passing deps from build task to test task(hopefully) 2021-02-11 20:12:53 -08:00
shockrah 6bc8dd0d7d tests are now ran with https as we now use https with nginx as a frontend however:
The client tester is super scuffed and no longer in a pipeline ready state as a new docker image has to be created(again)
2021-02-11 20:06:56 -08:00
shockrah 51fa07158f Mutable config now 2021-02-11 16:20:05 -08:00
shockrah 94c36a7ce9 adding npm test command 2021-02-11 16:19:18 -08:00