Turns out that having these pop up on every tab-press is really annoying,
and you usually only want them when it didn't manage to autocomplete anything.
Many ships have been observed bumping up against the existing mapsize
limits. This results in a Vere crash via LMDB, which necessitates
compiling a new binary with a higher mapsize if one wants to relaunch.
There doesn't seem to be any serious penalty to setting this
somewhere in the terabyte range, though. [1] In cases where the mapsize
exceeds the size of the disk, I infer from the LMDB docs that the
database may simply be permitted to grow until it runs up against the
disk limitations, which feels acceptable.
I've tested this on macOS and Linux and the binary runs without issue,
despite the mapsize being set far in excess of the disks I'm running on.
[1]: https://lmdb.readthedocs.io/en/release/
The card type has changed, so we need a state upgrade. As I understand
it, these existed for a particular upgrade to get around the fact that
Ford Turbo updates apps in random order. In Ford Fusion, all apps are
started in parallel before any of their moves are emitted, so this is
no longer a problem.
Since these will no longer be needed and they don't load properly when
+card changes, we deleted them. While trying to find a bug that I
introduced, I refactored +on-load a little bit -- I can revert this if
it's confusing.
Adds +mure to run a trap in a separate road. This should eventually be
just a hint.
Vega was running inside a mule, but since +load was called within vega,
the new kernel was all run within the same mule, so it didn't actually
get to reclaim the space after hoon compiled.
We verified this with printfs in u3m_fall. On the test ship (from
mainnet) which had 800MB used, vega was taking interior free space from
950MB to 450 over the course of compiling hoon, then each vane would go
from about 450 to 350 and then back to 450 once it finished (which
proves they were correctly isolated). With this change, after hoon
compiles the free space goes back up to 950MB. This gives us a lot more
space to compile OTAs.
We had to slightly refactor the logic for doubly-recompiling hoon, since
+mure as written produces a ?(!! _trap), and you can't find faces in the
result of the trap. We could bake mure, but that's rather awkward. I
wonder if there's a way to fix this as a wet gate.
Attempt to convert the scry result to the mark that was asked for,
failing the scry (with ~) if the conversion fails.
Eyre's scry logic, then, can pass the requested mark directly into gall.
Exposes a scry endpoint. Any requests made to the /app/scry.mark url
under the endpoint will scry into %app using a %gx scry, at the
/scry/noun path, and attempt to convert the scry result into the %mark,
before converting that into the %mime mark, and sending that as an http
response.
In addition to producing the action bound for a given request, now also
produces the subset of the request url that comes _after_ the path at
which the binding has been established.
Will allow some bindings to more easily dispatch off the relevant part
of the url.
If we failed the password check, the login page served to us would never
include any redirect details, even if they were there in the original request.
Now we simply (attempt to) parse out the redirect field a little earlier.