matildepark
400a437b08
http-api: authenticate doesn't enforce insecure connections
...
Instead of forcing people to connect over http://, fall back gracefully to http if no protocol is given.
This fixes an issue where external clients can't use this method, since SameSite cookies need to be secure as per https://web.dev/samesite-cookies-explained/#samesite=none-must-be-secure
2022-09-13 11:27:38 -05:00
Patrick O'Sullivan
ac6ef65a87
Merge branch 'master' into next/npm
2022-09-13 11:26:22 -05:00
Patrick O'Sullivan
aaebd9c01b
npm: bump http-api version number
2022-09-13 10:33:12 -05:00
Liam Fitzgerald
3f2d7333e6
garden: fix broken treaty JSON
...
For some reason, a %uv case was added to the JSON serialiser for $case.
$case has no such case in the union, and so this does not make sense.
2022-09-12 15:55:54 -05:00
Patrick O'Sullivan
08f0e4c281
Merge pull request #5993 from urbit/po/return-rejected-promise-for-scry
...
http-api: If scry fails, return reject response
2022-09-12 14:23:42 -05:00
Patrick O'Sullivan
f5a8d8e937
http-api: If scry fails, return reject response
2022-09-12 09:45:01 -05:00
fang
50ee2eb1c0
Merge pull request #5951 from urbit/pkova/dns-race
...
dns-address: subscribe before poke and fix wire mismatch
2022-09-07 19:41:14 +02:00
xiphiness
2bc2d5a1bb
dojo dir validation: %ct scry at case da+now if imaginary case 0
...
PR #5840 mostly fixed #1559 , but introduced a new bug. before, you could safely `=dir` into a desk without a case, and it would use the nonexistent case `ud+0` as the beam for dojo state, and switch that out for da+now whenever it tries to resolve the current path. but this check causes it to fail, because `ud+0` is a nonexistent case. this uses he-beam to transform the beam in the conditional to see if the case is 0, and if it is, changes the case to da+now before it scries
2022-09-06 16:24:22 -05:00
fang
108c6253d3
Merge branch 'philip/nuke' into next/arvo
2022-09-06 22:25:19 +02:00
fang
f46d8dd557
Merge pull request #5974 from urbit/m/recork-slower
...
ames: bump recork timer back up to a day
2022-09-06 22:18:14 +02:00
fang
bc597c25ef
Merge pull request #5978 from urbit/philip/nuke
...
gall: don't add duplicate nonce in +ap-nuke
2022-09-06 22:17:49 +02:00
fang
7a4034f48a
Merge pull request #5977 from urbit/m/cork-undone
...
ames, gall: no %done on corks
2022-09-06 22:17:34 +02:00
fang
9c931f844b
Merge pull request #5976 from urbit/m/ames-restir
...
ames: clean & re-set recork timer during %stir
2022-09-06 22:17:18 +02:00
fang
36dd2f8ace
Merge branch 'next/arvo' into m/recork-slower
2022-09-06 22:16:41 +02:00
fang
e22b198dea
Merge pull request #5972 from urbit/ted/grq-test-2
...
tests: ames+gall subscribe/kick/resubscribe sequence
2022-09-06 22:15:47 +02:00
fang
fec3c45d30
Merge pull request #5971 from urbit/jb/recork-error
...
ames: handle failed recork timers
2022-09-06 22:15:12 +02:00
Mackenzie Davidson
4174fd6829
interface: full width images for notebook posts
2022-08-31 18:08:07 -04:00
fang
53cc33b291
eyre: look for lowercase last-event-id header
...
Eyre always gets passed request headers in lowercase, so we should search for
the lowercased version of the header.
Arguably `+get-header` should lowercase keys before comparing them, but that's
a more serious behavioral change.
2022-08-30 16:44:11 +02:00
Philip Monk
4bef3277d5
azimuth: remove :azimuth|kick
2022-08-29 10:57:47 -08:00
Philip Monk
1ce53d06ba
gall: don't add duplicate nonce in +ap-nuke
...
This gets added in +ap-handle-peers. This caused outgoing subscriptions
to not get cleaned up properly.
Issue introduced in c2d77a5d
.
2022-08-25 13:29:51 -08:00
fang
ab75e83398
gall: don't enqueue %cork as outstanding
...
Ames will no longer send acks. Consider it completed immediately, and
clean up the outstanding queue whenever it's empty.
2022-08-25 18:14:40 +02:00
fang
0e5b3b4107
ames: don't give %done on cork
...
Locally, %cork is guaranteed to succeed instantly. The requesting vane
doesn't need an ack to safely consider the flow "closed".
2022-08-25 18:13:29 +02:00
Ted Blackman
5fb20a57cb
tests: give %cork ack to gall
2022-08-25 16:36:14 +03:00
Ted Blackman
9b2f95b7b3
ames: revert added debug print
2022-08-25 16:36:14 +03:00
Ted Blackman
80c5172490
tests: check for correct subscription nonce
2022-08-25 16:36:14 +03:00
Ted Blackman
5ee16c38a1
tests: ames+gall full subscribe+clog+kick+resubscribe sequence
2022-08-25 16:36:14 +03:00
Ted Blackman
f558ad4348
tests: more steps, subscriber ames now sends %cork
2022-08-25 16:36:14 +03:00
Ted Blackman
59d71ecbc9
tests: remove defunct test library
2022-08-25 16:36:14 +03:00
Ted Blackman
e37f738573
/lib/test: add +expect-success helper
2022-08-25 16:36:14 +03:00
Ted Blackman
15861150ba
/lib/test/ames-gall: clean up lanes
2022-08-25 16:36:14 +03:00
Ted Blackman
c67a358308
tests: helper core to avoid repeated metamorphoses
2022-08-25 16:36:14 +03:00
Ted Blackman
94cb3952b7
tests: subscriber ames gets kick
2022-08-25 16:36:14 +03:00
Ted Blackman
0b2ba509c3
tests: gall and ames give kick over network
2022-08-25 16:36:14 +03:00
Ted Blackman
c301930fac
tests: give %kick from %clog
2022-08-25 16:36:14 +03:00
Ted Blackman
59c5aa0b2a
tests: give %clog to gall
2022-08-25 16:36:14 +03:00
Ted Blackman
c0adf6c25c
tests: %watch to %watch-ack codepath complete
2022-08-25 16:36:14 +03:00
Ted Blackman
cfdf4d8467
tests: fix
2022-08-25 16:36:14 +03:00
Ted Blackman
583dd42747
tests: ames receives %watch-ack
2022-08-25 16:36:14 +03:00
Ted Blackman
01f761d07a
tests: receiver ames sends %watch-ack packet
2022-08-25 16:36:14 +03:00
Ted Blackman
4518cf4838
tests: receiver gall gives %done to ames
2022-08-25 16:36:14 +03:00
Ted Blackman
becb1d7f18
tests: gall runs %pub +on-watch
2022-08-25 16:36:14 +03:00
Ted Blackman
52637ea2fe
tests: ames passes %watch to gall on receiver, gall emits %deal to itself
2022-08-25 16:36:14 +03:00
Ted Blackman
1f9e04ab1c
tests: ames sends %watch %plea
2022-08-25 16:36:14 +03:00
Ted Blackman
e2e4a102e8
tests: ~nec gall passes %watch to itself
2022-08-25 16:36:13 +03:00
Ted Blackman
3fdc7379a2
tests: get %sub agent to emit %watch
2022-08-25 16:36:13 +03:00
Ted Blackman
317f03e337
tests: test galls can now load %sub and %pub agents
2022-08-25 16:36:13 +03:00
Ted Blackman
c48c2f4b6a
/lib/test: add +run-chain for test sequences
2022-08-25 16:36:13 +03:00
Ted Blackman
f2b85df948
tests: initial setup for gall and ames on two ships
2022-08-25 16:36:13 +03:00
Ted Blackman
81bfe17f37
tests: WIP gall request queue tests
2022-08-25 16:36:13 +03:00
fang
81462da7aa
ames: clean & re-set recork timer during %stir
...
Pre-release ships may have multiple recork timers. This ensures that,
after stir, we always have exactly one.
2022-08-25 14:42:16 +02:00
fang
0871c24e24
ames: bump recork timer back up to a day
...
We had lowered this initially for easier testing, but a day should be
sufficient for real-world use.
2022-08-25 14:11:45 +02:00
Philip Monk
ed3b028d9a
Merge remote-tracking branch 'origin/master' into philip/snap
2022-08-23 14:16:57 -08:00
Joe Bryan
76cc8939d3
ames: fix error slog on failed attestation timer
2022-08-23 14:34:08 -04:00
Joe Bryan
5b8f26558e
ames: handle failed recork timers
2022-08-23 14:33:53 -04:00
Joe Bryan
679b38138d
ames: prevent larval stage from possibly clobbering adult state
2022-08-23 10:37:01 -04:00
Ted Blackman
5a96f3bdbe
ames: drop %hear as larva; check duct before metamorpohse
2022-08-23 16:45:17 +03:00
Ted Blackman
07601c6bee
ames: metamorphose on first +take if possible
2022-08-23 16:09:35 +03:00
Ted Blackman
9abe49489d
ames: +on-stir clean up comments
2022-08-23 13:31:10 +03:00
Joe Bryan
9439841ce8
ames: refactor %stir, %rest stale/wrong timers
2022-08-22 20:14:02 -04:00
Philip Monk
43ad38cd82
azimuth: reorder %kick flow
...
Before this, the %watch to eth-watcher was happening before the %poke,
and so eth-watcher was responding with its entire history immediately.
This is bad because it takes a lot of memory to process that many logs,
and also because those logs are stale.
Now, the %poke happens first, which clears the history.
2022-08-19 20:22:20 -08:00
Philip Monk
c6024c2661
azimuth: clear logs on %kick
...
%kick is supposed to start back from the snapshot and move forward.
Without this, we would only fetch logs that we hadn't already fetched.
Thus, if you were up-to-date when you kicked, you would miss anything
that happened between the time the snapshot was taken and the present,
though you would see things after the present.
Also reverted lull change to make this a safer upgrade.
2022-08-19 15:04:30 -08:00
fang
a04d564269
Merge pull request #5963 from urbit/m/ames-eager-molt
...
ames: ensure larva initializes adult's state
2022-08-20 00:35:50 +02:00
fang
3a7938f057
ames: say "metamorphosis" in all relevant cases
2022-08-20 00:05:20 +02:00
fang
53b0e7ecaa
ames: ensure larva initializes adult's state
...
Previously, when the larva got to processing enqueued events, it was
doing so without loading state into the adult beforehand, resulting in
incorrect processing of events.
Here, we make the larva call +molt more eagerly, ensuring that the adult
always has its state available when we use it.
2022-08-19 23:58:10 +02:00
Philip Monk
ca0a00cb3c
Merge remote-tracking branch 'origin/master' into philip/snap
2022-08-19 12:37:25 -08:00
fang
8108595b2b
gall: don't inject potentially-fake acks
...
We shouldn't be hitting this case anymore. Injecting events into agents
which they might not expect, and might not even be real, is bad.
2022-08-19 21:39:44 +02:00
fang
59f0556e3b
Merge pull request #5958 from urbit/ted/rake
...
gall: %rake task to clean up dead %leave's
2022-08-19 21:29:08 +02:00
fang
de6f525f02
Merge pull request #5956 from urbit/ted/gen-ames-flows
...
+ames-flows: diagnostic generator to count ames flows
2022-08-19 21:23:38 +02:00
fang
a79f2f27e5
Merge pull request #5961 from urbit/m/ames-stir-thoroughly
...
ames: don't skip closing flows in +on-stir
2022-08-19 21:22:49 +02:00
fang
a9a8619daa
Merge pull request #5947 from urbit/ted/staying-alive-rebase
...
gall: revive %hood and %dojo on keypress
2022-08-19 21:22:28 +02:00
fang
fc019157b8
Merge branch 'master' into next/arvo
2022-08-19 21:21:38 +02:00
fang
ce2e433a8a
ames: don't skip closing flows in +on-stir
...
Yes, there is a global timer for closing flows, but all that does is
enqueue a cork message. +on-stir needs to set _pump_ timers for all
flows that might still have messages to send, which includes closing
flows.
2022-08-19 20:26:08 +02:00
fang
cfa18b1f1f
gall: when kicked, register %cork as outstanding
...
When ames notifies us that our subscription has been kicked, we enqueue
a cork to clean up the flow. Unlike the %leave case, however, we were
not registering the cork in the queue of outstanding comms. We would
eventually get an ack, but not know what for, and erroneously inject
%poke-acks and %watch-acks.
Here we simply add a %cork entry to the queue before sending it.
2022-08-19 16:04:36 +02:00
fang
c8a163fedb
gall: clean up big wire construction
2022-08-18 22:46:58 +02:00
fang
a5335f5851
gall: improve match detection in +ap-rake
...
Making sure to stringify the nonce and including all the target details in the
wire, and excluding flows that are already closing.
2022-08-18 22:39:54 +02:00
fang
f0620b145b
ames-flows: more fine-grained open flow counting
2022-08-18 22:24:20 +02:00
Ted Blackman
d8df2787a0
gall: %rake task to clean up dead %leave's
2022-08-18 20:34:42 +03:00
Tinnus Napbus
4016211bc0
-dns-address: fix wire mismatch
2022-08-18 23:22:57 +12:00
Ted Blackman
82aea06c02
+ames-flows: diagnostic generator to count ames flows
2022-08-18 12:40:49 +03:00
hosted-fornet
00dc78402a
agentio: fix +rest
typo
2022-08-17 18:08:37 -07:00
Pyry Kovanen
3135eb6137
dns-address: subscribe before poke
2022-08-17 14:08:33 +03:00
fang
b4331d564e
Merge pull request #5949 from urbit/m/gall-redoff
...
gall: re-enable doff, only for old-style subs
2022-08-17 10:39:31 +02:00
fang
497d790e59
gen: remove printf from +gall-nonces
2022-08-16 23:53:18 +02:00
fang
24cf4497e9
gen: add +gall-nonces for reading all next nonces
2022-08-16 23:24:32 +02:00
fang
18019d6d83
gall: re-enable doff, only for old-style subs
...
This is sufficient to bring the normal (non-prerelease-bugged) cases
into the new world.
For the prerelease ships that ran a buggier version of the new gall
subscription logic, we note that the conditional may trigger for the
nonce=1 case where it had already triggered for their
(shouldn't-be-possible) nonce=0 case. This results in a %leave on a wire
that wasn't in use. This no-ops on the publisher side though, and the
flow gets corked right away, so this is considered harmless.
2022-08-16 23:02:59 +02:00
Ted Blackman
c972c0fbe2
gall: roundtrip through arvo to revive %hood and %dojo
2022-08-16 01:37:35 +03:00
Ted Blackman
95580f7e83
gall: revive %hood and %dojo on poke
2022-08-16 00:40:38 +03:00
Ted Blackman
a70c2ffe1a
gall: now restarts %hood, but not %dojo yet
2022-08-16 00:40:38 +03:00
Ted Blackman
ac072729c2
gall: force load %hood and %dojo on poke
2022-08-16 00:40:38 +03:00
fang
81f18d13ad
gall: remove outdated fixme comment
...
This is part of the %doff work, which is getting integrated elsewhere.
2022-08-15 12:24:18 +02:00
fang
5e43a9de56
Merge pull request #5941 from urbit/ted/nodoff
...
gall: disable %doff for now
2022-08-12 19:57:22 +02:00
Joe Bryan
205b5013e4
base: adds generator for getting %ames timer counts
2022-08-11 21:45:09 -04:00
Ted Blackman
1898483a45
gall: disable %doff for now
2022-08-12 00:55:19 +03:00
Ted Blackman
b1bab79f58
gall: add %f scry for sub-nonce's
2022-08-11 22:33:57 +03:00
Ted Blackman
7f35429e22
Merge pull request #5937 from urbit/ted/grq-test
...
ames: fix comet test
2022-08-11 22:27:15 +03:00
fang
350f33d6ba
Merge branch 'next/arvo' into ted/doff-6
2022-08-11 21:06:30 +02:00
Ted Blackman
91d6956388
tests: fix ames comet test
2022-08-11 20:49:09 +03:00
fang
5b4a964cdf
gall: fix the %doff conditional
...
No comment.
2022-08-11 19:48:27 +02:00
fang
06b7f52755
gall: print less during %doff
2022-08-11 17:04:44 +02:00
fang
cd0ea06ad4
gall: use a fully-formed wire when sending %cork
...
In response to clog notification from remote ames, we were sending a
%cork to clean up the flow. However, the wire we were using had the /sys
prefix already stripped off. Here, we put it back in.
2022-08-11 16:53:45 +02:00