Skip to content

Sync fork - #3758

Closed
hsoliwal wants to merge 1060 commits into
eclipse-platform:masterfrom
hsoliwal:master
Closed

hsoliwal wants to merge 1060 commits into
eclipse-platform:masterfrom
hsoliwal:master

Conversation

@hsoliwal

Copy link
Copy Markdown

Sync fork

…dden (WM_CHANGEUISTATE UIS_SET to the shell, as the Tree differential does)
…ory waits, retries, clean old stamps only after success)
The interval checkpoint 63a6da9 carried the tests; this commit records
their gate and the coverage they reach on tt20261017p2 (hidden desktop):
- Test_org_eclipse_swt_widgets_Table_ViewportArms (5 tests, white-box by
  reflection, real NMLISTVIEW / NMLVODSTATECHANGE memory): selection tracks
  under every notification shape, nesting, foreign tokens and beyond 4096
  selected rows; facades that are not rows; paint facades at every depth;
  hasListeners with ZoomChanged and removed listeners; cleared/spare helpers,
  undrawn stages, empty text, appends while painting, restoreTop in place.
- Test_org_eclipse_swt_widgets_Table_ViewportBranches: GC-dependent checks
  moved out of view. Probe finding: painting re-holds the live facades of
  the rows in view (cache hint), so a released facade of a visible row stays
  reachable by design; a row out of view is collected (276/276 released
  facades cleared in the probe).
- 12/12 pass. TableViewport 495/495 lines, 454/497 branches; the 43 open arms
  are classified in COVERAGE.md.
- Gate scripts run the suites with --enable-preview (the arms test sets the
  thread keyboard state through java.lang.foreign).
A javac that dies in a memory storm (paging file too small) prints no
": error:" line, so "tests javac errors=0" passed while the test tree was
empty and every differential failed with ClassNotFoundException.

compile_tests.sh compiles the JUnit tests against a built jar and accepts
the result only when the log has no error or out-of-memory line, there is
one top-level class per source and every resource was copied; it retries
after a bounded memory wait. build_stamp.sh gates the snapshot on it.
verify_modes.sh stops on ClassNotFoundException instead of retrying.
…al's seeds 0..8 is the same on the official jar and lv17 (Shell.open's UIS_INITIALIZE each seed); the viewport sends none
…es; seed-10 race closed

Test_org_eclipse_swt_widgets_Tree_ViewportHandles holds TreeItems whose rows
left the resident window while the tree has no caret, then checks, grays and
clears them, and reads the check-box state image of every row on screen.
On tv20261017m (before the hardening in 07bd59c) rows on screen showed
checked or grayed boxes written through reused handles; on tv20261018a both
tests pass. The check+columns differential under JaCoCo (the slow paint that
showed 'root 208' checked) passes 3 of 3 on tv20261018a.
Design doc: the rule and the mediator's answer in the oracle table.
…WT.error probe artifacts, each exercised); 44/44 in viewport and original
…es, 87.2% branches

Test_org_eclipse_swt_widgets_Tree_ViewportEdges (22 tests, hidden desktop):
hidden headers, redraw off and invisible trees, known leaves, row-data
requests outside the client area, selectAll over cold rows, MeasureItem
scroll width, later-column off-window cells, insert marks on retired rows,
native expand messages and key collapse above the top, empty and zero-height
trees, caret keys around the window, WM_CHAR and a click, shrinking the
caret's siblings, clears of unfilled rows, listeners that dispose the item
or the tree, a three-level tree, emptiness with custom draw, caret rows
removed off screen, null selection entries.

Measured on jar tc20261017a (headless 78/78, UI 51/51, original mode 1/1):
TreeViewport line 99.2% (1172/1181) branch 87.2% (849/974); every other
Tree viewport class 100% lines, 100% branches except VirtualTreeTopology
99.5% (217/218). TOTAL line 99.6% (2102/2111), branch 91.9% (1424/1550).

COVERAGE_GAPS.tsv: the probe re-entrancy guard and the header-window check
are unreachable; the native key collapse row now carries the measured
events (Collapse then Expand, the row ends expanded; stock not run).
…n both jars; 2/2 pass on lv17 against a fresh official recording
…ry integration file

Master carries our viewport commits as ancestry only (PR #214 and the superset 'preserve ancestry' merges),
so a plain merge reverts or drops 184 integration files. This merge keeps integration's content for every
path it has, takes master's 4,643 new paths (76 from fleet PRs, 4,567 under .superset/conflicts/pr-209-*),
and 3-way merges the 5 files both sides changed against the fleet commit's own base
(VirtualTreeResidentPlan, VirtualTreeVisibleProjection, AllWidgetTests, Test_VirtualTreeResidentPlan clean;
Test_VirtualTreeWindow: both made the same long comparison fix, integration's side kept).
…ds off the console

- Test_ViewportScrollBarGeometry.edgesOfTheArithmetic: mulDiv with a negative
  divisor, a thumb that rounds to the whole track while the bar can still
  scroll (selectionAt answers the minimum), and a hit before the bar. These
  are the three branches of ViewportScrollBarGeometry (changed on this branch
  by the M3 rename of its Javadoc) the suite did not reach. 6 tests green.
- Test_org_eclipse_swt_internal_WidgetMode sends the mode records only to its
  capturing handler, so the suite no longer prints INFO lines. 6 tests green.
Gate on tt20261018p3 (hidden desktop, JaCoCo):
- suites + acceptance + lane + branch + white-box tests: 258 pass viewport,
  223 pass original (36 skipped as not active), 0 fail;
- differential variants 0-9: viewport matches the official recording on all
  88 seeds, exactly the 155 listed steps accepted; original recording equal to
  the official one line for line, 88/88 (two seeds rechecked after fork
  failures in the comparison loop: equal);
- Test_org_eclipse_swt_widgets_Table_ViewportArms: 4 more white-box tests
  (weak slots beyond and at the end of the rows, direction bits of every kind
  into facades, hydrate over two sub-columns of every lane, facade requests
  while painting, disposing and walking, holds of the oldest, pins by style
  and current item, hasListeners on empty tables, explicit width and autosize
  during an append burst, defensive guards with forced state); 17/17 pass with
  the branch tests.
- Open: one defensive arm (code == 0 after LVM_DELETEITEM, the stock check).
- COVERAGE.md, classes.tsv, changed-lines.tsv and the status table updated.
TreeDrawnPlane: render-modes' DrawnPlane base class taken. Tree differential: kept the Tree agent's custom-draw
probes and render-modes' rule that drawn modes report pixels without gating on them (applied to both the
presentation and custom-draw variants).
WidgetMode suite kept side by side as Test_org_eclipse_swt_internal_WidgetModeAllWidgets (fix later: dedupe);
Test_org_eclipse_swt_internal_laf_M3LookAndFeel taken from all-widgets (owner of the look and feel).
…into fork master 59eb59e

Brings 47 upstream commits (f87da9a..3af6685) into the fork.

Resolved locally with the safe method. 28 conflicts:
- 10 version files (8 fragment MANIFEST.MF, the bundle MANIFEST.MF, pom.xml):
  kept the fork's higher versions (3.137.0 / 3.138.0 > upstream 3.136.0) and the fork's laf/residency/swap exports.
- Cocoa Accessible.java (6 hunks): took upstream; the fork side was brace formatting only.
- CTabFolder.java (1): took upstream's spacing fix; the fork side was brace formatting only.
- DefaultContent.java, TableItem.java, TreeItem.java: kept the fork side, which already holds upstream's change.
- GTK Table.java / Tree.java: kept the fork's logical-virtual structure.
  Bound upstream's HiDPI surface attributes (addPixbufAttributes) inside the fork's !logicalVirtual guard.
  Added upstream's CELL_SURFACE clearing to the fork's column removal.
  Kept the fork's removal of structureChanged() and its virtualCallbackDepth guards.
  updateCellImageBinding() now returns early for usesVirtualNativeModel(), because logical-virtual columns bind no model attributes.
- StyledTextRenderer.java: kept the fork's file. Upstream 3ea419e (styles-only mode removal) stays out, as it was in fork PR #138/#141.
- AllCocoaTests.java: union of both suite classes.
- Test CTabFolder: took upstream's later revision of the overlap test.
- opengl examples: upstream 8376e00 deletes the project, but the fork edited 8 of its files (LWJGLExample GLU import fix, formatting).
  Kept all 29 files at the fork's content.
…Renderer

Upstream 6e0937b moved the renderer lookups to a CellRenderers helper class. The fork removed that class and keeps the equivalent instance methods getPixbufRenderer(long) in gtk Table and Tree, so upstream's new updateCellImageBinding() now calls the fork's method.
…licated in gtk Table.destroyItem

The fork's cherry-pick of a4bc054 and upstream's own a4bc054 both added the same cellImage block at different offsets, so the auto-merge kept both copies and javac reported "variable cellImage is already defined". One copy remains.
converge(swt): preserve native Table/List viewport bounds after overflowing edits
merge(upstream): sync eclipse-platform/eclipse.platform.swt master 3af6685 (47 commits)
Preserve SWT viewport integration round 10 checkpoint
…ving

Pin the existing Synexia recipe and scope owners at exact blob identities from #12544. Add independent full-range geometry oracle and Linux/Windows/macOS Java qualification; this is not native SWT acceptance. Production ViewportScrollBarGeometry remains unchanged until actual SDK generation and verification pass. Preserve dual target license and pending platform gates.
…61020-01

[Draft] Fix full-range scrollbar scaling and hit geometry through canonical recipe
…-receiver-20261020

fix(swt): receive exact full-range scrollbar geometry with 5.7M Java21 checks
Apply the one-file output of com.synexia.swt.CurrentOwnerRuntimeClosure20261021. Add the qualified SLF4J API dependency to the existing proof POM; preserve production geometry and original gates.

The actual emitted receiver passes seven original tests and 5,723,783 arithmetic checks per execution mode. Exact source and failure custody remain in the canonical recipe packet.
Recipe-first chronological integration; preserve both source histories without squash, rebase or force.
Recipe-first chronological integration; preserve both source histories without squash, rebase or force.
Materialized from canonical Synexia commit b9203747cb35e73a14f2c1fc549e78e3479eb6f3. Exact source seals and focused receiving-source regression/API checks passed. Preserve intrinsic viewport and CPU model ownership.
…0261021

Guard themed row text bounds after image forwarding
Preserve original SWT build behavior. Admit the opt-in source-pinned M3AST audit and receipts; merge commit retains original PR ancestry. No squash or rebase.
…eiver

Mirror current exact Synexia OpenRewrite engine and source/candidate data from #12953 with original EPL headers. Check generator at exact head before permitting any product source update; no production Java changed in this commit.

Synexia-Candidate-Commit: 61c5e93d38dda59373c7dcb4dab887c3f7ef2b30
SWT-Original-Blob: eb610ee
SWT-Expected-SHA256: 9678795cbf66d61d6ca3ba25ff69ee085f47a85badda6d12885cdef7db04b25d
The standalone original/corrected state machine passes 2,400,008 assertions across 100,000 traces and detects 99,913 legacy divergences. Keep exact source canonical SDK, emitted source receiver and native GTK4 gates separate; no production source change.
Retain the full PR ancestry in a normal merge commit. Preserve existing implementation and verify the resulting source separately.
@hsoliwal hsoliwal closed this Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant