Call screen pinch to fit, and the connection hint above its fields #21

Closed
asxpi wants to merge 0 commits from asxpi/anotherim-js:ui/signin-hint-and-video-fit into develop
First-time contributor

Two small UI changes, one commit each.

Pinch the call screen to see the peer's whole picture

The peer's video fills the stage with object-fit: cover, which on a
phone held upright cuts away most of a landscape camera.

A pinch in on the stage shows the whole picture (contain), a pinch out
fills the stage again; a double tap or double click swaps the two, for
a mouse or one finger. A pinch must close or open the fingers by a
fifth before it picks, and picks once, so a wobble changes nothing.
The self-view tile keeps its drag and is left out. Each call starts
filled, as before.

Put the connection hint above the fields it explains

On the provider page the "Optional. Leave empty to find the server from
its name" hint came after the WebSocket URL, so it was read only once
the host and port above it had been filled. Show it under the
Connection heading, before them.

🤖 Generated with Claude Code

Two small UI changes, one commit each. **Pinch the call screen to see the peer's whole picture** The peer's video fills the stage with object-fit: cover, which on a phone held upright cuts away most of a landscape camera. A pinch in on the stage shows the whole picture (contain), a pinch out fills the stage again; a double tap or double click swaps the two, for a mouse or one finger. A pinch must close or open the fingers by a fifth before it picks, and picks once, so a wobble changes nothing. The self-view tile keeps its drag and is left out. Each call starts filled, as before. **Put the connection hint above the fields it explains** On the provider page the "Optional. Leave empty to find the server from its name" hint came after the WebSocket URL, so it was read only once the host and port above it had been filled. Show it under the Connection heading, before them. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The peer's video fills the stage with object-fit: cover, which on a
phone held upright cuts away most of a landscape camera.

A pinch in on the stage shows the whole picture (contain), a pinch out
fills the stage again; a double tap or double click swaps the two, for
a mouse or one finger. A pinch must close or open the fingers by a
fifth before it picks, and picks once, so a wobble changes nothing.
The self-view tile keeps its drag and is left out. Each call starts
filled, as before.

Assisted-by: Claude:opus-5-5
On the provider page the "Optional. Leave empty to find the server from
its name" hint came after the WebSocket URL, so it was read only once
the host and port above it had been filled. Show it under the
Connection heading, before them.

Assisted-by: Claude:opus-5-5
Owner

Merged by hand into develop (now at aa2fbcbf, on libtacky v1.0.0-rc10) for the 0.6.0 testing builds; thank you. It conflicted with develop's route chooser in signin-card.ts; resolved by keeping the chooser and dropping the old hint line, the hint now sits under the Connection section only. Closing, since a hand merge is not marked merged here.

Merged by hand into develop (now at aa2fbcbf, on libtacky v1.0.0-rc10) for the 0.6.0 testing builds; thank you. It conflicted with develop's route chooser in signin-card.ts; resolved by keeping the chooser and dropping the old hint line, the hint now sits under the Connection section only. Closing, since a hand merge is not marked merged here.
ann closed this pull request 2026-10-17 14:59:12 +00:00
ann referenced this pull request from a commit 2026-10-27 13:09:52 +00:00
The remaining Lows of the final anotherim-js audit of 2026-10-27 (/data/another-im/audit-2026-10-27-final-anotherim-js.md): XEP-0439 actions are not drawn in rooms (#12: rowActions(m, room), message-row passes showNick, which both callers set from the chat's groupchat; libtacky refuses the press there and any occupant could draw buttons; whether action-selected goes out encrypted in an OMEMO chat is F2's libtacky half), a quick response chip shows the value it sends after its label whenever the two differ but for case and spacing (#13: XEP-0439 sends the value and only shows the label, so the new shownValue keeps the XEP and the reader sees the words before they go), isReportable is false for a room occupant's private chat since Blocking keeps bare JIDs and would block and report the whole room (#17, the safe one of the two choices), a vCard's tel: link carries data-ask and the link guard asks "Call {number}?" / "This opens {number} in your phone or calling app." before the opener in the shells and in a tab alike (#18), the desktop shell's openable hands a TEL: link on as tel: (#21, now a Cow), a gateway's auto-approved contact is added with no roster name instead of the subscribe nick (#19: their nick is their word, the name drawn then comes from their vCard or nick as theirs), and localHost, the page's sticker gate, also refuses a single-label host and names under .local, .localdomain, .home.arpa, .internal, .lan, .home, .intranet, .corp and .private, with the browser edition's remaining gap (a public-looking name resolving to a private address) documented at the function (#20). New strings in en, ru, uk, et and es; CHANGELOG Unreleased has a Security block naming the audit ids. Tests that failed before the fix (9 of them): quick-responses (rowActions in a room, shownValue, the chip showing "Large one Large"), report-spam (PM not reportable), requests (gateway contact added without a name), transfers (localHost local names), os-links (the tel question), links-cov (a data-ask tel opens through the question in a tab), vcard-profiles (tel link has data-ask); links.rs a_tel_scheme_in_upper_case_is_handed_on_in_lower_case. make -o audit check STRICT=1 clean (2110 keys), make test-ui 384 files 4246 passed 8 skipped, make test-shell ok, WebKit smoke 6769 ok with the contact info and profile card screens, its 4 FAILs the stale Android lock-line checks b1bdb10a fixed on develop.

Pull request closed

Sign in to join this conversation.
No description provided.