Skip to content

Feat/gui v1#24

Merged
valandi merged 77 commits into
mainfrom
feat/gui-v1
Jul 12, 2026
Merged

Feat/gui v1#24
valandi merged 77 commits into
mainfrom
feat/gui-v1

Conversation

@valandi

@valandi valandi commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

valandi and others added 30 commits May 13, 2026 16:24
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds the three React components (with TDD tests for SetupCard and
StatusPane), plus tsconfig noEmit so tsc no longer scatters .js
files alongside .tsx sources. Removes the stray .js files that
landed in Task 20.
valandi and others added 29 commits June 25, 2026 21:42
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…k-done header (final review)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts:
#	README.md
#	src/main/java/com/applitools/imagetester/ImageTester.java
The open drawer previously stacked under the setup card in a widened
left column, squeezing the status pane into an empty strip and making
the page very tall. Setup and status now keep their 50/50 row and the
drawer expands beneath both, with controls flowing into a responsive
grid (3 columns at xl, 2 at md); composite controls span the full row.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The status pane froze at "Running 0 / 0" for the whole run: the reducer
dropped every SSE event unless state was already "running", and the
server emitted test-started before the /api/run response resolved, so
the first lifecycle event always lost the race.

- RunController.start() now emits a run-started event (with runId)
  synchronously after resetting the replay buffer, and the reducer
  treats it as the authoritative idle -> running transition.
- connectSse() re-fetches /api/status on every (re)connect and
  recreates the stream after a fatal close, so the UI self-heals.
- Expose -rt (render threads) and -rf (file name filter) on the
  Execution tab, completing option parity with the CLI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jpackage's exe wrapper has no supportedOS manifest, so Windows PCA
shows "This program might not have installed correctly" after a
successful install. msiexec is exempt from that heuristic, so ship
the inner MSI directly. Also add --win-menu/--win-shortcut so the
installed app is actually discoverable, and set explicit per-OS
installer types (msi/dmg/deb).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
EyesUtilities 1.6.6 is not published to Central or JitPack; it only
existed in local ~/.m2, so any clean environment (CI included) failed
dependency resolution. Check the jar+pom into libs/ as a file-based
repository and un-ignore that path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…outs

test/optionsSchema.test.ts uses node:fs, node:path and process, but
@types/node was never a declared dependency — it resolved locally by
accident from a parent directory's node_modules, so tsc -b passed on
this machine and failed on CI's clean checkout.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
src/main/resources/web/index.html (body "placeholder") collided with
the Vite-built index.html: both copy into classes/web during
process-resources, and on CI runners the stub won, so installed apps
served a placeholder page. The stub was never needed — the frontend
build runs in every Maven invocation, and IndexHtmlServlet already
fails loudly if the resource is missing. Delete it so frontend/dist
is the only source of index.html, and set overwrite on the copy so
timestamp heuristics can never skip it. Also pin exec-maven-plugin
version in the installer-os-windows profile to fix a model warning.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…n macOS

Two field reports from the macOS demo build:

1. Every run failed with "Please provide an API key" despite a key in
   the GUI. RunConfigFactory builds the EyesFactory from -k/env-var —
   both absent in the installed app — so the factory kept a null key;
   executeRun patched Config but not the factory. Worked on dev
   machines only because APPLITOOLS_API_KEY is set there. Now the
   factory gets the secrets-store key too, with a regression test that
   fails on the old code.

2. "Choose file..." opened behind the browser. The native NSOpenPanel
   ignores the always-on-top anchor that works for the Swing folder
   chooser, so activate the app (Desktop.requestForeground) before
   showing the dialog.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…l exception

unzip wildcard patterns skip subdirectory entries on Windows Info-ZIP, so
OOXML scans silently passed locally; entries are now enumerated explicitly
and a missing unzip fails the guard instead of passing. Allowlist matching
strips CRs from Windows checkouts. bob@msn.com (public sample dataset,
test_sample_xlsx_Small.xlsx) is an exact-address exception.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-tp now takes an optional argument: bare -tp means auto-detect, so the GUI
exposes trim as a checkbox (WxH stays CLI-only). Options drawer tabs show
live counts of configured options, and a chip row lists every non-default
option with its value; clicking a chip jumps to its tab.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… off

The merge from main reverted release.yml: CLI jars were no longer published
with releases, macOS-Intel pointed at the retired macos-13 runner, fail-fast
cancelled sibling installers, and the installer step lost shell: bash
(Windows pwsh splits -Dowasp.skip=true).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@valandi
valandi merged commit a57fc4f into main Jul 12, 2026
7 checks passed
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