Commit Graph

30669 Commits

Author SHA1 Message Date
fang
a5f08643ff
Merge pull request #5932 from urbit/ted/ack-crash
ames: fix "ack crash"
2022-08-10 16:02:10 +02:00
fang
682dde904c
Merge pull request #5931 from urbit/m/gall-kill-down-accurately
gall: handle nonces in wires correctly
2022-08-10 00:04:10 +02:00
Ted Blackman
ce9f692ecd ames: clean up %cork plea handling
+on-plea gets called in two very different ways:
1) handling request from local vane to send %plea to peer
2) handling %cork request from another ship, which our local ames has %pass'ed
   to ourselves

In the second case, we shouldn't print misleadingly, or bind a duct in the ossuary.
2022-08-10 00:47:38 +03:00
Ted Blackman
2dc7171dfa ames: no-op on acks on corked bones 2022-08-10 00:44:54 +03:00
fang
db1e8d1b92
gall: explain reason for strange conditional 2022-08-09 21:36:08 +02:00
fang
33d28ad79f
Merge pull request #5930 from urbit/m/gall-clog-cork
gall: cork a subscription's ames flow on-kick
2022-08-09 21:31:42 +02:00
fang
52d8ef6a99
gall: initialize sub-nonce as 1 during upgrade
This matches the bunt of 1 for the new ship case. A nonce of 0 is
semantically mapped to old-style subscriptions.
2022-08-09 21:22:40 +02:00
fang
c2d77a5d47
gall: in/exclude the nonce from the wire as needed
+ap-nuke was not including the nonce, but should.
+ap-handle-peers was potentially including a zero nonce.

(The latter shouldn't have been possible, but there's a bug in +load
where sub-nonce.yoke gets initialized as 0 instead of 1.)
2022-08-09 21:21:10 +02:00
fang
0a3f542fcc
gall: refactor sub-wire-with-nonce construction
Into +ap-nonce-wire.
2022-08-09 21:20:24 +02:00
fang
1f30dccddf
gall: use correct wires in +ap-kill-down
For potentially-outgoing moves, we need to make sure the nonce is in the
wire so that it gets associated with the right instance of the
subscription.
2022-08-09 20:53:43 +02:00
fang
e396ddcdaa
gall: cork a subscription's ames flow on-kick
Gall tells ames to %cork flows for subscriptions it has closed.
Receiving a kick also closes a subscription, but gall wasn't issuing a
%cork in that case. We correct that here.

Inlines +mo-handle-ames-response's logic at its only callsite.
2022-08-08 22:21:34 +02:00
drbeefsupreme
2b7b3266ac clay: remove $dork
seems that this structure has been unused since
e75ab631a4 and confuses
newbies trying to figure out exactly what the commit
structure is (which is how I came across this)
2022-08-07 13:08:55 -04:00
fang
8eb8a1da29
Merge pull request #5923 from urbit/ted/recork-better
ames: recork better
2022-08-05 11:42:45 +02:00
Ted Blackman
da591a4078 ames: invert busted conditional in recork timer 2022-08-05 02:37:03 +03:00
Ted Blackman
56d4906a13 ames: try next recork on cork ack
Without this, a ship would send a cork on a max of one flow per
recork timer, which could take years to clear for some ships.
This starts a hot loop of trying the next cork once one gets
positively acked.
2022-08-05 01:35:34 +03:00
Ted Blackman
54cd1a5eca ames: simplify recork timer
The previous recork timer queued up %cork messages without sending them.
It also relied on making sure pump timers didn't get set for recork bones.
This was fragile.

The new design enqueues up to one new %cork message per ship during each
recork timer, based on the state of the flow.  If the flow is closing but
there are no outstanding messages in it, then it needs to be recorked.
Flows will be recorked in ascending numerical order by bone.
2022-08-05 01:13:21 +03:00
fang
aad5fa6fae
Merge pull request #5922 from urbit/ted/recork
ames: don't start pump timers on recork
2022-08-03 21:31:17 +02:00
fang
9433d3354d
ames: unsent-fragments is a list, not a tree
Measure accordingly.
2022-08-03 21:03:49 +02:00
fang
7af527e605
ames: correctly measure queue size 2022-08-03 20:52:03 +02:00
fang
e6453bae3c
ames: more detailed "future msg" trace
This additional information may come in handy when debugging this crash
we shouldn't be seeing.
2022-08-03 20:46:54 +02:00
fang
e16c499724
ames: make recork timer faster
This will aid visibility and debugging. We'll probably want to make this
slower again later.
2022-08-03 20:33:04 +02:00
fang
7c01ee9b35
ames: account for corked flows during %stir
Also patches the behn scry in %stir handling to be correct for latest behn.
2022-08-03 19:37:53 +02:00
fang
cd10e02b73
bitcoin: v0.0.2 2022-08-03 14:54:06 +02:00
fang
f09122ae78
Merge pull request #5831 from nprz/extend-bitcoin-provider
Extend bitcoin provider
2022-08-03 14:53:02 +02:00
fang
b860bef066
ames: correctly avoid setting pump timer
The condition got butchered during refactor: instead of avoiding the creation
of pump timers during recork wake, it was setting them _exclusively_ during
recork wake.
2022-08-02 23:23:48 +02:00
Ted Blackman
e5e4c8602d ames: properly set recork flag in +on-wake 2022-08-02 23:15:43 +03:00
Ted Blackman
67efb2ad7c ames: don't start pump timers on recork 2022-08-02 23:03:34 +03:00
Joe Bryan
da47a2f98b Merge branch 'next/vere'
* next/vere: (49 commits)
  vere: bumps version
  vere: bumps version
  ci: enable release version mgmt
  Revert "ci: reenable release mgmt"
  ci: reenable release mgmt
  ames: track/log bad ciphertext crashes separately
  u3: %evil leaves no trace
  vere: drop bail:evil events without error notifications
  jets: bail:evil in ae-siv decryption jets
  vere: make uv_cancel return code check explicit
  u3: check for overflow in interpreter if guard page not present
  build: default to using guard page
  u3: return 0 from u3e_fault() if guard page cannot be protected
  u3: control presence of guard page using macro
  Revert "u3: check for road stack overflow on every nock %2 and %9"
  build: make bench is phony
  u3: failure to mprotect() the new guard page is fatal
  u3: removes/disables obsolete road stack overflow checks
  u3: account for guard page in cellblock allocation conditional
  u3: bump road heap offset before allocating cellblock
  ...
2022-07-28 17:33:22 -04:00
Joe Bryan
04645cbf08 vere: bumps version 2022-07-28 14:42:05 -04:00
fang
731e27d5a1
Merge pull request #5886 from urbit/yu/gall-rq-global-cork-timer
gall, ames: fix subscription desync (stage ii)
2022-07-28 17:46:45 +02:00
fang
7e71cbf61a
tests: temporarily disable ames comet flow test
This test started failing presumably somewhere during #5886. Testing
with a comet on the network, the test seems inaccurate: the comet can
communicate and be communicated to just fine.
2022-07-28 17:11:40 +02:00
fang
2915716191
pill: update
Again. Sorry.
2022-07-28 17:09:22 +02:00
fang
9860f62e1f
pill: update 2022-07-28 16:15:23 +02:00
Patrick O'Sullivan
a46abb1a55
Merge pull request #5910 from urbit/po/fix-term-export
api: fix `@urbit/api` `term` exports
2022-07-25 13:14:37 -05:00
fang
289fe5ef64
Merge branch 'next/arvo' into yu/gall-rq-global-cork-timer 2022-07-25 19:50:26 +02:00
fang
7ccfec6caf
Merge branch 'master' into next/arvo 2022-07-25 19:14:30 +02:00
tomholford
02545a7309 api: fix term/lib imports
Before this change, `term/lib` was importing the Poke type from the `http-api` package. This was causing the rollup build output to place the `term` exported types in a separate path (`dist/api/term`). By switching to the relative import, it is now exported at the expected path (`dist/term`). This fixes imports in consuming projects (e.g., `import {  Belt, pokeTask, pokeBelt } from '@urbit/api/term';`).

Also, remove the extraneous `Scry` import.
2022-07-25 10:23:05 -05:00
tomholford
43efca7760 api: export term types 2022-07-25 10:22:56 -05:00
yosoyubik
c69af12a6d gall: make spore-tag a @ud
TODO: still getting kiln: %base not installed
2022-07-18 13:49:16 +02:00
yosoyubik
a5aedaccc5 ames: delete naxplanation flows if bone is corked 2022-07-18 10:27:36 +02:00
fang
a4986078f5
Merge pull request #5902 from urbit/m/lastest-event-id
http-api: prevent double-processing of events
2022-07-16 18:02:32 +02:00
yosoyubik
35c6ac416e ames: fix predicate for detecting %cork acks 2022-07-16 07:40:05 +02:00
Joe Bryan
9c18144253 vere: bumps version 2022-07-15 22:50:27 -04:00
fang
529e3fd77f
http-api: prevent double-processing of events
In reconnect scenarios (or wonky network situations) we may receive
events we had already heard. Here we make sure to drop those.

Also simplifies the getEventId() logic.
2022-07-15 23:17:54 +02:00
Hunter Miller
e37ac116a4
Merge pull request #5805 from urbit/lf/http-api-improvement
@urbit/http-api: surface mark of updates
2022-07-15 16:15:36 -05:00
fang
cd3dc4bdb9
Merge pull request #5830 from urbit/m/aqua-mark
aqua: add %aqua-effect mark file
2022-07-15 20:17:01 +02:00
Joe Bryan
1a84399e64 ci: enable release version mgmt 2022-07-15 10:48:04 -04:00
yosoyubik
c599e60c5b ames: add recork set 2022-07-15 16:45:32 +02:00
Joe Bryan
2195215992 Revert "ci: reenable release mgmt"
This reverts commit 756754b118.
2022-07-14 18:05:01 -04:00
Joe Bryan
756754b118 ci: reenable release mgmt 2022-07-14 11:19:08 -04:00