Files
securebit-chat/doc
lockbitchat 6a98e2eb00
CodeQL Analysis / Analyze CodeQL (push) Canceled after 0s
Deploy Application / deploy (push) Canceled after 0s
Mirror to Codeberg / mirror (push) Canceled after 0s
Mirror to PrivacyGuides / mirror (push) Canceled after 0s
fix(mobile): make the chat layout responsive on phones; release v5.9.2
The chat did not lay out correctly on phones, iPhone worst of all: the header
would not stay at the top, and the layout shifted as you scrolled or opened the
keyboard.

The root cause was a floor, not a position. The app shell and column both carry
.minimal-bg, which sets min-height:100vh — and min-height always beats height. On
iOS 100vh is the URL-bar-retracted *large* viewport, so with the bar showing the
shell was held some 60-100px taller than the visible area. That surplus made the
document scrollable, and a scrolling document is how the header rode off the top.
It also left the visual-viewport tracking inert: forcing --sb-vh to 700px left the
shell at 844px. With the floor removed it follows to 700px and the document does
not scroll.

Also: the app shell is now sized from visualViewport rather than pinned, the
message list is the only scroller and can actually shrink, safe-area padding
applies (viewport-fit=cover) and collapses under the keyboard, and the
online/offline toast no longer sits on top of the header.

Adds ?preview=chat, which renders the chat layout with canned content and no
connection — presentational only, no peer manager, keys, or network.

Verified in an emulated iPhone viewport at rest and with the keyboard open:
header pinned at 0-64, composer flush to the keyboard line, document unscrollable.
2026-08-09 13:21:44 -04:00
..

Documentation

Technical documentation for SecureBit.chat. Start with the project README if you are looking for an overview or a quick start.

Document What it covers
ARCHITECTURE.md How a session is established, verified and torn down, and where each guarantee comes from
CRYPTOGRAPHY.md Key schedule, the Double Ratchet, SAS verification, memory handling
DESCRIPTOR-SBQ2.md The invitation format: wire layout, why it is small, the in-band key exchange, decoder rules
CONFIGURATION.md Deployment, ICE and TURN setup, privacy modes, file transfer policy
CALLS.md Voice and video: codec choices, adaptation, and why each value was picked
API.md Internal interfaces of the WebRTC manager and file transfer system
CONTRIBUTING.md Development workflow and what needs extra review
USE-POLICY.md Terms of use, intended use, and the limits of what the software can protect

Security policy and vulnerability reporting live in SECURITY.md at the repository root, where GitHub expects to find them.

Keeping this accurate

These documents describe the current release and are expected to change with it. Every value quoted here (limits, timeouts, algorithm parameters) is taken from the source rather than restated from memory, so if you change one in code, change it here in the same commit. CONTRIBUTING.md lists which documents are affected by which areas of the code.