This website requires JavaScript.
c13875cef8
return 400 for an unparseable body, and cover origin validation
brunorezio and Claude Opus 5
2026-07-25 22:47:38 +01:00
1eb8cfd273
compare the Host header against the origin authority, not as a suffix
brunorezio and Claude Opus 5
2026-07-25 22:27:31 +01:00
8163f04420
fail closed when PUBLIC_BUILD_ENV is unset
brunorezio and Claude Opus 5
2026-07-25 22:22:20 +01:00
85596da086
fix ReferenceError in the pipeline "View in Jobs" button
brunorezio and Claude Opus 5
2026-07-25 22:19:00 +01:00
044aacf4d5
remove the dead multi-user surface
brunorezio and Claude Opus 5
2026-07-25 22:14:08 +01:00
92de996412
setup.sh: symlink claude into /usr/local/bin
pastilhas and Claude Opus 4.8
2026-07-25 17:22:26 +00:00
f226542de3
setup.sh: prompt for OFFICER_ITEMS_DIR in .env generation
pastilhas and Claude Opus 4.8
2026-07-25 16:45:59 +00:00
f7b8cbe3f3
setup-desktop: install tigervnc-common for vncpasswd
pastilhas and Claude Opus 4.8
2026-07-25 16:26:31 +00:00
97f6d7fecc
auth: single-step super-admin bootstrap (no verification email)
pastilhas and Claude Opus 4.8
2026-07-25 16:11:37 +00:00
d604b1e722
provisioning: drop multi-user remnants, provision the super admin on bootstrap
pastilhas and Claude Opus 4.8
2026-07-25 15:32:53 +00:00
1e789b4c44
setup: Ubuntu GNOME-on-Xorg desktop + setup.sh hardening
pastilhas and Claude Opus 4.8
2026-07-25 15:32:28 +00:00
5d077a4a54
route OpenCode chat through the officer-opencode sidecar
pastilhas and Claude Opus 4.8
2026-07-25 14:54:52 +00:00
dcb23b0a86
server: allowed origin from PUBLIC_URL; repoint web assets to the new domain
pastilhas and Claude Opus 4.8
2026-07-25 13:43:57 +00:00
203a8b0708
opencode: add the OpenCode sidecar (step 1 — serve lifecycle + port report)
pastilhas and Claude Opus 4.8
2026-07-25 13:43:57 +00:00
6fb48af402
chat: strengthen OpenCode cwd prompt — demand absolute paths on every tool call
pastilhas and Claude Opus 4.8
2026-07-25 12:46:02 +00:00
d8e0dc79ef
chat: send cwd on every message instead of reading it back from session metadata
pastilhas and Claude Opus 4.8
2026-07-25 12:26:41 +00:00
2a940de76a
chat: keep OpenCode session cwd consistent across turns + strengthen the override
pastilhas and Claude Opus 4.8
2026-07-25 12:21:28 +00:00
88b74b2888
chat: OpenCode /chat cwd = general_chat_sessions (match Claude), drop home special-case
pastilhas and Claude Opus 4.8
2026-07-25 12:00:34 +00:00
0c3f270419
chat: rename claude_sessions → general_chat_sessions; drop dead chat_sessions
pastilhas and Claude Opus 4.8
2026-07-25 11:50:48 +00:00
9a79a76b95
chat: inject an Officer system prompt telling OpenCode its working directory (step 2)
pastilhas and Claude Opus 4.8
2026-07-25 11:06:17 +00:00
7cd2be9fb9
chat: tag OpenCode sessions with officer metadata (cwd) + filter lists by it
pastilhas and Claude Opus 4.8
2026-07-25 10:50:48 +00:00
bab0d1b7f8
Revert "chat: root the OpenCode server at the chat cwd (email chat now runs in the account dir)"
pastilhas
2026-07-25 10:08:48 +00:00
9b9938aaa9
Revert "chat: reap orphaned per-cwd opencode serves on startup"
pastilhas
2026-07-25 10:08:48 +00:00
1f6eff3614
chat: reap orphaned per-cwd opencode serves on startup
pastilhas and Claude Opus 4.8
2026-07-24 20:21:57 +00:00
d60c73b3a3
chat: root the OpenCode server at the chat cwd (email chat now runs in the account dir)
pastilhas and Claude Opus 4.8
2026-07-24 20:20:15 +00:00
cbe83f39a9
chat: run the /email chat from the email account's storage dir
pastilhas and Claude Opus 4.8
2026-07-24 17:37:48 +00:00
7a60f2cb0e
chat: fix chat WebSocket URL (double /chat) — was disconnecting every chat
pastilhas and Claude Opus 4.8
2026-07-24 17:23:31 +00:00
ab134aa02b
chat: surface all OpenCode models (drop the curated allow-list)
pastilhas and Claude Opus 4.8
2026-07-24 17:15:10 +00:00
7b16f3bc4c
chat: point OpenCode at a fixed pm2-managed server (fixes empty model picker)
pastilhas and Claude Opus 4.8
2026-07-24 17:12:53 +00:00
059539a64a
chat: unified session history across Claude + OpenCode (Phase 3)
pastilhas and Claude Opus 4.8
2026-07-24 16:56:20 +00:00
3a2f3317b2
chat: curate OpenCode models to Big Pickle + Claude Haiku
pastilhas and Claude Opus 4.8
2026-07-24 16:45:43 +00:00
025c5dd38c
chat: surface OpenCode models in the picker (Phase 2)
pastilhas and Claude Opus 4.8
2026-07-24 16:32:12 +00:00
ad32c7516e
chat: add OpenCode as a second harness — live turn (Phase 1)
pastilhas and Claude Opus 4.8
2026-07-24 16:29:55 +00:00
669692355d
chat: rename the pi-mono provider router + purge residual pi names (Stage 4b/2)
pastilhas and Claude Opus 4.8
2026-07-24 15:52:58 +00:00
49df1c0b0c
chat: rename the pi chat transport + model list to chat (Stage 4b/1)
pastilhas and Claude Opus 4.8
2026-07-24 15:47:40 +00:00
70555c8d71
chat: retire the old saved-session store (Stage 4a)
pastilhas and Claude Opus 4.8
2026-07-24 15:29:26 +00:00
2e3c45ddfb
chat: rename usePiChat → useChat, PiMonoInner → AgenticTaskRunner
pastilhas and Claude Opus 4.8
2026-07-24 14:57:34 +00:00
260d201731
chat: delete dead EmailChat.tsx
pastilhas and Claude Opus 4.8
2026-07-24 14:47:09 +00:00
f36b98db30
chat: heartbeat the chat WebSocket so long/idle turns don't drop the connection
pastilhas and Claude Opus 4.8
2026-07-24 14:43:42 +00:00
6f7bf8df42
remove the Automation page
pastilhas and Claude Opus 4.8
2026-07-24 14:39:09 +00:00
496f80dd5c
header: fixed #1d2724 title color (mode-independent)
pastilhas and Claude Opus 4.8
2026-07-24 13:58:25 +00:00
746a7b84a8
header: page title in officer green, larger
pastilhas and Claude Opus 4.8
2026-07-24 13:55:49 +00:00
f4cf20d378
header: per-route page titles + a centered, click-to-rename tab title
pastilhas and Claude Opus 4.8
2026-07-24 13:53:37 +00:00
85b6a381e8
email: align MCP email_db account with the API (first enabled)
pastilhas and Claude Opus 4.8
2026-07-24 13:38:52 +00:00
33a0bb4578
email: store emails.db per account under email_accounts/<account>/
pastilhas and Claude Opus 4.8
2026-07-24 13:34:29 +00:00
9271e63eef
chat: Browse… modal directory picker for the pwd selector
pastilhas and Claude Opus 4.8
2026-07-24 12:44:50 +00:00
04bde70ed3
chat: pwd selector — switch the /chat working directory
pastilhas and Claude Opus 4.8
2026-07-24 12:41:49 +00:00
420aa08783
chat: run Claude un-isolated for the Super Admin (real HOME, ~/.claude parity)
pastilhas and Claude Opus 4.8
2026-07-24 12:19:31 +00:00
b3b8a59863
chat: rename sessions in Claude's store + delete confirm
pastilhas and Claude Opus 4.8
2026-07-24 12:01:16 +00:00
4215c8df0a
chat: delete sessions + auto-refresh the /chat list after each turn
pastilhas and Claude Opus 4.8
2026-07-24 10:14:27 +00:00
9565cd9462
chat: click-to-resume /chat sessions via Claude --resume
pastilhas and Claude Opus 4.8
2026-07-24 10:11:58 +00:00
bea3d0a487
chat: honor the per-session cwd for Super Admin (was hardcoded to home)
pastilhas and Claude Opus 4.8
2026-07-24 10:04:17 +00:00
add5351dc7
chat: list /chat sessions from Claude's store; fix the dedicated-cwd routing
pastilhas and Claude Opus 4.8
2026-07-24 09:50:38 +00:00
eb4ce4301b
chat: run /chat sessions from the dedicated claude_sessions cwd
pastilhas and Claude Opus 4.8
2026-07-24 09:43:01 +00:00
319cf39e84
chat: read the /chat session list from Claude's own transcript store
pastilhas and Claude Opus 4.8
2026-07-24 09:40:58 +00:00
63819fc25e
chat: remove Pi runner — route all chat/pipeline/channels through Claude
pastilhas and Claude Opus 4.8
2026-07-24 09:03:44 +00:00
fcdf5f0117
todo: email screen multi-view vision (sender/domain management + chat tabs)
pastilhas and Claude Opus 4.8
2026-07-24 08:48:14 +00:00
23862d3ae0
todo: record shipped email work and deferred follow-ups
pastilhas and Claude Opus 4.8
2026-07-24 08:39:05 +00:00
54965d7095
email: set busy_timeout on the email db to ride out concurrent writers
pastilhas and Claude Opus 4.8
2026-07-24 08:32:11 +00:00
58373c9d59
email: group messages into conversations (Gmail-style threading)
pastilhas and Claude Opus 4.8
2026-07-24 08:21:40 +00:00
18d69616d2
compose: rich contenteditable body — inline images land at the caret/drop point
pastilhas and Claude Opus 4.8
2026-07-24 08:05:40 +00:00
c590d6253c
compose: bcc field, inline pasted/dropped images, attach button stays regular
pastilhas and Claude Opus 4.8
2026-07-24 07:52:11 +00:00
ced1796a56
compose: single close button + attachment support (paste, drag-drop, file picker)
pastilhas and Claude Opus 4.8
2026-07-24 07:39:27 +00:00
ead8f53951
email: compose + reply via Gmail SMTP (app password), with recipient autocomplete
pastilhas and Claude Opus 4.8
2026-07-24 07:12:34 +00:00
3b13b98532
task modal: scroll the config area so the Run/Queue buttons stay reachable with long track lists
pastilhas and Claude Opus 4.8
2026-07-24 06:54:48 +00:00
8faa4abcaf
todo: mark OR support done; note grouping/in:/relative-dates remaining
pastilhas and Claude Opus 4.8
2026-07-23 23:19:38 +00:00
03f7bb81cf
email: OR support in search (OR-separated branches; mixed FTS/SQL via id-IN subquery)
pastilhas and Claude Opus 4.8
2026-07-23 23:19:25 +00:00
08f5e4561d
todo: mark Gmail-style operators done; note OR/grouping as remaining
pastilhas and Claude Opus 4.8
2026-07-23 18:24:13 +00:00
1791e2e6a1
email: Gmail-style search operators (from:/to:/subject:/body:/has:/is:/label:/before:/after:)
pastilhas and Claude Opus 4.8
2026-07-23 18:23:53 +00:00
066531555b
todo: extend email search with Gmail-style operators (from:, subject:, has:attachment, …)
pastilhas and Claude Opus 4.8
2026-07-23 17:43:37 +00:00
1ac2bb59f6
email: keepPreviousData so searching doesn't remount the panel and drop input focus
pastilhas and Claude Opus 4.8
2026-07-23 17:40:26 +00:00
3f00999a2a
email: full-text search (FTS5) — backend index + /email/search + search box in the list
pastilhas and Claude Opus 4.8
2026-07-23 17:38:03 +00:00
4b08d0b99c
email: push new-mail to /email via SSE (IMAP IDLE -> sidecar -> server -> EventSource)
pastilhas and Claude Opus 4.8
2026-07-23 17:29:20 +00:00
5a0b9ce70f
email: real-time IMAP IDLE watchers (push on new mail); cron kept as backstop
pastilhas and Claude Opus 4.8
2026-07-23 17:22:46 +00:00
2bef99866f
email: hide the Google OAuth connect card (email uses IMAP app password now)
pastilhas and Claude Opus 4.8
2026-07-23 17:15:19 +00:00
edb68d396d
email: route gmail app-password accounts over IMAP (Gmail API only for oauth)
pastilhas and Claude Opus 4.8
2026-07-23 16:57:32 +00:00
32caa67cab
jobs: show target path in list rows; delete queued/finished jobs + clear-all history
pastilhas and Claude Opus 4.8
2026-07-23 16:31:52 +00:00
5da29e4004
jobs: split left column into Active + History resizable panels (email-style)
pastilhas and Claude Opus 4.8
2026-07-23 16:25:45 +00:00
c5d79085cb
jobs: Stop now cancels queued jobs; add remove/stop button on list rows
pastilhas and Claude Opus 4.8
2026-07-23 16:14:49 +00:00
a4b56a3b6e
jobs: make header indicators readable when idle (solid pills, full-opacity text)
pastilhas and Claude Opus 4.8
2026-07-23 16:01:46 +00:00
99293b0b49
jobs: after creating a job, show a View/Close confirmation instead of navigating away
pastilhas and Claude Opus 4.8
2026-07-23 15:57:42 +00:00
39a235197c
jobs: default config to {} — config-less script tasks failed the NOT NULL insert
pastilhas and Claude Opus 4.8
2026-07-23 15:54:23 +00:00
f77ce3fb96
jobs: header running/queued badges + GET /jobs/counts (phase 3d)
pastilhas and Claude Opus 4.8
2026-07-23 15:48:52 +00:00
c277ceead7
jobs: split list into Running & Queued (top) and History (bottom, 70/30)
pastilhas and Claude Opus 4.8
2026-07-23 15:42:15 +00:00
ba2c2e57ca
jobs: modal creates jobs for non-inline tasks (Run/Queue -> POST /jobs -> /jobs/:id)
pastilhas and Claude Opus 4.8
2026-07-23 15:35:24 +00:00
1f57d8c8d2
jobs: master-detail JobsPage (list + detail, resizable) for /jobs and /jobs/:id
pastilhas and Claude Opus 4.8
2026-07-23 15:24:54 +00:00
56531aedb7
doc: header running + queued job indicators (3d)
pastilhas and Claude Opus 4.8
2026-07-23 14:42:30 +00:00
ae361d2a2f
tasks: inline flag (quick tasks stay in the modal) plumbed through parser + endpoints
pastilhas and Claude Opus 4.8
2026-07-23 14:33:08 +00:00
46dc6ce507
jobs: script-job terminal view at /jobs/:id (phase 3a)
pastilhas and Claude Opus 4.8
2026-07-23 14:04:08 +00:00
6d7d928806
jobs: queue scheduler + REST job API (phase 1c + 2)
pastilhas and Claude Opus 4.8
2026-07-23 13:58:42 +00:00
234a24ddaf
jobs: run script tasks as background jobs via executeScript (phase 1b)
pastilhas and Claude Opus 4.8
2026-07-23 13:42:57 +00:00
843580afff
jobs: add mode and exit_code columns (phase 1a)
pastilhas and Claude Opus 4.8
2026-07-23 13:38:05 +00:00
4a5fa89185
add jobs-unification design doc
pastilhas and Claude Opus 4.8
2026-07-23 13:35:45 +00:00
71dfd394c3
subtitles default to all-unchecked; connect the keep-checkbox label
pastilhas and Claude Opus 4.8
2026-07-23 13:35:45 +00:00
372fbf11ab
per-group folder config: general audio/subtitle/rename pickers via group_config
pastilhas and Claude Opus 4.8
2026-07-23 12:46:53 +00:00
a0cfb1c526
per-group track config: probe bitrate, per-file track map, folder multi-picker
pastilhas and Claude Opus 4.8
2026-07-23 12:11:23 +00:00
17b7ca8b72
gate the folder keep-all escape hatch behind config.folderKeepAll
pastilhas and Claude Opus 4.8
2026-07-23 11:40:05 +00:00
fd2c82da84
log token revoke as a security event
pastilhas and Claude Opus 4.8
2026-07-23 00:59:19 +00:00
c345bd40ae
skip pi install when the binary is already present
pastilhas and Claude Opus 4.8
2026-07-23 00:48:44 +00:00
fcee091b53
add token revoke and panic lockdown endpoints with security logging
pastilhas and Claude Opus 4.8
2026-07-23 00:48:44 +00:00