amosblomqvist
5984eb4914
fix: render failed-response retry refusals as readable text
...
Decode only Retry's HTTP 400 error field for the existing banner. Preserve raw model/key refusal envelopes and other submission-error handling.
Verified on the accepted-main integration: 2424 full-suite tests, typecheck, full ESLint, production build and isolated synthetic production-browser Retry/Submit smoke. No real provider calls.
2026-10-27 18:35:31 +02:00
amosblomqvist
f24fda926a
fix: finish new-session opening-message handoff
2026-10-27 18:19:38 +02:00
amosblomqvist
282f01e1f4
Merge accepted local main into PR #184 working branch
2026-10-27 18:12:09 +02:00
amosblomqvist
8ca291526c
Merge accepted local main into PR #154 working branch
2026-10-27 17:13:15 +02:00
amosblomqvist
82c6999a63
fix: preserve failed responses when retrying model calls
...
Keep failed attempts in the saved transcript and omit only trailing failures from Retry's temporary agent history. Use the matching temporary prefix length when persisting genuinely new output.
Preserve the error notice across plan/compaction markers, refuse Retry after later compaction, and avoid synthesizing results for tool calls inside failed generations while retaining Pi's native filtering.
Verified: 173 focused Retry/session/compaction-projection/practice-record tests, typecheck, changed-file lint, and diff --check. No app launch or real provider calls.
2026-10-27 16:49:29 +02:00
amosblomqvist
06714e5998
Keep unresolved session identity separate from Strong fallback
2026-10-27 16:21:54 +02:00
amosblomqvist
419dcf1ba2
Restore exclusive provider-first setup recovery
2026-10-27 16:12:13 +02:00
amosblomqvist
c1ef6d6822
Merge PR #211 dynamic dock sizing with reviewed viewport corrections
2026-10-27 15:47:15 +02:00
amosblomqvist
d30acd4fdd
fix: finish measured dock sizing and short-window scrolling
2026-10-27 15:27:08 +02:00
amosblomqvist
ae380b156b
Merge model-label, OpenCode key-row and setup initialization fixes
2026-10-27 15:01:44 +02:00
amosblomqvist
d6ae6f3256
Merge compaction summary projection and incomplete-checkpoint guard
2026-10-27 14:57:36 +02:00
Casimir Arlabosse and Claude Opus 5.5
cb7e719e92
test: resolve golden fixture path with import.meta.dirname
...
new URL(import.meta.url).pathname keeps percent-encoding, so the test
failed with ENOENT when the checkout path contains a space. Use
import.meta.dirname like the other tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 15:46:28 +08:00
amosblomqvist
683eb93bcc
Fix model labels and catalog-backed setup initialization
2026-10-26 19:43:09 +02:00
amosblomqvist
b81f0a3455
fix: avoid replaying superseded compaction summaries
2026-10-26 19:08:15 +02:00
amosblomqvist
88ba42fd37
fix: allow repairing model slots after subscription disconnect
2026-10-26 18:50:54 +02:00
Evangelos Stavropoulos
a572675900
fix: let the learner retry a turn whose model call failed
2026-10-26 14:31:51 +02:00
amosblomqvist
8c277f8320
Merge source-preserving math content presentation
2026-10-26 05:26:13 +02:00
amosblomqvist
d3c8709bd2
fix: preserve source data and recover tool math at presentation
2026-10-26 04:49:47 +02:00
amosblomqvist
c1d044f91b
Merge server-owned web subscription connections
2026-10-26 03:18:19 +02:00
amosblomqvist
c0c670b810
feat: enable subscription connections in web and dev
2026-10-26 03:00:40 +02:00
amosblomqvist
a19f53b2b4
test: preserve PDF history guards alongside canonical result delivery
2026-10-26 02:57:33 +02:00
amosblomqvist
6370c9d618
Merge durable background job delivery and recovery
2026-10-26 02:39:59 +02:00
amosblomqvist
90828cef49
fix: scope wake settlement ownership and allow legacy result deletion
2026-10-26 02:04:18 +02:00
amosblomqvist
c7c4bd2cbe
Merge Claude learner-facing message output
2026-10-26 01:57:26 +02:00
amosblomqvist
87b04cc86e
fix: deliver Claude teaching prose through an output tool
2026-10-26 01:55:57 +02:00
amosblomqvist
e851432f4c
fix: separate worker completion from durable session delivery
2026-10-26 01:55:52 +02:00
ferponse
472844e691
fix: keep the opening chat text out of the URL
...
A long first message in ?prompt= exceeds Node's header limit. The chat GET returns 431 and Electron commits an empty window. Stash the text in sessionStorage and open /chat/<id>.
2026-10-26 00:45:16 +01:00
amosblomqvist
926486e37b
Merge PDF home-relative path consistency
2026-10-26 01:34:49 +02:00
amosblomqvist
d9fa314c20
fix(pdf): resolve learner paths relative to home
2026-10-26 01:18:53 +02:00
amosblomqvist
6701503801
fix: isolate generated SVG figures as images
2026-10-25 23:29:00 +02:00
amosblomqvist
fc3673466d
Merge bounded session answer and stream recovery
2026-10-25 20:46:25 +02:00
amosblomqvist
7d65fa8754
fix: recover session submissions and failed turn settlement
2026-10-25 19:45:17 +02:00
amosblomqvist
dc131a311f
Merge automatic-update preference gate and Settings controls
2026-10-25 19:27:00 +02:00
amosblomqvist
769fc85e17
fix: honor automatic updates preference and add Settings controls
2026-10-25 19:19:38 +02:00
amosblomqvist
0795ef197c
test(chatgpt): await repeated sign-in completion
2026-10-25 18:59:48 +02:00
Ivanko1608
25a4687611
Merge remote-tracking branch 'origin/main' into add-claude-code-support
...
# Conflicts:
# src/agent/models.ts
# src/server/model-catalog.ts
2026-10-25 19:36:30 +04:00
Bartosz Chronowki
3bb28e5f29
feat(dictation): add persistent language selection in General settings
2026-10-25 14:33:49 +01:00
amosblomqvist
b277ee3e0f
test: await verified ChatGPT storage recovery completion
2026-10-25 02:45:13 +03:00
amosblomqvist
7fb9a1505c
Merge native Copilot and Grok subscription connections
2026-10-25 02:13:00 +03:00
Ivanko1608
0b77ede6ff
test: cover tool results arriving before and after the idle timeout
2026-10-25 03:11:31 +04:00
amosblomqvist
3cc598ded5
fix: distinguish ChatGPT authorization recovery from storage failures
2026-10-25 01:52:52 +03:00
amosblomqvist
55a6501a09
fix: streamline subscription connection dialogs and actions
2026-10-25 01:34:46 +03:00
Ivanko1608
43d7ec5577
fix: count claude-code as configured when the CLI is installed
2026-10-25 02:16:51 +04:00
Ivanko1608
49181a1a8d
Merge remote-tracking branch 'origin/main' into add-claude-code-support
...
# Conflicts:
# package-lock.json
# src/agent/models.ts
2026-10-25 02:08:15 +04:00
Ivanko1608
a86a4622fb
refactor: split dense lines in binary lookup and transcript replay
2026-10-25 02:04:22 +04:00
Ivanko1608
2b2cf79b9a
feat: register claude-code provider
2026-10-25 02:04:22 +04:00
Ivanko1608
c41c5f3132
feat: stream turns through the claude CLI
...
Each turn runs claude -p with stream-json in and out and maps its events onto pi's assistant message stream. A process that stops on tool calls is kept alive and continued when pi sends the results back, instead of replaying the whole transcript. API credentials are removed from the CLI environment so turns always bill to the signed-in subscription.
2026-10-25 02:04:22 +04:00
Ivanko1608
6650f91eca
feat: add MCP bridge exposing pi tools to the CLI
...
A localhost-only MCP HTTP server, guarded by a per-turn bearer token, lists pi's tools and holds each call until pi has run it and returned the result.
2026-10-25 02:04:22 +04:00
amosblomqvist
d6e317c6fe
feat: add app-owned Copilot and Grok subscription connections
2026-10-25 00:27:52 +03:00
Ivanko1608
76b91dc1e5
fix: prefer claude.exe over claude.cmd on Windows
...
Node cannot spawn a .cmd file without a shell, so a claude.cmd found
earlier on PATH would hide a working claude.exe.
2026-10-25 01:06:50 +04:00