Commit Graph
72 Commits
Author SHA1 Message Date
AAA f92162b3bb feat: launch Piik with a unified interface and public website
Piik now has one public presentation and a coordinated App/Server release path. This phase unifies the room UI, rewrites the bilingual README and guides, adds a static website with an inline product film, and prepares matching GitHub/Gitee packages and update links.

The film uses the current homepage and shared product controls on one seekable timeline. Runtime fixes preserve presentation when the App opens a room, normalize Site origins, and keep capture and media-recovery status in the television indicator. New visits use Chinese for a Chinese system language and English otherwise; explicit language and visual-mode choices remain available. An optional site passphrase controls site entry, while room authorization remains enforced.

GitHub is the release authority. Gitee mirrors verified packages and provides update metadata when GitHub is unavailable. Reviewed PR release notes become the GitHub Release description. The separate public demo uses P2P only, with HTTPS and STUN verified.

Validation: 756 Web tests, TypeScript and production build; Go core tests, formatting, vet and available target builds; bounded Windows capture and App/Site interoperability; browser film checks, audible playback and narrow layouts; anonymous Gitee Windows-package download, checksum and launcher/update-link checks. Public demo acceptance covers authenticated WebSocket signaling, synthetic P2P video and room cleanup on one network. macOS/Linux physical capture and the wider device/network/endurance matrix remain explicitly deferred.

Publication builds every package from the merged source SHA. The repository is public, main protection is active, and Pages is configured for piik.tv. CI/publisher and Pages deployment records own publication results.

## Release notes

### 中文

Piik 是免费开源的屏幕共享工具。开个房间,发出邀请,最多 20 位朋友就能用浏览器加入观看。

- 使用浏览器或 Piik App 分享游戏、窗口和整个屏幕。
- 优先建立直连;自托管站点可开启媒体转发作为备用线路。
- Piik App 支持本地房间、临时公网邀请和已有站点。
- Piik Server 内置网页界面、房间管理和连接服务,方便自行部署。
- 提供中英文界面与使用指南,以及 GitHub、Gitee 两条下载线路。

[官网](https://piik.tv) · [在线体验](https://demo.piik.tv) · [使用指南](https://github.com/TNTcraftHIM/Piik/blob/main/docs/guide/getting-started.zh-CN.md) · [自行部署](https://github.com/TNTcraftHIM/Piik/blob/main/docs/operations/self-hosting.zh-CN.md) · [Gitee 下载](https://gitee.com/TNTcraftHIM/Piik/releases)

Windows App 和桌面浏览器是本次主要验证的平台。macOS 和 Linux 尚未经过实机测试,欢迎有设备的朋友测试并反馈。演示站和 App 公网邀请使用 P2P,受限网络下可能无法连接;自托管站点可开启媒体转发。

### English

Piik is free, open-source screen sharing for you and up to 20 viewers. Start a room, send an invitation, and your friends can join in a browser.

- Share games, windows or a whole screen from your browser or Piik App.
- Direct connections come first, with optional media forwarding on self-hosted sites.
- Piik App supports local rooms, temporary public invitations and existing sites.
- Piik Server includes the web interface, rooms and connection services for self-hosting.
- English and Chinese interfaces and guides are available, with GitHub and Gitee downloads.

[Website](https://piik.tv) · [Online demo](https://demo.piik.tv) · [User guide](https://github.com/TNTcraftHIM/Piik/blob/main/docs/guide/getting-started.md) · [Self-hosting](https://github.com/TNTcraftHIM/Piik/blob/main/docs/operations/self-hosting.md) · [Gitee downloads](https://gitee.com/TNTcraftHIM/Piik/releases)

Windows App and desktop browsers are the primary validated paths. macOS and Linux have not yet been tested on physical devices; testing and feedback are welcome. The demo and App public invitations rely on P2P and may not connect on restrictive networks. Self-hosted sites can enable media forwarding.
2026-09-12 22:09:12 +08:00
AAA 0dd9f57153 chore(app): name the standalone application Piik App 2026-09-10 12:25:31 +08:00
AAA 1332473513 feat: rename product and runtime to Piik
Rename the active product, Go module, binaries, configuration, protocols and documentation to Piik while retaining the TV mascot and existing media/room behavior.

Use one current private contract without old-name aliases. Preserve SQLite authority and copy compatible local settings once; other settings start fresh. Git-message cleanup and the infrastructure name cutover are coordinated with this phase, with original history and deployment data archived externally.

Validated locally with Web and Go checks, Windows capture compilation, matched Client/Server builds, packaged Client control handshake and history-rewrite integrity checks. Skip duplicate hosted CI for this owner-authorized local release.

[skip ci]
2026-09-10 11:10:12 +08:00
AAA c9a6642ac1 feat(media): share Browser encoding and complete local diagnostics
* fix: allow Linux interface discovery in embedded media service

* feat: expand local diagnostic reports

* research: validate independent Browser encoding producers

* feat: prototype Browser pool ownership and record remaining media gates

* feat: refine Browser shared encoders and native output reuse

* Refine carrier costs and simplify release entry points

* Close media phase and prepare piik design handoff
2026-09-09 20:59:44 +08:00
AAA da47189fc3 refactor: unify Go runtime and audited frontend
Squash integration of the reviewed Go core, frontend audit fixes, release tooling, and deployment hygiene. CI passed all Server/Client jobs.
2026-09-06 23:26:01 +08:00
AAA 9579a91168 fix: finish native client lifecycle and capture aspect
Accepted native Client lifecycle and Windows capture aspect phase. All Web/Server and three-platform Client checks passed.
2026-09-05 22:41:46 +08:00
AAA 5781d6bbfa feat(client): complete native source and release boundary
Complete the Native Client source/audio boundary, strict v5 loopback contract, Browser media lifecycle handling, and non-blocking release checks. Keep unverified platform/physical gates explicit; do not rewrite the Go Server.
2026-09-04 03:42:54 +08:00
AAA 3583e92938 feat(nat): make NAT prediction deployment-configurable (#372)
* Make NAT prediction deployment-configurable

* Ignore optional predicted candidate rejection
2026-09-02 01:37:04 +08:00
AAA 76a6eb7f85 feat(nat): add opt-in NAT candidate experiment (#366) 2026-09-01 13:18:05 +08:00
AAA 69f20e86e7 docs: document browser platform output boundaries (#353) 2026-08-31 03:27:55 +08:00
AAA 3d960dc5bd docs: simplify repository truth architecture (#295)
Modularize durable truth, bound always-loaded instructions, and keep domain-document size checks advisory. Local cross-platform repository hygiene checks pass; GitHub-hosted steps were not started because of the account billing state.
2026-08-27 11:45:24 +08:00
AAA c0c5b1e661 docs: align recovery authority truth (#280) 2026-08-26 23:28:10 +08:00
AAA 1035d4e6bd docs: accept stable room authority and codec controls 2026-08-26 19:27:33 +08:00
AAA 2d3e82e1f1 test(media): validate codec and recovery boundaries 2026-08-26 15:18:00 +08:00
AAA 89db0b47ba feat(sfu): enable native representation adaptation 2026-08-25 10:01:42 +08:00
AAA da270be0c9 docs(quality): accept native SFU adaptation result 2026-08-25 09:18:25 +08:00
AAA 9591b4daff docs: record single-representation production gate (#249) 2026-08-25 06:11:15 +08:00
AAA 3cc858477b docs(quality): accept single-high SFU representation (#247) 2026-08-25 05:17:28 +08:00
AAA d2ccc5fe24 docs: accept audio and room v12 contract 2026-08-24 21:56:15 +08:00
AAA 309e6a9e61 docs(route): record SFU ICE isolation source 2026-08-24 20:28:16 +08:00
AAA de6519c01a docs(route): isolate Browser SFU ICE servers (#234) 2026-08-24 20:14:29 +08:00
AAA e86222e4a2 docs(deploy): record Browser v11 postflight
Record the deployed Browser v11 postflight, simplify routine app-only release retention, and set the current media-regression work order.
2026-08-24 16:11:06 +08:00
AAA a26a8b0a19 docs(media): select fixed Browser VP8 2026-08-24 14:37:03 +08:00
AAA 815568bb49 docs(media): select fixed Browser VP8
Select the fixed Browser VP8 contract and record the H.264 encoder-selection evidence.
2026-08-24 12:10:17 +08:00
AAA 6c37395f9d docs(deploy): record Browser v10 postflight (#226) 2026-08-24 11:20:51 +08:00
AAA 03e2a5face docs(release): record Browser v9 production postflight 2026-08-24 09:10:23 +08:00
AAA d74d9443dd docs(product): record Browser v9 source checkpoint 2026-08-24 08:32:42 +08:00
AAA 1301ad73b5 docs(media): fence codec proof attempts 2026-08-24 05:44:39 +08:00
AAA bcc6d7c188 docs(route): retire application TURN (#215) 2026-08-24 01:34:15 +08:00
AAA 23c163e65e docs(deploy): record browser route release 2026-08-23 20:00:29 +08:00
AAA 24ce10d5a1 docs(truth): checkpoint route and room state 2026-08-23 19:27:02 +08:00
AAA f995515181 docs(route): simplify controller reconciliation 2026-08-23 11:02:40 +08:00
AAA 1979354264 docs: accept holistic routing truth (#196) 2026-08-22 19:46:17 +08:00
AAA c230dafbd4 docs: converge current truth and todo (#195) 2026-08-22 14:07:29 +08:00
AAA 6fa63024bd docs: quarantine disputed TODO truth
Quarantine disputed TODO and routing claims, record current production facts, and define the canonical workspace restoration order before any further implementation.
2026-08-22 12:17:56 +08:00
AAA b81aa75cda docs: split current status from verification ledger (#167)
Keep the main status snapshot concise and archive durable verification evidence in an indexed secondary document.
2026-08-22 04:29:51 +08:00
AAA 6a51ae45ce refactor: remove mobile sender product path (#119) 2026-08-21 10:08:19 +08:00
AAA 92355de537 feat(android): add screen sender first slice (#104)
Add the Android 14+ MediaProjection direct-child sender, focused protocol tests, compile gate, and durable mobile/TV capability boundaries. Local official-SDK acceptance passed after GitHub runners were blocked before step execution by account billing.
2026-08-21 05:01:17 +08:00
AAA 18bee982a4 fix: require site access for code-only viewers (#100) 2026-08-21 03:53:03 +08:00
AAA e867d89418 docs: clarify active media route state (#94) 2026-08-21 02:48:42 +08:00
AAA 3738db6e51 feat(web): request window-scoped display audio
Merge browser window-audio hint and honest scope status; retain native WASAPI boundary in ADR-0008.
2026-08-21 01:01:22 +08:00
AAA e87498d414 feat(native): add opt-in H264 sender path (#85)
Adds an explicit H.264 Native sender mode while preserving VP8 as the default, with one bounded Host/Viewer loopback and an explicit hardware-attribution caveat.
2026-08-21 00:44:38 +08:00
AAA 83ce08302f docs(media): restore selected-edge transport policy (#71)
* docs(deploy): record routing and TURN canaries

* docs(media): restore selected-edge transport policy
2026-08-20 17:15:08 +08:00
AAA 2c38d14f54 test(native): probe Media Foundation H264 hardware encode (#70) 2026-08-20 16:08:29 +08:00
AAA 555b728b32 docs(media): record codec hardware decision (#69) 2026-08-20 15:32:00 +08:00
AAA 1e11e09261 feat: add exact-room peer ICE TURN fallback (#66) 2026-08-20 13:37:02 +08:00
AAA 51a3022ae1 feat(presence): show named online viewer roster (#64) 2026-08-20 13:17:26 +08:00
AAA f842d825cc docs(quality): close SVC gate and prioritize built-in adaptation 2026-08-19 23:30:02 +08:00
AAA 4914790dd2 docs(access): design room-scoped viewer grants 2026-08-19 22:46:58 +08:00
AAA ae298aadd2 feat(media): migrate ordinary ICE to STUN-only 2026-08-19 20:44:36 +08:00