Issue when clientside callback is defined before public callback

Aberta
#161 0 comentários 0 reações 0 responsáveis Ver no GitHub

@Godisemo já está trabalhando nisso.

Desde 3/2/2025.

  • #162 de @Godisemo — aberto

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
authentication

Direção de pesquisa

Comece pelo app de exemplo fornecido e reproduza o crash definindo clientside_callback antes de public_callback; em seguida, inverta a ordem para comparação. Rastreie os pontos de entrada do registro de public_callback e clientside_callback; o trabalho estará concluído quando ambos os callbacks forem registrados e o app for executado sem crash, independentemente da ordem de definição.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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)
Linguagem predominante
Python
Estrelas
133
Forks
67
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de plotly/dash-auth

Todas as issues de plotly/dash-auth

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.