Skip to content

test(plans): investigate Linux native pan matrix (do not merge) - #889

Closed
cristim wants to merge 1 commit into
feat/plan-draft-dragfrom
test/plan-native-pan-diagnostic-rebased
Closed

cristim wants to merge 1 commit into
feat/plan-draft-dragfrom
test/plan-native-pan-diagnostic-rebased

Conversation

@cristim

@cristim cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member

Investigation only. Do not merge this PR into the feature branch or main.

PR #884 still fails its Linux mobile pan checks at 390px and 320px: the rebased feature head passed 150 tests and failed those two checks with zero scroll movement. This stacked diagnostic preserves the frozen experiment without changing product code or weakening assertions.

The matrix compares a minimal scroll container with the dense production graph, using Chromium's synthesized scroll gesture and frame-separated direct touch commands. It requires matching viewport and container geometry, an SVG hit outside controls, positive immediate pan movement and unchanged product labels. Matrix evidence is attached before the soft assertions, so failed controls or movement remain CI failures. It records command sequences and pan/geometry/hit/browser results, not the native DOM event stream.

Only two files differ from the feature base: the frozen browser diagnostic and one literal pull-request branch filter needed to run E2E on this stacked PR. The 64 changed lines and both file hashes match the preserved original diagnostic exactly. Two independent source/staged review passes verified that identity and the assertion/workflow contract. Prior owner-executed Mac fixture evidence passed four viewports and transfers through identical frontend sources and build inputs; Linux evidence remains pending in this PR.

Base: feat/plan-draft-drag, not main. Related: #631, #884. This PR does not close either issue. Preserve the diagnostic branch and artifacts after investigation; any product fix requires separate review and renewed feature CI.

@cristim cristim added urgency/this-sprint Within the current sprint triaged Item has been triaged priority/p1 Next up; this sprint severity/high Significant harm impact/many Affects most users effort/xl Multi-week / refactor type/feat New capability labels Oct 15, 2026
@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: LeanerCloud/cloud-commitments-platform/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 2d27c761-d3ef-4013-933b-50697b5ac6f9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Exact-head review and provenance for 363d7b0934271acb0078ac3ccb993a0b0108c55f:

  • Parent/base is 50ab58ab651654e583b385853864ccf22af7bba7; committed tree ca141db9d4ab747d270315a07c1ec37184e7b7f5 equals the independently reviewed staged tree.
  • The complete 64-line binary patch is identical to the preserved original diagnostic (SHA256 0774b05afefc82f843641bcd92c6029da83e4426edac406c8fb6fabdb3ea02ea). The original dirty diagnostic worktree/index remains untouched.
  • Spec SHA256 7eff9c347d3ffe4ad19e725297337f784d31b816d90da5862279f659ca6b10c4; workflow SHA256 b1eecd94e37c61bff101f37fa9eed8c559ea3242bc2fd9c17a52ed364c5b4ef1. No product files changed.
  • Retained independent gpt-6.1-sol medium reviewer completed two clean source/staged passes and independently bound the committed SHA/tree afterward. It checked exact transplant identity, matching controls, strict pan/label assertions, attachment ordering and the single branch-filter addition. No actionable findings.
  • Ordinary commit hooks passed, including actionlint, zizmor, secret scanning and Trivy. Prior owner-executed Mac fixture/build evidence transfers through identical diagnostic/frontend/build inputs. This is prior Mac evidence, not a Linux success claim or independently rerun browser result.

Linux E2E run 38734128428 is active. Its API binds the pull-request event to head 363d7b09 and base 50ab58ab; checkout logs and matrix artifacts will be inspected when available. Native DOM event-stream capture is not provided by this diagnostic. Investigation only: never merge this PR, and keep #884 blocked by its actual Linux pan failure.

@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Actual Linux matrix from run 38734128428: 150 passed, two failed, preserving the failed pan assertions. Both the initial attempt and existing CI retry produced these same values:

Width Synthesized bare Synthesized product Direct touch bare Direct touch product
390px 0 → 0 0 → 0 0 → 239 0 → 239
320px 0 → 0 0 → 0 0 → 169 0 → 169

All four cases at each width hit an SVG outside controls with touch-action: auto; viewport height was 900 and scale was 1. Bare/product geometry matched exactly: at 390px, outer 334×372 and client 332×370; at 320px, outer 264×372 and client 262×370. Every case had scroll width 4896 and horizontal overflow auto. Browser: Linux HeadlessChrome 151.0.7922.34. The recorded failures are the two synthesized-path positive-pan checks per mobile test; no geometry or label assertion failed.

Checkout logs bind this run to merge commit 252fc4210dda3360e2ce9977b1d1f586439539af, merging diagnostic 363d7b09 into feature base 50ab58ab. The uploaded playwright-report-38734128428 artifact preserves matrix attachments, traces and screenshots. Extracted matrix attachment SHA256: 1f0f0023a0b847c6ff4a34505f94b652e7dfa7cdab0b435161220ec34d5d9a37.

Inference: this experiment isolates a failing synthesized-gesture path while direct touch moves both the bare and production containers. It does not establish a product CSS defect or capture native DOM event streams. Independent interpretation is pending before any feature-test repair. This draft PR remains investigation-only and must never merge; #884 remains blocked until an independently reviewed repair passes its renewed gates.

@cristim

cristim commented Oct 16, 2026

Copy link
Copy Markdown
Member Author

Draft check of 363d7b0: before this can leave draft:
Diagnostic-only PR, 64 lines, one concern, with a clear description. It can't leave draft: CI fails (390px and 320px pan checks see scrollLeft stay 0, the investigated defect) and the branch conflicts with its base. Test code compiles in context.

  • CI is failing on this commit.
  • The branch has merge conflicts with feat/plan-draft-drag.
  • bug frontend/tests-e2e/plan-schedule-preview.spec.ts:219: CI fails here at 390px and 320px: the poll for scrollLeft > beforeScroll times out at 0 after 5s, retried once with the same result. The matrix attachment shows which cases pan; read it and record the Linux result in the PR before leaving draft. Unless the failing check is the intended output, the test will stay red.
  • bug .github/workflows/frontend-e2e.yml:7: Mergeable state is CONFLICTING. Rebase onto the current feat/plan-draft-drag head, which also restarts the review gate and CI.
  • suggestion frontend/tests-e2e/plan-schedule-preview.spec.ts:190: The 50-line block is dense one-liners with nested loops over method and product. If this is only a throwaway diagnostic, that is fine, but it is unreadable if kept. Also, since the PR says do not merge, add a PR-level guard such as a hold label so it cannot merge by accident.

This comment is edited in place once the branch has been quiet for a couple of hours. The sweep never changes the PR state.

@cristim
cristim deleted the branch feat/plan-draft-drag October 16, 2026 13:28
@cristim cristim closed this Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/xl Multi-week / refactor impact/many Affects most users priority/p1 Next up; this sprint severity/high Significant harm triaged Item has been triaged type/feat New capability urgency/this-sprint Within the current sprint

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant