Skip to content

Bug: efc-item-controller-dead-conversation-expanded-handler #461

Description

@drmoisan
  • Work Mode: full-bug

Summary

EfcItemController.ConversationResolverPropertyChanged filters on a property name that
ConversationResolver never raises, so the handler body is dead. Background-loaded conversation rows
never reach the topic thread through this path.

Environment

  • OS/version: Windows 11 Pro 10.0.26200
  • Runtime: .NET Framework 4.8.1 WinForms VSTO add-in
  • UI path: QuickFiler/Controllers/EfcItemController.cs conversation-loading notification path
  • Data source or fixture: a mail item whose conversation is resolved asynchronously

Steps to Reproduce

  1. Open the Email Filer on a mail item that participates in a conversation.
  2. Allow the ConversationResolver to complete its background load, which raises
    PropertyChanged notifications.
  3. Observe that the EfcItemController handler body never executes.

Expected Behavior

When the conversation resolver signals that its conversation information has changed, the item
controller reacts and the background-loaded conversation rows reach the topic thread.

Actual Behavior

EfcItemController.cs:746 guards on:

e.PropertyName == nameof(_dataModel.ConversationResolver.ConversationInfo.Expanded)

nameof(...) resolves at compile time to the literal "Expanded". ConversationResolver only ever
raises:

  • "ConversationInfo" - ConversationResolver.Loading.cs:26
  • "ConversationItems" - ConversationResolver.Loading.cs:167
  • "Df" - ConversationResolver.Loading.cs:205, :227
  • "UpdateUI" - ConversationResolver.cs:277

It never raises "Expanded". The subscription at :667 fires, but the body at :749-753 never
executes.

Logs / Screenshots

  • Attached minimal logs or screenshot
  • Code-read evidence recorded above (verified 2026-08-07 against the working tree).

Impact / Severity

  • Blocker
  • High
  • Medium
  • Low

A documented notification path is silently inert. The failure mode is missing behavior rather than an
exception, which is why it has not been noticed.

Source

From: docs/features/potential/2026-08-07-efc-item-controller-dead-conversation-expanded-handler.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions