feat: add avatar support, fix thinking animation auth, restore GatewayTabs#288
Closed
356252190-star wants to merge 2 commits into
Closed
Conversation
* feat: add thinking-animation controller * feat: add thinking-animation routes * feat: mount thinking-animation routes * feat: add ThinkingAnimationPicker component * feat: integrate ThinkingAnimationPicker into DisplaySettings * feat: add thinking animation i18n keys (en) * feat: add thinking animation i18n keys (zh) * feat: add thinking animation i18n keys (ja) * feat: add thinking animation i18n keys (ko) * feat: add thinking animation i18n keys (de) * feat: add thinking animation i18n keys (fr) * feat: add thinking animation i18n keys (es) * feat: add thinking animation i18n keys (pt)
xinke666
pushed a commit
to xinke666/hermes-web-ui
that referenced
this pull request
May 23, 2026
…r & ignore noise Combines two community contributions and one local correction: * PR EKKOLearnAI#289 (Sanjays2402): probe /api/sessions on the dashboard URL (default :9119) instead of the agent URL (:8642). The agent does not serve /api/sessions, which produced a 404 every 15s. Adds a small cache so success/failure responses don't refetch every poll. Closes EKKOLearnAI#276. * PR EKKOLearnAI#288 (Interstellar-code): send Authorization: Bearer $HERMES_API_TOKEN on the connection-status probes so a gateway secured with API_SERVER_KEY is detected correctly. Adds watch.ignored for .runtime/.tanstack/.omc/.omx/coverage/dist/etc. so these noisy internal paths don't fire spurious dev reloads. * Local correction: did NOT add '**/routeTree.gen.ts' to watch.ignored. An existing regression test (src/router-route-resolution.test.ts) forbids that — ignoring the generated route tree breaks route HMR. The real cause of routeTree.gen.ts thrash is multiple concurrent vite dev servers writing to the same file (fixed earlier today). Co-authored-by: Sanjays2402 <Sanjays2402@users.noreply.github.com> Co-authored-by: Interstellar-code <Interstellar-code@users.noreply.github.com>
xinke666
pushed a commit
to xinke666/hermes-web-ui
that referenced
this pull request
May 23, 2026
…LearnAI#285) The vite dev server intercepted /api/connection-status with a slim inline shortcut handler that returned only {ok, mode, backend} \u2014 silently overriding the real route at src/routes/api/connection-status.ts which returns the full ConnectionStatus payload. Downstream feature gates (useFeatureCapability, useFeatureAvailable) read .capabilities from the response. With the slim body, every capability evaluated to undefined, so dev users got UI states that looked like 'feature not available' even when the gateway was healthy and exposing the API. Fix: drop the inline shortcut entirely. The real route file already caches via ensureGatewayProbed() (PROBE_TTL_MS), so the cost in dev is negligible and the payload is correct everywhere. Closes EKKOLearnAI#285. Also drops the now-unused dashboard URL / token / cache locals in vite.config.ts that were only used by the deleted handler; the per-PR work that introduced them (EKKOLearnAI#288, EKKOLearnAI#289) was the right diagnosis but the wrong fix \u2014 the real route was already doing it correctly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add custom avatar support for user and AI assistant, fix thinking animation upload auth, and restore GatewayTabs profile selector.
Changes
New files
ImageCropDialog.vue— Square crop dialog with zoom/pan sliderGatewayTabs.vue— Tab-style profile selector (2 per row grid)controllers/avatar.ts— Avatar upload/serve/delete/status APIroutes/avatar.ts— Public GET + protected POST/DELETE routesModified files
ChatInput.vue— User avatar upload via click on user iconMessageItem.vue— AI avatar upload via click on assistant icon, round avatar CSSMessageList.vue— Load custom thinking animation on mount, replace default videoThinkingAnimationPicker.vue— Add auth headers to upload/reset (fix 401)AppSidebar.vue— Replace ProfileSelector with GatewayTabschat.tsstore — Avatar state management + upload helpersChatView.vue— Load avatars on mountroutes/index.ts— Mount avatar routesgateway-manager.ts— Move remote host check before resolvePortavatar+gatewayTabskeys in all 8 languagesFeatures
Security
<img src>)