spritely/goblins
4
58
Fork
You've already forked goblins
4

Fix serialization issues with the prelay. #889

Open
vivicat wants to merge 2 commits from vivicat/goblins:prelay-remove-sref-vow into main
pull from: vivicat/goblins:prelay-remove-sref-vow
merge into: spritely:main
spritely:main
spritely:hashtable-actor
spritely:vat-log-resize-metacommand
spritely:fix-ocapn-ci
spritely:fix-796
spritely:support-zero-values
spritely:maybe-fix-ocapn-ci
spritely:document-wants-partial
spritely:prelay-docs
spritely:aurie-docs
spritely:lazy-captp
spritely:fast-sealers-fast-spawn
spritely:more-handoff-recieve-checks
spritely:ocapn-test-suite
spritely:add-keys-values-to-ghash-actor
spritely:docs-captp-ref-passing
spritely:fix-nested-with-vat
spritely:fix-281
spritely:captp-crossed-hellos
spritely:fix-243
spritely:sleepymaps
spritely:hootify-tests
spritely:move-define-actor-docs
spritely:websocket-netlayer
spritely:hoot-deprecation-warning
spritely:add-new-on-macros
spritely:replace-while-with-do
spritely:unenclose-syscaller
spritely:update-methods
spritely:new-devel
spritely:aurie-netlayer
spritely:devel
spritely:document-value-extraction
spritely:aurie-churn-fix
spritely:io-actor
spritely:cwebber-aurie-foundations
spritely:ci-code-coverage
spritely:0.12-news
spritely:gnutls-package
spritely:oops-all-goblins
spritely:relay-maybe-simplified
spritely:fake-indentation-fix
spritely:captp-remove-wants-partial-from-op-listen
spritely:mvre-wtf
spritely:multi-value-return-everywhere
spritely:simple-pick
spritely:remove-ports-dynamic-wrap
spritely:fast-spawn
spritely:additional-vat-events
spritely:onion-netlayer-temp
spritely:klugey-queue-captp-message
spritely:rest-of-captp
spritely:facet
spritely:ghash-pretty-print
spritely:fixing-syrup
spritely:fake-netlayer
spritely:onion-netlayer
spritely:string-formatting-errors
spritely:remove-waiter-cruft
spritely:lmethods
spritely:current-scheduler-kludge
spritely:hygienic-define-recordable
spritely:convert-captp
Contributor
Copy link

Change the prelay-netlayer so that it takes srefs instead of sref promises.

This helps with persistence problems - when deserializing I was getting
rejected promises. Changing the 'type' of the prelay like this should be safe.
It also matches how it's been documented. So I suspect it was a mistake of some
kind.

Secondly, the docs say that fetch-and-spawn-prelay-netlayer returns
a promise, when it did not. It returned the netlayer, passing promises into it
as arguments. So I have fixed it so it actually does return a promise now.

Resolved issues with tests.

Change the prelay-netlayer so that it takes srefs instead of sref promises. This helps with persistence problems - when deserializing I was getting rejected promises. Changing the 'type' of the prelay like this should be safe. It also matches how it's been documented. So I suspect it was a mistake of some kind. Secondly, the docs say that `fetch-and-spawn-prelay-netlayer` returns a promise, when it did not. It returned the netlayer, passing promises into it as arguments. So I have fixed it so it actually does return a promise now. Resolved issues with tests.
Change the prelay-netlayer so that it takes srefs instead of sref promises.
This helps with persistence problems - when deserializing I was getting
rejected promises. Changing the 'type' of the prelay like this should be safe.
It also matches how it's been documented. So I suspect it was a mistake of some
kind.
Secondly, the docs say that `fetch-and-spawn-prelay-netlayer` returns
a promise, when it did not. It returned the netlayer, passing promises into it
as arguments. So I have fixed it so it actually does return a promise now.
Author
Contributor
Copy link

I tested this with pumpkin-chat and didn't find any issues. I suppose there may be some users of the prelay that break as a result of this - but it didn't work if they were trying to persist it, so it's probably not too risky to change (persistence graphs won't be broken)

I tested this with pumpkin-chat and didn't find any issues. I suppose there may be some users of the prelay that break as a result of this - but it didn't work if they were trying to persist it, so it's probably not too risky to change (persistence graphs won't be broken)
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u prelay-remove-sref-vow:vivicat-prelay-remove-sref-vow
git switch vivicat-prelay-remove-sref-vow
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
spritely/goblins!889
Reference in a new issue
spritely/goblins
No description provided.
Delete branch "vivicat/goblins:prelay-remove-sref-vow"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?