Commit Graph

437 Commits

Author SHA1 Message Date
fang
064b15e5a0
term: move coordinate origin to top left
Having the origin at the top left instead of the bottom left is more
conventional and ergonomic. The only thing this complicates is
prompt-specific logic, where we care about the coordinates of the
bottom-most line on the screen.

For that reason, the bulk of the changes here are in vere, where we
treat the bottom-most line specially, drawing the spinner onto it.
Webterm is likewise updated to account for the new coordinate system.

Drum now opts to accept clicks anywhere on the screen, and does its best
to move the cursor as close to the clicked location as possible (within
the confines of the prompt).
2022-04-03 21:38:09 +02:00
fang
01de5a06b0
term: consistently use x/y coordinate ordering
%rez has always used "width & height". Certainly, "x & y" is more
standard than "row & column". As such, we settle on making %hop and %hit
respect the more natural ordering. This change is safe because these
interfaces haven't made it to livenet yet.
2022-03-25 13:45:29 +01:00
Philip Monk
a6832975c7 helm: add poke to helm to allow self-breaching moons
Intended use is for transitory moons to be able to breach themselves on
startup.

If you run a moon without persistence, then every time the program is
restarted, it must be breached.  This lets the moon breach itself
instead of requiring direct interaction with the planet.  The moon
should reserve the first bone for this purpose, and then every time it
starts up, it should send [%helm-moon-breach ~moon-name] to hood on the
planet.
2022-03-24 19:20:01 -07:00
ryjm
155729ec8b %home -> %base
Mostly cosmetic, but also fixes `language-server` and parts of sundry
neglected components (the nix build for solid pills, aqua, gaze exports,
+help)
2022-03-06 11:55:55 -05:00
fang
8906d1c17d
dill: move %mor case into $blit
This lets us send a single blit around, instead of sending facts for
every individual blit in a draw event.
2022-03-05 18:17:48 -06:00
fang
25a1c79aa3
drum: properly hook up new |link
More uncommitted code.
2022-03-02 23:25:38 -06:00
fang
e53cb4a205
drum: make |un/link work for non-default sessions 2022-02-28 16:47:49 -06:00
fang
f6f2fcfcac
drum: make eel per-session
This allows us to have different apps connected to different sessions.
2022-02-28 16:45:56 -06:00
fang
bf97b8da38
drum: move +se-view call into +se-abet
We practically always do se-abet:se-view anyway.
2022-02-28 16:27:29 -06:00
fang
bb11c74278
drum: don't drop state during se-subze
Previously, it was putting new session state into the old map,
preserving only the state of the last session in the map.
2022-02-28 16:24:41 -06:00
fang
da47cfb08e
drum: correctly initialize session in +prep 2022-02-21 12:11:40 -06:00
fang
3120681b2b
sole: properly support multiple sessions
We update the sole protocol to more cleanly support multiple sessions.

Primarily, the "sole id" is updated to be a [@p @ta] instead of a @ta,
and it is now generated based off the connected dill session, rather
than statically.

This change ripples out to applications that support the sole protocol:
the subscription path becomes /sole/[ship]/[session] (as opposed to
/sole/[per-ship-constant]), and %sole-action pokes include the new id as
well.
For shoe agents, this means (at the very least) updating the function
signatures of the shoe arms.

/lib/sole has been updated to include helper functions for parsing a
sole-id from a subscription path, and turning a sole-id into its
corresponding path. It also has a function to aid in migrating old
sole-ids.

Existing sole agents are made to kick any known open sessions, forcing a
resubscribe by drum, so that they may use exclusively the new format
going forward. Third-party agents are recommended to do the same.

Note that some functionality, such as |link, still operates exclusively
on the default session. Improvements in this area to follow soon.
2022-02-20 17:19:03 -06:00
fang
98c6c77ebb
Merge branch 'next/arvo' 2022-02-17 20:32:26 +01:00
drbeefsupreme
f67962b803
helm: cleanup +poke-rekey to match #5522 2022-01-28 12:23:36 -05:00
Hunter Miller
88e956df01 Merge branch 'next/landscape' 2022-01-27 10:24:04 -06:00
drbeefsupreme
b5f299c02d
helm: fix |rekey to work with multikey files 2022-01-26 16:29:14 -05:00
Philip Monk
34bcd2ffcd
Merge pull request #5495 from urbit/m/whos-who
helm: bind /who.json
2022-01-26 12:47:47 -07:00
fang
2c5510db64
Merge branch 'jb/next-gen-term' into next/dill
Resolves a good number of conflicts. Most notably, re-propagates removal
of gall's %onto, confirms new /app/herm behavior, coerces hood/drum
state adapters back into place, and updates webterm to use the latest
api.
2022-01-24 14:50:16 +01:00
fang
0bc1f49f0f
drum: only process pokes from the local ship
No mark files exist for any of the drum marks, so trying to poke remote drums
would fail anyway, but relying on the mark system in that way seems a bit
fragile, so we add an explicit permission check.
2022-01-13 00:24:31 +01:00
fang
bde8c0b04a
helm: only process pokes from the local ship
No mark files exist for any of the helm marks (except `%helm-hi`), so trying to
poke remote helms would fail anyway, but relying on the mark system in that way
seems a bit fragile, so we add an explicit permission check.
2022-01-12 13:28:44 +01:00
fang
970075bbcd
helm, docket: bind /who endpoint in helm instead
This seems like a better place.
2021-12-17 00:42:57 +01:00
Philip Monk
4656372b09
Merge pull request #5426 from ynx0/claybel
clay: support labels
2021-11-15 08:49:31 -08:00
Philip Monk
23980d1f64
kiln: throw away pending commits on good commits
When we receive a commit that we can apply from the source, we throw
away any skipped pending commits.  This lets us receive updates at the
current kelvin even if we heard pending commits for later kelvins.
2021-11-12 14:38:17 -08:00
Philip Monk
901bcdf7b8
kiln: don't allow bump-many for non-current kelvin 2021-11-12 14:37:54 -08:00
Yaseen
25ce97cade clay: add support for labeling commits
- add helper arm `label:de`
- update relevant code to take in arbitrary aeons
2021-11-12 15:35:06 -05:00
Philip Monk
6665bc0986
kiln: fix |bump to not require except 2021-11-12 12:06:45 -08:00
Liam Fitzgerald
536e7a27e0 kiln: prevent unnecessary bumps when reloading
If a desk is suspended/paused/local, then we should exclude it when
bumping in the +on-load, because a suspended/paused/local desk cannot
have a pending commit that would allow it to bump successfully.
2021-11-08 16:46:00 -06:00
fang
8ed93c27c4
kiln: re-emit clay listen for affected ships
Previous version of kiln had a bug where a crash caused the listen to be
dropped, making kiln ignore base commits.
2021-10-07 23:12:42 +04:00
fang
bbc20e6bb7
kiln: safely bump not-yet-installed desks
Previously this wasn't accounting for the "couldn't read kelvin from
local desk" case properly, resulting in crashes during updates to base,
after which other desks wouldn't be started back up.
2021-10-07 22:29:24 +04:00
Hunter Miller
62741df416
Merge pull request #5300 from urbit/ted/kiln-dudes
kiln: refresh dudes on local reinstall
2021-10-06 17:42:46 -05:00
Ted Blackman
adf8670c31 kiln: refresh dudes on local reinstall 2021-10-04 18:17:29 -04:00
fang
66b8c046b7
kiln: don't +mean the tang noun alongside the tang 2021-10-02 13:07:23 +02:00
Fang
27fcc9b4c3
various: %home -> %base 2021-09-29 22:13:08 +04:00
Liam Fitzgerald
31f5898087 kiln: track original publisher with desk.ship file 2021-09-29 13:27:28 +10:00
Ted Blackman
597e36b8f9 kiln: fix local reinstall 2021-09-28 22:27:42 -04:00
Fang
de409e6edb
kiln: adjust dudes even if remote is identical
There might be cases where the local situation still doesn't match. This
lets us recover from that.
2021-09-29 00:56:35 +04:00
Ted Blackman
3f5dc4d5e5 kiln: give %commit fact on no-op download 2021-09-28 15:43:25 -04:00
Ted Blackman
5511cc95b5 docket,kiln: snapshot on %watch 2021-09-28 15:33:16 -04:00
Fang
400d2e4f44
Merge remote-tracking branch 'origin/lf/versioning-marks-dist' into dist 2021-09-28 17:13:33 +04:00
Fang
c9e8c8ca60
kiln: make dist desks public on-boot
So that our sponsees (and other ship) can install the software on them.
2021-09-28 16:22:37 +04:00
Liam Fitzgerald
77f7b05939 kiln: version external marks 2021-09-28 12:50:45 +10:00
Ted Blackman
ba353fbd36 kiln: local aeon 0 check 2021-09-27 21:47:42 -04:00
Ted Blackman
855e97d17a kiln: update other agents on kernel updates 2021-09-27 19:34:15 -04:00
Fang
18701b2ad2
kiln: always check local desk when adjusting dudes
We do not care about what's on foreign, the local desk is the thing
we're taking action on. This is more robust in the face of absent
information about foreign desks etc.

Also stops pretending to take-commet during take-merge-main. We'll get a
separate commit event.
2021-09-28 00:57:38 +04:00
Ted Blackman
7665e75849 manual merge @liam-fitzgerald misc. fixes PR 2021-09-27 14:50:58 -04:00
Fang
ca6636b149
kiln: ensure +vats engine always initialized
This was not the case for +poke-install, leading us to write a vat to
state under the %$ desk.
2021-09-27 15:06:47 +04:00
Ted Blackman
ede1976745 kiln: partial fixes for +take-download scry crash 2021-09-27 00:08:11 -04:00
Ted Blackman
2544b79e4b kiln,desks: remove %fish from /desk/bill; fix some other kiln issues 2021-09-26 17:03:26 -04:00
Ted Blackman
54e7f31d25 kiln: minor print cleanup 2021-09-26 15:32:27 -04:00
Ted Blackman
38767e5dee kiln: don't merge %kids from random desks 2021-09-26 01:07:45 -04:00
Ted Blackman
9d4cd216b3 kiln: +fmt for slogging 2021-09-26 01:07:23 -04:00
Ted Blackman
d81a4a7cba dill,kiln: fixes for boot and same-kelvin OTAs 2021-09-26 00:20:37 -04:00
Fang
ed516900e7
kiln: notify about local installs
Remote install send a %commit because they receive new files. Local
installs never receive files, so weren't notifying kiln subscribers.

Here we "manually" send a %commit fact when installing a local desk.
2021-09-25 18:26:04 +04:00
Joe Bryan
5385889ebd Revert "Revert "Merge pull request #4463 from urbit/m/next-gen-term""
This reverts commit 3fba32185d.
2021-09-24 23:14:55 -04:00
Joe Bryan
3fba32185d Revert "Merge pull request #4463 from urbit/m/next-gen-term"
This reverts commit 39667fc071, reversing
changes made to 698fd6f66f.
2021-09-24 16:33:15 -04:00
Ted Blackman
6bf3a7fe4c Merge branch 'ted/dist-migrate-wip' into dist 2021-09-23 18:12:09 -04:00
Ted Blackman
c80fb82318 clay,kiln,landscape/notify: migration runs 2021-09-23 18:07:13 -04:00
Liam Fitzgerald
5dadee5375 Merge remote-tracking branch 'origin/dist' into m/dist-ames-glob-fixes 2021-09-23 15:50:55 +10:00
Fang
6812d15480
gall, kiln: better migration logic 2021-09-22 22:34:20 +02:00
Liam Fitzgerald
f3befc8afc hood: fix pause poke 2021-09-22 13:20:05 +10:00
Fang
0512ed1281
Revert "kiln: better +install-local fix"
This reverts commit e4949aeb6f.

The better fix wasn't better at all!
2021-09-21 19:06:03 +02:00
Fang
e4949aeb6f
kiln: better +install-local fix
We have an upstream, and it is local.
2021-09-21 17:53:17 +02:00
Fang
8d91e8a903
kiln: safer +install-local printf
We don't have upstream tracking state for local installs, so this
would just crash.
2021-09-21 17:32:27 +02:00
Liam Fitzgerald
571f8cef5e kiln: actually unpause desk 2021-09-21 12:49:04 +10:00
Ted Blackman
3b30b67a3e Merge branch 'ted/kiln-warp' into m/distpilled, and
modify Kiln to listen for %writ's from Clay to track commits to Clay
that were not generated by Kiln itself.
2021-09-16 12:25:02 -04:00
Fang
22ad2516c9
kiln: install from existing desks during +on-init
During kiln's +on-init, we now check for non-base (and non-kids) desks.
If any are present, we execute the install flow for them, and set them
to sync from our sponsor afterwards.

This depends on work done in d7afe3229, in that without those changes
the successive +find requests from kiln to clay would clobber each
other, leaving only the "install from sponsor" one active, thus never
actually installing the desk for which we already have the files.
2021-09-15 23:53:24 +02:00
Fang
d7afe32291
kiln: synchronize install flow for local desks
When installing from an existing local desk, kiln now scries the
relevant data out of clay instead of sending moves to it and awaiting
responses.

This prepares for coming kiln work.
2021-09-15 23:52:50 +02:00
Ted Blackman
577ec24459 kiln: WIP listen to %warp's too 2021-09-15 22:57:08 +03:00
Ted Blackman
e34048a6c9
Merge pull request #5216 from urbit/lf/kiln-gall-fix-dead
kiln, gall: Fix removing agents from desk
2021-09-13 12:47:10 +03:00
Ted Blackman
19ffcd569b kiln: keep in +reset 2021-09-13 11:24:03 +03:00
Liam Fitzgerald
e6e0f47435 kiln: kill agents before merge
If a remote commit is downloaded that simultaneously removes an agent from
desk.bill but also removes the associated source files, then the commit
will fail as gall will not have received the card to kill the agent yet.
Instead, we read our foreign copy of the bill in +take-download, and
kill any necessary agents there, preventing a reload of the deleted
agent from occurring.
2021-09-13 08:41:27 +10:00
Ted Blackman
7f411c5116 typo 2021-09-09 21:32:29 +03:00
Ted Blackman
e9466baf06 kiln: bump %base first 2021-09-09 21:31:44 +03:00
Ted Blackman
f148f40a34 kiln: |install to a new upstream less destructively 2021-09-09 21:17:30 +03:00
Ted Blackman
f7970cbac0 kiln: minor cleanup 2021-09-07 21:57:55 +03:00
Liam Fitzgerald
39a9ed4faa hood: fix update ordering
When we receive the %mere gift from clay, the kernel has not yet been
reloaded. This means any attempts to bump desks will fail, as they will
be bumped against the old kernel. Rectifies this by continuing the %base
desk update flow in +on-load, instead of +take-merge-main. Also adds a
wef=(unit weft) to the state in order to discriminate whether or not the
kernel has just been reloaded
2021-09-07 14:37:36 +10:00
Ted Blackman
248b968550 kiln: |pause and |resume an app 2021-09-06 17:27:17 +03:00
Ted Blackman
63fac6bec2 kiln: parameterize +bump on kelvin 2021-09-01 03:00:40 +03:00
Ted Blackman
e0874f22fa kiln: revise +bump 2021-09-01 02:43:25 +03:00
Ted Blackman
e2fd0b61e4 ames: |ames-prod to reset congestion control 2021-08-28 22:48:23 +03:00
Ted Blackman
91714f5579 lull,dill,gall,kiln: move %pyre to :agent:gall 2021-08-27 18:06:53 +03:00
Ted Blackman
68a80660b2 kiln: don't die so easily in +bump 2021-08-27 17:38:30 +03:00
Liam Fitzgerald
f85500b39d kiln: add lag scry 2021-08-24 14:09:12 +10:00
Liam Fitzgerald
2d43877b15 Merge remote-tracking branch 'origin/ted/dist' into lf/kiln-json 2021-08-23 11:56:51 +10:00
Liam Fitzgerald
6a6897e009 kiln: update marks 2021-08-23 11:44:24 +10:00
Ted Blackman
d02652d799 kiln: update %base in +bump 2021-08-20 12:45:33 +03:00
Ted Blackman
f9e1812a14 sys,gen/kiln: kelvin checking seems to work 2021-08-20 10:41:16 +03:00
Ted Blackman
4dfc09d1a4 kiln: |suspend,|revive 2021-08-20 01:57:31 +03:00
Ted Blackman
ea1d30a506 kiln: fix kelvin checking 2021-08-18 20:32:54 +03:00
Ted Blackman
6408baaa93 various: fix merge problems 2021-08-18 01:16:48 +03:00
Fang
da85ee2e38
Merge branch 'master' into m/next-gen-term 2021-08-12 15:15:36 +02:00
Liam Fitzgerald
a8dfca8246 Merge remote-tracking branch 'origin/ted/dist' into lf/dist-v2 2021-08-12 11:42:39 +10:00
Ted Blackman
616ab66f26 merge master; loosen :hood's updates 2021-08-11 19:23:36 +03:00
Liam Fitzgerald
5d1eda5efd kiln: fix subscription paths, add marks 2021-08-11 14:42:51 +10:00
Ted Blackman
4e2fd0dcd0 kiln: notify clients on desk upgrade and failure 2021-08-03 00:52:46 +03:00
ixv
83aaaa398a hood: start notify 2021-07-28 12:26:33 -07:00
Ted Blackman
2507404f97 hood,desk.bill: fix boot issues 2021-07-23 14:07:58 +03:00
Ted Blackman
6675c3775a |nuke generator 2021-07-21 12:00:11 +03:00
Ted Blackman
143bb80035 kiln: +report-vats, fix local kelvin check 2021-07-20 18:00:07 +03:00
Ted Blackman
38d6d0f4d4 gall,kiln: clean up agent stopping, starting, linking 2021-07-19 16:58:18 +03:00