You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Open same project in multiple tabs & tab bar creation refinement:
Removed project deduplication check when opening projects from the tab bar + dropdown menu ("Recent Projects"), allowing users to open multiple independent conversation tabs for the same workspace directory without auto-switching to an existing tab.
Added pure nextInitialName and normalizePath helpers in src/app/session-title.js, auto-numbering initial project tabs (<folder>, <folder> (2), <folder> (3)) without bloating src/live.js while recycling freed indices upon closing tabs.
Enhanced SessionTitle.isInitialSessionName and nextTitle to recognize numbered project initial titles and gracefully preserve sequence numbers if the first prompt equals the folder name.
Note on concurrent agents: multiple active sessions sharing a project directory operate on the same filesystem; workspace-level features (such as Code Review and File Tree) reflect live state across all sessions in that directory.
Session tab title truncation, native tooltips, and project-aware title formatting:
Automatically format session tab titles upon starting a conversation: standalone sessions use the sanitized first prompt, while project-bound sessions use <folderName>: <prompt> format so multi-session project tabs are distinguishable.
Added pure SessionTitle module (src/app/session-title.js) that strips Plan mode framing (INTENT_FRAMING), removes Markdown header markers, normalizes newlines/whitespace, clamps character length safely across surrogate pairs (emojis/CJK), and provides unified folderName path parsing.
Implemented elastic tab layout in CSS (flex: 0 1 auto; min-width: 100px; max-width: 200px;) with single-line ellipsis (text-overflow: ellipsis), allowing short titles to fit naturally without forcing 200px width while keeping .tabsoverflow: visible to prevent clipping the + dropdown menu.
Added native title tooltips to tabs and window chrome, showing full conversation titles and directory paths on hover.
Hardened title formatting and event dispatch: factored out SessionTitle.nextTitle pure logic, ignored slash commands (/plan, /compact, /review) and file-only mentions so they never lock titles prematurely, verified and matched session_info_update by savedSessionId from omp RPC, and guarded established titles (titleLocked: true) against subsequent prompt overwrites.
Improved standalone tab numbering to recycle unassigned PiDesk slots when existing tabs are custom-titled.
Updated File Tree panel header (displayName) via SessionTitle.resolveFolderTitle to prioritize folder name over generic project labels (standalone sessions display workspace).
Cleaned up duplicate .tabs-right CSS rules, consolidating flex-shrink: 0 into the main rule.
Documentation
Redesigned README showcase and screenshot assets: overhaul feature matrix in README.md and README.zh-CN.md with an 8-pillar visual architecture (Activity Bar workspace, context-aware @ chips & Undo, /review drawer, Plan Mode & Kanban, Quick Bar overlay, screenshot annotation suite with mosaic blur, Model Manager thinking depth, and command palette / themes). Replaced legacy stacked screenshots with 8 high-DPI feature screenshots and removed deprecated image assets.
๐ฆ Installation Guide / ๅฎ่ฃ ๆๅ
๐ macOS
Homebrew (Recommended / ๆจ่):
brew install --cask raiderwang/tap/pidesk
Automatically bypasses Gatekeeper quarantine, no extra command needed.
Manual DMG (.dmg):
Download .dmg (aarch64 for Apple Silicon, x64 for Intel). If macOS says "PiDesk is damaged and can't be opened"๏ผๆ็คบๅทฒๆๅ๏ผ, run this command in terminal to clear the quarantine attribute:
xattr -cr /Applications/PiDesk.app
๐ช Windows
Download .msi (recommended) or .exe installer.
If Windows SmartScreen prompts on launch, click More info โ Run anyway๏ผ็นๅปโๆดๅคไฟกๆฏโ โ โไป่ฆ่ฟ่กโ๏ผ.
๐ง Linux
Download .AppImage or .deb.
โ๏ธ Requirements
oh-my-pi (omp) must be installed and available on your PATH.