Skip to content

UI fixes + headless layout-regression test suite for all section views#939

Open
Zazawowow wants to merge 5 commits into
mainfrom
ui-issues-and-data
Open

UI fixes + headless layout-regression test suite for all section views#939
Zazawowow wants to merge 5 commits into
mainfrom
ui-issues-and-data

Conversation

@Zazawowow

Copy link
Copy Markdown
Collaborator

Summary

  • Headless UI layout-regression suite (src/design/App.Test.Integration/LayoutRegression/): renders section views with real theme + Skia text metrics at breakpoint widths (360/390/767/768/1023/1280) and asserts no overlapping siblings, no children overflowing parent panels, and responsive subscriptions surviving detach/re-attach. 92 tests, ~11s, fully offline. Wired into CI.
  • Coverage: Home, FindProjects, ProjectDetail, InvestPage, Portfolio, Funds, Settings, CreateProject (all 6 wizard steps), EditProfile, Funders, ManageProject, InvestmentDetail, ProjectCard — all with worst-case data (long names, many stages, all badges visible).
  • UI bug fixes found by the new tests:
    • Settings: currency ComboBox row, Export/Show Logs buttons and Danger Zone subtitle overflowed their cards on phone widths — now wrap
    • FindProjects: search error text never wrapped (horizontal StackPanel gave it infinite width) — converted to Grid
    • InvestPage: long quick-amount labels could push buttons past their UniformGrid cell — MinWidth=0 + CharacterEllipsis
  • Other UI fixes (first commit): founder loading issues, Funders/ManageProject/ProjectDetail responsive fixes
  • Chore: removed accidentally committed .DS_Store files and session notes; gitignored

Test plan

  • dotnet test src/design/App.Test.Integration/App.Test.Integration.csproj --filter "FullyQualifiedName~LayoutRegression" — 92/92 passing (verified after rebase onto main)
  • Before the fixes, the new tests failed with 9 real overlap/overflow violations; all assertions that failed now pass
  • Desktop app builds and runs

Dorian added 4 commits July 19, 2026 19:04
- Settings: currency ComboBox row, Export/Show Logs button pair and the
  Danger Zone subtitle now wrap instead of escaping their cards on phones
- FindProjects: search error strip converted from horizontal StackPanel to
  Grid so TextWrapping actually engages on narrow widths
- InvestPage: quick-amount buttons get MinWidth=0 + CharacterEllipsis so
  long amounts can't push past their UniformGrid cell
- Add breakpoint-width layout audits for Home, FindProjects, ProjectDetail,
  InvestPage, Portfolio, Funds, Settings, CreateProject (all 6 wizard steps)
  and EditProfile with worst-case data (25 -> 92 tests, still ~11s, offline)
- Add generic detach/re-attach test asserting every responsive section view
  re-creates its LayoutModeService subscription (section-switch bug class)
- Harness: skip Popup (windowless overlay) and ScrollContentPresenter
  overflow (scrolling is the feature); audit ContentPresenter content
  instead of the wrapper to ignore UniformGrid 1-2px arrange rounding
// (docs/ai-docs/taproot-arm64-jit-bug.md) persisted key sets where every
// slot carries the same project identifier. Re-derive from the seed
// (OS-secured key store, no prompt) and persist the corrected set.
var distinctIds = keysResult.Value.Keys.Select(k => k.ProjectIdentifier).Distinct().Count();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not clear what's going on here needs further investigation

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.

2 participants