FeedbackHandover watcher errors on a Feedback/Feedback node whose content is MarkdownContent — the content type does not match the NodeType's declared FeedbackContent

クローズ
#6,232 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
csharp
領域
backend

調査の方向性

Start in Feedback/Feedback/Source/FeedbackHandover and read the HandOverOnActivation subscription, especially the ContentAs<FeedbackContent> call after the NodeType guard. Then inspect the Feedback/Feedback NodeType declaration and the path that allowed the affected node to retain MarkdownContent. The issue leaves open which side should own the fix; done means mismatched content is handled appropriately and valid feedback still reaches triage or the shared Inbox.

索引モデルが issue の本文から書いたものです。

説明

bug sev:M

What is failing

The hand-over watcher compiled into the Feedback/Feedback NodeType assumes every node of that type carries FeedbackContent. The node rbuergi/Feedback/20260921-0930-iconcontrol-and-labelcontrol-withcolor-are-bound-by-no-view has NodeType Feedback/Feedback but its content is MarkdownContent (MeshWeaver.Markdown), so ContentAs<FeedbackContent> fails on every hub activation and the watcher logs it at Error level. A node in this state is silently skipped by the watcher — it can never be handed to triage nor relocated to the shared Inbox.

Probable cause

The affected node was originally created under an undeclared nodeType (Feedback) and later re-typed to Feedback/Feedback (the node's own body documents this correction), but its content was never converted — leaving the store holding a node whose content type does not match its NodeType's declared WithContentType<FeedbackContent>(). Two gaps share the blame: (1) create/re-type did not refuse or correct a content-type mismatch against the NodeType's declared content type, and (2) the watcher in HandOverOnActivation treats a non-convertible content as an Error-level event rather than a benign skip. Confidence: high on the mechanism (both the NodeType configuration and the watcher source were read directly in the mesh); medium on which side should own the fix.

Impact

Judged from the numbers this is low: one occurrence on one pod, one affected node, which is a historical bug-report note rather than a live submission — no data is lost and the hand-over pipeline keeps working for correctly-typed nodes. The latent risk is that any submission that lands in this state is silently dropped from the hand-over with only a log line.

Where to look

  • Feedback/Feedback/Source/FeedbackHandover — the HandOverOnActivation subscription: node.ContentAs<FeedbackContent>(hub.JsonSerializerOptions, logger) after the NodeType == "Feedback/Feedback" guard.
  • The NodeType declaration Feedback/Feedback (config.WithContentType<FeedbackContent>().HandOverOnActivation()), and whatever path allowed a node typed Feedback/Feedback to hold MarkdownContent.
  • The affected node itself, whose content $type is MarkdownContent.

Evidence
Fingerprint 8bb81a6bc18d8374
Category FeedbackHandover
Severity Error
Namespace memex
Pods memex-portal-deployment-8669548545-6499s
Occurrences 1
First seen 2026-10-07 07:06:46Z
Last seen 2026-10-07 07:06:46Z
Routing not determined — no configured route matches the category FeedbackHandover. 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-07 07:06:46Z memex-portal-deployment-8669548545-6499s fail: FeedbackHandover[0]
      As<FeedbackContent> for rbuergi/Feedback/20260921-0930-iconcontrol-and-labelcontrol-withcolor-are-bound-by-no-view: value is MeshWeaver.Markdown.MarkdownContent (MeshWeaver.Markdown), not convertible

Opened automatically from Admin/_LogIncident/8bb81a6bc18d8374. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site ab39bcb709b9b7f5: other fingerprints of this site fold in here as comments rather than opening tickets of their own.

主要言語
C#
スター
12
フォーク
5
平均マージ
5時間 10分
マージ済み PR(30日)
980

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Systemorph/MeshWeaver のほかの issue

Systemorph/MeshWeaver の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。