* release/next-vere: (57 commits)
u3: initializes head/tail in u3i_defcons() (under U3_MEMORY_DEBUG)
king: actually try shutting down the piers
king: --serf="" is a host option, not a per ship option.
u3: optimizes +wyt:in jet, gated by compile-time assertion
u3: further optimizes +lent jet, gated by compile-time assertion
u3: refactors allocator constants, adds u3a_cells and u3a_maximum
u3: optimizes +lent jet, avoiding u3i_vint() while possible
u3: moves cell allocation counter into u3a_celloc()
u3: fixes memory leak introduced in +murn jet
u3: fixes mismatches in +div and +dvr jets
u3: fixes memory leaks in +dvr and +sqt jets
u3: rewrites +flop jet using new list iteration idiom
u3: rewrites +weld jet using u3i_defcons()
u3: rewrites +scag jet using u3i_defcons()
u3: rewrites +murn jet using u3i_defcons()
u3: rewrites +turn jet using u3i_defcons()
u3: adds u3i_defcons(), deferred cell constructor
vere: add missing function comment
vere: use h2o functions for finding cookie header
vere: put runtime http bindings under /~_~
...
This means you don't need to specify this per ship in a multitenant
environment when you are alwyas going to set it to the same binary
if you're overriding it in the first place.
We're not guaranteed to have the sog_f callback set when
_pier_on_lord_slog gets called, so we should make sure there's a
function there before we call it.
* release/next-vere: (47 commits)
u3: updates u3i_slab implementation to normalize zero-length allocations to 1
u3: updates u3i_slab_grow() to always zero-initialize new space
u3: adds debug assertion for atom-allocation internal invariant
u3: renames word-length in u3i_slab
u3: removes byte-length from u3i_slab
u3: tweaks u3s_jam_fib() call sites, correcting byte-length calculation
u3: minor refactoring/dedupication of slab implementation
u3: simplifies atom slab-allocation in cue implementations
u3: removes redundant condition in +dis jet
u3: adds u3i_chub(), refactors u3i_chubs()
u3: improves effiency of gmp->u3a_atom conversion
u3: uses c3_d for length arguments in slab api
u3: removes redundant bitwidth function in serial.c
u3: refactors u3s_jam_fib to use slab api
u3: fixes u3i_slab_grow()
u3: removes unnecessary zero-initialization in +rip jet
u3: adds u3i_slab_from(), removes unnecessary uses of u3r_chop()
u3: removes u3a_slab and friends
u3: refactors +repn jet using u3i_slab api
u3: refactors u3i_* atom functions using u3i_slab api
...
* release/next-vere: (47 commits)
u3: updates u3i_slab implementation to normalize zero-length allocations to 1
u3: updates u3i_slab_grow() to always zero-initialize new space
u3: adds debug assertion for atom-allocation internal invariant
u3: renames word-length in u3i_slab
u3: removes byte-length from u3i_slab
u3: tweaks u3s_jam_fib() call sites, correcting byte-length calculation
u3: minor refactoring/dedupication of slab implementation
u3: simplifies atom slab-allocation in cue implementations
u3: removes redundant condition in +dis jet
u3: adds u3i_chub(), refactors u3i_chubs()
u3: improves effiency of gmp->u3a_atom conversion
u3: uses c3_d for length arguments in slab api
u3: removes redundant bitwidth function in serial.c
u3: refactors u3s_jam_fib to use slab api
u3: fixes u3i_slab_grow()
u3: removes unnecessary zero-initialization in +rip jet
u3: adds u3i_slab_from(), removes unnecessary uses of u3r_chop()
u3: removes u3a_slab and friends
u3: refactors +repn jet using u3i_slab api
u3: refactors u3i_* atom functions using u3i_slab api
...
* release/next-vere: (23 commits)
kh: abolish unicode syntax in favor of ascii
vere: use cue/test handles for repeated packet parsing
ur: adds missing serial.h include
u3: updates u3s_cue_xeno() to return error, not bail on oversized atoms
u3: factors atoms/backrefs back into u3s_cue_xeno()
u3: renames u3s_cue_sill* to u3s_cue_xeno*
u3: removes u3s_cue_xeno()
u3: removes unused atom measurement function in urth.c
vere: use u3s_cue_sill() for ivory pill
vere: use u3s_cue_sill for ipc $plea's
serf: use u3s_cue_sill() for ipc $writ's
u3: use u3s_cue_sill_with() in u3u_uncram()
u3: adds u3s_cue_fill and handle-based api
u3: factors atoms/backrefs out of u3s_cue_xeno
u3: refactors u3s_cue_bytes() to use road-stack api
ur: removes unused variables in tests
ur: cleans up ur_bsr_log()
ur: cleans up ur_met(), atom measurement
ur: refactors unsafe jam into a handle-based api
ur: adds walk_fore variant with a handle-based api for repeated traversal
...
This changes startup so we get the size of the current terminal
to send to Urbit on startup. We then subscribe to terminal size
change notifications and send those to your Urbit via the terminal
muxing system.
In the case where there are multiple terminal connections to your
Urbit, set the terminal size to the minimum of the widths.
If you connect to an urbit using the remote terminal code,
slogs would not be printed to them since they were hard
coded to be printed to stderr. This threads slog printing
to the terminal driver, and puts them in scrollback.
(It does not actually fix slogs being printed on one line.)
Acts as a SSE endpoint for streaming slogs emitted by the runtime. Takes care
of tank rendering, emitting the lines resulting from printing the tank at
whatever the current terminal width is.
Adds siginfo logic to http.c, showing how many connections to that endpoint are
open.
Prior to this commit, there was a jet mismatch in to-wain (formerly
called lore, and still jetted under that name). 0 bytes in the middle of
a cord caused the jet to crash, whereas the hoon simply treated them as
the end of cord and truncated the output. The history of this behavior
is fraught with controversy. This commit rectifies the current mess with
the following rationale: Null bytes are valid ASCII/UTF-8, and \n\n in
the input will cause null list items in the output, so nulls are (for
the purposes of to-wain) allowed in cords. Trailing nulls cannot be
represented because of the nature of atoms, but that is outside the
scope of to-wain's concern. Therefore to-wain should simply measure the
cord and split on newlines, and do nothing fancy at all with nulls.
The old jet is left wired up under %lore, and should be removed when
support for the old, unupgraded zuse is no longer necessary. A new jet
with matching null handling has been wired up under the name %leer.
* master: (187 commits)
glob: update to 0v3.u1ets.ipgbo.eo23m.md70h.djpj0
chat: fixes
glob: update to 0v6.cvqlg.l55tn.kk8qp.lv4q3.f06lj
groups: restore previous virtualiser
chat: fixes new scroll implementation behavior
soto: address #3484 review
soto: call resetControllers on mount
leap: ensure selected is always an array
glob: update to 0v4.kdc52.27is2.c7mnh.7vsrb.ij4jo
chat: hotfix new message indicator
leap: safety check state.selected
glob: update to 0v6.vnpkl.sq452.quabg.73g7k.dhi55
chat: show pending messages again
statusBar: prepend sig to ship settings button
links: pipe remoteContentPolicy to pending comments
interface: always show home button
publish: mobile scrolling fix
publish: scroll markdown editor correctly
chat: prevent message rerender
interface: embeds on by default
...
ecdsa-raw-recover had an erroneous jet. This commit fixes the critical
error so that the jet returns the right result according to the secp
secp256k1 spec, although it still does not match the hoon. The hoon is
subtly wrong, and will be addressed in a future commit.