This commit is contained in:
2026-10-24 16:34:02 +08:00
parent 99e5687ce0
commit 7119e04a65
24 changed files with 553 additions and 39 deletions
@@ -0,0 +1,14 @@
---
date: 2026-10-24
pr: pending
feature: Conversation startup and profile loading
impact: Load conversations independently of metadata and recover failed resume requests via HTTP.
---
# 2026-10-24: Conversation startup and profile loading
- PR/commit: pending local review.
- Touched feature: client chat startup, session switching, resume listener lifecycle, and profile list metadata.
- Behavior impact: conversation loading no longer waits for profile/settings/model metadata. Session switches ignore obsolete replies (including A/B/A), cancel obsolete resume listeners, and fall back to paginated HTTP history after a three-second resume timeout. Failed history loads show a retry action. Profile inventory uses disk metadata instead of spawning Hermes CLI; uploaded avatar bodies are fetched on demand through an access-checked endpoint.
- The `/chat-run` event names, fields and server emission timing remain unchanged. Only the client's wait/fallback behavior changes.
- Validation: focused store/view/profile tests, Playwright startup/retry/multi-tab/profile tests, full Vitest coverage, harness and production build. See task results for actual outcomes.
+34
View File
@@ -7375,6 +7375,40 @@
}
},
"/api/hermes/profiles/{name}/avatar": {
"get": {
"tags": [
"Profiles"
],
"summary": "Get avatar",
"description": "GET /api/hermes/profiles/:name/avatar",
"operationId": "getAvatar",
"security": [
{
"BearerAuth": []
}
],
"responses": {
"200": {
"description": "Success"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"description": "Not found"
}
},
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
]
},
"put": {
"tags": [
"Profiles"