Only apply the slide-in-right animation when the user actively
re-expands the panel, not on initial mount. Also remove dead
duplicate files src/live-feed.tsx and src/page.tsx.
- package.json: dev and start scripts now use ${PORT:-3000}
- Dockerfile: healthcheck uses ${PORT:-3000}, ENV PORT=3000 as default
- docker-compose.yml: passes PORT env to container, maps MC_PORT to PORT
- .env.example: documents PORT variable
Set PORT=<number> to change the listening port. Defaults to 3000.
Previously dev used Next.js default (3000) and start hardcoded 3005.
- Add prominent '+ Add Workspace' button in the Super Admin header
(always visible, next to Refresh)
- Replace hidden 'Show Create Client Instance' toggle with a clear
'Create New Workspace' section with close (×) button
- Highlight the create form with primary border when open
- Improve instructional text for the creation workflow
Fixes#169
- Increase MentionTextarea dropdown z-index to z-[60] so it renders
above z-50 modals (was z-20, clipped by overflow-y-auto on modal)
- Replace plain textarea in broadcast section with MentionTextarea
for consistent @mention support across all text inputs
- Add hint text to broadcast placeholder about @mention usage
Fixes#172
Issue #146 — How to add workspace:
- Add Workspace Management section to README with Super Admin panel docs
- Add Super Admin API endpoints to API overview table
- Add info banner in Settings panel (admin only) linking to Super Admin
Issue #143 — Memory tab in agent view:
- Add info banner in agent Memory tab clearly distinguishing agent
working memory (DB scratchpad) from workspace memory files
- Add clickable link to Memory Browser page from agent Memory tab
- Improve subtitle text with WORKING.md storage detail
Fixes#146Fixes#143
Replace Linux-only commands (uptime -s, free -m, df --output=pcent) with
cross-platform alternatives using process.platform detection and Node.js
os module. Rename gateway client ID from control-ui to openclaw-control-ui.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(#140): enable editing of identity, sandbox, and tools in agent config UI
The ConfigTab's structured view only showed read-only displays for
Identity, Sandbox, and Tools sections even when in edit mode. Added
inline editing controls:
- Identity: emoji, name, theme/role inputs + identity content textarea
- Sandbox: mode/workspace dropdowns + network input
- Tools: allow/deny lists with add/remove buttons and Enter key support
Also added helper functions (updateIdentityField, updateSandboxField,
addTool, removeTool) and state for new tool entries.
Fixes#140
* fix: align sandbox edit values with agent schema
---------
Co-authored-by: Nyk <0xnykcd@googlemail.com>
- Fix deps stage: copy only package.json + pnpm-lock.yaml* for proper
layer caching instead of COPY . . which invalidates cache on any change
- Copy node_modules from deps into build stage separately from source
- Copy schema.sql into runtime stage (migration 001_init reads it at
runtime via process.cwd(), but standalone output omits source files)
- Remove broken public* glob COPY (no public/ dir exists; Docker COPY
fails silently with incorrect glob syntax)
- docker-compose: add container_name, configurable port via MC_PORT,
mark .env as optional to avoid startup failure if missing
Fixes#129
Add react-markdown and remark-gfm to transpilePackages in next.config.js
so Next.js transpiles these ESM-only modules correctly in all environments.
This fixes 'Module not found: Can't resolve remark-gfm' build errors.
Fixes#142
Replace dangerouslySetInnerHTML with React elements for inline
formatting (bold/italic). New renderInlineFormatting() helper returns
React nodes instead of raw HTML strings, eliminating XSS risk from
user-controlled memory content.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add src/lib/client-logger.ts and replace all 55+ console calls across 19 client files with scoped createClientLogger instances. Production suppresses debug+info. Fix variable shadowing in log-viewer-panel.tsx.
Addresses #39
- Add reusable useFocusTrap hook for modal focus management with
Escape key support and focus restoration on close
- Task board: add role=region and aria-label to kanban columns,
role=button and keyboard support (Enter/Space) to task cards,
role=alert on error display, role=status on loading spinner
- Modals: add role=dialog, aria-modal, aria-labelledby, focus
trapping, backdrop click to close, aria-label on close buttons
- Tab interface: add role=tablist/tab/tabpanel with aria-selected
and aria-controls for task detail tabs
- Forms: add htmlFor/id associations on all modal form labels
- Layout: add skip-to-content link for keyboard navigation,
id=main-content on main element
Addresses #40