Commit Graph

15981 Commits

Author SHA1 Message Date
fang
03401b46aa spider: speak raw jam bytes, not uw-encoded
This brings it in line with the serialization found in /mar/noun.

The `@uw`-encoding was carried over from Eyre, who uses it for channels.
In that context, outgoing jam bytes must be encoded, because newline
characters (`0a` bytes) would break up the SSE data field. Because
they're essentially part of the same protocol, Eyre mirrors this for
incoming nouns. Even though PUT requests can carry arbitrary bytes just
fine, the symmetry and protocol-wide consistency seems important.

Here, we are dealing strictly with plain HTTP requests, and strictly
with requests that have indicated support for the
`application/x-urb-jam` mime type to boot. We should have no qualms
about raw jam bytes. They're more compact/efficient, too.
2024-04-10 10:18:12 +02:00
fang
ffe1cf21b4 spider: support speaking raw (uw-encoded) nouns
in the thread-calling http interface.

Specifying a content-type header of application/x-urb-jam will make the
request body be interpreted as a uw-encoded jammed noun, rather than
json.

Specifying an accept header of application/x-urb-jam will make the
thread result in the response body be rendered as a uw-encoded jammed
noun, rather than json.

For the latter, the output mark becomes unused, since we can just
"render" the resulting noun directly, without needing to explicitly
convert it. (This assumes that converting any mark to %noun will always
result in the same noun, which isn't guaranteed in theory, but is always
the case in practice.)

This prepares spider for use in a nouns-based version of js-http-api.
2024-04-10 10:18:12 +02:00
yosoyubik
3a3475e6a3 Revert "ames: log with trace when ignoring messages"
This reverts commit 198fa38f6e.
2024-04-10 10:09:14 +02:00
yosoyubik
551507cd36 gall: keep %leave in the queue 2024-03-27 06:27:23 +01:00
yosoyubik
216ce199b6 gall: check if a %leave got %nacked before resending 2024-03-26 10:38:20 +01:00
yosoyubik
198fa38f6e ames: log with trace when ignoring messages 2024-03-26 07:37:51 +01:00
Pyry Kovanen
6e9233c1ee
Merge pull request #6951 from urbit/master
Merge master to develop after 411k release
2024-03-25 16:39:03 +02:00
Pyry Kovanen
d54afc1cf2
eyre: scry with root gang in http generators 2024-03-25 15:19:23 +02:00
Tinnus Napbus
5f45cda7d4 vats: fix desk order 2024-03-23 22:27:05 +13:00
Pyry Kovanen
bcb716f4cd
Merge pull request #6934 from urbit/jb/rein-no-bill
clay: respect %rein for desks without a bill
2024-03-22 17:38:16 +02:00
Pyry Kovanen
2ee5b25398
Merge pull request #6935 from urbit/mf/cpr
gen: |cp add recursive copy
2024-03-22 17:36:37 +02:00
Pyry Kovanen
7b8ef9a32a
Merge pull request #6939 from urbit/tinnus-fix-vats
vats: fix vats and make faster
2024-03-22 17:29:02 +02:00
Pyry Kovanen
227fba2b34
Merge pull request #6945 from urbit/next/kelvin/411
Merge next/kelvin/411 to develop
2024-03-22 14:48:45 +02:00
pkova
05a71c690a ames: fix chain mop order 2024-03-21 17:49:41 +02:00
Pyry Kovanen
bf60b47407 Merge branch 'develop' into pkova/eauth-localhost 2024-03-21 14:36:27 +02:00
Pyry Kovanen
5ecef371b7
eyre: do not overwrite public eauth domains with localhost
Co-authored-by: fang <git@fang.io>
2024-03-21 13:39:30 +02:00
Pyry Kovanen
9f9644cbb1
Merge pull request #6942 from urbit/next/kelvin/411
Merge next/kelvin/411 to develop
2024-03-20 13:39:39 +02:00
yosoyubik
24e3f434a7 ames: add %stun verbosity log 2024-03-19 09:42:20 +01:00
yosoyubik
93916099e8 Merge branch 'pkova/ping' into yu/saxo-on-molt 2024-03-19 08:35:46 +01:00
pkova
9050c5ad35 ping: do not scry in migration and other miscellaneous fine tuning 2024-03-18 19:00:18 +02:00
pkova
f0a5faf295 ping: track number of outstanding pokes and retry timer 2024-03-18 17:02:16 +02:00
pkova
10ae720756 ping: fix bug in +galaxy-for 2024-03-18 15:04:40 +02:00
Tinnus Napbus
a52492057c vats: fix weft print order 2024-03-17 16:47:11 +13:00
yosoyubik
93b51070bc ames: keep previous moves if no unix-duct 2024-03-16 19:54:52 +01:00
Tinnus Napbus
b758ed6683 vats: fix vats and make faster 2024-03-17 04:44:33 +13:00
yosoyubik
d3ad83da05 ames: emit %saxo on molt 2024-03-16 07:57:10 +01:00
pkova
07a952bb5a ping: only ping galaxy 2024-03-15 19:34:19 +02:00
midden-fabler
6cb7702267 gen: |cp add recursive copy 2024-03-14 14:48:33 -04:00
Joe Bryan
4dbdc799b9 clay: respect %rein for desks without a bill 2024-03-13 14:03:01 -04:00
Pyry Kovanen
afcf24d9bd
Merge branch 'develop' into dir-faces 2024-03-13 17:50:32 +02:00
yosoyubik
26dc9c4bca spider: track remote scry requests 2024-03-11 13:30:13 +01:00
Pyry Kovanen
630d5d01ea eyre: do not store localhost as eauth-url 2024-03-05 20:54:40 +02:00
pkova
0d9a0cdb6c Merge branch 'next/kelvin/411' into pkova/mirger 2024-02-23 00:45:50 +02:00
Pyry Kovanen
fbb6c45c48
Merge branch 'next/kelvin/411' into pkova/moon-breach 2024-02-23 00:12:47 +02:00
pkova
ab0b0d57c0 ci: make tests actually run in ci 2024-02-23 00:01:35 +02:00
fang
51ec49f980 tests: make /ted/test compile again
It appears that bb8ba24 merged changes to /ted/test from #6790 and #6896
incorrectly, as the thread no longer compiled.

Because the former PR included the change made to the latter (printing
with slog priority 3 in case of failure), the minimum viable fix is
taking the contents of /ted/test from #6790 and using those as-is.

However, that had hidden success prints behind a "quiet" flag, and
provided no way of configuring that from outside the thread. So
additionally, we expand the ""vase parsing"" performed on the thread's
argument, such that an optional _first_ parameter of a quiet=? may be
passed.
2024-02-22 17:02:43 +02:00
Pyry Kovanen
2af43c2219 Merge pull request #6918 from urbit/pkova/error-building
ci: red checkmark if any thread fails to build
2024-02-22 17:01:53 +02:00
Pyry Kovanen
721f9617b1
jael: do not sort remote gifts 2024-02-22 16:33:18 +02:00
Pyry Kovanen
b7be413d55
Merge branch 'develop' into pkova/error-building 2024-02-20 15:00:56 +02:00
pkova
6f3a2bfeaf ci: build all threads in ci 2024-02-20 14:48:20 +02:00
fang
111a21eea7
tests: make /ted/test compile again
It appears that bb8ba24 merged changes to /ted/test from #6790 and #6896
incorrectly, as the thread no longer compiled.

Because the former PR included the change made to the latter (printing
with slog priority 3 in case of failure), the minimum viable fix is
taking the contents of /ted/test from #6790 and using those as-is.

However, that had hidden success prints behind a "quiet" flag, and
provided no way of configuring that from outside the thread. So
additionally, we expand the ""vase parsing"" performed on the thread's
argument, such that an optional _first_ parameter of a quiet=? may be
passed.
2024-02-19 20:55:38 +01:00
Pyry Kovanen
2accc050bc
Merge pull request #6915 from urbit/m/eyre-stabler-eauth
eyre: update eauth endpoint timestamp less eagerly
2024-02-19 05:20:07 -08:00
fang
1c622f550e
eyre: update eauth endpoint timestamp less eagerly
We always update the eauth endpoint based on new logins from the local
identity. We also let the user configure a hardcoded endpoint url. In
both cases, we update a recency timestamp for the endpoint, to help us
keep our scry namespace responses immutable.

However, we even updated this timestamp if the visible endpoint didn't
change. That is, if the new value was identical, or if the auto-detected
endpoint changed, but it was actively being overridden by a
user-configured url.

Here, we update the stored timestamp only if the visible url actually
changed. This should help us respond to (remote) scry requests more
consistently.

(See also the note in +send-keen.)
2024-02-16 20:57:00 +01:00
fang
f3ce73447c
eyre: respect host from Forwarded header, if set
Eyre already looks at the Forwarded header for the original requester's
IP address, and the security level of the connection. Some proxies may
modify the original Host header, but still provide the original in the
Forwarded header. So, if present, we respect that.
2024-02-16 20:20:57 +01:00
Pyry Kovanen
425ae7aa33
Merge branch 'develop' into m/eyre-cache-dbug 2024-02-15 10:04:59 -08:00
Pyry Kovanen
5a95b73f54
Merge pull request #6909 from urbit/m/eyre-uncache
eyre: dynamic responses for empty cache entries
2024-02-15 10:00:31 -08:00
fang
3ff4782d3b
dbug: support the eyre response cache
Now support scrying into eyre to retrieve & display its known cache
entries.

Also adds a little extra logic that lets the dbug agent send cache clear
commands on the user's behalf.

To avoid needlessly long scrolling, we add an "open" property to the
debug dashboard's SearchableList, which can be set to false to collapse
the list by default. This is useful for eyre's debug page, which
commonly contains very long lists.
2024-02-15 12:38:29 +01:00
fang
7733e13700
eyre: improve cache visibility
Include the cached responses in their own named mass section, and add a
scry endpoint that produces the entire current cache.

A follow-up commit will leverage this for showing it in the debug
dashboard.
2024-02-15 12:27:50 +01:00
fang
3a4c1e93aa
gall: respond to /whey scries (for |mass)
The restructuring in #6852 put everything under versioned scry paths.
Arvo remains none the wiser and still happily scries for /whey, without
a leading version number, resulting in loss of detail for gall's section
in |mass output.

Here, we simply slap the current version number in front of the /whey
scry path, to get it to resolve.
2024-02-15 10:44:01 +01:00
Pyry Kovanen
7fcee8d9fa
Merge pull request #6910 from urbit/next/kelvin/411
Merge next/kelvin/411 to develop
2024-02-12 17:44:22 +02:00