Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
caa78b7
Modernize settings and add AI provider gateway
codebdbd Jul 18, 2026
951aa49
Remove OpenRouter and GitHub Models providers; remove connection prio…
codebdbd Jul 19, 2026
c904a06
Remove quota scope feature
codebdbd Jul 19, 2026
c253b05
Fix AI provider issues and button styling
codebdbd Jul 19, 2026
cb746f5
Refactor form controls UI and centralize resources
codebdbd Jul 20, 2026
9d4c4e1
Move completed ExecPlans to docs/execplans/ archive
codebdbd Jul 20, 2026
a7057ea
Move RELEASE_READINESS_EXECPLAN to docs/execplans/ archive
codebdbd Jul 20, 2026
83edbf7
Add Text Processing utility: new window, viewmodel, service, and tests
codebdbd Jul 21, 2026
3e24b45
Simplify LoadModelsAsync collection initialization
codebdbd Jul 21, 2026
8c7c08c
Add setters for IsEditorEnabled, IsModeSwitcherEnabled, IsModelSelect…
codebdbd Jul 21, 2026
6909859
Prioritize preferred (основной) model from each connection in model list
codebdbd Jul 21, 2026
c30d45d
Complete TextProcessing utility implementation (fixes, UI updates, tests
codebdbd Jul 21, 2026
749c3a8
Fix TextProcessing utility: allow auto model processing and add statu…
codebdbd Jul 21, 2026
98b4697
Implement Text Processing AI utility
codebdbd Jul 23, 2026
80357de
Complete Text Processing AI utility implementation (fixes, UI updates…
codebdbd Jul 24, 2026
84029b6
TextProcessing: streaming, model routing, undo history, diff and prot…
codebdbd Jul 24, 2026
6ced957
feat(quicknote): централизация контрактов, типизация тегов, NonBacktr…
codebdbd Jul 28, 2026
5254446
Fix panel activation and harden text processing
codebdbd Jul 29, 2026
bcd240c
Keep panel size stable across edge changes
codebdbd Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
605 changes: 605 additions & 0 deletions AI_MODEL_ROUTING_EXECPLAN.md

Large diffs are not rendered by default.

36 changes: 36 additions & 0 deletions AiteBar.Tests/ActivationZoneHelperTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,40 @@ public void IsInActivationZone_RespectsCenteredPercentSpan()
Assert.False(ActivationZoneHelper.IsInActivationZone(
DockEdge.Top, 0, 0, 1000, 800, 20, 300, 0));
}

[Fact]
public void ActivationDwell_StationaryPointerActivatesAfterDelay()
{
var tracker = new ActivationDwellTracker();
DateTime start = DateTime.UtcNow;

Assert.False(tracker.Update(true, 500, 0, start, delayMs: 200));
Assert.False(tracker.Update(true, 502, 1, start.AddMilliseconds(199), delayMs: 200));
Assert.True(tracker.Update(true, 501, 0, start.AddMilliseconds(200), delayMs: 200));
}

[Fact]
public void ActivationDwell_MovementAlongBrowserTabsKeepsResettingDelay()
{
var tracker = new ActivationDwellTracker();
DateTime start = DateTime.UtcNow;

Assert.False(tracker.Update(true, 500, 0, start, delayMs: 150));
Assert.False(tracker.Update(true, 520, 0, start.AddMilliseconds(60), delayMs: 150));
Assert.False(tracker.Update(true, 540, 0, start.AddMilliseconds(120), delayMs: 150));
Assert.False(tracker.Update(true, 560, 0, start.AddMilliseconds(180), delayMs: 150));
Assert.False(tracker.Update(true, 580, 0, start.AddMilliseconds(240), delayMs: 150));
}

[Fact]
public void ActivationDwell_LeavingZoneClearsPreviousProgress()
{
var tracker = new ActivationDwellTracker();
DateTime start = DateTime.UtcNow;

Assert.False(tracker.Update(true, 500, 0, start, delayMs: 150));
Assert.False(tracker.Update(false, 500, 5, start.AddMilliseconds(100), delayMs: 150));
Assert.False(tracker.Update(true, 500, 0, start.AddMilliseconds(160), delayMs: 150));
Assert.True(tracker.Update(true, 500, 0, start.AddMilliseconds(310), delayMs: 150));
}
}
Loading
Loading