Commit Graph

143 Commits

Author SHA1 Message Date
Starbeamrainbowlabs 5d0e480f1c
InfoBroker: fix make_table_meta 2022-02-26 21:57:36 +00:00
Starbeamrainbowlabs 67a235ad42
InfoBroker: Add cpu_live 2022-02-26 19:19:36 +00:00
Starbeamrainbowlabs e99ebc9732
Add svg.js for later 2022-02-26 19:18:10 +00:00
Starbeamrainbowlabs 32d69501b0
Add nightink; esbuild: mark html as text
This way we can do an es6 import to get a html file as a string, which 
we can then pass to nightink for templating - all on the client-side!

Note to self: Instead of using .innerHTML directly, we might want to try 
doing document.createElement(), then .innerHTML, and then .appendChild 
where we actually want it to go
2022-02-26 00:23:33 +00:00
Starbeamrainbowlabs 34f031a9e4
client: setup some scaffolding for displaying tables, but it's nowhere near finished 2022-02-26 00:21:33 +00:00
Starbeamrainbowlabs 7e5b0725e9
PeerServer, Peer: Fully support exchanging friendly names
....we should have done this a while back :P

This doesn't change logging messages though
2022-02-26 00:20:58 +00:00
Starbeamrainbowlabs fd16ca4078
Add basic lantern build script to help with setting up for development
...opening 3 terminal tabs is hassle :P
2022-02-26 00:19:22 +00:00
Starbeamrainbowlabs 42aa571ae5
client route main: test new client table fetching method 2022-02-25 03:23:21 +00:00
Starbeamrainbowlabs b1f6a44a6a
SystemQueryClient: Add generator for fetching tables via SSE 2022-02-25 03:22:58 +00:00
Starbeamrainbowlabs a62c8e6b4e
route /api/table/table_name: Add explicit end event to end of stream
....othehrwise the browser will continue attempting to reconnect :-/
2022-02-25 03:22:19 +00:00
Starbeamrainbowlabs 181e3c692d
comment debug logging 2022-02-25 03:21:10 +00:00
Starbeamrainbowlabs 32c9cb0174
package.json: remove nexline since it isn't actually being used, add apexcharts for later 2022-02-25 03:20:46 +00:00
Starbeamrainbowlabs 10f36cf3f5
client-side: go!
There's still a *ton* of work left, but we're (slowly) getting there
2022-02-24 03:08:21 +00:00
Starbeamrainbowlabs ecdd52561a
routes: add /api/status 2022-02-24 01:28:03 +00:00
Starbeamrainbowlabs 19ea1ff428
SystemQueryy: Add version & commit properties 2022-02-24 01:27:41 +00:00
Starbeamrainbowlabs c9ac3ea108
SystemQuery, Agent, PeerServer: Add listening property 2022-02-24 01:27:14 +00:00
Starbeamrainbowlabs c3fae244e0
Update dependencies 2022-02-24 01:26:30 +00:00
Starbeamrainbowlabs d5a9668e17
Serve static files 2022-02-24 00:39:33 +00:00
Starbeamrainbowlabs b0fd916eb4
Initial CSS! 2022-02-24 00:39:27 +00:00
Starbeamrainbowlabs 5ee34ce082
Subresource integrity ftw! 2022-02-23 20:45:49 +00:00
Starbeamrainbowlabs b1936c31af
package.json: hold up a sec - fork-awesome should be a dev dependency 2022-02-23 02:25:58 +00:00
Starbeamrainbowlabs af7e5c878d
package.json: add build script command 2022-02-23 00:10:17 +00:00
Starbeamrainbowlabs da819a59af
client: add todo comment 2022-02-22 03:06:26 +00:00
Starbeamrainbowlabs 119e44165a
Add initial client-side system
Looks like esbuild is shaping up to be just the thing we need, and wow 
is it fast!

Still ned to figure out how to get it to not mangle the index.html 
filename, but still!
2022-02-22 03:01:39 +00:00
Starbeamrainbowlabs da33a146e2
Manage duplicate connections more effectively.
Thebroadcast function now transparently avoids sending the same message 
to the same peer over multiple connections at once.
2022-02-21 21:55:20 +00:00
Starbeamrainbowlabs e4a381b915
remove debug logging 2022-02-21 03:14:57 +00:00
Starbeamrainbowlabs de0b5893ac
add comments 2022-02-21 03:14:41 +00:00
Starbeamrainbowlabs 3819f8c61a
It works! Wooo!
...almost. We still need to ask ourselves for a table too haha
2022-02-21 03:10:49 +00:00
Starbeamrainbowlabs f320617117
Implement initial http table_fetch endpoint, but it's not working right 2022-02-12 16:27:50 +00:00
Starbeamrainbowlabs 3f26696056
Connection: Implement sequence numbering system to avoid replay attacks 2022-02-12 01:53:31 +00:00
Starbeamrainbowlabs a01792d2d5
SystemQuery: Fix crash due to bad import for logging 2022-02-12 01:53:12 +00:00
Starbeamrainbowlabs fcbf8ddc97
reinstall p-queue, which is required by FramedTransport (oops) 2022-02-12 01:52:57 +00:00
Starbeamrainbowlabs 6ad701c692
Update dependencies 2022-02-11 22:45:37 +00:00
Starbeamrainbowlabs 837804ec22
Connection: Update comment on replay attack
We still have the same problem, but solution do it is much simpler than 
we first thought....
2022-02-11 21:23:54 +00:00
Starbeamrainbowlabs 1c5f5fb37a
Start setting things up for the HTTP subsystem, but we've got a ways to go 2022-02-10 21:42:53 +00:00
Starbeamrainbowlabs 1e76226177
Connection: the issue at hand is more complicated than it first appears, as usual 2022-02-09 03:14:26 +00:00
Starbeamrainbowlabs a736acc1b7
SystemQuery: start filling out fetch_table properly, but it's still unfinished
...hey, at least we know what we're doing nwo and have a plan!
2022-02-09 03:06:52 +00:00
Starbeamrainbowlabs b1485d5410
Add initial (unfinished) protocol docs 2022-02-09 03:05:48 +00:00
Starbeamrainbowlabs 97da517a0e
Connection: oops, we're vulnerable to a replay attack 2022-02-09 03:03:45 +00:00
Starbeamrainbowlabs 3bdbad150c
Fill out ItemQueue implementation 2022-02-09 01:53:29 +00:00
Starbeamrainbowlabs 44d64c09d0
Start unwinding the incoming tables from other peers, but it's gonna be a nasty and complicated business 2022-02-01 03:05:27 +00:00
Starbeamrainbowlabs 15bdcaf047
SystemQuery: layout some stuff, but it's really just scaffolding at the moment.
We've not even sure if this is the right way t go about tackling this 
problem.
2022-01-31 03:06:34 +00:00
Starbeamrainbowlabs 9ac878f261
InfoBroker: add initial meta table.
This particular table contains information about the currently running 
systemquery instance.

TODO: Add other interesting things such as # of connected peers etc.
2022-01-31 03:05:12 +00:00
Starbeamrainbowlabs 7e42698317
SystemQuery: Remove unnecessary import 2022-01-31 02:46:37 +00:00
Starbeamrainbowlabs e63111e64f
Add based query response system, info broker
The new InfoBroker class' job is to fetch system information and return 
it in a standardised format.
2022-01-30 00:51:28 +00:00
Starbeamrainbowlabs bee1ffc2de
Remove placeholder RaftSubsystem class - we're not using Raft here 2022-01-30 00:50:40 +00:00
Starbeamrainbowlabs 53499b7caf
README: Add link to sql.js for the next step
we're probably gonna want to make extensive use of it
2022-01-27 01:21:50 +00:00
Starbeamrainbowlabs 1270a39808
Add new top-level class: Agent → SystemQuery
depth++!
2022-01-23 19:51:23 +00:00
Starbeamrainbowlabs 16f23e6b77
Agent: refactor such that it can be used as a base class
In the future, this will make it much easier to  refactor into a 
library.

The plan is to allow Agent to have subsystems, but only those which are 
related to managing peer-to-peer message and not application-specific 
stuff. For example, wemight have a MeshRouting subsystem that listens 
for messages and conditionally forwards them based on the content of the 
message.
2022-01-22 14:22:06 +00:00
Starbeamrainbowlabs 453ecb58bb
tweak logging 2022-01-20 19:28:53 +00:00