Somehow we ended up with flows which expected to awaken but did not wake
up. This was likely caused by the error in r920j OTA, urbit-os-v1.0.18.
This adds a command which ensures that every flow has an active timer.
I expect this to be needed only once, but it's a pretty general tool, so
it's worth keeping.
I've included an unused @t parameter to more easily add simple debug
commands to ames without having to add a new task
Deals with sole events, deferring to the underlying app only for higher-
level sole-handling logic.
Currently doesn't offer fancy printing logic, but can easily be extended
to do so.
Passes sole-ids on to the underlying app in all arms so that it may run
session-specific logic wherever it desires.
The subscription changes in drum broke existing subscriptions. This
worked alright (though loud) for dojo, but it left chat-cli "frozen"
unless you manually unlinked/relinked. This does that automatically.
It also includes a refactoring of +on-load in drum, to avoid vain
repetition.
Previously we were virtualizing all message rendering operations, but it's only
+tank:enjs:format that we're worried about here.
Doing this more narrowly also allows us to specify a slightly more specific
error message.
Improved the namespacing by dropping the app prefix on types, e.g.
chat-hook-action -> action. Compensated for shadowing by importing the
/sur files behind a face. End result is that a chat-hook-action becomes
an action:hook. Splits chat-json into lib/chat-{hook,store,view}. Uses
^? on changes files in /lib and /sur to discourage deeply nested
importing.
* origin/la-contact-delete-fix:
t groups + contacts: make removes completely clean up state
contact-js: made channel handle onChannelError
contact-hook: tested it, got /synced path working, and subscriptions loading
contacts: fix group deletion and do some quality of life fixes
Signed-off-by: Jared Tobin <jared@tlon.io>
Previously, if filtering subscriptions turned up no results, nothing was
printed. With this change, we explicitly print "no matching subscriptions"
instead.
Events always pass through these, adding to the stack trace on-crash.
This information is practically never useful, however. Adding !. leaves
these cores out of the traces.