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

[BUG] Scala paged catchup invalid channel error not in line with specification #1944

Open
2 of 6 tasks
osm-alt opened this issue Jun 24, 2024 · 0 comments
Open
2 of 6 tasks
Labels
bug Something isn't working

Comments

@osm-alt
Copy link
Contributor

osm-alt commented Jun 24, 2024

Description (Actual behavior)

When sending a paged catchup message with a channel parameter that is invalid, Scala is currently validating the Regex for the channel specified in the paged catchup JSON schema (^/root(/[^/]+)/social/(chirps(/[^/]+)|profile(/[^/]+){2})$), and returns the following error:

{
    "jsonrpc": "2.0",
    "id": 3,
    "error": {
        "code": -4,
        "description": "$.method: must be a constant value heartbeat; $: should be valid to one and only one schema, but 0 are valid; $.params.timestamp: is missing but it is required; $.method: must be a constant value greet_server; $.method: must be a constant value get_messages_by_id; $.params.messages: is missing but it is required; $.params.channel: does not match the regex pattern ^/root(/[^/]+)/social/(chirps(/[^/]+)|profile(/[^/]+){2})$; $.params.client_address: is missing but it is required; $.params: is not defined in the schema and the schema does not allow additional properties; $.params.channel: is not defined in the schema and the schema does not allow additional properties; $.method: must be a constant value rumor; $.method: must be a constant value unsubscribe; $.result: is missing but it is required; $.params.number_of_messages: is not defined in the schema and the schema does not allow additional properties; $.params.number_of_messages: is not defined in the schema and the schema does not allow additional properties; $.params.public_key: is missing but it is required; $.params.sender_id: is missing but it is required; $.params.before_message_id: is not defined in the schema and the schema does not allow additional properties; $.method: must be a constant value rumor_state; $.method: must be a constant value subscribe; $.method: must be a constant value catchup; $.params.channel: is not defined in the schema and the schema does not allow additional properties; $.params.before_message_id: is not defined in the schema and the schema does not allow additional properties; $.method: must be a constant value broadcast; $.method: is not defined in the schema and the schema does not allow additional properties; $.error: is missing but it is required; $.params.state: is missing but it is required; $.method: must be a constant value publish; $.params.server_address: is missing but it is required; $.id: is not defined in the schema and the schema does not allow additional properties; $.params.message: is missing but it is required; $.params.rumor_id: is missing but it is required"
    }
}

Expected behavior

In protocol.md, it says: "If a paged catchup message is sent on another channel, the backend returns an error with a -1 code indicating that this is an invalid action and a description saying that paging is not supported on this channel."

How to reproduce

Send a paged catchup message with an invalid channel parameter.
An example:

{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "paged_catchup",
    "params": {
        "channel": "/root/89zterjThplXCrimBjyNfxvXKNS4QdW5QN-bEtHL00Y=/social/chrs/hYzX2BeT1juKnxymB0aK3VlTA8r7JSrGThc7Mby45aA=",
        "number_of_messages": 10,
        "before_message_id": "to6etYtCCHK7HSGHoOzqVqTKzMK2IHMyuez-yRESlc4="
    }
}
Front-ends:
  • Fe1-Web (please include browser's names & version)
  • Fe2-Android (please specify if phone or emulation, and Android version)
  • Not applicable
Back-ends:
  • Be1-Go
  • Be2-Scala
  • Not applicable
@osm-alt osm-alt added the bug Something isn't working label Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant