Commit Graph
100 Commits
Author SHA1 Message Date
Federico Jaramillo Martinez d02bbfa545 refactor(test): migrate WorkspaceFilesPanel test to shared template-inspection seam
Route genuine Lit event-wiring (upload input change, form submit, file-tree
row clicks) through the shared templateInspection.testSupport escape hatch and
add the required proportionality comment. Move viewer content messaging
(empty/loading/binary states) to a new public workspaceFileViewerStatusLabel
seam on the component instead of scraping Lit markup for text. Delete the
per-file inspection helper cluster; drop @public from the two shared helpers
that now have a real importer.
2026-07-17 21:06:12 +02:00
Federico Jaramillo Martinez e7926e173b refactor(test): route SettingsDialog panel test through a public seam
Replace the SettingsDialog.general.test.ts markup-scraping assertion (which
scraped the rendered TemplateResult for '<settings-general-panel', 'scope-note',
'This tab edits:') with an exported pure routing seam activeSettingsPanelTag()
and assert the section->panel contract directly. Delete the now-unused
collectTemplateStrings helper and its private template-reflection cluster from
SettingsDialog.testSupport.ts.

The .packages/.plugins/.sessiond siblings inspect no TemplateResult internals
(orchestration reflection only), so no migration was needed for them.
2026-07-17 20:48:17 +02:00
Federico Jaramillo Martinez 946f7612ae refactor(test): move SettingsSessiondPanel assertions to a public seam
Migrate the prime Finding-2 offender off Lit TemplateResult scraping. The
panel's dynamic notice-stack logic is extracted into an exported pure
sessiondPanelNotices() (plus SessiondPanelNoticeContext) and the existing
sessiondDescription is exported, so the test asserts notice
composition/ordering and the scope description through public seams instead of
flattening rendered template internals. Save and draft-preservation behavior
are observed via the injected onSave callback and public state.

Removes all per-file template-inspection helpers and the escape-hatch need for
this file (testing-guide Findings 1-3).
2026-07-17 20:41:49 +02:00
Federico Jaramillo Martinez 55bc567b7b refactor(test): add shared template-inspection test helper (Slice A)
Consolidate the duplicated, per-file Lit TemplateResult inspection helper
cluster into one shared, strictly-typed, type-guarded seam at
src/client/src/templateInspection.testSupport.ts, documented as the
testing-guide escape hatch. Migrate PiWebApp.clearQueue.test.ts to it as a
proof and delete its local copies. Tag not-yet-consumed public entry points
with @public so knip does not flag them until Slice B adds consumers.

Relay: testing-skill-compliance leg 1 (Finding 1).
2026-07-17 20:23:21 +02:00
Federico Jaramillo Martinez caaa8c4ebc docs(test): audit testing-guide compliance gaps for fix relay 2026-07-17 19:35:40 +02:00
Federico Jaramillo Martinez aedcbf885e feat(sessions): surface live session startup warnings in the web UI
Show a pinned banner at the top of the session view with resource and
runtime diagnostics (skills, prompts, themes, extension load errors) plus
the Anthropic subscription-auth billing notice, recomputed live from the
current runtime so they stay accurate across browser reloads.

Warnings carry an optional dismiss capability; the Anthropic notice is
dismissable and durably suppressed through pi's own anthropicExtraUsage
warning setting. Also fixes the testing-guide skill frontmatter so it
loads.
2026-07-17 19:16:58 +02:00
Federico Jaramillo Martinez 2b17145291 feat(sessions): stream in-flight partial when joining a mid-turn session
Seed the in-flight partial assistant message (text, thinking, and
in-progress tool calls) when opening or reconnecting to a session that is
mid-stream, then continue streaming live deltas on top of it. Replaces the
blocking "Catching up..." placeholder and the end-of-turn transcript reload.

Server stamps every per-session UI event with a monotonic seq at the
SessionEventHub publish choke point and exposes
GET /sessions/:sessionId/stream-snapshot returning { seq, partial }. The
client fetches the snapshot on join, seeds the normalized partial into the
in-memory transcript (never the history cache), and applies buffered/live
events using the seq watermark for exactly-once delivery.

The snapshot is a progressive enhancement: a 404 from an older remote
pi-web or a not-yet-restarted session daemon falls back to an empty seed
(seq 0, drops nothing), so sessions still open and stream normally. The
stream-snapshot route is registered in the federation allowlist for
remote-machine proxying.
2026-07-17 14:49:56 +02:00
Federico Jaramillo Martinez ae9eaf3082 Match image zoom close button to app button styling 2026-07-17 11:15:05 +02:00
Federico Jaramillo Martinez 6cd666f9b8 Add click-to-enlarge modal viewer for chat images 2026-07-17 09:52:54 +02:00
Federico Jaramillo Martinez 15d25d8c2e fix(subsessions): omit oversized completion output 2026-07-17 09:22:54 +02:00
Federico Jaramillo Martinez a857fe4ef3 Merge pull request #58 from ongspxm/feat_addtermflag
feat(terminals): set PI WEB shell environment
2026-07-14 23:58:52 +02:00
Federico Jaramillo Martinez 8da7b29ba6 fix(terminals): namespace terminal environment marker 2026-07-14 23:56:24 +02:00
Federico Jaramillo Martinez 1c22558105 test(terminals): cover IS_PIWEB spawn paths 2026-07-14 23:48:30 +02:00
Federico Jaramillo Martinez 037b7c61bb fix(package): remove ineffective node-pty script approval 2026-07-14 23:43:06 +02:00
Federico Jaramillo Martinez cc4443ea55 Merge pull request #60 from jmfederico/fix/pr-53-live-tool-result-images
fix: show live tool result images outside event groups
2026-07-14 23:36:54 +02:00
Federico Jaramillo Martinez 58aa9b8955 fix: use standard chat styling for tool images 2026-07-14 23:28:06 +02:00
Federico Jaramillo Martinez 5fa52a9fba fix: present tool images as labeled output 2026-07-14 22:55:07 +02:00
Federico Jaramillo Martinez b8c12caa9e test: isolate chat image rendering coverage 2026-07-14 09:02:46 +02:00
Federico Jaramillo Martinez c22a2feff6 fix: keep late-loading chat images pinned 2026-07-14 08:58:00 +02:00
Federico Jaramillo Martinez 4d9167e837 Merge pull request #57 from jmfederico/pr-36-generic-agent-config
feat: add Pi-compatible agent profiles
2026-07-14 08:49:07 +02:00
Federico Jaramillo Martinez 5ce76a12e2 fix: show live tool result images 2026-07-14 08:48:48 +02:00
Federico Jaramillo Martinez ca07e48c0a docs: clarify Pi-compatible agent profiles 2026-07-14 00:30:09 +02:00
Federico Jaramillo Martinez a1f749cdb6 feat: add server session queue clearing 2026-07-14 00:24:14 +02:00
Federico Jaramillo Martinez 8b5ccc2fd9 feat: apply agent profile settings atomically 2026-07-14 00:11:39 +02:00
Federico Jaramillo Martinez c0465c4a5c fix: delimit subsession output from guidance 2026-07-14 00:04:53 +02:00
Federico Jaramillo Martinez 0761e1509a fix: report remaining subsessions on completion 2026-07-13 23:41:20 +02:00
Federico Jaramillo Martinez adc2e297a4 fix: harden agent profile boundaries 2026-07-13 23:39:49 +02:00
Federico Jaramillo Martinez 97e0afc6fa feat: route profile consumers through sessiond 2026-07-13 23:09:32 +02:00
Federico Jaramillo Martinez 141cda93c8 feat: expose daemon-owned active agent profile 2026-07-13 22:50:50 +02:00
Federico Jaramillo Martinez d5154dfb3a feat: add explicit tracked subsession yielding 2026-07-13 22:45:07 +02:00
Federico Jaramillo Martinez a1a019e7b1 chore: merge origin/main 2026-07-13 22:36:36 +02:00
Federico Jaramillo Martinez 37fba00066 Merge pull request #50 from jmfederico/review-issue-48
fix: store session archives under PI_WEB_DATA_DIR
2026-07-13 21:11:50 +02:00
Federico Jaramillo Martinez cb61146b0a fix(tests): isolate Git fixtures from hook environment 2026-07-13 21:11:05 +02:00
Federico Jaramillo Martinez e53802018d docs: define documentation placement guidance 2026-07-13 21:07:50 +02:00
Federico Jaramillo Martinez cfa9f5a2fa Merge remote-tracking branch 'origin/main' into pr-36-generic-agent-config
# Conflicts:
#	docs/config.html
#	docs/config.md
#	src/cli.test.ts
#	src/cli.ts
#	src/client/src/components/settings/SettingsSessiondPanel.ts
#	src/client/src/components/settings/settingsConfigDraft.test.ts
#	src/client/src/components/settings/settingsConfigDraft.ts
#	src/server/app.test.ts
#	src/server/app.ts
#	src/server/configRoutes.test.ts
#	src/server/configRoutes.ts
#	src/server/piWebPluginService.test.ts
#	src/server/piWebPluginService.ts
#	src/server/piWebStatus.test.ts
#	src/server/piWebStatus.ts
#	src/server/piWebStatusCache.ts
#	src/server/sessions/authService.test.ts
#	src/server/sessions/piSessionService.ts
#	src/server/sessions/sessionRoutes.test.ts
2026-07-13 20:30:08 +02:00
Federico Jaramillo Martinez 926693a2d1 Merge pull request #51 from jmfederico/fix/pr-46-base-path
fix: make base-path deployments portable
2026-07-13 19:59:52 +02:00
Federico Jaramillo Martinez 1cad424b07 docs: keep managed data reference timeless 2026-07-13 19:55:09 +02:00
Federico Jaramillo Martinez 6174cf381c docs: keep README quick start concise 2026-07-13 19:08:51 +02:00
Federico Jaramillo Martinez 02b4279a54 Merge pull request #52 from jmfederico/fix/service-shell-preflight
fix: preflight native services in manager context
2026-07-13 19:04:03 +02:00
Federico Jaramillo Martinez 050b053d23 test(sessiond): harden archive migration safety 2026-07-13 14:45:14 +02:00
Federico Jaramillo Martinez 31c98454ec fix(sessiond): migrate legacy archives before startup 2026-07-13 14:37:05 +02:00
Federico Jaramillo Martinez c64a01da63 fix(client): enforce application path conventions 2026-07-13 14:29:50 +02:00
Federico Jaramillo Martinez 7878cbe57b fix(sessions): add safe legacy archive migration core 2026-07-13 14:26:32 +02:00
Federico Jaramillo Martinez 0981a2dc8f fix(cli): use POSIX launchd probe paths 2026-07-13 14:15:59 +02:00
Federico Jaramillo Martinez a8aee7b550 fix(cli): use POSIX native service paths 2026-07-13 13:10:34 +02:00
Federico Jaramillo Martinez a9bcfe25ff fix: preserve plugin manifest compatibility 2026-07-13 12:29:21 +02:00
Federico Jaramillo Martinez 767e653028 fix(cli): harden native service manager preflight 2026-07-13 01:28:04 +02:00
Federico Jaramillo Martinez dde48b3b11 fix(cli): diagnose native service plans in manager context 2026-07-13 00:41:51 +02:00
Federico Jaramillo Martinez 3ac6679952 fix(cli): preflight native services in manager context 2026-07-13 00:25:53 +02:00
Federico Jaramillo Martinez 5ce793add9 refactor(cli): define canonical native service plans 2026-07-13 00:08:09 +02:00
Federico Jaramillo Martinez 0d3096973e docs: remove reverse proxy section from README 2026-07-13 00:04:01 +02:00
Federico Jaramillo Martinez da680f41e1 docs: trim README reverse proxy example 2026-07-12 23:57:26 +02:00
Federico Jaramillo Martinez 62ba7f394a test(client): cover resolved update check URLs 2026-07-12 23:30:05 +02:00
Federico Jaramillo Martinez a493949c2a docs: document reverse proxy path prefixes 2026-07-12 23:28:20 +02:00
Federico Jaramillo Martinez ceeb0d413d fix(plugins): make manifests deployment relative 2026-07-12 23:28:03 +02:00
Federico Jaramillo Martinez 4b2882bb5c fix(client): make build assets deployment relative 2026-07-12 23:27:43 +02:00
Federico Jaramillo Martinez c661fad7e3 fix(client): resolve URLs from application base 2026-07-12 23:27:43 +02:00
Federico Jaramillo Martinez d72b14f40a feat: add manual PI WEB update checks 2026-07-12 23:21:43 +02:00
Federico Jaramillo Martinez a0ea2bbb45 docs: keep managed data guidance general 2026-07-12 23:20:02 +02:00
Federico Jaramillo Martinez 619e293857 docs: move archive upgrade note to changeset 2026-07-12 23:10:10 +02:00
Federico Jaramillo Martinez f9c0fed5e3 fix: preserve extension-only plugin asset MIME types 2026-07-12 23:07:16 +02:00
Federico Jaramillo Martinez ec0ca13120 fix: store session archives under PI_WEB_DATA_DIR 2026-07-12 22:52:59 +02:00
Federico Jaramillo Martinez 21c58fe656 fix: serve plugin SVG assets with correct MIME type 2026-07-12 22:39:41 +02:00
Federico Jaramillo Martinez 16b801b8cd chore(release): v1.202607.0 2026-07-12 20:47:05 +02:00
Federico Jaramillo Martinez 256db336e3 chore(changesets): normalize pending release notes 2026-07-12 20:24:33 +02:00
Federico Jaramillo Martinez 6213940eea test: tolerate build graph contention 2026-07-12 20:14:40 +02:00
Federico Jaramillo Martinez 1db2ae5a9f fix(ci): avoid Windows shebang parse failure 2026-07-12 20:03:30 +02:00
Federico Jaramillo Martinez 338faf4b81 perf: speed up chat loading and resume 2026-07-12 09:22:19 +02:00
Federico Jaramillo Martinez 02f34c495c feat(terminal): add touch-friendly copy mode 2026-07-11 22:50:25 +02:00
Federico Jaramillo Martinez 6fbeed345e fix(sessions): clarify subsession join guidance 2026-07-11 22:03:31 +02:00
Federico Jaramillo Martinez dfab743a71 fix: harden cross-platform release builds
Skip direct POSIX entrypoint execution on Windows CI and prevent test-support modules from entering clean build or npm package output.
2026-07-11 20:30:51 +02:00
Federico Jaramillo Martinez bc6718a7e2 fix: stabilize mobile message headers 2026-07-11 16:26:41 +02:00
Federico Jaramillo Martinez 52925c1405 fix(sessions): restrict delegation tools in tracked children 2026-07-11 15:56:20 +02:00
Federico Jaramillo Martinez a660ba8ef8 fix(sessions): clarify subsession waiting behavior 2026-07-11 09:41:03 +02:00
Federico Jaramillo Martinez 410242aae8 Merge branch 'test-suite-audit-followup'
# Conflicts:
#	src/server/sessions/piSessionService.test.ts
2026-07-10 22:44:13 +02:00
Federico Jaramillo Martinez 32907bba5f chore(deps): update runtime and development packages 2026-07-10 22:10:40 +02:00
Federico Jaramillo Martinez abcf44b962 fix: show complete chat message metadata 2026-07-10 22:10:40 +02:00
Federico Jaramillo Martinez b0d4942b8d test(client): cover workspace upload helper options 2026-07-05 01:00:25 +02:00
Federico Jaramillo Martinez 6b61596ebd test(sessions): cover attachment filename safety 2026-07-05 00:49:45 +02:00
Federico Jaramillo Martinez c0538cff65 test(client): cover prompt attachment paste wiring 2026-07-05 00:41:38 +02:00
Federico Jaramillo Martinez a6e0f1db18 test(client): cover workspace files panel tree boundary 2026-07-05 00:26:34 +02:00
Federico Jaramillo Martinez fad83772b7 test(client): cover file explorer tree workflows 2026-07-05 00:20:17 +02:00
Federico Jaramillo Martinez 7b11f2ad75 test(server): cover websocket bridge behavior 2026-07-05 00:16:27 +02:00
Federico Jaramillo Martinez 168343a289 test(terminals): cover lifecycle publication 2026-07-05 00:11:22 +02:00
Federico Jaramillo Martinez afc0a21bfc test(client): cover machine add workflow 2026-07-05 00:06:18 +02:00
Federico Jaramillo Martinez 6bfb0a47d3 test(machines): cover remote mutation contract 2026-07-05 00:01:39 +02:00
Federico Jaramillo Martinez 1f26ae3935 test(sessions): cover archive lookup edge cases 2026-07-04 23:58:32 +02:00
Federico Jaramillo Martinez 386386d2b5 test(sessions): split pi session service specs 2026-07-04 23:53:58 +02:00
Federico Jaramillo Martinez 04f9d0e764 test(client): split session controller specs 2026-07-04 23:48:12 +02:00
Federico Jaramillo Martinez 4c084b77cc test(server): split app route specs 2026-07-04 23:41:49 +02:00
Federico Jaramillo Martinez 45bcc63544 test(settings): split settings dialog specs 2026-07-04 23:35:11 +02:00
Federico Jaramillo Martinez 9fed05850f test(workspaces): split file content service specs 2026-07-04 23:29:50 +02:00
Federico Jaramillo Martinez a26654153b docs: shorten testing guide skill description 2026-07-04 23:20:37 +02:00
Federico Jaramillo Martinez 6bf2726904 Merge remote-tracking branch 'origin/main' into test-suite-audit-followup 2026-07-04 22:47:22 +02:00
Federico Jaramillo Martinez 40b1d2dabc Merge remote-tracking branch 'origin/main' into test-suite-audit-followup 2026-07-04 22:44:39 +02:00
Federico Jaramillo Martinez eb1727688f fix: preserve legacy federated session actions 2026-07-04 22:39:55 +02:00
Federico Jaramillo Martinez 9006db1e6d test: tolerate Windows line endings in Docker docs check 2026-07-04 22:36:45 +02:00
Federico Jaramillo Martinez 73b169a768 test: close selected coverage gaps 2026-07-03 21:40:36 +02:00
Federico Jaramillo Martinez 8511604e83 test: close audit cleanup findings 2026-07-03 21:40:36 +02:00
Federico Jaramillo Martinez 10efb7f221 fix(sessions): name relay handoffs deterministically 2026-07-03 10:51:45 +02:00