Repository navigation
Add websockets stream api docs - #1074
franklywatson merged 21 commits into
Conversation
* Added a single page overiview docs * Added a multi-page detailed docs for each message type
|
@illia-malachyn is attempting to deploy a commit to the Flow Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
@illia-malachyn the deployed vercel from a few days ago is here. With the left nav we probably want a top label that is more readable than "websockets-stream-api". This nav option is also distinct from the written title of 'Websockets Stream API'. My guess is the intention was for the sub pages to be under that root, not the 'websockets-stream-api' one
|
|
Nav looks good in latest vercel deployment. Looks like there's still more to be added and we should wait to merge this only once the functionality is deployed and live. |
|
@illia-malachyn you will need to merge from main since the project structure for the docs in this area changed. Also, we need to make sure this section is also updated: https://developers.flow.com/networks/access-onchain-data#subscriptions |
Created separate issue #1150 to fix the last part you mentioned, as I see we do not have any description of new gRPC subscriptions and do not mark the old implementation as deprecated. |
peterargue
left a comment
There was a problem hiding this comment.
added a few more comments. otherwise this is good
Co-authored-by: Peter Argue <89119817+peterargue@users.noreply.github.com>
@peterargue fixed all remarks. |
|
We need to add a page with common error codes and maybe examples so that clients can handle them properly |
|
As we are polishing websockets and some errors may come up, I'd recommend you write an automated subscription script for every topic. By doing this, we could run all of them after each bugfix and see we didn't break anything in case integration tests don't cover some logic. This would work as an additional layer of testing as well as future documentation for clients. Here's a small example you can use https://github.com/The-K-R-O-K/flow-stream-api-example/blob/main/template.js I image sth like that: Despite the fact that this is out of the scope of this issue and we have a separate issue for it. I can see no reason why to not do it right now. It is faster than testing websockets manually. |
Yeah, it makes sense. Would agree with you, that that will add an extra layer of testing from the client perspective |
|
Looking good guys thanks! Maybe just a couple of nits left to address above?
Yeah, for postman just one simple example would do. Then I can add an AWS example next to it @illia-malachyn |
@franklywatson Done it. Added "Postman UI example" and "Common errors" pages. |
|
Thanks guys, looks good @illia-malachyn @Guitarheroua . I think we're done here! Once we've released the functionality will merge this |
peterargue
left a comment
There was a problem hiding this comment.
couple small comments, but otherwise this looks good.
one I think is a change we should make in the error handling implementation.
Co-authored-by: Peter Argue <89119817+peterargue@users.noreply.github.com>
| "topic": "account_statuses", | ||
| "payload": { | ||
| "block_id": "ab20d1a3574177e69636eea73e7db4e74cffb2754cb14ca0bf18c2b96e8b68b9", | ||
| "height": "106219247", |
There was a problem hiding this comment.
Should this have a timestamp?
There was a problem hiding this comment.
This endpoint does not have a timestamp in the gRPC version, and as we use the same functionality inside Websockets, this does not have it either. Should it be present? If yes, I could create an issue for this.
There was a problem hiding this comment.
Yeah, if we could add one here to synchronize with the data returned by the events topic, that would be awesome. Thanks @Guitarheroua
There was a problem hiding this comment.
I opened an issue for this onflow/flow-go#7176
There was a problem hiding this comment.
@jribbink we'll probably postpone the implementation of this though. can u leave a comment in the issue explaining why it matters to you?
There was a problem hiding this comment.
It's not critical, it was just a suggestion so that consumers can have access to the same data through the account_statuses topic as they do through events (as all of the other data here is matching and these statuses are derived from events). But obviously if there's significant effort associated it's not necessary at all.
|
|
||
| ```json | ||
| { | ||
| "action": "list_subscriptions" |
There was a problem hiding this comment.
this does not match list_subscription in flow-go https://github.com/onflow/flow-go/blob/master/engine/access/rest/websockets/models/base_message.go#L6
There was a problem hiding this comment.
thanks! Good catch!
I opened a PR onflow/flow-go#7317


Closes onflow/flow-go#6644
This is in progress and is postponed till we finish with websockets epic. However, you can review it and write notes about it.
What to add to: