Skip to content

Move the browser-login button to the wizard's first page - #280

Merged
xroche merged 4 commits into
masterfrom
browser-login-main-page
Nov 3, 2026
Merged

xroche merged 4 commits into
masterfrom
browser-login-main-page

Conversation

@xroche

@xroche xroche commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

The browser-login button was hidden inside the Add URL dialog. It now has its own row under the address box on the first page.

The address the browser ends on now replaces the one the login started from. That is the address under the caret, or else the first one. Add URL appended it instead, so the typed address stayed as a second start URL. The screenshots and the docs still show the old place, so the next release needs both redone.

The screenshot walk now finds the Accept headers box without its English title, so a translated walk no longer times out there.

The button sat inside the Add URL dialog, where people did not find it.
It now has its own row under the address box.

The login starts from the address under the caret, or else the first
address in the box, and the landed address replaces that one. Before,
Add URL appended the landed address, so the typed one stayed as a
second root. With no address in the box, the landed one is appended.

The pick is a pure helper, browserLoginPickAddress(), covered by nine
new selftest cases (71 -> 80, pinned in all four places). The screenshot
walk now checks the button on the URL pane and its absence from Add URL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Xavier Roche <roche@httrack.com>
@xroche
xroche marked this pull request as draft November 3, 2026 19:53
xroche and others added 3 commits November 3, 2026 21:01
Review of #280 found two defects:

- The address picker split only on space, tab, CR and LF, while the
  engine's hts_scan_token() also splits on form feed and vertical tab.
  With "a.test\vb.test" the browser opened a.test and the splice then
  deleted b.test. The picker now walks hts_scan_token() itself.
- The login window disabled only the wizard page, so Next, Finish and
  the menu stayed live while it was open. It now owns the top-level
  window, as the modal Add URL dialog did.

The splice moves into browserLoginSplice(), so its "own line" rule has
one owner and selftest rows. New rows also pin a caret at a word's
start, a caret between two blanks, and each trailing blank byte; every
one kills a mutant that survived the old table (80 -> 91 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Xavier Roche <roche@httrack.com>
hts_scan_token() copies a token's raw bytes, so the word ends at its
start plus strlen(token). The local copy of HTS_REALSPACES and the trim
loop changed no outcome, so they go.

A splice that dropped everything after the replaced address passed
every row, because each row replaced the last word. The new row
replaces the first one (91 -> 92 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Xavier Roche <roche@httrack.com>
The walk waited for a window titled "Accept headers", so every walk in
another language timed out there. It now looks for the new top-level
window holding IDC_accept_default, as insert_url_box() already does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Xavier Roche <roche@httrack.com>
@xroche
xroche marked this pull request as ready for review November 3, 2026 20:33
@xroche
xroche enabled auto-merge (squash) November 3, 2026 20:33
@xroche
xroche merged commit 79cc970 into master Nov 3, 2026
18 checks passed
@xroche
xroche deleted the browser-login-main-page branch November 3, 2026 20:44
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