Blake was being stupid so I copied the contents of this package directly into
the source of JR, but really this should be its own package. So now doing that
refactoring.
jr: c_a2w_handler: error from controller Error: blakejs.blake2b is not a function content.ts:70:16
onErrorCase content.ts:70
(Async: promise callback)
c_a2w_handler content.ts:83
(Async: EventListener.handleEvent)
c_main content.ts:100
<anonymous> content.ts:106
tried using browserify on blake
think i need to inject it in the namespace like nacl
so progress
Problem is this:
Uncaught ReferenceError: require is not defined
<anonymous> moz-extension://b4685fc7-232c-44d9-b653-f51b7c7ea868/dist/jex_include/local-vdk_aecrypt-0.1.0/dist/jex_include/local-blakejs-1.2.1/dist/index.js:1
index.js:1:13
The issue is that blakejs is written for node and needs to be modified to work
in a browser.
Next task is doing that, but did a ton of work so taking a break
Recall that I had the problem of not being able to load NaCl into the context
of my background script. I thought the problem was some nonsense with the way
"security" works in browser extensions. There are some contexts where in order
to load a script, you must explicitly specify the SHA-256 or SHA-384 hash of
the script, in base64 notation. I wrote these scripts for the purpose of
quickly reading a file and spitting out those values, so that I could easily
update the manifest as I was fooling around with the scripts.
It turned out that entire hypothesis was wrong: https://github.com/aeternity/Vanillae/commit/b680336ba464eafe63daafd95002f09e798c09d9
And therefore these scripts are now just junk
I am trying to copy the Erlang idiom of "calling" another process through a
function call interface. That is, suppose I have two named processes
corresponding to modules `caller` and `callee`
caller.erl:
foo() ->
Result = callee:get_some_data(),
do_something_with(Result).
callee.erl:
get_some_data() ->
gen_server:call(?MODULE, get_some_data)
handle_call(get_some_data, CalleeState) ->
{Result, NewState} = do_get_some_data(CalleeState),
{reply, Result, NewState}.
I'm trying to replicate that in JS, because it's definitely the most pleasant
idiom for having different processes "talk" to each other. This also allows
the callee process to define an API that black-boxes away the internal
messaging structure, thus giving the developer the flexibility to change that
internal messaging structure without breaking the calling code.