aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers
diff options
context:
space:
mode:
Diffstat (limited to 'docs/superpowers')
-rw-r--r--docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md31
1 files changed, 30 insertions, 1 deletions
diff --git a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
index cefdfc3..6405e75 100644
--- a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
+++ b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
@@ -100,7 +100,7 @@ taking that too literally.
| 49 | Sync runs every account regardless of what changed | workflow | M | open |
| 50 | Esc blanks the pane but leaves the row selected | workflow | XS | open |
| 51 | Clicking a subject scrolls the list sideways | presentation | XS | open |
-| 52 | `test_querycompleter` fails under Wayland, passes offscreen | testing | XS | open |
+| 52 | `test_querycompleter` fails under Wayland, passes offscreen | testing | XS | **done** |
Sizes are rough: XS under an hour, S a sitting, M a session.
@@ -2942,6 +2942,35 @@ of them, the same shape as item 46:
- Whatever is chosen must hold for `test_mainwindow` and `test_messageview` too,
which create widgets and could grow the same dependency.
+### Outcome (done 2026-08-07)
+
+**The warning named the wrong cause, and the real one was worse.** Wayland's
+"failed to create grabbing popup" message points at a transientParent, so the
+plan above proposed setting one. Instrumenting the test first showed what
+actually reaches the assertion: the popup viewport measured **1278x0**. The zero
+height is why the grab returned a null pixmap, but the 1278 is the important
+half. This test sizes a line edit to 550px and exists to prove the description
+survives a popup that size; under Wayland it was handed a popup more than twice
+that wide, so a working grab would have measured a different popup and **passed
+while proving nothing**. Offscreen gives 548x40, the geometry the test means.
+
+So pinning the platform is the correct fix rather than the cheap one, and the
+preference recorded above was based on a misreading. Deterministic geometry is a
+requirement of the test, not a convenience: a compositor is entitled to size a
+popup how it likes.
+
+- `set_tests_properties(... ENVIRONMENT QT_QPA_PLATFORM=offscreen)` is applied
+ in `add_qtmaildir_test()`, so it covers every test including `test_mainwindow`
+ and `test_messageview` as the constraint required, and any test added later.
+- **The test also guards its own geometry now**, since the CMake setting only
+ covers `ctest` and the binary is often run directly. It asserts the viewport
+ has a non-zero height and is no wider than 700px, each with a message naming
+ the cause. A bare `QVERIFY(!shot.isNull())` reported nothing useful; the guard
+ now says "popup viewport has no height (1278x0)".
+- Both guards were **verified by mutation**: widening the line edit to 1200px
+ makes the width guard fail with its explanation, where before the change that
+ case would have passed.
+
## Deferred, unsized, or split out
Items noted while triaging but not part of the original list. Same numbering