Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
da2ae3c
feat: client-side SPA navigation + session registry refactor (#72)
setkyar Jun 7, 2026
e736824
refactor(session): extract live runtime context (#73)
setkyar Jun 8, 2026
b635251
refactor frontend: clean stale session comments
setkyar Jun 8, 2026
39ccc9f
refactor frontend: extract chat context usage
setkyar Jun 8, 2026
e4bc513
refactor frontend: extract chat model selector runtime
setkyar Jun 8, 2026
1cdd859
refactor frontend: extract chat thinking selector runtime
setkyar Jun 8, 2026
56dfc99
refactor frontend: extract chat slash command runtime
setkyar Jun 8, 2026
162698a
refactor frontend: extract chat mention autocomplete runtime
setkyar Jun 8, 2026
ee11c1c
refactor frontend: extract chat text attachment modal
setkyar Jun 8, 2026
5bc7fec
refactor frontend: extract chat context usage runtime
setkyar Jun 8, 2026
f1f8190
refactor frontend: extract chat composer expansion
setkyar Jun 8, 2026
c71e88e
refactor frontend: extract chat worker status polling
setkyar Jun 8, 2026
2de194f
refactor frontend: extract chat ask question handler
setkyar Jun 8, 2026
d6177f0
fix frontend: refresh worker status after chat cancel
setkyar Jun 8, 2026
1c5bb5c
refactor frontend: extract chat text attachment viewer
setkyar Jun 8, 2026
d03b81c
refactor frontend: extract chat text attachment formatting
setkyar Jun 8, 2026
e342033
refactor frontend: extract chat context popover
setkyar Jun 8, 2026
490f2a8
refactor frontend: extract chat textarea controls
setkyar Jun 8, 2026
3e9cb8f
refactor frontend: extract live chat preview
setkyar Jun 8, 2026
2661333
refactor frontend: extract live scroll helpers
setkyar Jun 8, 2026
8bac1c8
refactor frontend: extract live stats helpers
setkyar Jun 8, 2026
77fe8da
refactor frontend: extract live event helpers
setkyar Jun 8, 2026
bca6ae6
refactor frontend: remove live reload window bridge reads
setkyar Jun 8, 2026
64ca718
refactor frontend: reduce session window bridge reads
setkyar Jun 8, 2026
86cddc0
docs frontend: refresh live runtime architecture
setkyar Jun 8, 2026
a1adc76
test frontend: follow export re-export boundaries
setkyar Jun 8, 2026
b2b6d56
refactor frontend: route session palette through runtime
setkyar Jun 8, 2026
9834ff6
refactor frontend: remove session runtime window shims
setkyar Jun 8, 2026
3e54df4
docs: slim AGENTS.md to a minimal pointer file
setkyar Jun 8, 2026
81c1e25
refactor frontend: extract chat attachment manager
setkyar Jun 8, 2026
1e3ff06
refactor frontend: extract cwd copy helper
setkyar Jun 8, 2026
6a53006
refactor frontend: extract live connection lifecycle
setkyar Jun 8, 2026
00fa6d9
docs frontend: refresh live helper ownership
setkyar Jun 8, 2026
65f89f8
docs: note to keep docs in sync with changes
setkyar Jun 8, 2026
f971586
refactor frontend: extract chat toolbar state
setkyar Jun 8, 2026
4eaefeb
refactor frontend: extract chat submit flow
setkyar Jun 8, 2026
173f739
refactor frontend: extract chat selector loaders
setkyar Jun 8, 2026
3cbc1e8
refactor frontend: extract btw transcript rendering
setkyar Jun 8, 2026
6844c19
refactor frontend: extract btw window geometry
setkyar Jun 8, 2026
0e3184d
refactor frontend: extract btw event wiring
setkyar Jun 8, 2026
53cef7a
refactor frontend: extract annotation pi formatter
setkyar Jun 8, 2026
5a42656
refactor frontend: extract right sidebar scratchpad
setkyar Jun 8, 2026
57e1af4
refactor frontend: extract right sidebar tabs
setkyar Jun 8, 2026
4670215
refactor frontend: extract right sidebar visibility
setkyar Jun 8, 2026
bdb164f
refactor frontend: extract chat toolbar component
setkyar Jun 8, 2026
11874e6
refactor frontend: extract chat composer height
setkyar Jun 8, 2026
1bbd62c
refactor frontend: extract chat send state
setkyar Jun 8, 2026
d41ed4c
refactor frontend: extract chat initial navigation
setkyar Jun 8, 2026
c56a8f8
refactor frontend: extract chat composer config
setkyar Jun 8, 2026
147b73f
refactor frontend: extract chat selector popups
setkyar Jun 8, 2026
680ce0a
refactor frontend: extract chat expand button
setkyar Jun 8, 2026
637851b
refactor frontend: extract chat composer elements
setkyar Jun 8, 2026
884555e
refactor frontend: extract chat composer storage
setkyar Jun 8, 2026
208b447
test(e2e): pin browser clock so cat gatekeeper test is time-independe…
lemotw Jun 8, 2026
7f6383f
refactor frontend: extract chat composer runtime
setkyar Jun 8, 2026
9ab9cd5
test frontend: guard components/session/chat from export boundary
setkyar Jun 8, 2026
1c34882
refactor frontend: extract live reload follow-scroll controller
setkyar Jun 8, 2026
5afa820
docs: note chat composer runtime and follow-scroll controller
setkyar Jun 8, 2026
ef78268
test: include live-follow.js in follow-scroll source guard
setkyar Jun 8, 2026
bad7b27
docs: sync backend reference and drop stale frontend plans
setkyar Jun 8, 2026
8dd6a6d
Merge branch 'main' of github.com:ygncode/pi-web
setkyar Jun 8, 2026
f0b72d3
build: add ESLint + Prettier to frontend and wire into CI
setkyar Jun 8, 2026
6c4f3ac
test: match toggle-state source assertions to Prettier arrow formatting
setkyar Jun 8, 2026
8807bde
feat: render auth token gate from shared theme CSS
setkyar Jun 8, 2026
bbfa332
ci: bump GitHub Actions off deprecated Node 20 runtime
setkyar Jun 8, 2026
35a4de4
fix(live): reconcile on chat-preview done so first message renders
setkyar Jun 8, 2026
1fd9995
refactor: remove redundant Svelte login page
setkyar Jun 8, 2026
b94668c
fix: make auth login page honor the user's theme
setkyar Jun 8, 2026
9448f47
refactor: rename embedded session.html to share-session.html
setkyar Jun 8, 2026
99d99d9
refactor(chat): drive toolbar display from rune state
setkyar Jun 8, 2026
70886f6
refactor(web): extract shared toast helper (F2)
setkyar Jun 8, 2026
f692e0f
i18n(web): route CommandMenu operational strings through t() (F1)
setkyar Jun 8, 2026
2b3f954
refactor(server): dedupe session-resolve error mapping (B1)
setkyar Jun 8, 2026
8c3274f
fix(sessions): return error instead of panic on RNG failure (B2)
setkyar Jun 8, 2026
df82aab
refactor(sessions): remove dead exported code (B4)
setkyar Jun 8, 2026
e87618f
fix(server): return 400 on malformed clone body (B5)
setkyar Jun 8, 2026
d423d48
refactor(sessions): name the scanner buffer cap (B6)
setkyar Jun 8, 2026
8a394b9
fix(server): surface DB-init errors from server.New (B7)
setkyar Jun 8, 2026
9c6fee4
fix(web): remove BtwPopup scroll listener on cleanup (F6)
setkyar Jun 8, 2026
d20fa4d
refactor(web): use single derived signal for BtwPopup auto-scroll (F5)
setkyar Jun 8, 2026
55a1809
refactor(web): drive session title from shared reactive store (F4)
setkyar Jun 8, 2026
913cc73
refactor(web): centralize external links and name menu timeouts (F7)
setkyar Jun 8, 2026
3db5989
refactor(sessions): share parse finalize logic (B3)
setkyar Jun 8, 2026
f08f16e
refactor(web): split CommandMenu actions and unify menu markup (F3)
setkyar Jun 8, 2026
67b2f3a
fix(deps): bump golang.org/x/crypto to v0.45.0 (S1)
setkyar Jun 8, 2026
c48a18c
fix(deps): bump github.com/golang-jwt/jwt/v5 to v5.2.2 (S2)
setkyar Jun 8, 2026
bf78963
refactor(rpc): drop dead duplicate idleReportable interface (B8)
setkyar Jun 8, 2026
9350be1
refactor(server): simplify redundant chatAvailable expression (B11)
setkyar Jun 8, 2026
a5a3f1d
refactor(workers): remove redundant defaultIdleTTL alias (B13)
setkyar Jun 8, 2026
07b5025
refactor(web): delete dead modalOpen block in SessionsPage (F17)
setkyar Jun 8, 2026
a7851c6
refactor(web): extract shared clipboard helper (F8)
setkyar Jun 8, 2026
520485d
refactor(web): centralize the mobile-layout breakpoint (F9)
setkyar Jun 8, 2026
4ddb2fc
fix(server): use context.Background() for spawned worker init (B9)
setkyar Jun 8, 2026
34f40fa
refactor(server): drop duplicated s.now nil-guards (B12)
setkyar Jun 8, 2026
8f23283
refactor(web): replace unicode glyphs with Lucide icons (F10)
setkyar Jun 8, 2026
ede89bd
i18n(web): route ShareDialog strings through t() (F11)
setkyar Jun 8, 2026
8df2a8d
i18n(web): translate FullScreenSheet aria-labels (F12)
setkyar Jun 8, 2026
99650df
refactor(server): name the auto-title setting keys (B17)
setkyar Jun 8, 2026
1276bde
refactor(rpc): collapse raw[type] branching in handleRPCLine (B14)
setkyar Jun 8, 2026
d647e10
fix(sessions): capture one timestamp in CreateSessionFileWithSettings…
setkyar Jun 8, 2026
7b020ca
refactor(sessions): stream loadEntriesFromFile via bounded scanner (B16)
setkyar Jun 8, 2026
f92f9a8
refactor(server): group metrics and auto-title fields into sub-struct…
setkyar Jun 8, 2026
8cb97c7
refactor(web): name magic timeout/duration constants (F13)
setkyar Jun 8, 2026
f09e6d9
refactor(web): derive ArtifactPanel state instead of untrack-writing …
setkyar Jun 8, 2026
8673edc
refactor(web): reactify RightSidebar tab state (F15)
setkyar Jun 8, 2026
d60c0c9
refactor(web): give AnnotationLayer real props instead of init() (F14)
setkyar Jun 8, 2026
3eb330f
feat(chat): one-click /compact via dedicated rpc command
lemotw Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 8 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'

- name: Set up Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'npm'
Expand All @@ -37,15 +37,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'

- name: Set up Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'npm'
Expand All @@ -60,7 +60,7 @@ jobs:
# the key changes only when @playwright/test is bumped.
- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('e2e/package-lock.json') }}
Expand All @@ -86,7 +86,7 @@ jobs:

- name: Upload Playwright report
if: ${{ failure() }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: playwright-report
path: |
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'

- name: Set up Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'npm'
Expand Down Expand Up @@ -56,15 +56,15 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'

- name: Set up Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'npm'
Expand All @@ -87,7 +87,7 @@ jobs:
go build -ldflags="-s -w -X main.version=${VERSION}" -o "${output}" ./cmd/pi-web

- name: Upload artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: pi-web-${{ matrix.goos }}-${{ matrix.goarch }}
path: pi-web-${{ matrix.goos }}-${{ matrix.goarch }}*
Expand All @@ -98,7 +98,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
path: artifacts
pattern: pi-web-*
Expand All @@ -120,10 +120,10 @@ jobs:
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
Expand Down
148 changes: 26 additions & 122 deletions AGENTS.md

Large diffs are not rendered by default.

10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: build setup frontend-setup go-setup root-setup frontend-build frontend-test frontend-knip extension-test memory-test go-test install-test vet test check clean dev release-patch release-minor release-major release-beta e2e e2e-setup
.PHONY: build setup frontend-setup go-setup root-setup frontend-build frontend-test frontend-knip frontend-lint frontend-format-check extension-test memory-test go-test install-test vet test check clean dev release-patch release-minor release-major release-beta e2e e2e-setup

BINARY ?= pi-web
WEB_DIR := web
Expand Down Expand Up @@ -41,6 +41,12 @@ frontend-test: frontend-setup
frontend-knip: frontend-setup
cd $(WEB_DIR) && npm run knip

frontend-lint: frontend-setup
cd $(WEB_DIR) && npm run lint

frontend-format-check: frontend-setup
cd $(WEB_DIR) && npm run format:check

extension-test: root-setup
npm run test:extensions

Expand All @@ -58,7 +64,7 @@ vet: go-setup

test: frontend-test extension-test memory-test go-test install-test

check: frontend-knip frontend-test extension-test memory-test frontend-build go-test install-test vet
check: frontend-lint frontend-format-check frontend-knip frontend-test extension-test memory-test frontend-build go-test install-test vet

dev: frontend-setup go-setup
@echo "Starting dev mode (frontend watcher + Go hot-reloader)..."
Expand Down
Loading