Yejun Su
0571d42b80
npm audit fix
2026-05-08 18:19:14 +08:00
Yejun Su
cff6aa693c
chore: migrate @mariozechner pi packages to @earendil-works namespace
2026-05-08 18:18:04 +08:00
Yejun Su
084515c199
npm audit fix
2026-04-30 23:19:50 +08:00
Yejun Su
a489ff84bd
fix install
...
npm error command sh -c husky
Error: npm install --omit=dev failed with code 127
2026-04-30 23:19:49 +08:00
Yejun Su
fc5d448a29
chore: add lint:check script and use it in pre-commit hook
2026-04-29 10:13:36 +08:00
Yejun Su
d22b853de2
chore: add husky pre-commit hook for linting
2026-04-21 15:31:09 +08:00
Yejun Su
82c463ec27
chore(remote-control): add Biome and fix all lint warnings
2026-04-21 14:09:42 +08:00
Yejun Su
06fa1147f3
extensions/pi-remote-control -> extensions/remote-control
2026-04-21 12:51:38 +08:00
Yejun Su
8cffeb9e27
fix(remote-control): clear stale status badge on session reload
2026-03-22 00:51:10 +08:00
Yejun Su
9e92201206
feat(statusbar): show cwd with home abbreviated to ~
2026-03-22 00:46:45 +08:00
Yejun Su
9207b3198a
docs: improve README with screenshot, security details, and fixes
2026-03-20 21:15:19 +08:00
Yejun Su
54267f1842
docs: rewrite README and add architecture docs
2026-03-20 20:56:53 +08:00
Yejun Su
63a879046b
fix(remote-control): send utf-8 charset for plain text errors
2026-03-20 20:12:47 +08:00
Yejun Su
9821efa370
fix(remote-control): always sync on session switch even if turn started
2026-03-20 19:05:28 +08:00
Yejun Su
b77c2a57b0
fix(remote-control): re-check idle state inside delayed sync callback
2026-03-20 18:51:11 +08:00
Yejun Su
aacabde7dc
fix(remote-control): avoid mid-turn model resync
2026-03-20 18:39:04 +08:00
Yejun Su
0dd6960688
fix(remote-control): resync after restored model changes
2026-03-20 18:32:15 +08:00
Yejun Su
33403bd030
fix(remote-control): resync clients on session switch
2026-03-20 18:26:22 +08:00
Yejun Su
f16a5fed83
fix(remote-control): use keybinding hints in info panel
2026-03-20 18:05:53 +08:00
Yejun Su
55741ff9af
fix(remote-control): use keybindings for closing info panel
2026-03-20 17:59:44 +08:00
Yejun Su
ad08d297a5
fix(server): prevent shutdown hang by forcefully terminating connections
...
Use client.terminate() instead of client.close() to avoid waiting for
unresponsive clients to acknowledge the WebSocket close handshake.
Add a 2-second safety timeout that closes the HTTP listener, destroys
lingering sockets, and resolves the promise so session_shutdown does not
block pi from exiting.
2026-03-19 14:37:31 +08:00
Yejun Su
37dc2b2f1e
feat(ui): add stop/abort button to web remote control
...
When the agent is streaming, the send button becomes a red stop button
that sends a { type: "stop" } WebSocket message. The server handles this
by calling ctx.abort() to cancel the current agent operation.
2026-03-19 13:55:08 +08:00
Yejun Su
4bc4cfa630
feat(html): add markdown table rendering to inline renderer
2026-03-19 13:29:14 +08:00
Yejun Su
98642b5b5a
fix(ui): update HTML title to "π - remote-control"
2026-03-19 13:02:26 +08:00
Yejun Su
824ae6a203
fix: replace qrencode system dependency with pure-JS qrcode package
...
Use the 'qrcode' npm package instead of shelling out to the 'qrencode'
binary. Load via createRequire for ESM/CJS interop. Use margin: 2 to
avoid the utf8 renderer's invalid array length bug with odd margins.
2026-03-19 12:59:05 +08:00
Yejun Su
be2c015b72
refactor: extract index.ts into config, auth, messages, html, and server modules
2026-03-19 12:43:31 +08:00
Yejun Su
7080cdc34f
feat(ui): replace subcommands with interactive menu
...
/remote-control now opens a select menu with Turn on/off,
Configure URL, and Status instead of relying on subcommands.
Adds ability to stop the server. Shows current URL in the
Configure URL menu item and in the input dialog title.
2026-03-19 12:32:26 +08:00
Yejun Su
ee3341d20c
feat: add --remote-control flag, status indicator, and fix config check ordering
2026-03-19 12:10:39 +08:00
Yejun Su
18f49a6828
chore: initial commit
2026-03-19 10:41:11 +08:00