Commit Graph

2717 Commits

Author SHA1 Message Date
lunar-mining
73af3e4d02 poll() bug fix.
do not discard empty values on outgoing connections.
2022-03-14 10:49:08 +01:00
ghassmo
9c1b5d139e bin/taud: save the task at the end of parsing update params 2022-03-14 02:33:45 +04:00
ghassmo
456cee39dd bin/dnetview: cargo fmt 2022-03-14 01:44:50 +04:00
ghassmo
6027d98136 bin/taud: update 'list' function & add update rpc function 2022-03-14 01:44:24 +04:00
lunar-mining
a4f0904e46 ui() bug fix.
get_and_draw_outbound():
    * loop through the slots of every outbound connection, instead of
      just the first value (&connect.outbound[0])
    * recursively initialize and draw new widgets for each node instead
    of writing everything to the same vectors and frame.

get_and_draw_inbound()
    * recursively initialize and draw new widgets for each node instead
    of writing everything to the same vectors and frame.
2022-03-13 22:20:57 +01:00
lunar-mining
33f299f8c6 poll() bug fix.
write "Null" to Outbound object instead of empty String when the channel
is "Null".
2022-03-13 22:18:56 +01:00
lunar-mining
e6dce6d3f7 poll: fix match error due to quotation marks around str
serde_json deserializes strings with quotation marks, and you can have
to explicitly convert them using to_str() to extract the inner value.
2022-03-13 20:15:45 +01:00
lunar-mining
964c033752 ui: renamed ListWidget to ListObject 2022-03-13 13:37:25 +01:00
lunar-mining
2b408b5d88 ui: organize functions into structs
for now we have the following hierarchy:

    ListObject
    NetFrame
    NetWidget

where ListObject is composed of NetFrame's and NetFrame is composed of
NetWidget's.
2022-03-13 13:37:25 +01:00
lunar-mining
4bcf0024b3 poll: fixed bug that was discarding data from inbound connections
this line was silently crashing:

    let inbound_connect: InboundInfo = serde_json::from_value(inbound_connected.clone())?;

we resolve this by parsing the data manually.
2022-03-13 13:37:25 +01:00
ghassmo
c5b7d97bf1 bin/taud: add 'list' rpc function 2022-03-13 08:43:47 +04:00
ghassmo
e7a13acea9 bin/taud: add tests to main 2022-03-13 08:22:43 +04:00
ghassmo
ba1c841315 bin/taud: finish internal functions for TaskInfo and MonthTasks 2022-03-13 07:32:20 +04:00
aggstam
e82befb679 script/research/streamlet_rust: Modified structures based on doc/src/architecture/blockchain.md 2022-03-12 15:16:47 +02:00
lunar-mining
0756fbefb9 ui: generalize and tidy render functions
we reduce boilerplate by creating a new generic function called draw().
variables are initialized in draw_outbound(), draw_inbound(), and
draw_manual() and are then sent to draw().

dynamic resizing is enabled by returning the total frame length like so:

    let len = draw_outbound(...)
    let len = draw_inbound(..., len)

it would be cleaner to store this value in a struct. however this is non
trivial to implement.

ui::ui() cannot be async and therefore cannot use mutexes due to its use
in the following non-async function from external library tui::Terminal:

    terminal.draw(|f| {
        ui::ui(f, view.clone());
    })?;

however ui::ui() is called within the async function render(), which
means values set inside ui::ui() may be overwritten during async calls.
2022-03-12 11:43:55 +01:00
Dastan-glitch
8e59ba44b6 bin/tau-cli: configuring due and send it as timestamp 2022-03-11 23:19:06 -05:00
ghassmo
66c715d7b7 bin/taud: split the code into separate modules 2022-03-12 00:43:32 +04:00
ghassmo
81def80d17 bin/taud: add generic load/save functions for json dataset 2022-03-12 00:12:54 +04:00
ghassmo
1da5edf4af bin/taud: add find_free_id function 2022-03-11 22:52:19 +04:00
parazyd
f172f62250 cargo +nightly fmt. 2022-03-11 16:57:43 +01:00
parazyd
fa7a6eb0ad doc: Restore .gitignore. 2022-03-11 16:57:27 +01:00
lunar-mining
0a2cd81afe ui: check whether msg is sent or recv and display on the right
this is a quick fix to display info properly and ui.rs still needs a major cleanup and refactor.
2022-03-11 09:40:23 +01:00
lunar-mining
c522218159 poll: bug fix on external_addr parsing
let external_addr = addr.as_str().unwrap()

^ this line was crashing when we receive a Null value for external_addr.
we now set the string value to "Null" if external_addr.is_null()
2022-03-11 08:32:12 +01:00
Dastan-glitch
ea4261007b bin/tau-cli: switch assign and project to vectors 2022-03-10 23:06:12 -05:00
Dastan-glitch
15890f4d65 bin/tau-cli: reading title and desc from user input if not specified in the command 2022-03-10 22:55:51 -05:00
ghassmo
ab52c593e0 bin/taud: Runs the executor when start 2022-03-11 01:07:35 +04:00
Dastan-glitch
3c05ed70fc bin/tau-cli: remove Client struct and imple and adding optional feature on some subcommands 2022-03-10 16:38:13 -05:00
Dastan-glitch
faf1bd67fb bin/tau-cli: implement add function 2022-03-10 11:27:13 -05:00
aggstam
2bb8a921b1 doc/architecture/blockchain.md: fixed typos 2022-03-10 15:08:17 +02:00
lunar-mining
827062ff96 ui: render Outbound, Inbound, and Manual connection data
created seperate functions to render the different data types.  frames
dynamically resize according to the length of the data.  we do this by
keeping track of the previous length and passing it into each new render.

there's a lot of boilerplate rn that needs to be cleaned up, and the
dynamic resizing can probably be further simplified.
2022-03-10 13:54:09 +01:00
lunar-mining
69161945d9 stop passing Config to ui::ui
NodeId is read from config and is initalized into Model.
The values from Model are then copied into View.

We therefore do not need to read this data in the UI, as it already exists in View.
2022-03-10 13:54:09 +01:00
lunar-mining
4dd9bc00d7 poll: initalize node_info HashMap and pass parsed values.
node_info = HashMap<NodeId, NodeInfo>

If we receive an external addr from the rpc data, we set that as the NodeID.
otherwise we display client's rpc port as the NodeID.

Note: this is a temporary solution until we add a 'name' param to the
config. This commit indicates a number of TODOs.
2022-03-10 13:54:09 +01:00
aggstam
c75a1abcd5 doc/architecture/blockchain.md: Added appendix with structures details. 2022-03-10 14:40:47 +02:00
mohab
d21b026972 [doc/architecture] replaced leaky beacon with leaky non-resettable beacon discussed in praos section 5.2 2022-03-10 13:24:51 +02:00
ghassmo
1496842f75 bin/taud: clean up add function 2022-03-10 01:58:19 +04:00
ghassmo
fba1b48951 bin/taud: implement add function 2022-03-09 23:02:01 +04:00
mohab
c37d17885d [doc/architecture] updated blockchain.md 2022-03-09 21:01:16 +02:00
ghassmo
72c1d516ad bin/taud: load config file & add cli functions 2022-03-09 21:22:08 +04:00
ghassmo
d66d56f268 rpc/jsonrpc: proper way to convert Url to SocketAddr 2022-03-09 20:11:15 +04:00
ghassmo
f13d58d7d0 bin/ircd: add tmux session to run local nodes 2022-03-09 18:45:13 +04:00
ghassmo
d42f9b9863 bin/taud: make base structs 2022-03-09 18:39:49 +04:00
ghassmo
241375e519 bin/taud: minor changes & clean up 2022-03-09 18:05:17 +04:00
ghassmo
eb6db85d4c bin/ircd: make script directory 2022-03-09 17:49:21 +04:00
ghassmo
77a52ea0fe bin/ircd: run four executor threads 2022-03-09 17:49:21 +04:00
ghassmo
947282debc Makefile: check sql in script/sql 2022-03-09 17:49:21 +04:00
aggstam
eb2342d424 script/research/streamlet_rust: Block signature encoding modified 2022-03-09 15:22:44 +02:00
Dastan-glitch
657f8ec806 formatting 2022-03-09 10:22:46 -05:00
Dastan-glitch
24798b0a81 update Cargo.toml and Cargo.lock 2022-03-09 10:21:07 -05:00
Dastan-glitch
7c3810021f Add tau-cli in bin/ 2022-03-09 10:20:25 -05:00
Dastan-glitch
1a59f443f7 Add taud in bin/ with a simple cmd_add as an example on rpc 2022-03-09 10:20:05 -05:00