Repository navigation
Closed
Labels
bugSomething isn't workingSomething isn't workingstatus:in-progressWork has started on this issueWork has started on this issue
Description
Summary
Batch of small copy/formatting defects. Each is minor; grouped for one polish pass.
Formatting (UX-14)
- "⏵ 1 jobs" — count never singularized:
packages/mayfly/src/transcript/status-jobs.ts:35(siblings pluralize carefully:pane-agents.ts:185,pane-workflow.ts:135). - Durations ≥ 1 h render as "125m 3s" (no hours):
agent-presentation.ts:16-20— used by activity row, agents pane, workflow pane. - Loader elapsed time renders raw milliseconds ("12345ms"):
packages/mayfly/src/core/ui-patterns.ts:400. Dormant today (no producer passeselapsedMs) but admitted by the contract/validator. - A blocked goal without a
blockedReasonrenders a bareblocked:row with nothing after it:pane-todo.ts:213-215,:241-251. [image]placeholder rendered twice per image: projection inlines it intovisibleText(packages/mayfly/src/conversation/projection.ts:149-156) andUserMessageComponentrenders per-attachment rows (transcript/components.ts:254-289)./providerlist key status computed once at build time, never observes credential changes:provider-commands.ts:51-56,:78.- Clear-key failure claims "Provider removed" when nothing was removed:
provider-edit.ts:260. - Mixed ellipsis styles:
interrupting...(pane-activity.ts:85),plan...(mode-status.ts:22) use ASCII...while the rest of the UI uses…. - (Suspected) a
tool/resultafterturn/endrevives a stale "working" activity row:conversation/facts.ts:189-206handles results with no turn guard.
Key labels and action naming (UX-23)
- F7 is "toggle" in the transcript panel footer but "switch" in the status bar; footer shows "F8 close · Esc close" — duplicate labels for the same effect:
session-transcript-panel.ts:94vsagent-view-status.ts:23. - Todo footer hardcodes
ctrl+twhile siblings resolve hints dynamically:pane-todo.ts:256,:262vsinteraction/keys.ts:37-40. displayKeyrendersShift+f6butF6— function keys inside modifier chords stay lowercase:core/key-actions.ts:62-73.
Confusing chrome (UX-30)
- Refresh buttons on immutable
/versionand/changelogcontent:session-commands.ts:55,:62-67. /settingslists raw namespace ids (llm-pi-ai) with no friendly labels while translations sit orphaned (settings-command.ts:145vslocale.ts:237-246).- Cryptic badges:
up 1.2.3for update-available (plugin-commands.ts:129); "Engines" row renders>=0.1.7-rc.1 >=0.1.1 >=22with no per-engine labels (plugin-commands.ts:283-288). - Validator admission failures expose developer paths like
$.child.children[2].id is requiredto end users:ui-interaction-surface.ts:243-245,ui-validator.ts:151. /helptitle is lowercasehelpwhile siblings are capitalized; the promised "two aligned columns" layout renders ragged:help.ts:28-34.- Capitalized
Remindersbadge among lowercase badges:session-list-model.ts:155-157.
Acceptance criteria
- Each listed nit fixed; singular/plural, duration, and key-label formatting share the existing helpers.
Audit reference
docs/audits/2026-09-28-ui-ux-audit-data-and-layout.md § UX-14 · docs/audits/2026-09-28-ui-ux-audit-interaction-and-usability.md § UX-23, UX-30 (baseline 27bc188, 2026-09-28)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingstatus:in-progressWork has started on this issueWork has started on this issue
Activity
GeekCmore commentedon Sep 28, 2026
In progress (
status:in-progress). Covered by the unified display-value / formatting pass:core/format.ts:pluralize, durations with hours, ms → human duration;status-jobs, loader,agent-presentationuse it.Shift+F6); one action name per effect in the transcript footer.provider-edit.tsclear-key no longer claims "Provider removed";provider-commands.tskey status refreshes on credential change; no Refresh on immutable/version//changelog./settingsnamespace ids → friendly labels;Enginesrow labelled per engine;/helptitle + aligned columns;Reminderscasing; one ellipsis (…) convention.[image]rendered once: attachment rows intranscript/components.tsbecome the single owner;conversation/projection.tsstops inlining it on the user-message render path.Remaining localization-only items are tracked with #62/#63/#64. Branch
fix/display-layout-fidelity.GeekCmore commentedon Sep 28, 2026
大部分处理中 / Mostly in progress — PR #79 (
feat/i18n-hardening)。已覆盖:
2h 5m 3s),loader 不再显示原始毫秒。displayKey和弦内功能键大写(Shift+F6),pane-todo 的ctrl+t改为动态 hint。up {version}、Engines 行改为逐引擎标签。Remindersbadge 小写化为reminders;/version与/changelog移除无意义的 Refresh。未覆盖(本 issue 保持开启):
/settings原始 namespace id 的友好标签、/help标题大小写与两列版式。PR: #79
GeekCmore commentedon Sep 28, 2026
Implementation opened as #81 (branch
fix/display-layout-fidelity).pnpm run verify:fullis green (typecheck, lint, build, shots, coverage, happy smoke). Manual runtime acceptance is pending before merge.fix(ui): unify display values, overflow signalling, and editor-slot l…
Merge pull request #81 from Ephemeral-AI-Lab/fix/display-layout-fidelity
GeekCmore commentedon Sep 29, 2026
Closing as fixed, verified on current
main; two small residuals moved to #75.Done (via #79 + #81, re-verified on
maintoday):⏵ 1 job/⏵ {count} jobs(transcript/status-jobs.ts).compactElapsedSeconds→2h 5m 3s(transcript/agent-presentation.ts),formatDuration→2h 5m/3d 4h(interaction/session-list-model.ts),formatJobDurationhours-aware (interaction/jobs.ts).displayKey(function keys inside chords, e.g.Shift+F6).update {version}on/plugin, per-engine labels on the Engines row./helptitle capitalized (t('Help'), overlay + panel)./version//changelogno longer offer a meaningless Refresh.LABELSmap ininteraction/settings-model.tscovers mayfly/shell/permission/agent-preset-registry/llm-deepseek/web-search keys.Remindersbadge no longer exists after the feat: browse sessions by workspace with fast loading and animated progress #82 sessions rework — item moot.Moved to #75 (polish batch):
formatElapsedMs(core/ui-patterns.ts) caps atm+s, so a ≥1h loader renders125m 3sinstead of2h 5m 3s./helpremains a single-column flowing layout, not two-column aligned label/description.