Sign-in: the Provider screen's Use button comes back up when the fields above it fold #90

Closed
ryoitsu69 wants to merge 0 commits from ryoitsu69/anotherim-js:fix/provider-use-button into develop
Contributor

On the Provider screen in the Linux app, Advanced settings or a route with fields under Connect push "Use this provider" down, and it stays there after the fields go away: when Advanced settings fold, or Connect goes back to Directly.

Cause

.provider has min-height: 100%. The percentage is of the grid row the form sits in, and that row is only as tall as the screen's content, so the form is no taller for it. WebKit, though, takes the height the row has already grown to, so the form cannot shrink again and .grow above the button fills the difference. That reading is inferred from the measurements below, not taken from WebKit's source.

Use's top on the mock, px Start Open Folded
WebKitGTK 2.54.2, with the rule 307 392 392
WebKitGTK 2.54.2, without 307 392 307
Chromium 152, with or without 307 392 307

WebKit was measured in windows of 380x760 and 1100x800, Chromium in 380x760, 408x447 and 1100x800.

Fix

The rule goes. .grow stays for its 8 px, so the button does not move in any other state.

Testing

  • A new smoke scene, signin provider folded, opens and folds Advanced settings and compares the button's position. A browser tab has no route chooser, so the scene takes this path. It fails with the rule in the web image's WebKit and passes without it. The unit tests have no layout, so they cannot see this.
  • On this tree, make test-ui check test-shell webkit-smoke: 5211 passed, 8 skipped, check clean, 455 shell tests passed, smoke 9892 checks, 0 failed.
  • In an AppImage of this change, Use comes back after Connect returns to Directly and after Advanced settings fold, on the first-run screen and in Settings, Add account.
  • In a debug apk of this commit on an Android phone, the button behaves as it did before this change.

Not run: macOS, which is WebKit too and may have had this; Windows, whose web view is Chromium's, so only the Chromium measurement above speaks for it.

🤖 Generated with Claude Code

On the Provider screen in the Linux app, Advanced settings or a route with fields under Connect push "Use this provider" down, and it stays there after the fields go away: when Advanced settings fold, or Connect goes back to Directly. ## Cause `.provider` has `min-height: 100%`. The percentage is of the grid row the form sits in, and that row is only as tall as the screen's content, so the form is no taller for it. WebKit, though, takes the height the row has already grown to, so the form cannot shrink again and `.grow` above the button fills the difference. That reading is inferred from the measurements below, not taken from WebKit's source. | Use's top on the mock, px | Start | Open | Folded | |---|---|---|---| | WebKitGTK 2.54.2, with the rule | 307 | 392 | 392 | | WebKitGTK 2.54.2, without | 307 | 392 | 307 | | Chromium 152, with or without | 307 | 392 | 307 | WebKit was measured in windows of 380x760 and 1100x800, Chromium in 380x760, 408x447 and 1100x800. ## Fix The rule goes. `.grow` stays for its 8 px, so the button does not move in any other state. ## Testing - A new smoke scene, `signin provider folded`, opens and folds Advanced settings and compares the button's position. A browser tab has no route chooser, so the scene takes this path. It fails with the rule in the `web` image's WebKit and passes without it. The unit tests have no layout, so they cannot see this. - On this tree, `make test-ui check test-shell webkit-smoke`: 5211 passed, 8 skipped, `check` clean, 455 shell tests passed, smoke 9892 checks, 0 failed. - In an AppImage of this change, Use comes back after Connect returns to Directly and after Advanced settings fold, on the first-run screen and in Settings, Add account. - In a debug apk of this commit on an Android phone, the button behaves as it did before this change. Not run: macOS, which is WebKit too and may have had this; Windows, whose web view is Chromium's, so only the Chromium measurement above speaks for it. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ann referenced this pull request from a commit 2026-11-07 22:42:32 +00:00
0.8.0-rc7, on libtacky v1.2.1 (8919dc12): 0.8.0-rc6 with the modern-only encryption switch per chat, Privacy's "Keep metadata for legacy clients", Who sees my profile and pictures fitted to 72 KiB (feat/profile-visibility), the account password changed at the server (#94), the sign-in fixes (#89, #90), status colours as in Set status (#91), a menu for picked messages (#93), one playback for a full-screen video (#87), reactions as chips inside the bubble (feat/reactions-chips), local delete and Clear history, the stranger's dropped message told (#85), the presence dot back beside a network badge, one Experimental settings card, Copy image on Linux off the main thread and the XML_LOG test build; libtacky pinned to the v1.2.1 tag with the generated API regenerated; made the seventh release candidate: version 0.8.0-rc7 in the UI package and its lock, tauri.conf.json, Cargo.toml and Cargo.lock and the README's version line, Android versionCode 8011; a compact 0.8.0-rc7 CHANGELOG entry (with a From libtacky 1.2.1 bullet) in place of the Unreleased bullets; the metainfo's development release 0.8.0~rc7 (appstreamcli validate --no-net passes). docs/macos.md stays at the last Mac release. README's tables measured again on this tree: 114,546 lines of code and 118,964 of tests (the change since 0.8.0-rc6 counted by the same rules), the UI's 68,842 of 70,448 lines (97.7%, 90.7% of branches), the shell's 12,588 of 13,319 source lines (94.5%), the Kotlin's 4,536 of 4,795 (94.6%), the worker's 872 of 872. Gates: on c4b08323 (the pin) make check STRICT=1 clean, make build, make test-shell 455 in 56 modules, make test-worker green, make release-check passed (no advisory), the WebKit smoke 10,035 checks, 0 failed; before the pin (shell and Kotlin unchanged by it) on 16a94364 the Android JVM tests free 640 and gms 643 passed and cargo check of the shell for x86_64-pc-windows-gnu clean, on bf87e9f7 (its clipboard test brought to Linux's GTK copy) make coverage-shell-all 484 passed; on cc3d1545 (with feat/reactions-chips, UI only) make check STRICT=1 clean (2,500 strings in all five catalogues, seven obsolete), make test-ui 5,246 passed, 8 skipped (444 files), the WebKit smoke 982 screens, 10,103 checks, 0 failed with SMOKE_JOBS=16.
Owner

Merged (PR #90) and in anotherim-js 0.8.0-rc7 (https://dev.another.im/another-im/anotherim-js/releases/tag/v0.8.0-rc7): the Provider screen's form no longer keeps the height it grew to when Advanced settings or the SOCKS5 field opened, so the "Use this provider" button comes back up once those fields fold again (Advanced settings closed, or Connect switched back to Directly).

Please check with 0.8.0-rc7 or newer.

Merged (PR #90) and in anotherim-js 0.8.0-rc7 (https://dev.another.im/another-im/anotherim-js/releases/tag/v0.8.0-rc7): the Provider screen's form no longer keeps the height it grew to when Advanced settings or the SOCKS5 field opened, so the "Use this provider" button comes back up once those fields fold again (Advanced settings closed, or Connect switched back to Directly). Please check with 0.8.0-rc7 or newer.
ryoitsu69 closed this pull request 2026-11-09 02:31:27 +00:00

Pull request closed

Sign in to join this conversation.
No description provided.