Commit Graph
506 Commits
Author SHA1 Message Date
amosblomqvist de9caf6bc4 Merge contributor foundation for pending-question authority 2026-10-28 23:23:46 +02:00
amosblomqvist 8883fe1f5f Merge native Claude Code integration with explicit opt-in
# Conflicts:
#	src/agent/teacher-agent.ts
#	src/server/keys.ts
2026-10-28 21:45:50 +02:00
amosblomqvist c9c8cead57 feat: require explicit opt-in for Claude Code use 2026-10-28 21:37:03 +02:00
amosblomqvist ab76e4ff50 fix: clarify Claude CLI billing and compact status copy 2026-10-28 21:13:43 +02:00
amosblomqvist 074ba7afe4 feat: use session-reported Claude CLI context windows 2026-10-28 20:36:42 +02:00
amosblomqvist 17c94be327 fix: show native Claude CLI usage as unpriced 2026-10-28 19:58:07 +02:00
amosblomqvist 1750dd8a24 fix: keep successful file path attachments silent 2026-10-28 19:52:07 +02:00
amosblomqvist 5093809ea0 fix: authorize CLI probes and preserve executable identity 2026-10-28 19:26:36 +02:00
amosblomqvist c5a756d707 feat: report Claude CLI installation and gate unsupported versions 2026-10-28 19:10:47 +02:00
amosblomqvist 0b576d5973 fix: preserve native word and line deletion around file chips 2026-10-28 19:07:25 +02:00
amosblomqvist c4e934c9dc feat: attach desktop file paths as editable learner chips 2026-10-28 18:54:57 +02:00
Hadrien Cornier 82f0b59355 Keep the question dock aligned with the native pending call 2026-10-27 22:58:00 -05:00
amosblomqvist 8337836199 Use sans settings labels and link Deepgram key setup 2026-10-27 22:32:55 +02:00
amosblomqvist 27e277099f Align dictation controls with settings dropdowns and show setup guidance 2026-10-27 22:18:01 +02:00
amosblomqvist f5a655b2f9 Preserve native Enter activation on dictation language options 2026-10-27 22:01:16 +02:00
amosblomqvist fbafc5e53a Finish Deepgram language settings with shared searchable picker 2026-10-27 21:51:09 +02:00
amosblomqvist 88266eaaf4 Merge PR114 dictation foundation for approved provider-row finishing
Preserve original contributor commit 3bb28e5f29. Resolve only the settings-dialog conflict by retaining current General/update behavior: the donor General-only language placement is explicitly superseded by the human-approved row BELOW the full-width Deepgram key. The assigned implementation worker will implement that placement and approved shared dropdown finishing. Foundation only, not a checked candidate.
2026-10-27 21:33:40 +02:00
amosblomqvist 320d5e4704 Merge PR #154 short opening URLs and recoverable prompt handoff 2026-10-27 19:13:19 +02:00
amosblomqvist 3b29b5e9e7 fix: retire stale composer recovery drafts before retry
A failed-response Retry submits no composer text. Retire the earlier accepted text send's recovery fallback synchronously so a Retry model/key refusal cannot restore it over the current unsent draft. Never clear a later ordinary send's fallback at async settlement.

Add key/model503, superseding-draft and ordinary-refusal coverage. Verified 183 focused tests, typecheck, full ESLint, production build, and a red/green live production regression plus ordinary-draft recovery; no external provider calls.
2026-10-27 18:56:55 +02:00
amosblomqvist 1ff60b4681 fix: recover opening refusals after view teardown 2026-10-27 18:39:42 +02:00
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
anikam13 42814ba6a6 fix: budget dock height for answer controls and toolbar 2026-10-26 23:03:09 -07:00
amosblomqvist 683eb93bcc Fix model labels and catalog-backed setup initialization 2026-10-26 19:43:09 +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 6370c9d618 Merge durable background job delivery and recovery 2026-10-26 02:39:59 +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 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 769fc85e17 fix: honor automatic updates preference and add Settings controls 2026-10-25 19:19:38 +02:00
Bartosz Chronowki 3bb28e5f29 feat(dictation): add persistent language selection in General settings 2026-10-25 14:33:49 +01:00
amosblomqvist 7fb9a1505c Merge native Copilot and Grok subscription connections 2026-10-25 02:13:00 +03: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
amosblomqvist d6e317c6fe feat: add app-owned Copilot and Grok subscription connections 2026-10-25 00:27:52 +03:00
amosblomqvist 5cf4e589be fix: keep current provider failures authoritative across reattach 2026-10-25 00:00:29 +03:00
amosblomqvist 671d2c8bb7 fix: restore final provider failure in chat error banner 2026-10-24 23:55:27 +03:00