Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ data-*/
public/bundle.js
public/bundle.css
public/app.css
public/excalidraw/
*.log
.DS_Store
.env
Expand Down
44 changes: 43 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.0.18] - 2026-07-27

### Added

- Cowork Notes, Docs, and Code now use CodeMirror 6 with shared live text,
collaborator cursors and selections, line numbers, search, indentation,
bracket support, language-aware highlighting, and Command/Control+S.
- Whiteboards now use a native embedded Excalidraw canvas, while Presentations
use Excalidraw-backed slides with add, duplicate, delete, reorder, and
distraction-free presentation mode. Both remain ordinary readable files in
the channel's `/workspace`.
- Authenticated Yjs collaboration lets channel members edit the same Cowork
asset together. Presence is membership-gated and scoped to the currently
visible file; agent or Terminal changes flow into an open clean document.

### Changed

- The Cowork agent panel still creates an ordinary channel session, but its
first message now includes the authenticated current co-viewers as well as
the open file path. Reopening an existing session can include newly present
collaborators without repeating the path.
- Notes and Docs add focused Markdown formatting and preview, Docs uses a
page-oriented surface, Code rejects unsupported binary database files with a
concise message, and the shared Cowork rail now exposes the complete nested
create, rename, move, duplicate, delete, search, and breadcrumb flow.
- Excalidraw fonts and assets are generated into the app and loaded only from
the same origin. Patched transitive `lodash-es` and `nanoid` versions remove
the Cowork dependency advisories without downgrading Excalidraw.

### Fixed

- Hidden Cowork channels and sections no longer retain live presence, while
switching themes or repainting the application shell preserves the exact
editor or canvas node, focus, selection, open asset, and unsaved work.
- In-flight file opens can no longer reconnect to a renamed, moved, or deleted
path, stale local drafts cannot silently overwrite newer agent or
collaborator changes, and shutdown synchronously flushes dirty Cowork files.
- Text creation and save reject embedded NUL data, collaborative rooms reject
unsupported roots, directories, unsafe/binary or oversized files, and every
Cowork WebSocket requires both authentication and channel membership.

## [0.0.17] - 2026-07-27

### Added
Expand Down Expand Up @@ -491,7 +532,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
notarization, stapled tickets, Gatekeeper verification, persistent
Application Support, and isolated Apple container machines.

[Unreleased]: https://github.com/gitcommit90/1Helm/compare/v0.0.17...HEAD
[Unreleased]: https://github.com/gitcommit90/1Helm/compare/v0.0.18...HEAD
[0.0.18]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.18
[0.0.17]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.17
[0.0.16]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.16
[0.0.15]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.15
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,9 @@ and an audit trail. A prompt saying “use this service” is not a connector.
familiar create, rename, move, duplicate, delete, upload, and download actions.
- Cowork as the direct visual editing plane for `/workspace/notes`,
`/workspace/whiteboards`, `/workspace/code`, `/workspace/docs`, and
`/workspace/presentations`, with one consistent file rail, purpose-built
editors, and an optional channel-agent panel that starts an ordinary thread
with the open file path.
`/workspace/presentations`, with one consistent file rail, live collaborative
text editors, embedded whiteboard and slide canvases, and an optional
channel-agent panel that starts an ordinary thread with the open file path.
- Quick Note in the top bar for capturing a Markdown note into
`/workspace/notes` without leaving or repositioning the current channel view.
- Durable files, threads, curated memory, Mnemosyne long-term recall,
Expand Down Expand Up @@ -296,7 +296,7 @@ A fresh data directory opens first-run setup. The source runtime defaults to
| `PORT` | `8123` | HTTP/WebSocket control-plane port. |
| `CTRL_DATA_DIR` | `./data` | Databases, routing state, uploads, and narrow workspace mirrors. |
| `HELM_CHANNEL_COMPUTER_BACKEND` | `apple` on macOS, `lxc` on Linux, `wsl` on Windows | Host isolation backend; `native` and `mock` are explicit development/test overrides. |
| `HELM_CHANNEL_MACHINE_IMAGE` | `local/1helm-channel-machine:0.0.17` | Versioned channel-machine image contract. |
| `HELM_CHANNEL_MACHINE_IMAGE` | `local/1helm-channel-machine:0.0.18` | Versioned channel-machine image contract. |

### Agent-first JSON CLI

Expand Down
29 changes: 20 additions & 9 deletions docs/USER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,18 +126,29 @@ Whiteboard, Code, Docs, and Presentations modes map directly to:
```

Each mode keeps the same folder rail and nested-folder navigation while the
center changes to the appropriate editor. Notes and Docs edit Markdown, Code
provides a focused text editor and declines unsupported binary types,
Whiteboard uses one readable `.whiteboard.json` file, and Presentations uses
one readable `.slides.json` file. Drafts and each mode's last open asset remain
available while switching modes. Opening one of these assets from Files routes
to the matching Cowork mode because both surfaces edit the same bytes.
center changes to the appropriate editor. Notes and Docs use collaborative
Markdown editors with formatting and preview; Code adds line numbers, search,
indentation, and language-aware highlighting while declining unsupported
binary types. Whiteboard embeds a collaborative Excalidraw canvas in one
readable `.whiteboard.json` file. Presentations use one readable `.slides.json`
file with an Excalidraw-backed slide canvas, thumbnails, reordering, and
presentation mode. Drafts and each mode's last open asset remain available
while switching modes. Opening one of these assets from Files routes to the
matching Cowork mode because both surfaces edit the same bytes.

People viewing the same text asset can edit simultaneously and see each
other's cursor and selection. Whiteboard and presentation scene changes also
appear live for the other viewers. Agent and Terminal changes to an open clean
file are pulled into Cowork automatically; if a local draft and an external
change conflict, Cowork asks before replacing either version.

The resident avatar opens Cowork's collapsible agent panel without covering the
asset on desktop. Its first message starts a normal channel thread and adds the
current `/workspace/...` path; later messages continue that thread, and **Open
in Chat** moves the same session to the channel's regular conversation view.
The agent harness otherwise remains unchanged.
current `/workspace/...` path. When other people are actively viewing that
asset, their usernames are included with the first message so the normal
thread can include the current collaborators. Later messages continue that
thread, and **Open in Chat** moves the same session to the channel's regular
conversation view. The agent harness otherwise remains unchanged.

The terminal prompt displays the live current path and changes after `cd`.
1Helm sends a terminal heartbeat while the pane is open and automatically
Expand Down
8 changes: 4 additions & 4 deletions ios/App/App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -302,14 +302,14 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 16;
CURRENT_PROJECT_VERSION = 18;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.0.17;
MARKETING_VERSION = 0.0.18;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = com.gitcommit90.onehelm.mobile;
PRODUCT_NAME = 1Helm;
Expand All @@ -326,14 +326,14 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 16;
CURRENT_PROJECT_VERSION = 18;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.0.17;
MARKETING_VERSION = 0.0.18;
PRODUCT_BUNDLE_IDENTIFIER = com.gitcommit90.onehelm.mobile;
PRODUCT_NAME = 1Helm;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
Expand Down
Loading
Loading