deps: use new aura-js#5134
Conversation
|
no comments lgtm |
I'd generally prefer parse failure throw as a default. Makes it clear that there was a failure and avoids null/falsy value ambiguity. All the better that it was generally the behavior before.
Would recommend that we alias
Agree it's important for
The only thing that comes to mind is Overall I think the new API feels cleaner, nice work :) |
Integrate the new aura-js introduced by urbit/aura-js#8. We try to keep impact minimal by updating to its new api in-place as best we can. Notes some points for further review. Doesn't yet update the dependency pointer, because the relevant PR hasn't been merged and released yet.
|
@Fang- I think we'll need to set this to the released |
Summary
Move to using the new aura-js from urbit/aura-js#8.
Opening this as an RFC. General questions/concerns/feedback welcome, see below for specific questions.
Changes
Updates the usage of
@urbit/aurain/apps/tlon-weband/packages/shared. I haven't done the rest yet, and the code here assumes you'venpm linked the aura-js PR, but the changes here should be sufficient to evaluate.Questions:
parsealiased toslaw(returningbigint | null) rather thanslav(returningbigintor throwing). iiuc old parsing logic tended to throw too, so we now maintain parity, but is that our ideal/desire?parseMaybealias forslaw? Or a better/more standard name?@ps, and such checks are trivially implemented as checkingslawoutput fornull. Thought? Do we want dedicated helpers?@p) validating and parsing are basically the same step, and I haven't looked for or seen evidence that the whole is slow enough to matter, anyway.How did I test?
Compiles and passes basic smoke testing. Will do further testing once things settle.
Risks and impact
New aura-js includes bugfixes for some rendering and parsing edge cases, so doesn't have exact parity with the current one. This primarily affects rendering of
@uw,@qfor zero or leading-zero cases, and rendering & parsing of@da. I suspect that all cases that matter have parity, but we should keep an eye out regardless.Particularly sensitive to that are cases where we store client-generated string representations of atoms in db/client state. Do we do any of that? Which ones?
Rollback plan
Revert.