-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Need zone to abstract over watchPromise
or vowTools
#9231
Labels
bug
Something isn't working
Comments
See also #9097 (comment) |
@michaelfig , ok to assign this to the two of us? |
erights
changed the title
Need zone to abstract over watchPromise or vowTools
Need zone to abstract over Apr 15, 2024
watchPromise
or vowTools
mergify bot
added a commit
that referenced
this issue
May 7, 2024
closes: #9231 ## Description Make `zone.watchPromise` available for all zones, only overridden by the durable zone. This provides a way for `zone.exo*` makers and methods to use a `watchPromise` that is compatible with their backing zone. ### Security Considerations Doesn't do anything already possible via `VatData.watchPromise` or `E.when`. ### Scaling Considerations Nothing outside of `VatData.watchPromise` and `E.when`. ### Documentation Considerations Zones need to be documented more thoroughly at some point, probably via TSDocs. ### Testing Considerations Will be tested as part of asyncFlow. ### Upgrade Considerations The usual.
erights
added a commit
that referenced
this issue
May 14, 2024
Staged on #9097 closes: #XXXX refs: #9231 #9321 #9329 #9097 ## Description Now that `watchPromise` is abstracted over zones and vows make use of that, we can simplify the test cases a lot. Should be a pure refactor with no externally observable effect. ### Security Considerations none ### Scaling Considerations none ### Documentation Considerations none ### Testing Considerations tests simpler. Otherwise, none ### Upgrade Considerations none
erights
added a commit
that referenced
this issue
May 16, 2024
Staged on #9097 closes: #XXXX refs: #9231 #9321 #9329 #9097 ## Description Now that `watchPromise` is abstracted over zones and vows make use of that, we can simplify the test cases a lot. Should be a pure refactor with no externally observable effect. ### Security Considerations none ### Scaling Considerations none ### Documentation Considerations none ### Testing Considerations tests simpler. Otherwise, none ### Upgrade Considerations none
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
At
agoric-sdk/packages/async-flow/test/test-async-flow.js
Line 61 in 1718b06
prepareVowTools
from @agoric/vow works with the heap and virtual zones, but not the durable zone, and therefore does not support recovery from upgrade.prepareVowTools
from @agoric/vat-data/vow.js works with the durable zone and supports recovery from upgrade, but does not work with the heap or virtual zones.I raised the with @michaelfig and, IIRC, we agreed that
watchPromise
exported by liveSlots (supporting durability and upgrade) vs thewatchPromiseShim
in @agoric/vow intended for cases where the "real"watchPromise
is not availableZone
type to provide awatchPromise
method that works with that zone. Then, code like the test cases in test-async-flow.js need only be parameterized over zone, and no longer additionally parameterized over vowTools.This would address the issues @mhofman raises at #9097 (comment)
The text was updated successfully, but these errors were encountered: