Issue when clientside callback is defined before public callback

Offen
#161 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

@Godisemo arbeitet bereits daran.

Seit 03.2.2025.

  • #162 von @Godisemo — offen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
authentication

Rechercherichtung

Beginne mit der bereitgestellten Beispiel-App und reproduziere den Absturz, indem du clientside_callback vor public_callback definierst; vertausche anschließend ihre Reihenfolge zum Vergleich. Verfolge die Einstiegspunkte für die Registrierung von public_callback und clientside_callback; fertig ist die Aufgabe, wenn beide Callbacks registriert werden und die App unabhängig von der Definitionsreihenfolge ohne Absturz läuft.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Example app below. If the clientside callback is defined before the public callback the app crashes. If the order is reversed the app works as expected.

from dash import Dash, Input, Output, clientside_callback, dcc, html

from dash_auth import public_callback

app = Dash()
app.layout = html.Div(
    [
        dcc.Location(id="url"),
        html.Div(id="clientside-callback-output"),
        html.Div(id="public-callback-output"),
    ]
)


clientside_callback(
    "function (pathname) {return `Hello ${pathname} from clientside callback!`;}",
    Output("clientside-callback-output", "children"),
    Input("url", "pathname"),
)


@public_callback(
    Output("public-callback-output", "children"),
    Input("url", "pathname"),
)
def public(pathname: str) -> str:
    return f"Hello {pathname} from public callback!"


if __name__ == "__main__":
    app.run(debug=True)
Vorherrschende Sprache
Python
Sterne
133
Forks
67
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus plotly/dash-auth

Alle Issues in plotly/dash-auth

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.