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.
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.
`textAsTa` was not properly handling uppercase alphanumerics. This would
break subsite authentication when there are uppercase characters in your
cookies.
Should now be equivalent to `(cury scot %t)`.
dojo:
```
> (scot %t 'urbauth-zod=0v2.d0q3n.4jgsq.fl9jk.mp2nd.97uu6; lang=en-US')
~.~~urbauth-zod~3d.0v2~.d0q3n~.4jgsq~.fl9jk~.mp2nd~.97uu6~3b..lang~3d.en-~55.~53.
```
ghci:
```
λ> textAsTa "urbauth-zod=0v2.d0q3n.4jgsq.fl9jk.mp2nd.97uu6; lang=en-US"
"~~urbauth-zod~3d.0v2~.d0q3n~.4jgsq~.fl9jk~.mp2nd~.97uu6~3b..lang~3d.en-~55.~53."
```