Skip to content

Modify SimpleReactPyClient to not use pre-defined endpoints #1079

Closed
@Archmonger

Description

@Archmonger

Current Situation

We currently require a structured/implict routes for SimpleReactPyClient.

/*
 * - `_reactpy/stream/${route}${query}`: The websocket endpoint for the stream.
 * - `_reactpy/modules`: The directory containing the dynamically loaded modules.
 * - `_reactpy/assets`: The directory containing the static assets.
*/ 

Proposed Actions

Rewrite SimpleReactPyClient to allow the user to define their own routes. Will need a prop for each route.

Similar to reactpy-django, we need the following customization options:

  • mountId
    • The string ID of the mountable element
    • 504ef671-57a4-4128-a48d-3ec94c9bfd41
  • websocketUrl
    • Path to where the websocket is located at
    • reactpy/<dotted_path>
  • jsModulesUrl
    • Path to where we auto-serve JavaScript modules
    • reactpy/modules/
  • reconnectMax
    • When x many seconds pass, the websocket will give up retries
    • 3600
  • reconnectInterval
    • Client will retry to connect to the server every x seconds
    • 5

Note: We need to start treating the client JS file completely separately from other static files. The user needs can't ever configure their static file dir if we rely on it for core behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority-2-moderateShould be resolved on a reasonable timeline.type-refactorAbout improving code structure.type-revisionAbout a change in functionality or behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions