Summary
QfcItemController.AssignFolderComboBox reads _globals.Ol?.ArchiveRootPath at
QuickFiler/Controllers/QfcItemController.FolderHandling.cs:233 with no try, and the method is
reached from the UI dispatcher. The null-conditional operator guards a null Ol; it does not guard
an ArchiveRootPath getter that throws when no archive root is configured. Guarding
FolderPredictor alone therefore does not prevent the failure at this call site.
Environment
- OS/version: Windows 11 Pro 10.0.26200, .NET Framework 4.8 VSTO add-in hosted by Outlook
- Python version: not applicable; this is C# in
QuickFiler
- Command/flags used: not a command-line defect; reached through the QuickFiler item pane
- Data source or fixture: a profile whose Archive Root is unset, which is the state reported in
issue 797 (Archive Root -> Outlook and File System both showing "Please select an archive")
Steps to Reproduce
- Open a profile whose Archive Root has never been set, so
ArchiveRootPath has no configured value.
- Open QuickFiler on a mail item so the folder combo box is populated.
- Observe the folder-handling path reach
AssignFolderComboBox with _folderHandler.FolderArray
non-empty.
Expected Behavior
An unset archive root degrades the suggestion display - the predetermined folder is simply not
preselected - and QuickFiler continues to operate.
Actual Behavior
The read at QuickFiler/Controllers/QfcItemController.FolderHandling.cs:233 propagates the getter's
exception out of AssignFolderComboBox. Because line 188 of the same file invokes the method through
_itemViewer.UiDispatcher.InvokeAsync(AssignFolderComboBox), the exception surfaces on the UI
dispatcher rather than at a handled boundary.
AssignFolderComboBox begins at line 191 and contains no try block; the read sits six lines after
_itemViewer.SetFolderSuggestions(_folderHandler.FolderRowArray) consumes FolderRowArray.
Logs / Screenshots
Impact / Severity
Medium: it is a user-visible failure on a supported configuration (archive root unset), and it is
the reason issue 812's AC1 outcome can be verified at unit level but not end to end in QuickFiler.
Source
From: docs/features/potential/2026-09-08-assignfoldercombobox-unguarded-archiverootpath-read.md
Summary
QfcItemController.AssignFolderComboBoxreads_globals.Ol?.ArchiveRootPathatQuickFiler/Controllers/QfcItemController.FolderHandling.cs:233with notry, and the method isreached from the UI dispatcher. The null-conditional operator guards a null
Ol; it does not guardan
ArchiveRootPathgetter that throws when no archive root is configured. GuardingFolderPredictoralone therefore does not prevent the failure at this call site.Environment
QuickFilerissue 797 (
Archive Root->OutlookandFile Systemboth showing "Please select an archive")Steps to Reproduce
ArchiveRootPathhas no configured value.AssignFolderComboBoxwith_folderHandler.FolderArraynon-empty.
Expected Behavior
An unset archive root degrades the suggestion display - the predetermined folder is simply not
preselected - and QuickFiler continues to operate.
Actual Behavior
The read at
QuickFiler/Controllers/QfcItemController.FolderHandling.cs:233propagates the getter'sexception out of
AssignFolderComboBox. Because line 188 of the same file invokes the method through_itemViewer.UiDispatcher.InvokeAsync(AssignFolderComboBox), the exception surfaces on the UIdispatcher rather than at a handled boundary.
AssignFolderComboBoxbegins at line 191 and contains notryblock; the read sits six lines after_itemViewer.SetFolderSuggestions(_folderHandler.FolderRowArray)consumesFolderRowArray.Logs / Screenshots
trace. A runtime trace should be captured as part of the fix.
Impact / Severity
Medium: it is a user-visible failure on a supported configuration (archive root unset), and it is
the reason issue 812's AC1 outcome can be verified at unit level but not end to end in QuickFiler.
Source
From: docs/features/potential/2026-09-08-assignfoldercombobox-unguarded-archiverootpath-read.md