Resolves a good number of conflicts. Most notably, re-propagates removal
of gall's %onto, confirms new /app/herm behavior, coerces hood/drum
state adapters back into place, and updates webterm to use the latest
api.
* Upgrades the nixpkgs pin to 21.11.
* Removes nix code, sources, and attributes related to haskell.nix and
the code under pkg/hs.
* Continuous integration no longer builds (or packages/releases)
urbit-king (haskell).
* To continue to developing any haskell code under pkg/hs it's left as
a user exercise uto install and configure GHC/Stack.
As a consequence running nix-shell should be considerably more
performant and requires downloading or building less dependencies.
* release/next-vere: (67 commits)
pill: all
kh: improve code style
glob: update to 0v758lj.uf0s5.0nh3m.gunn6.942gj
Fix feepicker issues
Add exit buttons to invoices
Fix issue with change provider button not triggering modal
Fix scanning text issues
Fix enum, was breaking signer button
Fix imports in ExternalInvoice
glob: update to 0v4.e52ik.udm4j.6aus5.02b25.vomaj
btc-wallet: fix imports
aqua: assert pill type
Port BTC wallet to Typescript
Match edouard's designs
Add external (psbt) invoice
Fix copy from non-secure context issue
Use deSig for isPatp
Use deSig rather than concat
Add sig to valid patp in send component
Just show total main/change addresses scanned
...
Previously we would allow the tags that were added Haskell-side for
union type syntax. Now we explicitly reject those before falling back
to the auto-generated noun parsing logic.
Improves the multikeyfile format by taking a single ship and a list of
life+key pairs, instead of a list of full seeds.
Also decouples these changes from the dawn event, once again putting a
single seed into it. In the multikeyfile case, keys are injected as
%rekey events to jael near the end of the boot sequence.
Haskell-side changes may or may not be incomplete, boot presently fails
at some unknown point with what looks like a noun conversion error.
Separately from deriveNoun, which gives you an entire instance. Having
access to these lets you call out to the auto-generated conversion
logic when writing custom code for it.
Notably includes some changes to webterm's app.tsx that are required to
keep it functioning correctly. As of yet unclear why exactly this is
necessary, presumably hook shenanigans triggered by recent-ish changes.
We weren't accounting for the cursor column when storing output, nor
accounting for styled contents properly.
See also a8de23ca9 for the equivalent change in Vere.
This comes with the caveat that this specific mouse reporting mode
(which should only report clicks of the primary button) doesn't
actually seem to be supported by most terminal emulators, even though
it precedes the more complex reporting modes.
(Enabling a more complex reporting mode instead would also capture
scroll events, which interferes with expected behavior while in tmux.)
New blit logic already stopped assuming the bottom line based on %nel
blits, instead looking at cursor position to determine if something
was getting drawn to the bottom of the screen or not.
Here, we stop overwriting the bottom line entirely (except for the
spinner), instead inserting the trace/slog directly above the bottom
line on-screen, without overwriting anything.
Side-effect of this is that trailing newlines are always there, so we
can stop including them explicitly.
Separately from deriveNoun, which gives you an entire instance. Having
access to these lets you call out to the auto-generated conversion
logic when writing custom code for it.