Some room-entry failures still replaced the existing comics with standalone icons in Chinese and English, and status help required a touch hold. These pages now share the same illustrated scenes with localized explanations. Help-only indicators use native buttons and the shared Tooltip owner for click/tap, hover, keyboard and dismissal; action controls retain their actions and long-press guidance. The App preselects public invitations when no Site is saved, while retaining a saved Site's priority. Launcher metadata and its consumer agree on the existing link mode. The release guide now requires explicit owner approval of each planned version and complete notes before publication. ## Release notes ### 中文 - 补齐中英文的房间错误页、等待状态和操作提示图解,纯视觉模式继续保留。 - 电视下方状态、连接指示灯和说明提示支持点击或轻触展开;再次点击、点外部或按 Esc 可关闭,悬停和键盘操作继续可用。 - App 未保存站点时默认选中“公网邀请”,已保存站点仍优先显示。 - 统一无音频图标,并完善系统“减少动态效果”设置下的显示。 ### English - Completed illustrated guidance for room-entry errors, waiting states and controls in Chinese and English. Pure-visual mode remains available. - Picture status, connection indicators and informational notices now open on click or tap. Click again, tap outside or press Escape to dismiss; hover and keyboard guidance remain available. - The App now preselects public invitations when no Site is saved. A saved Site retains priority. - Made no-audio icons consistent and improved presentation with the system's reduced-motion setting. ## Verification - `npm run check`: TypeScript, 59 test files / 776 tests and the production Web build passed. - `npm run check:client-core`: Go tests, formatting, vet and supported local target builds passed; native macOS packaging remains on its macOS runner. - Existing Launcher HTTP tests verify both the public-link default and saved-Site priority. The browser checked both corresponding metadata responses. - 27 focused browser checks passed for native touch events, short tap, long press, drag cancellation, action preservation, keyboard dismissal and 260/390px entry layouts. - 46 overlay combinations passed across Chinese, English, pure-visual mode and 260/390/1280px, including keyboard playback and reduced motion. - A real local Server returned the missing-room state correctly in all three modes. Status-control accessibility checks, documentation and repository hygiene passed. Compatible patch. No signaling, native-control, capture or storage contract changes. Existing physical device/network deferrals remain in force.
Piik Documentation
About Piik · 中文介绍 · 中文上手指南
Guides And References
| Task | Guide |
|---|---|
| Try the online demo | Online demo · Demo steps |
| Watch a friend or share my first screen | Getting started |
| Choose an App mode or fix sound and connection trouble | First-use help |
| Run Piik App, check platform requirements, or build a package | App guide |
| Try or change the source code | Run from source |
| Find a directory or the module responsible for a behavior | Repository layout and module map |
| Host a site for my group | Self-hosting · 中文部署 |
| Keep a server running with systemd or Docker | Service management |
| Set passwords, ports, or room storage | Configuration |
| Update my server | Server updates |
| Build, publish or recover a maintained release | Maintainer release tooling |
| Send a useful bug report | Diagnostics and export |
| Check release and platform readiness | Current status |
The introduction, getting-started and self-hosting guides are available in English and Chinese. Technical references keep one shared version.
Run from source
You can try the Browser application locally with Node from .node-version, npm from package.json, and Go 1.26 from go.mod. Run these commands from the repository root.
Start the web UI:
npm ci
npm run dev
In a second terminal, start the server. For a POSIX shell:
PORT=8788 PUBLIC_BASE_URL=http://localhost:8787 go run ./cmd/piik-server
Or in PowerShell:
$env:PORT = '8788'
$env:PUBLIC_BASE_URL = 'http://localhost:8787'
go build -o build/dev/piik-server.exe ./cmd/piik-server
./build/dev/piik-server.exe
The fixed Windows executable path avoids repeated firewall prompts from go run.
Open localhost:8787, start sharing, and open the invitation
in another browser tab to try watching. This localhost invitation stays on your
computer; remote invitations need a reachable origin as described in
configuration.
Browser capture requires localhost or HTTPS.
For the self-contained App, follow App development and packaging, including the platform's native capture requirements.
Work on Piik
Contributing covers the workflow and choosing focused checks. The main verification commands are:
npm run check
npm run check:client
Use the naming and copy guide for product names, commands, role labels and Chinese/English voice. Piik-owned code uses MIT; see the licensing guide for third-party components.
For the public website, see the introduction design and website preview and publishing.
Understand the product
| Topic | Its reference |
|---|---|
| Invitations, room codes and passwords | Rooms and access |
| How viewers connect | Routing and transport |
| Screen capture, quality controls and sound | Media quality |
| Host and viewer behavior | Presentation and lifecycle |
| Why a design was chosen | Architecture decisions |
| Measurements and platform limits | Research and verification status |
Shared conventions
| When changing… | Follow this owner |
|---|---|
| Module responsibilities or interfaces | Engineering and contract map |
| Product/tool names, role labels or copy | Naming and copy |
| UI colour, illustration, motion or layout | Visual language |
| Overlays, titles or state indicators | Media status |
| Releases, protocols or stored formats | Versions and compatibility |
| Main protection or automatic publishing | GitHub operations |
| Documentation or a duplicated rule | Documentation ownership |
| Checks, PRs, integration or cleanup | Contributing |
For ongoing work, use TODO. Project memory provides the compact product map; status indexes current source and deployment boundaries. Completed work lives in Git history and pull requests.