ThreadChatView's live update selector throws ArgumentException converting a value to ThreadViewModel for the Thread/1 chat view
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Read MeshWeaver.Blazor.Chat/ThreadChatView.razor.cs, starting with ConvertThreadViewModel at the stack frame around line 4793 and the code that builds the /data/… address from the area string. Compare the resolved node and runtime type with the expected ThreadViewModel, and check the pod logs for content type registration failures. Done means the live update handles the reported value without terminating the subscription and the Thread/1 chat view continues updating.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Observed
ThreadChatView (log category MeshWeaver.Blazor.Chat.ThreadChatView) logged Loading '/data/"thread"' in area 'Thread/1' together with System.ArgumentException: Cannot convert type ThreadViewModel. thrown from ThreadChatView.ConvertThreadViewModel(Object value, ThreadViewModel previous) (/repo/src/MeshWeaver.Blazor.Chat/ThreadChatView.razor.cs:4793), reached through System.Reactive.ObservableImpl.Select…OnNext — i.e. the failure is in the live update selector that converts each streamed value to a ThreadViewModel, not in the initial render.
Two details in the concrete instance the fingerprint masks:
- the data path the view addresses is
/data/"thread"— a quoted literal standing where a path segment should be — for areaThread/1; - the observability shape discriminator labelled every sample
[case-only-path-collision](the Plugins#2770 label, see Observability/IncidentIdentity §3a): the quoted atom"thread"and the area'sThreadsegments differ only by case — the same shape as therbuergi/Agent/voice≠'Voice'collision (MeshWeaver#4817).
Note also that the exception message names ThreadViewModel itself — the very type the method converts to.
Where and when
A single short burst on one pod of the memex-cloud portal this morning, all of it on the one thread area Thread/1 — consistent with one visit or a reload sequence for one thread, not a fleet-wide condition. Nothing I read ties it to a roll, restart or sync; that absence is an unestablished point, not a finding.
Impact
The failing operation is the thread chat view's live conversion of the thread's streamed state. An exception escaping a Reactive Select selector's OnNext ends that subscription sequence, so the likely user-visible effect is the chat view for that thread stopping updating while the page stays open — the same failure class described for control bindings in Doc/WhatsNew 2026-09-09. Whether the view rendered anything at all before stopping is not established; only this log site was read.
Not established
- The cause — see candidates below; the evidence does not fix it.
- The incoming value's actual runtime type at the throw site; the exception names only
ThreadViewModel. - Whether the quoted
"thread"segment is itself an addressing defect or a legitimate serialized path shape for this view. - Whether the failure recurs, and whether other thread areas are affected — only this thread area appears in the burst.
Candidate causes and the reading that separates them
- Case-only addressing mismatch. The view derives
/data/"thread"from areaThread/1; if the real node segment isThread, the address misses the thread the area names, and whatever content it reaches is not convertible to the expectedThreadViewModel. This is the same class as the MeshWeaver#4817 voice collision. Predicts: the portal resolves a different (or no) node at"thread"-case than atThread-case. Discriminating reading: the node the portal actually resolved at/data/"thread"for this request, or the code inThreadChatViewthat builds the data address from the area string. - Two
ThreadViewModelidentities. The message namingThreadViewModel— the target type — fits a value whose runtime type is namedThreadViewModelbut is not assignable to the expected one (a second copy of the type from a recompiled view pack or stale assembly; cf. Doc/Architecture/FrameworkIdentityChurn). Predicts: episodic occurrence right after a portal roll or view-pack recompile. Discriminating reading: the runtime assembly identity of the value logged at theConvertThreadViewModelthrow site, or whether the burst tracks a deployment event. - Degraded content delivery. The value arrives as untyped/degraded content — the known pattern of content types reading untyped until their NodeTypes recompile — so no conversion to
ThreadViewModelis possible. Predicts: neighbouring untyped-content messages on the same pod in the same window. Discriminating reading: the pod's log around the burst for content-type-registration failures, and whether theThreadViewModelNodeType had compiled there.
Where to look
MeshWeaver.Blazor.Chat/ThreadChatView.razor.cs — ConvertThreadViewModel (the stack frame names line 4793) and the code that builds the /data/… address from the area string. The incident's single shape row is the discriminated [case-only-path-collision] key shape\n7a6e7e28ba3895e1.
Nearest neighbours, not duplicates — other ThreadChatView failure modes with different frames and symptoms: MeshWeaver#5372 (composer load for anonymous visitors), MeshWeaver#5962 (thread node deleted mid-use), MeshWeaver#6081 (context resolution on a bound context node).
Evidence
| Fingerprint | eee19f799d5b744f |
| Category | MeshWeaver.Blazor.Chat.ThreadChatView |
| Severity | Error |
| Exception | System.ArgumentException |
| Top frame | MeshWeaver.Blazor.Chat.ThreadChatView.ConvertThreadViewModel(Object value, ThreadViewModel previous) |
| Namespace | memex-cloud |
| Pods | memex-portal-deployment-7b84db8bfd-4f7xc |
| Occurrences | 2 |
| First seen | 2026-10-19 08:26:46Z |
| Last seen | 2026-10-19 08:26:53Z |
| Routing | not determined — no configured route matches the category MeshWeaver.Blazor.Chat.ThreadChatView. This repository is the configured fallback, not a finding about who owns the fault; the category names the LOGGER, which may not be the subject. |
Recent log lines
2026-10-19 08:26:46Z memex-portal-deployment-7b84db8bfd-4f7xc fail: MeshWeaver.Blazor.Chat.ThreadChatView[0]
Loading '/data/"thread"' in area 'Thread/1' in Area Thread/1
System.ArgumentException: Cannot convert type ThreadViewModel.
at MeshWeaver.Blazor.Chat.ThreadChatView.ConvertThreadViewModel(Object value, ThreadViewModel previous) in /repo/src/MeshWeaver.Blazor.Chat/ThreadChatView.razor.cs:line 4793
at System.Reactive.Linq.ObservableImpl.Select`2.Selector._.OnNext(TSource value)
2026-10-19 08:26:53Z memex-portal-deployment-7b84db8bfd-4f7xc fail: MeshWeaver.Blazor.Chat.ThreadChatView[0]
Loading '/data/"thread"' in area 'Thread/1' in Area Thread/1
System.ArgumentException: Cannot convert type ThreadViewModel.
at MeshWeaver.Blazor.Chat.ThreadChatView.ConvertThreadViewModel(Object value, ThreadViewModel previous) in /repo/src/MeshWeaver.Blazor.Chat/ThreadChatView.razor.cs:line 4793
at System.Reactive.Linq.ObservableImpl.Select`2.Selector._.OnNext(TSource value)
Opened automatically from Admin/_LogIncident/eee19f799d5b744f. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 29e216a9a3464eb2: other fingerprints of this site fold in here as comments rather than opening tickets of their own.
- Lingua principale
- C#
- Stelle
- 12
- Fork
- 5
- Merge medio
- 5h 57m
- PR unite (30g)
- 967
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Systemorph/MeshWeaver
-
bug sev:H
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
Systemorph/MeshWeaver#7018 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:L
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Systemorph/MeshWeaver#7002 ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:L
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Systemorph/MeshWeaver#7003 ·
I maintainer di solito rispondono entro 1 giorno
-
Terminal NotFound NACK undeliverable to a portal hub whose pod-hub registration was already releasedApertabug sev:L
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Systemorph/MeshWeaver#7001 ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:H
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Systemorph/MeshWeaver#6989 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Systemorph/MeshWeaver
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
KnifeLemon/Filee#363 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
area-Native untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
dotnet/machinelearning#7837 ·
I maintainer di solito rispondono entro 2 giorni