Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

arch: IIncidentSession/IUiDispatcher/ITrustStore live in LageBuch.Sync; collapse the 5-file-per-operation session ceremony

Open
#298 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
backend

Research direction

Start with the architecture review and inspect src/LageBuch.Sync/IIncidentSession.cs, LocalIncidentSession, RemoteIncidentSession, SyncCommand, and CommandApplier; the issue names no file paths for the latter four. Trace how view-models and the host apply commands, then assess the proposed interface move and session consolidation. Done means the session abstractions are owned by AppLogic or a contracts project and the local/remote operation surface is consolidated as described.

Written by the indexing model from the issue text.

Description

enhancement

From the 2026-09-09 architecture review of main (35d86e1). Related: the "Local/Remote session lockstep" item still open in #167.

IIncidentSession (src/LageBuch.Sync/IIncidentSession.cs:22), the application layer's primary port that every view-model drives, lives in LageBuch.Sync together with IUiDispatcher and ITrustStore. AppLogic therefore depends on the sync assembly for its core abstraction, and LocalIncidentSession (in AppLogic) implements an interface owned by Sync.

Adding one domain operation today touches five files: the interface, the LocalIncidentSession forwarder, the RemoteIncidentSession forwarder, a SyncCommand record and a CommandApplier case.

Proposal

  1. Move IIncidentSession, IUiDispatcher and ITrustStore to AppLogic (or a LageBuch.Contracts project); Sync implements them.
  2. Collapse the session surface: let LocalIncidentSession apply SyncCommands through CommandApplier exactly as the host does, so the interface becomes Apply(SyncCommand) plus the three file operations and the lifecycle members. View-models then construct commands, and the local/remote split is one method instead of ~40.
Dominant language
C#
Stars
1
Forks
3
Avg merge
4h 34m
Merged PRs (30d)
182

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CodeForFire/lagebuch

All issues in CodeForFire/lagebuch

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.