Skip to content

chore/mixed branch excluded work clean#100

Merged
drmoisan merged 12 commits into
developmentfrom
chore/mixed-branch-excluded-work-clean
Mar 26, 2026
Merged

chore/mixed branch excluded work clean#100
drmoisan merged 12 commits into
developmentfrom
chore/mixed-branch-excluded-work-clean

Conversation

@drmoisan

Copy link
Copy Markdown
Owner
  • fix: align codex web workflow with linux setup
  • ci: run codex web setup test on branch updates
  • (fix(concurrent-observable)): relay wrapper as CollectionChanged sender
  • (fix(QfcItemController)): propagate OperationCanceledException from conversation load
  • (fix(EfcHomeController)): guard ExecuteMovesAsync against re-entrant cleanup and fix metrics predicate
  • (codex): convert feature review to codex skill and sub-agents
  • (chore): upgrade ribbon
  • bootstrap(ee92dd6): restore QfcHomeController.cs and missing-serializable-list.json
  • bootstrap(a8d24b2): restore TaskMaster.csproj
  • bootstrap(4634ac5): restore AppAutoFileObjects.cs
  • fix(whitespace): normalize RibbonExplorer.xml indentation

drmoisan added 12 commits March 26, 2026 16:36
- Update ConcurrentObservableBase to raise CollectionChanged with the wrapper instance for relayed view-model and base-collection events
- Add regression tests covering add, remove, and concrete wrapper casting scenarios for ConcurrentObservableCollection subscribers
- Include the new sender regression test file in the UtilitiesCS.Test project

Refs: #87
…onversation load

- Add catch (OperationCanceledException) { throw; } before the broad
  catch (System.Exception) so mid-load cancellation is not suppressed
- Extract ConversationResolver.LoadAsync into protected virtual
  DoLoadConversationResolverCoreAsync to enable seam-based testing
  without WinForms infrastructure
- Guard PopulateConversationAsync against null ConversationResolver
  after a silently-swallowed load failure; add token check after load
- Add QfcItemControllerTests with four regression tests covering
  cancellation propagation and null-guard paths
…cleanup and fix metrics predicate

- Add `_isExecuting` volatile flag to drop re-entrant calls before any field access,
  preventing NullReferenceException when Cleanup() nulls _globals mid-await
- Capture _globals into a local before MoveToFolderAsync as defense-in-depth against
  concurrent Cleanup() racing the post-await continuation
- Fix inverted predicate in QuickFileMetrics_WRITE: `Count == 0` → `Count > 0` to
  write metrics for non-empty move results instead of empty ones
- Add EfcHomeControllerTests with three regression tests covering the re-entrancy guard
  and both empty-list and null-list paths through QuickFileMetrics_WRITE
@drmoisan
drmoisan merged commit 41059fa into development Mar 26, 2026
2 of 3 checks passed
@drmoisan
drmoisan deleted the chore/mixed-branch-excluded-work-clean branch March 26, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant