Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 6 additions & 1 deletion .github/chatmodes/fixer.chatmode.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: 'Fix and verify issues in app'
model: GPT-5 (Preview)
tools: ['extensions', 'codebase', 'usages', 'vscodeAPI', 'problems', 'changes', 'testFailure', 'fetch', 'findTestFiles', 'searchResults', 'githubRepo', 'runTests', 'runCommands', 'runTasks', 'editFiles', 'runNotebooks', 'search', 'new', 'get_issue', 'get_issue_comments', 'get-library-docs', 'playwright', 'pylance mcp server']
tools: ['extensions', 'codebase', 'usages', 'vscodeAPI', 'problems', 'changes', 'testFailure', 'fetch', 'findTestFiles', 'searchResults', 'githubRepo', 'runTests', 'runCommands', 'runTasks', 'editFiles', 'runNotebooks', 'search', 'new', 'create_pull_request', 'get_issue', 'get_issue_comments', 'get-library-docs', 'playwright', 'pylance mcp server']
---

# Fixer Mode Instructions
Expand All @@ -25,3 +25,8 @@ You MUST check task output readiness before debugging, testing, or declaring wor
- Backend: Quart was started with --reload; Python changes trigger an automatic restart.
- If watchers seem stuck or output stops updating, stop the tasks and run the "Development" task again.
- To interact with a running application, use the Playwright MCP server

## Committing the change

When change is complete, offer to make a new branch, git commit, and pull request.
Make sure the PR follows the PULL_REQUEST_TEMPLATE.md format, with all sections filled out and appropriate checkboxes checked.
6 changes: 6 additions & 0 deletions app/frontend/src/pages/layout/Layout.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@
height: 100%;
}

.main {
display: flex;
flex: 1;
min-height: 0; /* allow inner scroll areas to work inside flex container */
}

.header {
background-color: #222222;
color: #f2f2f2;
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/pages/layout/Layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,9 @@ const Layout = () => {
</div>
</header>

<Outlet />
<main className={styles.main} id="main-content">
<Outlet />
</main>
</div>
);
};
Expand Down
1 change: 1 addition & 0 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ pytest-snapshot
pre-commit
pip-tools
mypy==1.14.1
axe-playwright-python
5 changes: 5 additions & 0 deletions tests/e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import pytest
import requests
import uvicorn
from axe_playwright_python.sync_playwright import Axe
from playwright.sync_api import Page, Route, expect

import app
Expand Down Expand Up @@ -110,6 +111,10 @@ def handle(route: Route):
expect(page.get_by_role("button", name="Clear chat")).to_be_disabled()
expect(page.get_by_role("button", name="Developer settings")).to_be_enabled()

# Check accessibility of page in initial state
results = Axe().run(page)
assert results.violations_count == 0, results.generate_report()

# Ask a question and wait for the message to appear
page.get_by_placeholder("Type a new question (e.g. does my plan cover annual eye exams?)").click()
page.get_by_placeholder("Type a new question (e.g. does my plan cover annual eye exams?)").fill(
Expand Down
Loading