Merged
Conversation
- Remove custom SetDecorFitsSystemWindows/SetStatusBarColor from MainActivity (.NET 10 MAUI handles edge-to-edge natively via ContentPage defaults) - Remove redundant body padding-bottom from app.css (chat input area already handles bottom safe area via --nav-bar-height CSS variable) - Remove unnecessary Grid SafeAreaEdges wrapper from MainPage.xaml - Add SetFitsSystemWindows(false) on WebView for proper edge-to-edge rendering
5934d84 to
d890e6b
Compare
PureWeen
added a commit
that referenced
this pull request
Feb 19, 2026
- Fix #9 off-by-one: CurrentIteration==0 check unreachable (now ==1) - Fix #10 incomplete: set IsCancelled on OperationCanceledException - Fix ConsecutiveErrors: reset to 0 after successful iteration - Fix #11 stale comments: update hash references to string equality - Fix #12 incomplete: mark pruned ghost evaluators in _closedSessionIds Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen
added a commit
that referenced
this pull request
Feb 20, 2026
Concurrency fixes: - Swap _sessions before wiring event handler on reconnect (#2) - Block ALL events from orphaned handlers, not just terminal (#3) - Add lock(_imageQueueLock) to all image queue mutations (#4) including dequeue, reinsert, ClearQueue, rename, close, dispose - Clear IsResumed on error and watchdog paths (#5) - Add RunContinuationsAsynchronously to remaining TCS (#6) Architecture/contract fixes: - Add [JsonIgnore] to ShouldWarnOnStall, LastSimilarity (#7) - Fix ConsecutiveErrors increment-before-check ordering (#8) - Set IsCancelled on all non-success termination paths (#10) including stall, error-stall, max-iteration, OperationCanceled, empty-assignment error stall, and single-agent StopReflectionCycle - Add session dir deletion for ghost evaluator pruning (#12) - Add CompletedAt to StopReflectionCycle (#12 related) Already correct (no changes needed): - #9: CurrentIteration == 1 check was already fixed - #11: Comments already reference string-based stall detection Documentation: - Update stall detection from 'hash match' to 'string equality' - Update error handling to show ConsecutiveErrors (not ConsecutiveStalls) - Add IsCancelled invariant to exit conditions table - Add 5 new invariants: orphan gate, reconnect ordering, image queue locking, IsResumed clearing, TCS creation - Document empty-assignment retry behavior 817/817 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen
added a commit
that referenced
this pull request
Mar 15, 2026
…r feedback
Fixes 3 moderate issues from PR Review Squad consensus:
1. SessionSidebar crash.log uses CopilotService.BaseDir instead of
hardcoded UserProfile path (consistent with other file paths)
2. Replace File.ReadAllLines with ReadLastLines helper that streams
without loading entire file — fixes both crash.log (10 lines)
and event-diagnostics.log (500 lines tail) paths
3. Add user-visible system message when orchestrator queues a message
('📋 Orchestrator is busy...') so users know their message was received
Also updates skill documentation:
- multi-agent-orchestration SKILL.md: steering-orchestrator conflict bug,
premature session.idle truncation bug
- processing-state-safety SKILL.md: path #10 TurnStart re-arm
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen
added a commit
that referenced
this pull request
Mar 15, 2026
…r feedback
Fixes 3 moderate issues from PR Review Squad consensus:
1. SessionSidebar crash.log uses CopilotService.BaseDir instead of
hardcoded UserProfile path (consistent with other file paths)
2. Replace File.ReadAllLines with ReadLastLines helper that streams
without loading entire file — fixes both crash.log (10 lines)
and event-diagnostics.log (500 lines tail) paths
3. Add user-visible system message when orchestrator queues a message
('📋 Orchestrator is busy...') so users know their message was received
Also updates skill documentation:
- multi-agent-orchestration SKILL.md: steering-orchestrator conflict bug,
premature session.idle truncation bug
- processing-state-safety SKILL.md: path #10 TurnStart re-arm
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen
added a commit
that referenced
this pull request
Mar 15, 2026
…r feedback
Fixes 3 moderate issues from PR Review Squad consensus:
1. SessionSidebar crash.log uses CopilotService.BaseDir instead of
hardcoded UserProfile path (consistent with other file paths)
2. Replace File.ReadAllLines with ReadLastLines helper that streams
without loading entire file — fixes both crash.log (10 lines)
and event-diagnostics.log (500 lines tail) paths
3. Add user-visible system message when orchestrator queues a message
('📋 Orchestrator is busy...') so users know their message was received
Also updates skill documentation:
- multi-agent-orchestration SKILL.md: steering-orchestrator conflict bug,
premature session.idle truncation bug
- processing-state-safety SKILL.md: path #10 TurnStart re-arm
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen
added a commit
that referenced
this pull request
Mar 16, 2026
…r feedback
Fixes 3 moderate issues from PR Review Squad consensus:
1. SessionSidebar crash.log uses CopilotService.BaseDir instead of
hardcoded UserProfile path (consistent with other file paths)
2. Replace File.ReadAllLines with ReadLastLines helper that streams
without loading entire file — fixes both crash.log (10 lines)
and event-diagnostics.log (500 lines tail) paths
3. Add user-visible system message when orchestrator queues a message
('📋 Orchestrator is busy...') so users know their message was received
Also updates skill documentation:
- multi-agent-orchestration SKILL.md: steering-orchestrator conflict bug,
premature session.idle truncation bug
- processing-state-safety SKILL.md: path #10 TurnStart re-arm
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Apr 16, 2026
PureWeen
added a commit
that referenced
this pull request
Apr 17, 2026
…ion, case sensitivity Finding #13: PathsEqual now accepts nullable parameters and returns false for null/empty/whitespace inputs instead of throwing ArgumentNullException. This prevents crashes when existing.BareClonePath is null or empty (e.g., old/migrated state or failed clone). Finding #10: Split the else branch in AddRepositoryFromLocalAsync so a true hash collision (same localId, different path) generates a fresh GUID- based ID instead of silently creating a duplicate. DeterministicPathHash: Case-fold only on Windows/macOS (case-insensitive filesystems). Linux (case-sensitive) preserves original casing so two paths differing only in case produce distinct hashes. Added 4 tests for PathsEqual null/empty/whitespace handling. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen
added a commit
that referenced
this pull request
Apr 19, 2026
CRITICAL fixes: - #1 Test isolation: add [Collection("BaseDir")], restore dir in finally blocks, register in TestSetup.Initialize() - #2 Stale state: only set _analyzerSessionName AFTER CreateSessionAsync succeeds, clear on failure - #3 Prompt injection: remove autonomous PR-creation instructions, change to report-only mode ("Do NOT autonomously create branches or PRs") MODERATE fixes: - #4 Lifecycle: implement IAsyncDisposable, add StopAsync() that awaits _analysisLoop with 5s timeout, nulls _analyzerSessionName - #5 (Feature activation deferred to UI integration PR) - #6 Model slug: fix "claude-sonnet-4-5" → "claude-sonnet-4.5" - #7 Timeout: wrap SendPromptAsync in 10-minute linked CancellationToken - #8 Interval validation: clamp to Math.Max(1, value) in settings setter and in StartAsync - #9 TailFile: use Queue<string> ring buffer instead of List, cap file read to MaxLogFileSizeBytes (10 MB) OTHER fixes: - #10 Remove TestHelpers class, use private CreateService() method - Thread safety: use Interlocked for AnalysisCount and LastAnalysisAt - Torn reads: snapshot GetAllSessions() with .ToList() - 14 tests (up from 8): new tests for TailFile, interval clamping, DisposeAsync, RunSingleAnalysis null guard, report-only prompt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
SetDecorFitsSystemWindows/SetStatusBarColor/SetNavigationBarColorfromMainActivity— .NET 10 MAUI handles edge-to-edge natively viaContentPagedefaultspadding-bottomfromhtml, bodyinapp.css— the chat input area already handles bottom spacing via the--nav-bar-heightCSS variableGrid SafeAreaEdgeswrapper fromMainPage.xamlMainActivityto bareMauiAppCompatActivitywith no customOnCreate