Find a file
bluelovers 7812a0950f
feat(ui): Toast Notification History & Server Logs Enhancements (#278)
# PR: Enhance UI with Toast Notification History & Server Logs
Improvements

## 中文摘要 (Chinese Summary)

### 功能概述
本 PR 包含兩個 UI 增強功能:**通知歷史面板** 和 **伺服器日誌改進**。

### 功能一:通知歷史面板 (Toast Notification History)
- 新增 `ToastHistoryPanel` 組件,顯示所有 Toast 通知的歷史記錄
- 支援按類型(info/success/warning/error)篩選
- 支援時間分組(今日/昨日/更早)
- 支援清除全部、標記已讀、刪除單項
- 最多保留 50 筆歷史記錄

### 功能二:伺服器日誌改進 (Server Logs Enhancements)
- 新增清除日誌按鈕(垃圾桶圖標)
- 新增返回對話按鈕(箭頭圖標,位於日誌工具列)
- 新增浮動向上/向下滾動按鈕(圓形小球,與對話介面一致)
- 滾動按鈕根據位置自動顯示/隱藏
- 滾動按鈕狀態會隨日誌變化自動同步

---

## English Summary

### Overview
This PR introduces two UI enhancements: **Toast Notification History
Panel** and **Server Logs Improvements**.

### Feature 1: Toast Notification History Panel
- New `ToastHistoryPanel` component displays all toast notification
history
- Filter by variant type (info/success/warning/error)
- Time grouping (Today/Yesterday/Earlier)
- Clear all, mark as read, delete individual items
- Maximum 50 history records retained

### Feature 2: Server Logs Enhancements
- Clear logs button with Trash2 icon
- Back to conversation button with ArrowLeft icon (in logs toolbar)
- Floating scroll-to-top/scroll-to-bottom buttons (circular, consistent
with message section)
- Auto show/hide based on scroll position
- Scroll button state syncs automatically with log changes

---------

Co-authored-by: Pascal André <pascalandr@gmail.com>
2026-05-31 14:57:39 +02:00
.github ci: increase comment-pr-artifacts polling timeout (#466) 2026-05-16 21:04:58 +01:00
.opencode feat: add CodeNomad architecture guide skill for contributors (#493) 2026-05-21 17:15:49 +02:00
dev-docs refactor message stream layout 2025-12-02 19:23:05 +00:00
docs revert: remove tracked NomadWorks repo state (#472) 2026-05-17 14:29:46 +01:00
images Move screenshots to correct folder 2025-11-21 21:59:58 +00:00
packages feat(ui): Toast Notification History & Server Logs Enhancements (#278) 2026-05-31 14:57:39 +02:00
scripts Reduce App package sizes (#453) 2026-05-15 19:13:13 +01:00
tasks revert: remove tracked NomadWorks repo state (#472) 2026-05-17 14:29:46 +01:00
temp Bump to v0.11.2 2026-02-17 18:47:21 +00:00
.gitignore chore: ignore local artifacts and add cloudflare lockfile 2026-01-22 16:42:47 +00:00
AGENTS.md docs: require detailed commit messages 2026-05-07 17:45:31 +01:00
BUILD.md Rename electron app package to @neuralnomads/codenomad-electron-app 2025-11-21 00:10:31 +00:00
LICENSE chore(license): add MIT license 2026-02-02 11:22:49 +00:00
package-lock.json Reduce App package sizes (#453) 2026-05-15 19:13:13 +01:00
package.json Increment version to 0.16.0 2026-05-14 10:40:21 +01:00
PROGRESS.md chore: rebrand client and add icon tooling 2025-11-13 22:58:57 +00:00
README.md docs: add auth requirement and self-signed cert warning to quick-start (#481) 2026-05-26 22:29:42 +02:00

CodeNomad

The AI Coding Cockpit for OpenCode

CodeNomad transforms OpenCode from a terminal tool into a premium desktop workspace — built for developers who live inside AI coding sessions for hours and need control, speed, and clarity.

OpenCode gives you the engine. CodeNomad gives you the cockpit.

Multi-instance workspace


Features

  • 🚀 Multi-Instance Workspace
  • 🌐 Remote Access
  • 🧠 Session Management
  • 🎙️ Voice Input & Speech
  • 🌳 Git Worktrees
  • 💬 Rich Message Experience
  • 🧩 SideCars
  • ⌨️ Command Palette
  • 📁 File System Browser
  • 🔐 Authentication & Security
  • 🔔 Notifications
  • 🎨 Theming
  • 🌍 Internationalization

Getting Started

🖥️ Desktop App

Available as both Electron and Tauri builds — choose based on your preference.

Download the latest installer for your platform from Releases.

Platform Formats
macOS DMG, ZIP (Universal: Intel + Apple Silicon)
Windows NSIS Installer, ZIP (x64, ARM64)
Linux AppImage, deb, tar.gz (x64, ARM64)

💻 CodeNomad Server

Run as a local server and access via browser. Perfect for remote development.

npx @neuralnomads/codenomad --password <your-password> --launch

Authentication required: The server requires a password on first run. You can pass it via --password, the CODENOMAD_SERVER_PASSWORD environment variable, or create an auth.json file (see Server Documentation).

Self-signed certificate: On first launch with HTTPS enabled (the default), your browser will show a "Your connection is not private" warning. This is expected — the server generates a local self-signed certificate automatically. Click Advanced → Proceed to localhost to continue. For local-only use without the warning, run with --https=false --http=true.

See Server Documentation for flags, TLS, auth, and remote access.

🧪 Dev Releases

Bleeding-edge builds from the dev branch:

npx @neuralnomads/codenomad-dev --password <your-password> --launch

SideCars

SideCars let you open local web tools inside CodeNomad as tabs.

Configuration
  • Name: Display name used in CodeNomad
  • Port: Local HTTP or HTTPS service running on 127.0.0.1:<port>
  • Base path: Mounted under /sidecars/:id
  • Prefix mode:
    • Preserve prefix forwards the full /sidecars/:id/... path upstream
    • Strip prefix removes /sidecars/:id before forwarding the request upstream
VSCode (OpenVSCode Server)

Run with Docker:

docker run -it --init -p 8000:3000 -v "${HOME}:${HOME}:cached" -e HOME=${HOME} gitpod/openvscode-server --server-base-path /sidecars/vscode

Add SideCar as:

  • Name: VSCode
  • Port: http://127.0.0.1:8000
  • Base path: /sidecars/vscode
  • Prefix mode: Preserve prefix
Terminal (ttyd)

Run with:

ttyd --writable zsh

Add SideCar as:

  • Name: Terminal
  • Port: http://127.0.0.1:7681
  • Base path: /sidecars/terminal
  • Prefix mode: Strip prefix

Requirements

  • OpenCode CLI — must be installed and in your PATH
  • Node.js 18+ — for server mode or building from source

Development

CodeNomad is a monorepo built with:

Package Description
packages/server Core logic & CLI — workspaces, OpenCode proxy, API, auth, speech
packages/ui SolidJS frontend — reactive, fast, beautiful
packages/electron-app Desktop shell — process management, IPC, native dialogs
packages/tauri-app Tauri desktop shell (experimental)

Quick Start

git clone https://github.com/NeuralNomadsAI/CodeNomad.git
cd CodeNomad
npm install
npm run dev

Troubleshooting

macOS: "CodeNomad.app is damaged and can't be opened"

Gatekeeper flag due to missing notarization. Clear the quarantine attribute:

xattr -dr com.apple.quarantine /Applications/CodeNomad.app

On Intel Macs, also check System Settings → Privacy & Security on first launch.

Linux (Wayland + NVIDIA): Tauri App closes immediately

WebKitGTK DMA-BUF/GBM issue. Run with:

WEBKIT_DISABLE_DMABUF_RENDERER=1 codenomad

See full workaround in the original README.


Community

Star History


Built with ♥ by Neural Nomads · MIT License