peregrine/app
pyr0ball 0758b70306 feat(e2e): add smoke + interaction tests; fix two demo mode errors
- Add tests/e2e/test_smoke.py: page-load error check for all pages
- Add tests/e2e/test_interactions.py: click every interactable, diff
  errors, XFAIL expected demo failures, flag regressions as XPASS
- Fix conftest get_page_errors() to use text_content() instead of
  inner_text() so errors inside collapsed expanders are captured with
  their actual message text (inner_text respects CSS display:none)
- Fix tests/e2e/modes/demo.py base_url to include /peregrine path prefix
  (STREAMLIT_SERVER_BASE_URL_PATH=peregrine set in demo container)

App fixes surfaced by the harness:
- task_runner.py: add DEMO_MODE guard for discovery task — previously
  crashed with FileNotFoundError on search_profiles.yaml before any
  demo guard could fire; now returns friendly error immediately
- 6_Interview_Prep.py: stop auto-triggering LLM session on page load
  in demo mode; show "AI features disabled" info instead, preventing
  a silent st.error() inside the collapsed Practice Q&A expander

Both smoke and interaction tests now pass clean against demo mode.
2026-03-17 07:00:54 -07:00
..
.streamlit chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
components fix(linkedin): update selectors for 2025 public DOM; surface login-wall limitation in UI 2026-03-13 19:47:21 -07:00
pages feat(e2e): add smoke + interaction tests; fix two demo mode errors 2026-03-17 07:00:54 -07:00
wizard feat: BYOK unlocks LLM features regardless of tier 2026-03-02 11:34:36 -08:00
__init__.py fix: add app/__init__.py so wizard submodule is importable inside Docker 2026-02-25 21:41:09 -08:00
app.py feat(app): use reset_running_tasks() on startup to preserve queued tasks 2026-03-15 04:57:49 -07:00
cloud_session.py fix: bootstrap resume_keywords.yaml on first cloud session 2026-03-16 12:01:25 -07:00
feedback.py fix: save form data to non-widget state on Next, fix disabled timing, pass page title 2026-03-03 15:17:45 -08:00
Home.py fix: keyword suggestions visibility, wizard identity autofill, dynamic sync label 2026-03-16 21:47:37 -07:00
telemetry.py feat(cloud): Privacy & Telemetry tab in Settings + update_consent() 2026-03-09 22:14:22 -07:00