Commit Graph

32973 Commits

Author SHA1 Message Date
Pyry Kovanen
5ff4e88890
Merge pull request #6789 from urbit/m/lighter-channel-creation
eyre: more permissive channel creation
2023-09-19 19:26:46 +03:00
fang
34148f9f44 eyre: allow PUTting empty channel-request list
Previously, we would reject this with a 400 error. Considering the
request body is expected to contain "array of requests" and that arrays
may be empty, we really should not be rejecting the requests.

Prior to 156ca21472, sending the empty array would have been convenient
for channel creation. Empty arrays getting rejected forced clients to
inject a faux poke (commonly hi-ing oneself). With that recent change,
the most common case for wanting to PUT the empty list of requests is
largely obsolete, but one can still imagine it being useful for clients
that want to keep their channel alive without necessarily being
connected to it. This also implements sloppier clients from running into
400 responses when they submit an empty "command queue" for whatever.

Regardless, there seems to be no clear reason why the empty request list
_shouldn't_ be accepted and processed as normal.

We add a small test to ensure eyre accepts this.
2023-09-19 19:12:25 +03:00
fang
4affae8181 eyre: GETting non-existent channels creates them
Previously, a channel could only be created by sending a PUT request,
and a GET request to receive the channel's stream would only succeed
after channel creation had happened that way. This forces client
libraries, that generally have an explicit "set up" step before allowing
normal operation, to do strange things, like sending faux pokes
(commonly hi-ing oneself) before connecting to the channel's stream as
normal.

Here, we update the GET request handling for channels to allow requests
for non-existent channels. When this happens, the channel will be
created, and eyre tracks the request as normal.

We do some... gentle restructuring... of +on-get-request:by-channel to
let the new creation case share code with the "already exists" codepath.
In the process, we find that duct-to-key was never getting updated in
the case where we replace the original channel request/connection with
the new incoming one. We fix this, it's trivial. We also identify two
other areas with vaguely-incorrect behavior, but consider them less
important and out of scope.

We also add a test case for "create channel through GET".
2023-09-19 19:12:25 +03:00
Pyry Kovanen
e355b5090e
Merge pull request #6783 from urbit/pkova/dear
lull, ames: add %dear task to receive lane from unix
2023-09-19 15:56:43 +03:00
Pyry Kovanen
c846dea16b
Merge pull request #6796 from urbit/develop
Merge develop into next/kelvin/411
2023-09-19 13:56:24 +03:00
Pyry Kovanen
30dcd3808e
Merge pull request #6745 from urbit/m/dead-agent-503
eyre: serve 503 if bound agent is not running
2023-09-18 16:04:56 +03:00
fang
b427c9e800 eyre: serve 503 if bound agent is not running
Previously, for endpoints bound to agents, we would pass the request
onto the agent even if the agents wasn't currently running.

Here, we make eyre check to see if the agent is actually running, before
passing the request on. If the bound agent is not running, eyre serves a
503 synchronously instead.

This way, we avoid cluttering up the gall queue for the bound agent.
2023-09-18 15:52:28 +03:00
Pyry Kovanen
3c3ade381b
Merge pull request #6792 from urbit/pkova/toggle-dead-flow
ames: make dead flow consolidation toggleable, default off
2023-09-15 18:15:47 +03:00
Tinnus Napbus
e9a618e184 kiln: change jump-related @p printing to scow's 2023-09-16 02:53:41 +12:00
Tinnus Napbus
00bc412619 kiln: simplify ++frond call in %kiln-jump mark 2023-09-16 01:34:01 +12:00
Tinnus Napbus
b2a3350afd kiln: %jump-ask mark noun:grab structure mode 2023-09-16 01:31:17 +12:00
Tinnus Napbus
b59525a203 kiln: OTA merge control
- let users disable automatic OTA merging for a sync or globally
- a sync can be set to manual, automatic or global default
- unapproved non-auto updates must be approved by the user
2023-09-15 22:20:42 +12:00
pkova
9929fcc6fb tests: revert test now that dead flow consolidation is default off 2023-09-14 23:13:24 +03:00
pkova
58698a428c ames: cancel pump timers when toggling to dead flow consolidation 2023-09-14 22:48:58 +03:00
pkova
bf4d7c92e1 ames: make dead flow consolidation toggleable, default off 2023-09-14 18:35:26 +03:00
Pyry Kovanen
b724304d5a
Merge pull request #6788 from urbit/pkova/roller-rpc-fix
roller-rpc: do not assert team:title for http-requests
2023-09-14 14:00:18 +03:00
Pyry Kovanen
babfd75daf
roller-rpc: do not assert team:title for http-requests 2023-09-13 14:57:28 +03:00
midden-fabler
dabff19cd9 gall: add scry endpoint for backups 2023-09-06 17:34:34 -04:00
Pyry Kovanen
7a205c4b76
Merge pull request #6784 from urbit/pkova/lick-duct
lick: initialize unix-duct before %born
2023-09-05 19:07:31 +03:00
Pyry Kovanen
328e085e41
lick: initialize unix-duct before %born 2023-09-05 16:17:06 +03:00
pkova
6a6e07d49f lull, ames: add %dear task to receive lane from unix 2023-09-04 22:09:52 +03:00
Tinnus Napbus
c8ab40c87a Merge branch 'next/kelvin/411' into desk-publisher-switcher 2023-08-31 01:44:40 +12:00
Pyry Kovanen
e21f346ca8
Merge pull request #6551 from urbit/next/kelvin/412
zuse: kelvin 412
2023-08-29 13:11:24 +03:00
Pyry Kovanen
7faaefefb0
Merge branch 'develop' into next/kelvin/412 2023-08-29 13:02:49 +03:00
Ted Blackman
9d2f40d654 sys.kelvin: zuse 411 2023-08-23 16:39:28 -04:00
pkova
c8379b245a zuse: decrement kelvin from 412 to 411 2023-08-23 21:22:50 +03:00
Pyry Kovanen
ae384dc08e
Merge pull request #6774 from urbit/pkova/arvo-provenance
arvo: add provenance when casting forward move
2023-08-23 20:08:06 +03:00
Pyry Kovanen
4bb9bae2d2
arvo: add provenance when casting forward move 2023-08-23 19:06:14 +03:00
Matthew LeVan
355985fb0e arvo: persistently cache scry type checks 2023-08-23 11:32:14 -04:00
Pyry Kovanen
036ee7019f
Merge pull request #6767 from urbit/pkova/gall-response-old-wire
eyre: handle old wires correctly in +on-gall-response
2023-08-23 17:54:54 +03:00
Matthew LeVan
7f91bcdca6 ames: persistently cache ++jim and remove ++dedup-message 2023-08-22 15:50:58 -04:00
Pyry Kovanen
3260e4fe05 eyre: handle old wires correctly in +on-gall-response 2023-08-22 21:37:15 +03:00
Pyry Kovanen
a1f9374145
Merge pull request #6756 from urbit/pkova/dead-flow-fix
ames: fix bug in dead flow consolidation
2023-08-21 18:29:39 +03:00
Pyry Kovanen
39a8aeb6e1
Merge pull request #6764 from urbit/yu/fix-recork-timer
ames: reinitialize recork timer
2023-08-21 14:25:18 +03:00
yosoyubik
8320e7dbf2 ames: update dead flow timers in state 2023-08-21 14:03:38 +03:00
yosoyubik
4da54b9e4d ames: reinitialize recork timer 2023-08-21 14:03:38 +03:00
Pyry Kovanen
37bb2674b5
Merge pull request #6763 from urbit/yu/fix-state-migrations
ames:  fix state migration in 412 after merging #6762
2023-08-21 13:59:50 +03:00
yosoyubik
e6bc865425 gall: fix error 2023-08-18 16:52:54 +02:00
yosoyubik
7242e56be5 gall: clear leaves.state after handling all leaves
Instead of setting a new timer every time, we wait to hear a new %nack
for a %leave to do so, accumulating any unacked %leaves in the state for
up to ~m2. When the timers comes back, we re-send all outsanting %leaves
and skipp setting up a new timer.
2023-08-18 13:57:16 +02:00
yosoyubik
be0bbc78c5 Merge branch 'yu/decongest-ames-in-develop' into yu/fix-state-migrations 2023-08-18 08:16:26 +02:00
Pyry Kovanen
f58fc8b462
Merge pull request #6761 from urbit/yu/decongest-ames
ames: reinitialize congestion control values
2023-08-17 17:44:20 +03:00
Pyry Kovanen
95d754a943
Merge pull request #6762 from urbit/yu/decongest-ames-in-develop
ames: reinitialize congestion control values (bis)
2023-08-17 17:23:18 +03:00
yosoyubik
19f5946e72 ames: only reinitialize congestion if bunted 2023-08-17 15:22:09 +02:00
yosoyubik
def2591812 ames: reinitialize congestion control values 2023-08-17 15:22:03 +02:00
yosoyubik
ce2582cc3a ames: only reinitialize congestion if bunted 2023-08-17 15:13:10 +02:00
yosoyubik
9b1ea79991 ames: reinitialize congestion control values 2023-08-17 15:05:53 +02:00
yosoyubik
cf937374c8 gall: put +on-bad-nonce log under %odd flag
The change introduced in 5422715c9b makes it very frequent for subscribers
to get stale facts on the subscriptions they are trying to leave so to not
clutter their dojo, we put the log under the %odd flag
2023-08-16 14:20:34 +02:00
Joe Bryan
508c5bd53c hoon: fix gol type enforcement for trivial %cnts 2023-08-16 13:46:01 +03:00
Pyry Kovanen
8d820713a9
Merge pull request #6758 from urbit/roller/fix-migration
roller: fix state migration
2023-08-16 13:45:18 +03:00
yosoyubik
5422715c9b gall: send %cork only if hearing %ack for %leave 2023-08-16 10:47:20 +02:00