Skip to content
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

fix(vats)!: migrate to use @agoric/far, remove deprecated REPL code #4145

Merged
merged 3 commits into from
Dec 2, 2021

Conversation

michaelfig
Copy link
Member

refs: #4144

Description

Show how to use @agoric/far in client code, namely the packages/vats package.

While we're there, remove the long-deprecated ui-agent code from the REPL, and endow exports from @agoric/far.

Security Considerations

Documentation Considerations

The ui-agent was an undocumented feature, and not used except for an ancient repl demo (since rewritten) a long time ago.

Testing Considerations

@michaelfig michaelfig requested a review from dckc December 2, 2021 16:23
@michaelfig michaelfig self-assigned this Dec 2, 2021
@michaelfig michaelfig added the far Distributed object helpers label Dec 2, 2021
@michaelfig michaelfig changed the title fix(vats): migrate to use @agoric/far fix(vats)!: migrate to use @agoric/far, remove deprecated REPL code Dec 2, 2021
Copy link
Member

@dckc dckc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good so far, but the ci bots show this needs more work

Comment on lines 11 to 13
* @typedef {import('@agoric/far').EOnly<T>} EOnly An object roughly of type T
* that is only allowed to be consumed via eventual-send. This allows the
* object to return Promises wherever it wants to, even when T demands a
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any particular reason to duplicate this documentation here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really. I've removed this comment in favour of just a bare @typedef.

@michaelfig
Copy link
Member Author

To do this migration, replace all possible instances of @agoric/eventual-send and @agoric/marshal with @agoric/far in vat code and libraries.

If @agoric/far does not export everything your module needs, it may require direct access to the original modules, but that is likely only necessary for infrastructure like SwingSet, install-ses and captp.

@michaelfig michaelfig requested a review from dckc December 2, 2021 16:55
Copy link
Member

@dckc dckc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yay! more deletes than adds!

including a whole file of technical debt paid off

@michaelfig michaelfig added the automerge:no-update (expert!) Automatically merge without updates label Dec 2, 2021
@mergify mergify bot merged commit 6932ad0 into master Dec 2, 2021
@mergify mergify bot deleted the mfig-demonstrate-agoric-far branch December 2, 2021 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge:no-update (expert!) Automatically merge without updates far Distributed object helpers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants