## Problem and outcome / 问题与结果 Compatible Native receiver renegotiation rebuilt the encoded source and its playback/relay consumers. Replacement backends could also lose committed-route recovery ownership, while queued events and unfinished SFU cleanup could reach a replacement with the same logical identity. Retain compatible receivers, keep recovery on the committed route, and validate physical ownership through final control delivery. SFU activation waits for the existing retirement barrier. This phase also consumes renewed same-page invitations through the existing grant owner and avoids closing uninitialized Windows capture objects after preview failure. Camera, microphone, interaction and control redesign remain outside this patch. ## Release notes ### 中文 这是一次以连接稳定性为重点的小修复更新。 - 修复 App 接收端重新协商时不必要地中断播放和中继的问题,并保留正确的连接恢复行为。 - 修复旧连接的迟到事件及关闭时序干扰替代连接的问题。 - 修复重新打开同页邀请链接后仍沿用旧邀请的问题。 - 修复 Windows 选源预览失败时的一处异常退出。 更新 App 并刷新网页即可使用这些修复,无需修改配置。 ### English This maintenance update focuses on connection stability. - Preserve App playback, relay connections and recovery behavior during compatible renegotiation. - Prevent delayed events and cleanup from retired connections from disrupting their replacements. - Use the new invitation when another invite link opens in the same page. - Fix a Windows crash during failed source-preview cleanup. Update Piik App and refresh the page to use these fixes. No configuration changes are required. ## Verification / 验证 - TypeScript type checking, 71 Vitest files / 1,015 tests and Web production build. - Go core tests, vet and supported cross-target builds; receiver tests exercise H.264/VP8/Opus, ICE restart, fresh gathering and retained downstream media. - Windows native compile/probe and deterministic capture checks, including failed-preview cleanup. - Documentation and repository hygiene checks; independent review of the extracted patch and old/new Web/App capability negotiation. - Local full-suite runs reached the unchanged Git fixture's 5-second timeout; that suite passed alone. The complete suite was rerun with two workers and a 15-second test deadline. ## Impact / 影响 Planned version: v1.5.6. Existing public wire versions and configuration are retained. Receiver reuse is capability-negotiated: old Apps receive no new request field, and old pages receive no new answer field. Room authority, routing policy and retry budgets are unchanged. The established-viewing interruption report still lacks paired diagnostics; these reproduced defects do not establish that reporter's exact cause. Physical device/network endurance remains outside local deterministic acceptance. Git/PRs retain this repair history; the TODO ledger retains outstanding reports and separate feature candidates.
Piik
Share the good stuff.
Private screen sharing for you and up to 20 friends.
Website · Download · Gitee mirror · Use online · Documentation
English · 简体中文
Piik is a free, open-source screen sharing tool for games, movie nights, drawings and photos. Choose what to share and send an invitation. Your friends watch in their browsers.
Features · Get started · Self-hosting · Contributing
Features
- Watch without installing. Friends join by invitation in a desktop or mobile browser.
- Share from Piik App or an existing Piik site. Capture a screen, window or browser tab; available sources and audio depend on the platform.
- Direct connections first. Media travels between participants where possible (P2P). A self-hosted server can provide automatic media forwarding (SFU) as a fallback.
- Rooms you control. Invitations, room codes and optional room passwords, for one host and up to 20 viewers.
- Flexible viewing. Light and dark themes, playback controls, picture-in-picture and a connection topology view.
- One program to host a site. Web UI, room management and optional media forwarding are packaged together.
Interface preview · Sample room with a generated game scene
Get started
To watch: open the invitation your friend sends you. Select Play if the picture does not start automatically.
To share: download Piik App to get started. To share without installing, you can also create a room in the online version.
| Start here | What you need to do |
|---|---|
| Use Piik online | Open it in a desktop browser to create a room and share. |
| Download Piik App | Extract and open the App, choose Public invite, then Open Piik to create a temporary room. |
| Host your own site | Advanced: deploy Piik Server on a Linux x64 server with your own domain, then connect through Piik App or a browser. |
- Select Start sharing, then choose the picture and audio to share.
- Select Copy invite link and send it to your friends. Keep the sharing tab open.
Piik follows your system language: Chinese or English, with English as the fallback. Use 中 / EN / ✦ in the header to switch language or try the visual mode. The App offers a local room, a temporary public link, or a connection to your own site. Keep the App running while sharing through it.
Download a ZIP beginning with piik-app. The filename also identifies the platform:
| Filename contains | Platform |
|---|---|
windows-amd64 |
Windows x64 |
darwin-arm64 |
Apple silicon; native capture requires macOS 13+ |
linux-amd64 |
Linux x64 |
Full setup guide → · Open online →
Browser capture requires HTTPS or localhost. Windows App and desktop browser
sharing are the primary tested paths. The macOS and Linux apps have not yet been
tested on physical devices; test results and feedback are welcome.
P2P-only modes, including the App's temporary public
link and the online version, may not connect on restrictive networks.
Self-hosting
Piik Server is a standalone binary with the web interface built in.
Download the Linux x64 Server package (piik-<revision>-runtime.tar.gz),
extract it, and run:
./piik-server
Open http://localhost:8787 to try it locally. For a public site, configure your
domain, HTTPS reverse proxy and STUN address. Room data is stored in SQLite.
For containers, use the Docker Compose setup.
Deploy your own site → · Configuration · Run from source
Contributing
Bug reports, translations, documentation improvements and pull requests are welcome. See ways to contribute or help translate Piik. Use the repository layout to find your way around.
License
Piik-owned code is MIT licensed. Dependencies retain their own licenses and notices.