Skip to content

[3340 by GPT-6.1 Sol] Task header run line is tight against the right edge at 380px - #3348

Merged
integry merged 1 commit into
mainfrom
3340/gpt-6.1-sol-task-header-run-line-is-t-20261024-2038-3k7
Oct 24, 2026
Merged

integry merged 1 commit into
mainfrom
3340/gpt-6.1-sol-task-header-run-line-is-t-20261024-2038-3k7

Conversation

@propr-dev

@propr-dev propr-dev Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

AI Implementation Summary

Closes #3340

Branch: 3340/gpt-6.1-sol-task-header-run-line-is-t-20261024-2038-3k7
Commits: ✅ Changes committed (77a684a)


AI Processing Completed

Execution Details:

Summary:
Implemented responsive runtime wrapping and constrained long model chips to preserve the mobile header gutter.

Verified at 360, 380, and 390px. All 12 browser checks and 35 targeted unit tests passed; lint passed. Captured a focused 380px preview.

Detailed Logs:

  • Conversation: 74 messages
  • Session: 01a16fab-6c38-7b80-89cd-ca6288d3b267

Log files stored at:

  • conversation: /usr/src/app/logs/executions/issue-3340-2026-10-24T20-52-19-409Z-conversation.json
  • output: /usr/src/app/logs/executions/issue-3340-2026-10-24T20-52-19-409Z-output.txt
Latest Conversation Messages

This PR was created automatically by ProPR after processing issue #3340.


💡 Need changes?

Comment on this PR to request refinements — the AI agent monitors comments and will update the implementation based on your feedback. Keep iterating until you're satisfied!


Visual preview

Task header at 380px

Task header at 380px

Completed task with a long model name: runtime wraps below the model chip and the More button retains the page gutter.

Original unavailable: managed storage is unavailable or the upload has expired.

…the right ed

Implemented by ProPR AI using gpt-6.1-sol model.

Implementation completed successfully.
@integry

integry commented Oct 24, 2026

Copy link
Copy Markdown
Owner

/ultrafix

@propr-dev propr-dev Bot added the ultrafix label Oct 24, 2026
@propr-dev

propr-dev Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor Author

🔄 Ultrafix loop started (goal: 8/10, max cycles: 10)

First action: /review

💡 Tip: Remove the ultrafix label from this PR to stop further ultrafix cycles.

@propr-dev

propr-dev Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ AI Code Review Complete requested by @integry

Posted 1 review:

View Task Details

@propr-dev

propr-dev Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor Author

🔍 AI Code Review — claude:claude-opus-5-5

Overall Evaluation

This PR fixes the cramped runtime line in the mobile task header (issue #3340). It makes two changes:

  • Runtime group can wrap. In MobilePeopleRuntime, the "Execution runtime" group now uses flex-wrap justify-end.
  • Compact chip keeps its width. The compact ModelChip gets max-w-full shrink-0. It holds its natural width up to the row width, and the duration wraps underneath instead of squeezing the chip. Only the chip's inner truncate span shortens a name that is wider than the whole row.

A new Playwright spec checks this at 360, 380 and 390px, with a short and a very long model name.

The change is small, tightly scoped, and follows the issue's first suggested fix ("wrap the runtime under the model chip"). It is ready to merge, with one verification caveat noted in S1.

✅ Targeted layout fix — The compact-only class branch (ContextStrip.tsx:139) changes only the mobile chip. The desktop TelemetryGroups usage keeps its existing classes.

✅ Wrap behaviour is coherent with the existing assignment layout — The group was already shrink-0 max-w-full, and short names still fit on one line, since the group's natural width is chip plus duration. So the existing 390px side-by-side assertion in task-details-assignment.pw.ts keeps holding. Only names wider than the row move the duration to a second line.

✅ Test checks the issue's acceptance criteria directly — task-header-runtime-mobile.pw.ts checks:

  • the chip, duration and ⋯ button each sit within the 12px gutter on both sides;
  • the duration drops below the chip for the long name;
  • the metadata block has no horizontal overflow;
  • the action sheet still opens.

Merge blockers

No merge blockers.

Suggestions

These are optional follow-ups and are not sent to /fix.

S1: 🟢 Negative-check the new spec on base

The ⋯ button lives in ActionBar, which renders in the Git row above the runtime line, not inside MobilePeopleRuntime, and the PR does not touch it. So the gutter assertion on more may already pass on the base code. It would be worth running the new spec against the base ContextStrip.tsx, using a git archive overlay, to confirm it fails there for at least one width/model combination. That proves it is a regression test rather than a passing snapshot. I could not run it here, and the current checks summary doesn't make clear whether this Playwright file ran in CI.

S2: 🟢 Cover long model name with an assignment present

The new spec uses a task with no assignment. With AssignmentControl present, the row's flex-wrap justify-between plus the now-shrink-0 chip should push the runtime group onto its own line. A 360px case with both an assignee and the long model name would lock in that interaction. Today it is covered only implicitly by the 320px stacking test in task-details-assignment.pw.ts.

S3: 🟢 Clarify the "keep their width" comment

The comment on line 34 of the spec says long names "keep their width". At 360px the humanized long name is likely wider than the row and still truncates through the inner truncate span. The full name stays available in the title tooltip. Rewording to something like "take the full row and move the runtime below" would avoid implying the full name is always visible.

Score

The fix is small, scoped, and consistent with the existing mobile layout tests, with targeted new e2e coverage and green current-head checks. The only gap is that I could not confirm the new spec fails on base (S1).

Score: 8/10


🤖 Review Details

  • Model: Claude Opus 5.5
  • Time: 31s
  • Tokens: 35,662 (32,960 in / 2,702 out)
  • Cost: $0.22

View Task


💡 Next step: Comment /fix to address every F# merge blocker, /fix all for every pending blocker and suggestion, or name records explicitly, as in /fix F3 S5.
F# and S# IDs increment across review comments and remain permanent, so selectors such as /fix F3 F5 stay unambiguous across cycles. S# suggestions stay optional: they are implemented only when you name them or request /fix all, and they never relax a merge blocker.

Copy and edit to choose records from this review:

/fix S1 S2 S3

🤖 Review by ProPR

@propr-dev propr-dev Bot removed the ultrafix label Oct 24, 2026
@integry
integry merged commit e893de6 into main Oct 24, 2026
60 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Task header run line is tight against the right edge at 380px

1 participant