ThreadChatView's live update selector throws ArgumentException converting a value to ThreadViewModel for the Thread/1 chat view
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
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.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- C#
- Stars
- 12
- Forks
- 5
- Avg merge
- 5h 56m
- Merged PRs (30d)
- 971
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Systemorph/MeshWeaver
-
bug sev:H
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Systemorph/MeshWeaver#6989 · 2 comments ·
Maintainers usually reply within 1 day
-
area:hosting area:storage bug sev:H
Difficulty 5/5 Over a week Newbie friendliness 25/100
Systemorph/MeshWeaver#6983 · 3 comments ·
Maintainers usually reply within 1 day
-
bug sev:L
Difficulty 4/5 3-5 days Newbie friendliness 28/100
Systemorph/MeshWeaver#6930 · 6 comments ·
Maintainers usually reply within 1 day
-
bug cli-publish-failure feature:release-promotion sev:M
Difficulty 3/5 1-3 hours Newbie friendliness 12/100
Systemorph/MeshWeaver#6845 ·
Maintainers usually reply within 1 day
-
bug feature:bundle-bake sev:H
Difficulty 4/5 3-5 days Newbie friendliness 20/100
Systemorph/MeshWeaver#6825 · 2 comments ·
Maintainers usually reply within 1 day
All issues in Systemorph/MeshWeaver
Similar issues
-
[BUG] Still libmicrohttpd dependency is not removed properly from External-Dependency-Info.txt fileOpentype/bug
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
[辞書] かんそうりつ->乾燥率Open辞書
Difficulty 1/5 Under an hour Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
thomhurst/TUnit#7201 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
ArduPilot/MissionPlanner#3826 ·
Maintainers usually reply within 1 day
-
MongoDB integration tests fail on newer GitHub Actions runner kernelsPossibly taken @nmummau claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Eventuous/eventuous#626 · 2 comments ·
Maintainers usually reply within 7 days