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.
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.
* jb/vere-versions:
u3: adds comments to explain unusual u3v_arvo/u3v_home requirements
u3: fixes checkpoint version enforcement, refactors u3m_pave() et al
king: port the new lmdb event log changes.
u3: WIP adds a version to the checkpoint / persistent state
u3: revises "rock" format, tags jet registrations
u3: adds version number to checkpoint patch files
u3: removes obsolete members from u3_arvo
vere: removes u3A->sen references from i/o drivers
vere: implements lmdb event log format
vere: adds version to lmdb meta table, removes unnecessary jam