Commit Graph

25 Commits

Author SHA1 Message Date
ekko 3a03918a58 fix desktop login reset flow (#1920) 2026-07-03 19:09:20 +08:00
ekko 76ce827b66 Add workspace run diff cards (#1895) 2026-07-02 14:36:25 +08:00
ekko 733389b109 [codex] add web petdex pets (#1847)
* add web petdex pets

* fix web pet test defaults

* avoid pet socket without active pet
2026-06-30 12:12:29 +08:00
ekko 83e37bac02 feat: add outbound relay and MCU login flow (#1580)
* add global agent chat relay

* add model run MCP auth

* avoid codex prompt inflation

* guide codex to use hermes lan tools

* truncate long tool call previews

* write codex MCP env inline

* log codex developer prompt

* remove codex prompt debug logging

* fix codex chat tool history

* log codex chat proxy requests

* write codex proxy debug to server log

* log codex upstream tool requests

* expand codex mcp namespaces for custom providers

* remove codex proxy debug logging

* add hermes mcp openapi relay

* fix: improve mcp docs and chat run cleanup

* feat: add mcu relay login flow

* fix ci test expectations

* fix group chat deeplink e2e expectation

---------

Co-authored-by: Codex <codex@openai.com>
2026-06-16 09:16:26 +08:00
ekko 362a418f58 Start health polling after login (#1556) 2026-06-14 19:24:05 +08:00
ekko 95f2659399 [codex] Restrict file and terminal admin access (#1555)
* Restrict file and terminal admin access

* Update chat chain fragment PR reference

* Use super admin token in e2e fixtures
2026-06-14 18:59:29 +08:00
ekko 841d8e3d47 [codex] redesign chat sidebars (#1518)
* feat: redesign chat sidebars

* feat: embed chat tool panel

* fix: make chat tool panel split layout

* fix: keep chat tool splitter line visible

* fix: restore chat tool panel divider

* fix: show full chat tool resize handle

* fix: align embedded terminal headers

* fix: give chat tool resize handle solid background

* fix: simplify chat tool resize handle grip

* fix: default tool panel to workspace

* revert: keep tool panel resize behavior simple

* fix: keep chat input in resizable pane

* fix: leave gap in chat tool resize divider

* fix: disable model picker for coding agents

* fix: update chat layout CI coverage

* fix: tighten mobile context usage spacing

* fix: adjust context usage mobile spacing

* fix: refine mobile sidebar and skills search

* feat: stabilize chat sidebar layout

* fix: polish desktop startup and session sidebar
2026-06-12 21:58:23 +08:00
ekko 11ed7fc182 Merge voice provider stack into main
Bring #1397-#1400 voice provider stack into main after #1396 landed directly on main.
2026-06-08 10:49:39 +08:00
ekko 91bb68dc41 Feat: user avatar upload and group-chat avatar sync (#1273)
* test: add user avatar API unit tests

* fix: resolve group-chat avatar by numeric userId instead of display name

Previously group-chat avatar resolution relied on findUserByUsername(),
which silently fails when the display name ('Mr. Tang') differs from the
login username ('admin').  Now the web UI passes the authenticated user's
numeric id via Socket.IO auth, so handleJoin() uses getUserAvatar(id)
directly.  getRoomMembers() gains a fallback that queries any user with
a non-empty avatar, covering existing room members whose display names
don't match any login username.

* fix: show user avatar in group-chat header stack and member popover

GroupChatPanel.vue was rendering the user avatar with only :name,
forcing multiavatar fallback even when the member list carried a
custom avatar.  Added userMemberAvatar computed that reads the
current user's avatar JSON from store.members, matching by userId.

Also added the missing 'avatar' field to the in-memory Member
interface and wired it through addOrUpdateMember / handleJoin so
the store actually sees member avatars.

* fix: cache current user avatar in group-chat store for no-room state

When no room is active, store.members is empty so the header
avatar falls back to multiavatar.  Now connect() fetches the
current user's avatar via /api/auth/me and stores it in a ref.
GroupChatPanel.userMemberAvatar falls back to this cached value
when the member list doesn't have a match.

* fix: prevent group chat avatar mixups

* fix: complete user avatar settings coverage

---------

Co-authored-by: tangxuan <seizeday@yeah.net>
2026-06-03 12:25:09 +08:00
ekko e66484560e [codex] add auxiliary model compression settings (#1263)
* add auxiliary model compression settings

* fix auxiliary models e2e mocks
2026-06-03 08:28:29 +08:00
ekko 42f7b64ffb update changelog and context default (#1045) 2026-05-26 19:35:48 +08:00
ekko e926a8e2fb fix chat queue promotion (#1042) 2026-05-26 17:39:38 +08:00
ekko 6763721545 fix session links profile filtering (#979) 2026-05-24 19:30:32 +08:00
Maxim Kirilyuk acdf18793c feat: make navigation use native links (#973) 2026-05-24 19:13:42 +08:00
ekko df41d6b051 [codex] Fix profile-aware session deep links (#962)
* feat: add session deep links for chats

* feat: add deep links for history and group chat

* Fix profile-aware session deep links

---------

Co-authored-by: Maxim Kirilyuk <werserk@inbox.ru>
2026-05-24 10:55:55 +08:00
ekko 9708a6a521 Scope files jobs and plugins to request profile 2026-05-24 10:11:03 +08:00
ekko 289a958684 Scope skills and memory to request profile 2026-05-24 10:11:03 +08:00
ekko 663afb61ff Improve profile runtime controls (#868)
* Improve profile runtime controls

* Restore profile selector test id

* Update profile switch e2e flow
2026-05-20 12:59:34 +08:00
ekko 9a9416c99c Fix bridge history, profile models, and Windows gateway handling (#845)
* feat: support profile-aware group chat bridge flows

* feat: route cron jobs through hermes cli

* Fix group chat routing and isolate bridge tests

* Add Grok image-to-video media skill

* Default Grok videos to media directory

* Fix bridge profile fallback and cron repeat clearing

* Refine bridge chat and gateway platform handling

* Filter bridge tool-call text deltas

* Preserve structured bridge chat history

* Prepare beta release build artifacts

* Fix Windows run profile resolution

* Fix Windows path compatibility checks

* Fix profile-scoped model page display

* Hide Windows subprocess windows for jobs and updates

* Hide Windows file backend subprocess windows

* Avoid Windows gateway restart lock conflicts

* Treat Windows gateway lock as running on startup

* Force release Windows gateway lock on restart

* Tighten Windows gateway lock cleanup

* Update chat e2e source expectation

* Bump package version to 0.5.30

---------

Co-authored-by: Codex <codex@openai.com>
2026-05-19 16:09:59 +08:00
ekko 0c2bafc619 [codex] Add local tool trace toggle (#806)
* test: harden tool approval browser contract

* test: cover tool trace display edge cases

* test: cover resumed tool trace edge cases

* feat: hide tool traces by default

* Add local tool trace toggle

---------

Co-authored-by: Zhicheng Han <zhicheng.han@mathematik.uni-goettingen.de>
2026-05-17 09:01:59 +08:00
ekko 217b721648 clear stale compression status on run start (#783) 2026-05-16 11:15:29 +08:00
ekko 07257a8964 [codex] proxy provider model fetches (#777)
* proxy provider model fetches

* add provider model proxy e2e
2026-05-16 08:57:00 +08:00
Zhicheng Han d066806d86 test: 补强浏览器 P0 契约测试 (#772)
* test: cover terminal browser contract

* test: harden P0 browser contracts
2026-05-16 08:56:34 +08:00
Zhicheng Han 09c554b446 test: cover chat streaming browser contract (#766) 2026-05-15 18:43:57 +08:00
Zhicheng Han 97b15d6514 test: 添加浏览器烟测套件 (#750)
* test: add Playwright browser smoke suite

* Update playwright.yml

---------

Co-authored-by: ekko <152005280+EKKOLearnAI@users.noreply.github.com>
2026-05-15 17:35:10 +08:00