04479d5ce3
TableView, UITable: fill in the plumbing
...
Int heory, we now have the basics of the UI down now. We just need to
hook up the navigation and do some testing :D
2022-03-10 02:53:30 +00:00
1bb6793542
Add null esm to hoodwink esbuild
2022-03-10 02:50:04 +00:00
0af8cc2a32
esbuild: force-enable tree shaking, just in case
2022-03-10 02:49:41 +00:00
5d38a56bed
client: Start filling out more of the UI plumbing, but there's still a ways to go
2022-03-06 02:39:52 +00:00
16509e51a1
tidyup
2022-03-05 03:10:06 +00:00
67281677ac
client: Add last edit marker to TableView so we don't lose our place.
...
It's late at night & I need to go to bed, but I'm in the middle of this
2022-02-27 03:06:57 +00:00
ae1b46097e
client: start work on UI plumbing, but it's far from finished....
...
UI code is always impossible to keep nice and neat.... * sighs *
2022-02-27 02:06:33 +00:00
6a834eea22
client: TableView: move to UI subdir
2022-02-27 02:05:45 +00:00
5bbe91c3e9
client tabledefs: add name & icon
2022-02-27 02:04:42 +00:00
405df9acfc
client: create TableView scaffolding for updating the UI
2022-02-26 21:58:51 +00:00
36a96a84fd
client: create initial table definitions
...
These will (hopefully) be used to decide on the layout of the UI for
each table.
2022-02-26 21:58:20 +00:00
5d0e480f1c
InfoBroker: fix make_table_meta
2022-02-26 21:57:36 +00:00
67a235ad42
InfoBroker: Add cpu_live
2022-02-26 19:19:36 +00:00
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
34f031a9e4
client: setup some scaffolding for displaying tables, but it's nowhere near finished
2022-02-26 00:21:33 +00:00
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
42aa571ae5
client route main: test new client table fetching method
2022-02-25 03:23:21 +00:00
b1f6a44a6a
SystemQueryClient: Add generator for fetching tables via SSE
2022-02-25 03:22:58 +00:00
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
181e3c692d
comment debug logging
2022-02-25 03:21:10 +00:00
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
ecdd52561a
routes: add /api/status
2022-02-24 01:28:03 +00:00
19ea1ff428
SystemQueryy: Add version & commit properties
2022-02-24 01:27:41 +00:00
c9ac3ea108
SystemQuery, Agent, PeerServer: Add listening property
2022-02-24 01:27:14 +00:00
d5a9668e17
Serve static files
2022-02-24 00:39:33 +00:00
b0fd916eb4
Initial CSS!
2022-02-24 00:39:27 +00:00
5ee34ce082
Subresource integrity ftw!
2022-02-23 20:45:49 +00:00
da819a59af
client: add todo comment
2022-02-22 03:06:26 +00:00
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
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
e4a381b915
remove debug logging
2022-02-21 03:14:57 +00:00
de0b5893ac
add comments
2022-02-21 03:14:41 +00:00
3819f8c61a
It works! Wooo!
...
...almost. We still need to ask ourselves for a table too haha
2022-02-21 03:10:49 +00:00
f320617117
Implement initial http table_fetch endpoint, but it's not working right
2022-02-12 16:27:50 +00:00
3f26696056
Connection: Implement sequence numbering system to avoid replay attacks
2022-02-12 01:53:31 +00:00
a01792d2d5
SystemQuery: Fix crash due to bad import for logging
2022-02-12 01:53:12 +00:00
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
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
1e76226177
Connection: the issue at hand is more complicated than it first appears, as usual
2022-02-09 03:14:26 +00:00
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
97da517a0e
Connection: oops, we're vulnerable to a replay attack
2022-02-09 03:03:45 +00:00
3bdbad150c
Fill out ItemQueue implementation
2022-02-09 01:53:29 +00:00
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
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
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
7e42698317
SystemQuery: Remove unnecessary import
2022-01-31 02:46:37 +00:00
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
bee1ffc2de
Remove placeholder RaftSubsystem class - we're not using Raft here
2022-01-30 00:50:40 +00:00
1270a39808
Add new top-level class: Agent → SystemQuery
...
depth++!
2022-01-23 19:51:23 +00:00
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