Files
Piik/docs
AAA 22864cf311 fix(app,ui): polish handoff links and mobile playback controls
## Problem and outcome

The App console could show a launch address that still contained private activation data when copied, while the terminal hyperlink opened a cleaned address. On narrow phones, playback controls could wrap into a second row and cover too much of the video. The handoff now presents the same safe, activation-preserving address everywhere, and the playback bar keeps one compact row with a shorter flexible volume control.

## Changes

- Sanitize the App activation URL before rendering both copyable console output and terminal hyperlinks, preserving App handoff without exposing credentials.
- Keep the mobile playback bar on one row; let the volume slider shrink with the available width and hide the nonessential percentage readout at the narrowest sizes.
- Add bilingual macOS browser/App audio-capture troubleshooting guidance and record the physical-device boundary.

## Verification

- `npm run check`: TypeScript, 73 test files / 1008 tests, and the Web production build passed.
- `npm run check:go-core`: Go tests, formatting, vet and supported core target builds passed.
- `node scripts/check-docs.mjs` and `scripts/check-project-state.ps1` passed.
- Narrow-layout browser checks covered 320px, 360px, 375px, 390px, 430px, 768px and 1280px widths without wrapping or horizontal overflow.
- The interaction prototype remains local and uncommitted for later acceptance; it is not part of this PR.

## Release notes

### 中文

这是一个维护版本,改善 App 启动链接的安全提示和手机上的播放控制体验。

#### 修复

- 修复 App 控制台复制链接时可能带出私有激活参数的问题。复制、终端链接和手动打开地址现在保持一致,并继续支持自动唤起 App。
- 修复窄屏手机上的播控挤成两行、遮挡画面的问题。控件保持单行,音量滑条会按可用空间缩短,过窄时隐藏非关键的百分比读数。
- 补充 macOS 浏览器与 App 采集声音选项的排查说明,明确不同浏览器和系统版本的能力边界。

#### 兼容性

本版本不改变通信协议、配置格式或存储格式。App 公网邀请、本地模式和已部署站点按原方式更新即可;已打开的页面刷新后使用新的播控布局。

### English

This maintenance release improves App launch links and playback controls on phones.

#### Fixes

- Fixed the App console sometimes exposing private activation parameters in a copied launch address. The copied address, terminal hyperlink and manual URL now match while still supporting App handoff.
- Fixed narrow phone layouts wrapping playback controls into a second row and covering the video. Controls stay on one row, the volume slider shrinks with the available space, and the nonessential percentage readout hides when space is tight.
- Added macOS troubleshooting guidance for browser and App audio capture, including the current browser and OS support boundaries.

#### Compatibility

This release changes no wire protocol, configuration format or storage format. Update the App for public invitations or Local mode, or update the deployed site as usual; refresh an open page to use the new playback layout.
2026-09-18 20:20:53 +08:00
..

Piik Documentation

About Piik · 中文介绍 · 中文上手指南

For using Piik, troubleshooting or self-hosting, start with the reader documentation · 中文文档中心. This page also indexes developer and maintainer references.

Guides And References

Task Guide
Use Piik online Open the online site · Online sharing guide
Watch a friend or share my first screen Getting started
Choose an App mode or fix sound and connection trouble First-use help
Page opens but video will not connect / 网页能打开,画面连不上 Connection troubleshooting · 中文排查
Run Piik App, check platform requirements, or build a package App guide · 中文 App 指南
Try or change the source code Run from source
Find a directory or the module responsible for a behavior Repository layout and module map
Find the shared product, design and lifecycle rules Standards index
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
Translate Piik or improve wording Translation guide · 中文翻译教程
Check release and platform readiness Current status

The introduction, getting-started, App, self-hosting, service-management and translation 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:go

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.