Repository navigation
pages: fit the connections, recordings and reports tables on 1710px-wide displays - #266
Closed
jseifeddine wants to merge 6 commits into
Closed
jseifeddine wants to merge 6 commits into
jseifeddine wants to merge 6 commits into
Conversation
The Content-Security-Policy had no img-src, so default-src 'self' governed images and refused the data: URIs the Guacamole client draws every tile from on browsers without WebCodecs ImageDecoder. Safari and Firefox rendered SSH and RDP sessions black with only rect fills and the cursor cell showing; Chrome decodes straight from the stream and never fetches a URL, which hid it. The same directive blocks the remote mouse cursor (cursor: url(data:...)) and blob: image URLs. Move the policy into a documented constant, add img-src 'self' data: blob:, and add a unit test that fails if img-src loses either source. Document the proxy-side header replacement for releases up to v1.10.5. Fixes sol1#249
… input after the transition With fullscreen-on-connect, the first mousedown after CONNECTED is the browser's fullscreen gesture, but Guacamole.Mouse forwarded it to guacd as well, and the transition that followed swallowed its release. guacd was left with the button held and the terminal selected text on every pointer move; the same with a key press as the gesture. Stop the gesture event before the display's handlers see it, and on entering fullscreen release everything explicitly: keyboard.reset() and a mouse state with no buttons at the last pointer position, so a release lost for any other reason during the transition cannot stick either. Fixes sol1#256
The 18px table with 20px cell padding and a separate cell each for edit, clone and delete overran the main column by ~300px on a 1710px MacBook display, cutting "delete" off the right edge. Put the three admin actions in one cell, and add a max-width: 1800px breakpoint on the connections page: 20px page padding, 240-280px sidebar, 16px cells with tighter padding, 14px headers, a 110px Connect button and a smaller folder title. The icon-only "open in new window" button keeps its compact size. Nothing is hidden; at 1710px the table fits with about 250px to spare. Fixes sol1#252
The 18px tables with 20px cell padding ran past the right edge on a 1710px MacBook display, the recording link cut off. Same treatment as the connections table: 16px cells with tighter padding, 14px headers, actions kept on one line. Nothing is hidden. Part of sol1#254
The 1800px breakpoint set a tighter page gutter on the connections page only, so switching to Sessions or any other tab snapped the content sideways. Move it to rustguac.css so every page moves together. Part of sol1#254
A browser test harness under tests/e2e: serve.mjs serves the real static tree over HTTP and lib/api.mjs answers /api/* from a small fixture address book, recording every request the page makes, so the shipped pages run against data the test controls without Vault, guacd or a session. CI gains an e2e job that installs Chromium and runs the suite. The first spec pins sol1#252: at 1710px the connections, recordings and reports tables fit inside the viewport and nothing scrolls sideways.
jseifeddine
force-pushed
the
fix/tables-1710px
branch
from
October 12, 2026 04:20
18d7b97 to
4ae28ef
Compare
Member
|
Merged into main as 24eeafb, 701f88e, 7ef4660 and c934065, thanks Jad. One addition on our side (e4fb8ee): the 1710px spec passed on main too, since its fixture names fit either way under Linux's monospace font. With realistic long dotted names the padding change alone still overran Connections and Recordings, so table cells now wrap long text (overflow-wrap: anywhere) with the buttons kept on one line, and the spec has a long-data test per page that fails on main. The README lists only the spec that exists so far. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #252.
18px cells with 20px padding and a cell each for edit/clone/delete overran a 1710px MacBook display by ~300px. The three admin actions share one cell, a
max-width: 1800pxbreakpoint tightens padding, sidebar width, cell and header sizes; recordings and reports get the same treatment; the narrow-desktop page padding moves intorustguac.cssso switching tabs does not shift the gutter. Nothing is hidden.Also introduces the Playwright harness under
tests/e2e/(a static server for the real pages plus a stubbed API that records every request) and the CIe2ejob, so each later UI PR adds one spec. Seetests/e2e/README.md.Testing
tables-1710.spec.mjs: no horizontal overflow and the table's right edge inside the viewport on all three pages at 1710px.