Commit graph

241 commits

Author SHA1 Message Date
haozhe.yang
694d137f84 feat(prompt): add prompt.submitted event for cross-client visibility
- define prompt.submitted schema and type in protocol\n- publish prompt.submitted from PromptService on submit and queue\n- project prompt.submitted into user messages in kimi-web\n- add unit and e2e tests for event propagation
2026-06-11 13:23:46 +08:00
haozhe.yang
517433454c feat(sync): add snapshot-based session resync
- add session snapshot API and protocol schemas with epoch-aware cursors\n- track in-flight turn state and volatile delta offsets for exact rebuild\n- update web client and tests to seed snapshots before subscribing
2026-06-11 12:31:16 +08:00
qer
9e9777382b feat(web): show todo progress in tab and remove align toggle 2026-06-11 10:14:48 +08:00
qer
09113dc0e1 feat(kimi-web): temporarily hide turn-summary
Comment out turnSummary display in both mobile and desktop templates,
along with helper functions (countToolsAndFiles, extractFilePath).
Keep the code intact with TODO markers for restoration.
2026-06-11 10:14:48 +08:00
qer
8e3c452a93 feat(kimi-web): add smooth expand/collapse animation to ThinkingBlock
Use CSS grid-template-rows 1fr/0fr transition for smooth height animation
when toggling between full thinking content and last-paragraph teaser.
2026-06-11 10:14:48 +08:00
qer
7100ea2ac2 feat(kimi-web): truncate session list per workspace with expand-more
- Show union of (first 5 sessions) and (sessions updated within 5 days) by default
- Add '展开更多' / 'Show more' button when sessions are hidden
- Clicking expands all sessions for that workspace
- Collapsing then re-expanding a workspace resets to default truncated view
- Add updatedAt to Session type for recency filtering
2026-06-11 10:14:48 +08:00
qer
87aec8877e feat(kimi-web): rename session delete to archive in UI
- i18n: add archiveConfirm and archive keys (zh/en)
- SessionRow: change delete confirm overlay and menu button to archive
- MobileSwitcherSheet: change delete button to archive
- Keep workspace delete as-is (separate from session archive)
2026-06-11 10:14:48 +08:00
qer
5a31aeb065 feat(kimi-web): add empty-state UI for tasks and todo tabs
- TasksPane: show '暂无后台任务' / 'No background tasks running' when empty
- TodoCard: always render header, show empty state when no todos
- i18n: add emptyTasks and emptyTodo keys for zh/en
2026-06-11 10:14:48 +08:00
qer
4394e13976 feat(kimi-web): temporarily hide files tab
Comment out the files tab from TabBar until the feature is ready.
Keep the code and badge logic intact with TODO markers.
2026-06-11 10:14:48 +08:00
qer
422cdb27a3 feat(kimi-web): polish chat UI components
- ThinkingBlock: foldable last-paragraph teaser, hover-only indicator,
  auto-collapse when streaming ends, line-height aligned with content
- ChatPane: static turn-summary at end of assistant turns
- Composer: perm-pill background matches toggle-pill
- SessionRow: kebab button moved before timestamp
- ToolCall: replace text chevron with SVG
2026-06-11 10:14:48 +08:00
qer
92101595cb style(kimi-web): simplify input focus styling 2026-06-11 10:14:48 +08:00
qer
3c48c51482 fix(kimi-web): stabilize conversation pane interactions 2026-06-11 10:14:48 +08:00
qer
d4f52da7fa feat(kimi-web): remove font settings and add dark mode support 2026-06-11 10:14:48 +08:00
qer
fd95db6ddd fix(web): workspace add button should trigger createInWorkspace instead of selectWorkspace 2026-06-11 10:14:48 +08:00
qer
34882923fd feat(web): move workspace more-menu icon before add button and add delete workspace option 2026-06-11 10:14:48 +08:00
qer
45d2cb1ed3 feat(cli): detect build-mismatched daemon and add --restart to kimi web/daemon
The daemon lock now records the host CLI version and entry path. When
kimi web / kimi daemon finds a healthy daemon started by a different
build (e.g. an older pkg.pr.new install), it warns that the running
daemon lags the invoked CLI instead of silently reusing it; the new
--restart flag stops the managed daemon and starts a fresh one with the
current build. A daemon whose lock does not match the requested port
(foreign process on the port) is never stopped.
2026-06-11 10:14:48 +08:00
qer
7448a225a7 feat(web): sidebar polish, workspace more menu, and fold animation
- Simplify session timestamps: drop 'ago' suffix (1h ago → 1h)
- Replace running status text with a non-intrusive pulse dot on session title
- Add hover-triggered kebab menu for workspaces (copy path, rename)
- Speed up fold expand/collapse animation (0.28s → 0.12s)
- Quick-start input for empty workspaces in conversation pane
2026-06-11 10:14:48 +08:00
qer
2448ded214 refactor(kimi-web): remove ago timestamp from sidebar session rows 2026-06-11 10:14:48 +08:00
qer
054c08ea75 feat(kimi-web): show empty-workspace hint in sidebar and centred quick-start input in chat 2026-06-11 10:14:48 +08:00
qer
0574a43faf refactor(kimi-web): set new session icon stroke-width to 1.5 2026-06-11 10:14:48 +08:00
qer
1c68db11a0 refactor(kimi-web): thin down plus and image icons 2026-06-11 10:14:48 +08:00
qer
f1a5ced295 refactor(kimi-web): use clean plus-cross icon for new session button 2026-06-11 10:14:48 +08:00
qer
334200ea2f refactor(kimi-web): use large bubble-plus icon for new session button 2026-06-11 10:14:48 +08:00
qer
f6270d9423 refactor(kimi-web): use plus-square SVG for new session button 2026-06-11 10:14:48 +08:00
qer
8d2ebeb50b refactor(kimi-web): replace + with pencil SVG for new session button 2026-06-11 10:14:48 +08:00
qer
f63ae2c964 refactor(kimi-web): add smooth height transition to fold-body expansion 2026-06-11 10:14:48 +08:00
qer
0823c00341 refactor(kimi-web): remove fold label bottom margin 2026-06-11 10:14:48 +08:00
qer
040dd77d2c refactor(kimi-web): align fold label font size with body text 2026-06-11 10:14:47 +08:00
qer
b0dd981dd5 refactor(kimi-web): rename tasks to '后台任务', add todo as tab, fix fold expand direction 2026-06-11 10:14:47 +08:00
qer
6ea5ecc6da refactor(kimi-web): increase sidebar default width by 50px 2026-06-11 10:14:47 +08:00
qer
b5080c7c90 refactor(kimi-web): polish ThinkingBlock transition, font size and context ring theme 2026-06-11 10:14:47 +08:00
haozhe.yang
680e6230bd feat(cli): add daemon startup reporter for daemon and web commands
- add optional DaemonStartupReporter callback to ensureDaemonRunning\n- report startup progress in daemon and web CLI commands\n- update unit tests to cover reporter output
2026-06-11 10:14:47 +08:00
qer
a53df07159 feat(web): place process fold toggle after summary so it expands downward 2026-06-11 10:14:47 +08:00
qer
b0af9f309a feat(web): simplify process summary, remove fold chevron, fix context ring color, enlarge abort icon 2026-06-11 10:14:47 +08:00
qer
c71b05b9eb feat(web): show copy button only after turn completes, fix vertical alignment 2026-06-11 10:14:47 +08:00
qer
c64558cf84 feat(web): friendly process summary in fold toggle 2026-06-11 10:14:47 +08:00
qer
117e7bea53 feat(web): fold process blocks behind toggle when summary follows 2026-06-11 10:14:47 +08:00
qer
02a4e11b25 feat(web): increase spacing around thinking blocks and tool cards 2026-06-11 10:14:47 +08:00
qer
3dc02d345c feat(web): auto-dismiss toasts, morph send into abort, streamline thinking blocks 2026-06-11 10:14:47 +08:00
qer
ab29cf9e31 feat(web): remove SVG icon from plan pill to match permission style
- Both permission and plan pills are now clean text-only pills
- Ensures consistent visual appearance across toolbar controls
2026-06-11 10:14:47 +08:00
qer
183cc2c302 feat(web): remove SVG icons from permission pill and dropdown
- Keep permission pill text-only for a cleaner look
- Remove unused .pd-icon CSS rule
2026-06-11 10:14:47 +08:00
qer
4f490a1575 feat(web): unify toolbar pills, add SVG icons, circular ctx ring, improve model display
- Replace emoji with inline SVG icons for attach/permission/plan buttons
- Unify attach-btn, perm-pill, toggle-pill styles (same padding/radius/font)
- Add SVG icons in permission dropdown rows
- Convert context bar from horizontal bar to circular SVG ring
- Strip provider prefix from model display name; fall back to models list lookup
- Load models eagerly on app init for friendly name resolution
- Increase toolbar and dropdown font sizes
- Increase textarea default height from 40px to 56px
- Remove plan/permission/ctx from model dropdown (keep only models + thinking)
- Fix ctx number spacing (remove spaces around slash)
2026-06-11 10:14:47 +08:00
haozhe.yang
d23224ae59 chore(deps): bump vitest to 4.1.4 in kimi-web
- update vitest from ^2.1.8 to 4.1.4 in apps/kimi-web/package.json\n- regenerate pnpm-lock.yaml for vitest 4.1.4\n- update flake.nix vendor hash
2026-06-11 10:14:47 +08:00
qer
32d4476e99 feat(web): increase toolbar font sizes for better readability 2026-06-11 10:14:47 +08:00
qer
4cb72f827e fix(web): remove default dot glyph for unknown/skills tools 2026-06-11 10:14:47 +08:00
qer
e52269e1d7 fix(web): move props.text watcher below defineProps in Markdown.vue
2f229b3 added the image-resolving watcher above the defineProps call.
watch() invokes its getter synchronously to collect dependencies, so
the closure read props while the const was still in its temporal dead
zone — every Markdown mount threw 'Cannot access props before
initialization', crashing the whole chat transcript (session content
rendered blank, Vue warn loop in console). vue-tsc can't catch this
(the reference sits inside a closure). Verified by a mount test that
reproduced the ReferenceError before the move and passes after, plus
an in-browser check that session content renders again.
2026-06-11 10:14:47 +08:00
qer
d8b1444e4c feat(web): resolve local image paths in markdown via daemon readFile 2026-06-11 10:14:47 +08:00
qer
31949f4c21 fix(web): remove leading dot from tool call summary 2026-06-11 10:14:47 +08:00
qer
3a9f111376 feat(web): copy entire turn content (thinking + text + tools) instead of text only 2026-06-11 10:14:47 +08:00
qer
333c45017d feat(web): replace copy icon with SVG document icon 2026-06-11 10:14:47 +08:00