TFOdev Product Manuals
OPSx Reference

Web Interface Manual

This document is a single-file operator manual for the OPSx web interface. It covers the login workflow, room layout, controls, settings, permissions, supported platforms, the optional AES-GCM end-to-end encryption mode, and the current demo-room limit.

Supported Access

Desktop Chrome, Android browsers, and iOS browsers are supported for the web client.

The interface is responsive and adapts between handset and larger-screen layouts.

Connect Screen
Manual
OPSx Web Connect
Shared code, unique callsign, optional AES-GCM.
Code
••••••
Callsign
RAPTOR-1
AES-GCM
Shared passphrase required
Sign In
Active Room
Status
Connected
Room: ALPHA · Callsign: RAPTOR-1
Enable microphone
Publish local audio
Share location
Broadcast live GPS to the map
View
Video and Map Tabs
Search roster, focus user, open settings, disconnect.
Settings
Disconnect

1. Interface Overview

The web client has two primary states: the sign-in page and the active room page. After authentication, users enter a room with a header bar, user list, video and map tabs, an optional settings panel, and per-user toggles for microphone, camera, and location sharing.

Room Workspace Video / Map Tabs

The main workspace switches between a multi-user video view and a live map view. The map can center on users who are broadcasting location data.

  • Video tab: grid view for all active video publishers, or a focused single-user pane.
  • Map tab: user markers, selectable basemap, and callsign labels.
  • User panel: searchable user roster with audio, video, and location indicators.
Persistence Browser-Saved

The client stores the last-used room code, callsign, optional AES-GCM passphrase, and display preferences in the browser for faster reuse on the same device.

Theme
Basemap
Video Columns
Map Labels

2. Sign-In Screen

Users join by entering a shared room code and a unique callsign. The callsign becomes the user identity shown to other users in the room.

Required Fields Before Join
Code
••••••

Case-insensitive room access code used to resolve the target room.

Callsign
RAPTOR-1

Unique user identity. Supported format is 1 to 32 characters using letters, numbers, period, underscore, and hyphen.

Optional Security Join-Time Toggle
AES-GCM
Off
On + Shared Passphrase

If enabled, the user enters a shared passphrase and the client prepares end-to-end media encryption before connecting to the room.

Important: Every user using AES-GCM must enter the same passphrase. If the passphrase does not match, encrypted media will not decode correctly.

3. Room Layout

Left Panel users

The user panel shows all current callsigns, supports live search, and indicates whether each user is publishing audio, video, and recent location.

  • Select a callsign to focus on that user's video feed.
  • Use the location icon to jump the map to a user's last known position.
  • The user count is always visible at the top of the panel.
Main Area Video / Map
Video Tab

Shows a grid of remote video tracks. On larger screens the number of tiles per row is controlled in Settings. Smaller screens automatically reduce the layout.

Map Tab

Displays user location markers and supported map layers. Callsign labels can be shown only on hover or always visible, depending on operator preference.

4. Top-Bar Controls

The header contains the live room name, the active callsign, and the primary user controls.

Microphone

Toggles local microphone publishing on or off.

Camera

Toggles local camera publishing on or off. The client prefers the rear-facing camera where available.

Location

Starts or stops location broadcast to the room. When off, the user's marker is removed from the shared map.

Wake Lock

Keeps supported devices from sleeping during active use. Availability depends on browser support.

Settings

Opens the settings sheet for appearance, map, video, and telemetry preferences.

Fullscreen

Enters or exits browser fullscreen mode for maximum viewing area.

Disconnect

Leaves the room and returns the user to the sign-in state.

Roster Panel

Shows or hides the user panel. On smaller screens it opens as a side sheet.

5. Settings Sheet

Settings are applied live and saved to the browser. They affect only the local user unless otherwise noted.

Appearance

Theme options: Dark, Light, Night.

Night mode is intended for reduced-light use and follows the same per-user preference model as the other display settings.

Video

Tiles Across: 1, 2, 3, or 4 on large screens.

Small screens automatically use the mobile layout regardless of this setting.

Map

Basemap options: OSM, Satellite, Streets, Topo.

Callsign Labels: On Hover or Always On.

Telemetry

Location Broadcast: Broadcasting or Silent.

Silent mode stops local position transmission and removes the user's marker from the shared map.

6. Permissions

The web client relies on browser permission prompts. Operators should expect permission behavior to vary slightly by platform, but the access categories are the same.

Camera
Access is required only when the user enables the camera. Denying camera permission blocks local video publishing but does not prevent room entry.
Microphone
Access is required only when the user enables the microphone. Denying microphone permission blocks local audio publishing but does not prevent room entry.
Location
Access is required when the user enables location sharing. If denied, the user remains in the room but cannot broadcast map position.
Wake Lock / Fullscreen
These depend on browser support and user action. Some mobile browsers limit them or require foreground interaction.
Operational note: Room access does not automatically require camera, microphone, or location permission. Users can join first and then enable individual capabilities as needed.

7. AES-GCM End-to-End Encryption Option

The login screen includes an AES-GCM toggle for optional end-to-end media encryption. When this option is enabled and a passphrase is supplied, the client prepares an AES-GCM key provider and encryption worker before connecting to the room, then enables encrypted media handling for the session. Drone publishers do not enter the key on the drone side; they inherit the encryption behavior from the OPSx SC-configured session. If AES-GCM is not enabled, the room still uses TLS transport encryption, but AES-GCM is the stronger end-to-end encryption mode.

How It Works Operator View
  • The user turns on the AES-GCM toggle on the sign-in page.
  • The user enters a shared passphrase.
  • All room users using AES-GCM must use the same passphrase.
  • The passphrase is stored locally in the browser for reuse on that device unless cleared.
What To Expect Behavior
  • If AES-GCM is off, the room uses TLS transport encryption without the shared passphrase requirement.
  • If AES-GCM is on and passphrases do not match, users may join but encrypted media will not be usable as expected.
  • E2EE is a session-level coordination feature, not a one-sided local enhancement.
Best practice: Treat the passphrase like mission-sensitive material. Distribute it out-of-band and rotate it when the room membership changes.

8. Supported Platforms

The current supported browser and device scope for the web client is:

iOS

Supported for mobile access, including the responsive sign-in, user roster, map view, and media controls.

Android

Supported for mobile field use, including location sharing, audio/video toggles, and the settings sheet.

Chrome

Supported for desktop and compatible mobile deployments. Chrome provides the fullest support for advanced web capabilities such as wake lock and fullscreen.

Recommendation: For demos and operational validation, Chrome should be the primary desktop reference browser, with iOS and Android tested as supported mobile clients.

9. Demo Limits and Room Capacity

Demo rooms are limited to a number of users. Once the room reaches the configured visible-user capacity, additional join attempts should be treated as full-capacity conditions.

10. Beta: Independent AR

Beta feature: Independent AR is currently in beta as a per-user option, with the same toggle model used by the current local interface settings.

Each user can enable or disable Independent AR locally without forcing the same mode on every other user. This keeps it consistent with the current per-user approach used for display and telemetry controls.