Start with |start %desk %app-name
Everywhere in the kernel that we deal with marks, we infer the app it's
connected to and use the marks from that desk.
Also some light renaming in gall, especially path->wire and
current-agent->yoke.
Subsequent tasks:
- Dojo needs a syntax to run generators and threads from other desks
- The home desk should be split into at least a minimal base desk and
big "userspace" desk. Dill's initialization logic should be updated
to handle
- |show-package, |install, and |uninstall should to be written
- Clay should have smarter handling of system versions instead of just
ignoring what's on each desk. It's not clear that this will work
correctly when sys updates right now.
* master: (160 commits)
glob: update to 0v6.8mn05.16g61.46lkc.lgddc.3ifug
metadata-push-hook: fixes issue with adding unmanaged metadata
pills: update solid
graph-push-hook: don't crash on multipart add
glob: update to 0v5.g86fq.9ngth.ki9h1.q7kut.icm5f
graph-store: scry only once during +validate-graph
graph-store: fewer allocations in +validate-graph
graph-store: speed up +validate-graph by using +turn and no longer virtualizing
interface: version local state by commit hash
graph-push-hook: add hc where appropriate and enforce type-checking to prevent issue in future
graph-validators: speed up validators by adding type casts
build: only run publish-npm-packages on pkg/npm
build: match on path subdirectories
glob: update to 0v1.4ujsp.698kt.ojftv.7jual.4hhu5
launch: prevent aggressive tutorial render
launch: get tutorial state from zustand
push-hook: add version scries
glob: update to 0v5.b7cjf.2kc12.85sng.lkqav.7sn0k
readme: update arvo maintainers list
notifications: clear before applying unreads
...
Fixes#4598.
#4474 made the JSON time conversion no longer invertible, which caused
problems for chat, which uses message timestamp in milliseconds as a key
-- so chat would send a message with ms timestamp x, it would get
encoded as @da x, but then when it went back through the conversion to
milliseconds, it would often (not always) get encoded as x-1.
I still do not fully understand why this is -- and why it doesn't seem
to be a problem with seconds based on cursory testing -- but integer
multiplication and division generally do not invert. And adding a half a
millisecond to the input date before converting it resolves the issue
and makes the functions invertible.
I added a regression test, so hopefully the next courageous adventurer
who winds up here after wondering why +unm looks funny will have a
safeguard against some of the mistakes I made.
State before: in chrono:userlib, there were second-resolution
@da-to-unix and unix-to-@da functions. In en/dejs:format, there were
millisecond-resolution @da-to-unix and unix-to-@da functions. The
@da-to-unix path in time:enjs confusingly rounded to the nearest
millisecond, meaning millisecond n was a label for [n-0.5, n+0.5) rather
than [n, n+1).
This adds a millisecond-resolution @da-to-unix and unix-to-@da to
chrono:userlib, and a second-resolution conversion to en/dejs:format.
It makes use of the chrono:userlib functions in en/dejs, and doesn't do
any rounding.
Backwards-incompatible changes:
- made unt:chrono:userlib take a @da rather than @.