status-im / specs

Specifications for Status clients.
https://specs.status.im/
MIT License
14 stars 14 forks source link

18/URL scheme: draft #159

Closed saledjenic closed 1 year ago

jakubgs commented 3 years ago

Is this PR ready for review? If so it will need more reviewers than just me and Iuri.

saledjenic commented 3 years ago

Is this PR ready for review? If so it will need more reviewers than just me and Iuri.

That is just an initial proposal, we should discuss it and update it accordingly. Please add more reviewers who should be involved into this.

felicio commented 1 year ago

@saledjenic please, could you review my comments above?

felicio commented 1 year ago

This PR is still proposing URLs that privide information about what is being linked to the backend because it doesn't use hash arguments, as we have discussed several times.

Ref https://github.com/status-im/status-web/issues/327#issuecomment-1469892180.

felicio commented 1 year ago

@saledjenic please, could you review my comments above?

@saledjenic please, did you have a chance? Would you like me to take over and move it like https://github.com/vacp2p/rfc/pull/600?

saledjenic commented 1 year ago

@felicio it's almost two years since I've initially created this PR and implemented a functionality in the desktop app. Not sure what's the state of it now since a lot has been applied/changed in meantime. If I remember correctly @endulab was the one who was involved in recent changes there.

@felicio feel free to take over this issue. If needed maybe we could organize a short call and discuss details all together.

| User profile | /u/<data>#<signature> | Display user | | | /u#<compressed_user_public_key> | | | | /u#<ens_name> | |

| Community | /c/<data>#<signature> | Open community | | | /c#<compressed_community_public_key> | |

| Community channel | /cc/<data>#<signature>| Open community channel | | | `/cc/# | |

What's <data> and what's <signature>?

Is this example already supported? What does group_key consist of?

Iirc group_key was referring to a string with pattern /u/[compressed_user_key or ens_name]/.../u/[compressed_user_key or ens_name], but I think that's removed and left to be revised/re-implemented post MVP.

| Post in channel | /cc/<channel_uuid>/<message_id>#<compressed_community_public_key> | Go to message in channel

Isn't channel_uuid composed of community_id + chat_id?

John-44 commented 1 year ago

@felicio it's almost two years since I've initially created this PR and implemented a functionality in the desktop app. Not sure what's the state of it now since a lot has been applied/changed in meantime. If I remember correctly @endulab was the one who was involved in recent changes there.

@felicio feel free to take over this issue. If needed maybe we could organize a short call and discuss details all together.

| User profile | /u/<data>#<signature> | Display user | | | /u#<compressed_user_public_key> | | | | /u#<ens_name> | |

| Community | /c/<data>#<signature> | Open community | | | /c#<compressed_community_public_key> | |

| Community channel | /cc/<data>#<signature>| Open community channel | | | `/cc/# | |

What's <data> and what's <signature>?

Is this example already supported? What does group_key consist of?

Iirc group_key was referring to a string with pattern /u/[compressed_user_key or ens_name]/.../u/[compressed_user_key or ens_name], but I think that's removed and left to be revised/re-implemented post MVP.

| Post in channel | /cc/<channel_uuid>/<message_id>#<compressed_community_public_key> | Go to message in channel

Isn't channel_uuid composed of community_id + chat_id?

@saledjenic it's probably better if you leave this task to @rymnc as @rymnc is working on updating all the Status related technical specs and moving them to the https://github.com/vacp2p/rfc repo, and editing them to conform how a Vac RFC is supposed to be written (plus I'm aware of all the other work you have to do for the 0.13 milestone).

@felicio , could you liaise with @rymnc so that @rymnc has all the information he needs to write up the new Status share URL specification in the Vac RFC format?

@rymnc would you be able to help with this task of writing up this 'Status Share URL' in Vac RFC format and adding it to the other Status RFCs you've recently worked on? This task should be bumped to the top of the 'Status technical specification' priority list, as work on implementing the backend for this functionality is starting now, and this is a nice opportunity for the implementation to be driven by the specification rather than the other way around :-) @felicio has done some great work defining this specification, some of this is currently in google docs and spreadsheets as well as here. I would suggest doing a call with @felicio so he can talk you through everything, and then going from there. Feel free to ping me if needed!

John-44 commented 1 year ago

@felicio @saledjenic note that as soon as @rymnc has finished updating the Status specifications and moving them to the Vac RFC repo, the plan is to delete both this repo and the whole https://specs.status.im/ website, so we keep all our technical specifications in a single location.

Once this is complete it will avoid the confusion of having specifications in two different places!

rymnc commented 1 year ago

Hey @John-44 thanks for your comment, we will reprioritize some of the rlnp2p work to accommodate this spec. @felicio, I will connect with you to discuss details

felicio commented 1 year ago

@saledjenic

@felicio feel free to take over this issue.

thanks, that's what I wanted to know. I just didn't want you to feel "left out" and actually get your feedback on the implementation.

While this is not https://github.com/vacp2p/rfc/pull/600, it's still complimentary.

What's <data> and what's <signature>?

Data, for example, can be community's display name, description or color. And it's optionally there to allow instant previewing prior fetching from a remote resource like Waku. More on that at https://github.com/vacp2p/rfc/pull/600.

And the signature is there to ensure integrity. More on that at https://github.com/status-im/specs/pull/169#discussion_r1115990922.

Isn't channel_uuid composed of community_id + chat_id?

No, chat_id, or channel_id if you will, is channel_uuid + compressed_community_public_key.

felicio commented 1 year ago

Just like I moved https://github.com/status-im/specs/pull/169 to https://github.com/vacp2p/rfc/pull/600, I moved this to https://github.com/vacp2p/rfc/pull/602.

Closing.