Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

main 7fb5500d: failing UI tests after 2026-10-10 merges

Open
#456 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
15/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
bash, css, python, typescript

Research direction

The two failing probes are test_07b_the_current_place_bar_shows_and_touch_targets_reach_44px in app/tests/ui/test_project_surface.py (line 392) and test_13_the_conversation_keeps_its_draft_reading_place_and_thread in app/tests/ui/test_adaptive_matrix.py (line 595). The first conflicts with the .side__list.has-glide rules in app/apps/web/src/app/app.css, and the second with openOnWholeMessages in app/apps/web/src/app/messageParts.tsx. Done means both tests pass on main with the UI suite run through scripts/check_ui.sh, but the issue leaves the choice between changing the CSS or the probe to the F-026 §4 decision.

Written by the indexing model from the issue text.

Description

Full UI suite on origin/main 7fb5500d215b7d9835fe2d0cc7a55bc0c4f0b35a (./scripts/check_ui.sh with no module arguments, detached worktree, ports 19110/19111 through dockerslot.sh).

Full run:

Ran 511 tests in 2026.892s
FAILED (failures=2, skipped=5, expected failures=3)
EXIT=1

Both failures reproduced in module-only reruns on the same ports: test_adaptive_matrix gave Ran 11 tests / FAILED (failures=1) and test_project_surface gave Ran 19 tests / FAILED (failures=1). No flakes were seen.

Real failures

1. test_project_surface: test_07b_the_current_place_bar_shows_and_touch_targets_reach_44px (2 of 2 runs)

Assertion: AssertionError: False is not true : the current project is a raised pill (F-026 §4), at app/tests/ui/test_project_surface.py:392. The probe reads getComputedStyle(row).boxShadow on .side__project.is-open and gets none.

Suspected cause (from code reading; not confirmed in a browser):

  • app/apps/web/src/app/app.css:107: .side__list.has-glide .side__project.is-open { background: transparent; box-shadow: none; }. Its specificity (0,4,0) beats the raised rule at app.css:115 (.side__project.is-open { background: var(--el); box-shadow: var(--sh-raise) }, specificity 0,2,0).
  • app/apps/web/src/ui/motion.ts:171 adds has-glide to the project list whenever a current project is placed. In steady state the row is therefore not raised, and the raised look is drawn by .side__glide (app.css:105, which has var(--el) and var(--sh-raise)).
  • Introduced by 17b31fff (#357, 2026-10-08, "Computer sidebar and rail with truthful assistant Stop (#340, part 1)"). That commit added the box-shadow: none override, the raised-pill rule and this probe together. The has-glide mechanism itself dates from 698313b3 (#170, 2026-10-05).
  • This looks like a mismatch between the probe (the row's own box-shadow) and the implementation (the glide draws the pill). Whether the CSS or the probe is wrong is for the agents to decide under F-026 §4. The second half of the test (44 px phone targets) is not reached.

Open PRs that may address it: none found. Searched for "raised pill", "glide", "side__project" and "test_07b". PR #372 (#340 header focus) edits app.css and the motion tests but not these rules.

2. test_adaptive_matrix: test_13_the_conversation_keeps_its_draft_reading_place_and_thread (2 of 2 runs)

Assertion: AssertionError: 'message-<id>' != 'message-<target>', at app/tests/ui/test_adaptive_matrix.py:595. After scrollIntoView({block: 'start'}) on the target message (line 592), the first item in view is the message before it.

Suspected cause:

  • openOnWholeMessages (app/apps/web/src/app/messageParts.tsx:31, from fdb70955 / #195, 2026-10-05) pins the feed to its end on every ResizeObserver tick until real reader input (wheel, touchmove, keys, pointer). A script scroll is not reader input.
  • The test (added in 37faaa28 / #265, 2026-10-06) scrolls about 300 ms after opening, inside that settle window, so the pin wins.
  • Stream changes after #195 that alter layout during load (0f68aa96 / #264 and #299 instant sending, 94e708cd / #339 and #356, 722d641f / #338) may keep the settle active longer. I did not bisect this.
  • The record in PR #454 shows test_13 already failing on e06248c5 (main, 2026-10-10), so this predates 7fb5500d.

Open PR that may address it: #454 (claude-maurycy/151-adaptive-rest, open, REVIEW_REQUIRED, BEHIND). Its diff changes only app/tests/ui/test_adaptive_matrix.py (it hovers the stream before the scroll) and records test_13 passing after that change. Not verified on this head. It belongs to #151.

Flakes

None observed. Both failures reproduced identically in the module reruns.

Scope

This issue records the failures only. It changes no code.

Dominant language
TypeScript
Stars
3
Forks
0
Avg merge
15h 9m
Merged PRs (30d)
244

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ColdPhase/flux

All issues in ColdPhase/flux

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.