Skip to content

docs: README trimmed, details in docs/ (#191) - #192

Merged
compot-dev merged 2 commits into
v2from
docs/split-191
Oct 15, 2026
Merged

compot-dev merged 2 commits into
v2from
docs/split-191

Conversation

@compot-dev

Copy link
Copy Markdown
Collaborator

Closes #191. Docs only: no app change, no version bump.

What changed

The three READMEs (EN/RU/ZH) go from 318 to about 130 lines each and stay structurally identical: logo and badges, a short what it is, the screenshots (all existing <img> tags kept), Download, Requirements, Quick start, a short Controls summary, Known limitations, a Documentation table, Support, License. In RU/ZH the table text is translated; the links point to the English documents and the READMEs say so. Version history is now one sentence linking to the releases page (CI writes the notes per v2.xx).

New English-only docs/, in the style of OpenIPC/vtesse (each starts with a table of contents of its ## sections):

File Content From the README
docs/usage.md first camera, menu, gestures and keys, remote control, multi-view, Slides, U cell, WebUI, share intent, screenshots, Reset Controls, Menu, Gestures and keys, Opening a camera from another app, Multi-view
docs/transports.md overview table per URL scheme, RTSP details, transport modes and fallback, udp:// options, HTTP MJPEG, FLOW-UFO pointer, codecs, authentication, what Majestic/XM support (summary of LABORATORY.md) Transports, UDP slots, HTTP MJPEG slots, Features (network, audio)
docs/debug.md debug server endpoints, page, snapshot, stream checks, /stats.json field reference (generated from Decoder.debugState()/debugDevice()/probeSlots(), CodecInfo), /log, corner text, bug reports Debug page (port 8085)
docs/architecture.md ASCII data path, classes, threads, decode planner rules (#85, #189), SurfaceView rendering (#61, #76/#185), settings, repository layout Architecture
docs/testing.md branches, CI jobs and outputs, unit tests, versions and releases incl. mapping-<ver>.txt (#181/#183), testing a branch build, retracing, building locally; LABORATORY.md linked Branches, Building
docs/security.md network (no TLS), credential store (AES-256-GCM, Keystore), debug server LAN-only rule, log redaction table, WebUI credentials, permissions Security notes
docs/devices.md reporting, verified and not working devices (tables moved unchanged), hardware decoder notes Device compatibility
docs/toys.md how Wi-Fi toys stream, connecting (no-internet prompt), FLOW-UFO status and test build (#187, #188), what to try with an unknown toy, what to send (incl. a PCAPdroid capture) new

Other changes:

Corrections found while checking against the code: Auto remembers a failed UDP for 10 minutes per URL while the app runs (the README said "until the slot is changed"); rtp:// is accepted like udp://; transport labels include multicast push and TCP (multicast).

All relative links and anchors in *.md and the issue templates were checked with a script (190 links, 0 broken).

The README (EN/RU/ZH) keeps the overview, screenshots, download,
requirements, quick start, a short controls summary, known limitations,
a documentation table, support and license. The details move to
English-only documents in docs/, each with its own table of contents:

- usage.md: menu, gestures and keys, remote, multi-view, Slides, U cell,
  WebUI, share intent, screenshots, Reset
- transports.md: URL formats and options per transport, codecs,
  authentication, what the servers support
- debug.md: debug server, page, snapshot, stream checks, a /stats.json
  field reference from the code, /log, corner text, bug reports
- architecture.md: data path diagram, classes, threads, decode planner
  (#85, #189), SurfaceView rendering (#61, #76), settings, layout
- testing.md: branches, CI, unit tests, versions and releases,
  branch builds, mapping.txt (#181), local builds
- security.md: network, credential store, debug server LAN rule,
  log redaction, WebUI, permissions
- devices.md: verified and not working devices, hardware decoder notes
- toys.md: drones and Wi-Fi toys, FLOW-UFO in testing (#187, #188),
  unknown toys, what to send

The #76 freeze is no longer a known limitation (fixed in 2.09, #185).
The device report form points to docs/devices.md. Docs only, no
version bump.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Split detailed README content into topic-based documentation

📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Shorten the English, Russian, and Chinese READMEs while preserving screenshots and essential setup
 guidance.
• Move detailed guidance into eight English documents covering usage, transports, debugging,
 architecture, testing, security, devices, and toys.
• Correct outdated limitations and transport guidance; point device reports to the relocated
 compatibility table.
Diagram

graph TD
  Reader["Readers"] --> Readmes["Localized READMEs"] --> Usage["Usage and transports"]
  Readmes --> Debug["Debug and security"]
  Readmes --> Development["Architecture and testing"]
  Readmes --> Devices["Devices and toys"]
  Readmes --> Releases["Release notes"]
  Report["Device report"] --> Devices
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Translate every topic document
  • ➕ Preserves detailed Russian and Chinese guidance.
  • ➖ Triples the ongoing maintenance burden and risks technical guidance drifting between languages.

Recommendation: Keep the PR's localized overview and English-only reference documents: it makes detailed guidance easier to maintain while retaining translated entry points. Consider translating individual topic documents later if contributors can maintain them.

Files changed (12) +1099 / -738

Documentation (12) +1099 / -738
device_report.ymlPoint device reporters to the relocated table +1/-1

Point device reporters to the relocated table

• Changes the template's Verified devices reference from the README to the anchored table in docs/devices.md.

.github/ISSUE_TEMPLATE/device_report.yml

README.mdTurn the English README into a concise documentation hub +59/-247

Turn the English README into a concise documentation hub

• Retains the overview, screenshots, setup, controls summary, limitations, support, and license while linking to topic documents. Removes the resolved view-switching freeze from known limitations and adds the Android 7.0 screenshot requirement.

README.md

README.ru.mdCondense the Russian README with translated document links +59/-245

Condense the Russian README with translated document links

• Preserves the localized overview and essential guidance, replacing detailed sections with a translated documentation table. Identifies the linked documents as English-only and updates known limitations.

README.ru.md

README.zh-CN.mdCondense the Chinese README with translated document links +59/-245

Condense the Chinese README with translated document links

• Preserves the localized overview and essential guidance, replacing detailed sections with a translated documentation table. Identifies the linked documents as English-only and updates known limitations.

README.zh-CN.md

architecture.mdDocument the app's data path and decode planner +149/-0

Document the app's data path and decode planner

• Adds a data-path diagram, class and thread references, decode-planner rules, SurfaceView rationale, settings, and repository layout.

docs/architecture.md

debug.mdAdd debug endpoints and stats.json field reference +203/-0

Add debug endpoints and stats.json field reference

• Explains the debug page, snapshots, stream checks, logs, and multi-view status text. Provides a field-by-field reference for /stats.json and bug-report guidance.

docs/debug.md

devices.mdRelocate compatibility tables and add decoder notes +69/-0

Relocate compatibility tables and add decoder notes

• Moves the verified and nonworking device tables from the English README. Adds reporting guidance and hardware-decoder observations.

docs/devices.md

security.mdExplain network exposure and credential handling +73/-0

Explain network exposure and credential handling

• Documents unencrypted transports, on-device URL storage, the LAN-only debug server, log redaction, WebUI authentication, permissions, and responsible reporting.

docs/security.md

testing.mdCollect contributor testing, CI, and release guidance +90/-0

Collect contributor testing, CI, and release guidance

• Describes branches, CI outputs, unit tests, release artifacts, branch-build installation, R8 retracing, local builds, and device testing.

docs/testing.md

toys.mdAdd Wi-Fi toy and FLOW-UFO testing guidance +81/-0

Add Wi-Fi toy and FLOW-UFO testing guidance

• Explains how toy cameras commonly stream, how to connect to their Wi-Fi, and the test-only FLOW-UFO transport. Provides troubleshooting steps and a traffic-capture checklist for reporting unknown toys.

docs/toys.md

transports.mdConsolidate stream URL and transport documentation +135/-0

Consolidate stream URL and transport documentation

• Covers RTSP modes, UDP and rtp push URLs, HTTP MJPEG, codecs, authentication, and server compatibility. Corrects Auto fallback guidance to a ten-minute per-URL retry window and notes the test-only FLOW-UFO scheme.

docs/transports.md

usage.mdMove detailed controls and viewing guidance out of README +121/-0

Move detailed controls and viewing guidance out of README

• Documents first setup, menu and remote controls, multi-view, Slides, the U cell, WebUI, shared URLs, screenshots, and Reset.

docs/usage.md

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Device reports omit decoder limits ✓ Resolved
Description
docs/devices.md tells readers that /stats.json exposes decoder limits under instances, while
the endpoint emits the field as max_instances. Anyone following the device-report guidance may
miss the decoder instance limit and submit incomplete diagnostics.
Code

docs/devices.md[59]

+What the app has measured or met on real devices. The decoders of a device are listed in `/stats.json` (`decoders`: name, type, hardware, instances, 1080p frame rate).
Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The hardware decoder notes refer to an `instances` field that `/stats.json` does not emit; the implementation uses `max_instances`.
### Fix Focus Areas
- docs/devices.md[59-59]
### Recommended Fix
Replace `instances` with `max_instances` in the `/stats.json` field description so the device-report instructions match the endpoint and the corresponding reference in `docs/debug.md`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread docs/devices.md Outdated
@compot-dev
compot-dev merged commit bc54301 into v2 Oct 15, 2026
4 checks passed
@compot-dev
compot-dev deleted the docs/split-191 branch October 15, 2026 17:26
compot-dev pushed a commit that referenced this pull request Oct 15, 2026
compot-dev added a commit that referenced this pull request Oct 15, 2026
docs: README trimmed, details in docs/ (#191)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: move the details out of the README into docs/, like OpenIPC/vtesse

2 participants