Модуль навигации elmish-browser переносит все сообщения в типе Parser, который представляет собой объединение либо Change (для изменения URL), либо UserMsg (для всего остального).
Это разбивает отражение как в withDebugger, так и в withConsoleTrace ... они не могут получить имя основного сообщения и, следовательно, отображают вместо него упакованное имя.
Обходной путь - вызватьtoNavigable после withDebugger в конвейере инициализации программы:
Program.mkProgram init update view
#if DEBUG
|> Program.withConsoleTrace
#endif
|> Program.withReactBatched "elmish-app"
#if DEBUG
|> Program.withDebugger
#endif
|> Program.toNavigable (parseHash route) urlUpdate
|> Program.run
Однако при этом сообщения «Изменить» больше не отправляются в отладчик.Это может быть проблемой, если ваша функция urlUpdate напрямую обновляет состояние модели.Для вашей функции urlUpdate может быть лучше вызвать новую команду с сообщением, которое будет обработано основной функцией обновления.
См. https://github.com/elmish/browser/issues/26