Commit Graph

570 Commits

Author SHA1 Message Date
Haileyesus
dfe9c75cfd refactor: setup sidebar workspace and session list 2026-03-30 15:48:20 +03:00
Haileyesus
e165d2ca24 feat: setup delete session by id 2026-03-28 11:30:36 +03:00
Haileyesus
ce0dfad638 refactor: remove sessions names db 2026-03-28 11:06:37 +03:00
Haileyesus
6cfe617711 refactor: setup project wizards with only three steps 2026-03-27 22:16:56 +03:00
Haileyesus
ec70bfe7c7 fix: load env variables correctly 2026-03-27 21:04:40 +03:00
Haileyesus
fa05683861 feat: use cross-spawn 2026-03-27 20:55:30 +03:00
Haileyesus
ab72270ada feat(backend): use cross-spawn fir projects.routes.ts 2026-03-27 20:52:17 +03:00
Haileyesus
90d234d9f3 refactor(backend): move db repos to typescript and update imports 2026-03-27 20:10:01 +03:00
Haileyesus
33cea381c4 refactor(backend): move remaining routes declared in index.js to thier own module 2026-03-27 18:53:30 +03:00
Haileyesus
f77301e844 refactor(backend): move every route to its own module 2026-03-27 18:26:30 +03:00
Haileyesus
8986bc10a5 docs: remove backend architecture docs 2026-03-27 16:57:27 +03:00
Haileyesus
b57fec9d66 refactor: setup sidebar header 2026-03-27 16:44:56 +03:00
Haileyesus
186dbcde63 refactor: make sidebar a global component 2026-03-27 14:53:10 +03:00
Haileyesus
9a8178e9ca refactor(backend): move user routes to a module; add packages for cross-spawn types 2026-03-26 14:12:04 +03:00
Haileyesus
1abdb95207 chore: remove a console log 2026-03-26 13:51:17 +03:00
Haileyesus
45bc53c68f refactor(backend): move auth routes to a module 2026-03-26 13:51:01 +03:00
Haileyesus
24abcef110 feat(db): add custom workspace name 2026-03-26 13:19:51 +03:00
Haileyesus
fdad9acc2e feat: setup @ for importing in the frontend 2026-03-26 13:16:56 +03:00
Haileyesus
85364e0234 refactor: added express middlewares 2026-03-25 21:34:09 +03:00
Haileyesus
63c4bbd2b8 refactor: migrate express middlewares 2026-03-25 17:33:23 +03:00
Haileyesus
57d6ae59de refactor: rename session parser functions; move sessionData to a shared type 2026-03-25 11:22:56 +03:00
Haileyesus
3b7a9d35c2 refactor: move session parsing and file watcher logic to specific folders 2026-03-25 11:22:55 +03:00
Haileyesus
3e268e201a feat: implement basic file watcher and session updater 2026-03-25 11:22:54 +03:00
Haileyesus
f187e22976 fix: correct path to .env file in load-env-vars configuration 2026-03-25 11:22:53 +03:00
Haileyesus
bbb461f7c2 refactor(backend): add refactored runner for new backend architecture 2026-03-25 11:22:53 +03:00
Haileyesus
7df21556dd refactor: add cross-platform utility functions 2026-03-25 11:22:52 +03:00
Haileyesus
23c39a42b1 fix: update legacy runtime path
- Changed the legacy runtime path from 'legacy-runtime.js' to 'index.js'
in runtime configuration.
- Added a new start script (start.js) to check for the existence of the
built TypeScript server entrypoint and import it.
2026-03-25 11:22:51 +03:00
Haileyesus
695da128f3 refactor: restructure db logic and add import alias using tsc-alias
Note: the legacy githubTokensDb migration is not included in this commit.
It's used only in `agents.js` and will be removed in a future commit. We
will directly use credentials repository instead of github tokens repository.
2026-03-25 11:22:50 +03:00
Haileyesus
e67738c9fc refactor: bare structure for new backend architecture and runtime; no behavior changes yet 2026-03-25 11:22:49 +03:00
xiguatoutou
b54cdf8168 fix: prevent split on undefined(#491) (#563) 2026-03-23 20:14:15 +03:00
simosmik
42a131389a chore: add release-it github action 2026-03-22 01:41:21 +00:00
simosmik
ebd1c0db92 chore(release): v1.26.3 v1.26.3 2026-03-22 01:10:13 +00:00
simosmik
6d87cc5566 chore(release): v1.26.2 v1.26.2 2026-03-21 16:59:38 +00:00
simosmik
17d6ec54af fix: change SW cache mechanism 2026-03-21 16:49:56 +00:00
simosmik
a41d2c713e fix: claude auth changes and adding copy on mobile 2026-03-21 16:40:44 +00:00
simosmik
08a6653b38 chore(release): v1.26.0 v1.26.0 2026-03-20 15:42:41 +00:00
Simos Mikelatos
a4632dc4ce feat: unified message architecture with provider adapters and session store (#558)
- Add provider adapter layer (server/providers/) with registry pattern
    - Claude, Cursor, Codex, Gemini adapters normalize native formats to NormalizedMessage
    - Shared types.js defines ProviderAdapter interface and message kinds
    - Registry enables polymorphic provider lookup

  - Add unified REST endpoint: GET /api/sessions/:id/messages?provider=...
    - Replaces four provider-specific message endpoints with one
    - Delegates to provider adapters via registry

  - Add frontend session-keyed store (useSessionStore)
    - Per-session Map with serverMessages/realtimeMessages/merged
    - Dedup by ID, stale threshold for re-fetch, background session accumulation
    - No localStorage for messages — backend JSONL is source of truth

  - Add normalizedToChatMessages converter (useChatMessages)
    - Converts NormalizedMessage[] to existing ChatMessage[] UI format

  - Wire unified store into ChatInterface, useChatSessionState, useChatRealtimeHandlers
    - Session switch uses store cache for instant render
    - Background WebSocket messages routed to correct session slot
2026-03-19 16:45:06 +03:00
Simos Mikelatos
612390db53 feat(refactor): move plugins to typescript (#557)
* feat(refactor): move plugins to typescript

* chore: add timeout to plugin build function
2026-03-18 16:44:07 +03:00
Simos Mikelatos
88c60b70b0 feat: add WebSocket proxy for plugin backends (#553)
* feat: add WebSocket proxy for plugin backends

Adds /plugin-ws/:name route that proxies authenticated WebSocket
connections to plugin server subprocesses, enabling real-time
bidirectional communication for plugins like web-terminal.

* chore: update README with the plugin
2026-03-18 16:43:25 +03:00
Haile
4de8b78c6d fix: remove /exit command from claude login flow during onboarding (#552) 2026-03-17 08:46:16 +01:00
Igor Zarubin
7413c2c784 docs(readme): hotfix and improve for README.jp.md (#550)
* docs: standardize hero badges and language order across README translations

* fix: label README command blocks as bash

* docs: translate remaining sections to Japanese

* fix(readme): remove sponsor duplicate in Japanese readme

* fix(readme): japanese translation fixes

* fix(readme): remove duplicate sections

* fix(readme): remove duplicate

* fix(readme): remove extra lines

* feat(readme): improve japanese readme

* fix: remove duplicated hero block

* fix: remove duplicates

* fix: remove duplications

---------

Co-authored-by: Haile <118998054+blackmammoth@users.noreply.github.com>
2026-03-16 15:50:29 +03:00
Haile
d6133ba2ad Improve dev host handling and clarify backend port configuration (#532)
* fix: remove --host from npm run server command

Running `vite --host` exposes the dev server on all interfaces. However,
we should expose it on all interfaces only when `HOST` is set to `0.0.0.0`.
Otherwise, we should assume the user wants to bind to a host of their choice
and not expose the server on the network.

* fix: use src hostname for redirecting to Vite in development

Previously, the server redirected to Vite using `localhost` as the hostname.
Even if the user was using HOST="0.0.0.0", if they connected to server from
another device on the same network using `http://<host_ip>:3001`, the
server would redirect them to `http://localhost:5173`, which would not
work since `localhost` would resolve to the client's machine instead of the server.

* fix: use shared network hosts configuration for better proxy setup

- Normalize all localhost variants to 'localhost' for consistent proxy
configuration in Vite and server setup.
- use one source of truth for network hosts functions by moving them to
a shared
- log production and development urls

* refactor: rename PORT to SERVER_PORT for clarity

* chore: add comments explaining host normalization

* fix: add legacy PORT env fallback for server port configuration

* fix: add fallback for SERVER_PORT using PORT environment variable

---------

Co-authored-by: Haileyesus <something@gmail.com>
Co-authored-by: Simos Mikelatos <simosmik@gmail.com>
2026-03-16 12:40:01 +01:00
Igor Zarubin
14aef73cc6 docs(README): update translations with CloudCLI branding and feature restructuring (#544)
* docs: standardize hero badges and language order across README translations

* fix: label README command blocks as bash

* docs: translate remaining sections to Japanese

* fix(readme): remove sponsor duplicate in Japanese readme

* fix(readme): japanese translation fixes

* fix(readme): remove duplicate sections

---------

Co-authored-by: Haile <118998054+blackmammoth@users.noreply.github.com>
2026-03-16 14:04:49 +03:00
Benjamin
72ff134b31 feat: Browser autofill support for login form (#521)
* fix: add name and autocomplete attributes to auth form inputs

Password managers (1Password, Bitwarden, etc.) rely on the HTML `name`
and `autocomplete` attributes to detect and fill credential fields.
The login and setup forms were missing both, preventing password managers
from offering autofill.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add JSDoc docstrings to auth form components

Adds JSDoc comments to all exported functions and the internal
validateSetupForm helper in the auth form files, bringing docstring
coverage above the 80% threshold required by CodeRabbit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: explicitly set name props on SetupForm credential inputs

The three AuthInputField calls in SetupForm were relying on the
id-to-name fallback (name={name ?? id}) inside AuthInputField.
Adding explicit name props makes the password-manager contract
self-contained in SetupForm and resilient to future id changes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Benjamin <1159333+benjaminburzan@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 14:00:14 +03:00
Luc Peng
95bcee0ec4 fix: detect Claude auth from settings env (#527)
- detect Claude auth from ~/.claude/settings.json env values
- treat ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN from settings as authenticated
- keep existing .credentials.json OAuth detection unchanged
2026-03-13 20:22:09 +03:00
Simos Mikelatos
45e71a0e73 feat: introduce notification system and claude notifications (#450)
* feat: introduce notification system and claude notifications

* fix(sw): prevent caching of API requests and WebSocket upgrades

* default to false for webpush notifications and translations for the button

* fix: notifications orchestrator and add a notification when  first enabled

* fix: remove unused state update and dependency in settings controller hook

* fix: show notifications settings tab

* fix: add notifications for response completion for all providers

* feat: show session name in notification and don't reload tab on clicking
--- the notification

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Haileyesus <something@gmail.com>
2026-03-13 18:59:09 +03:00
Simos Mikelatos
6f6dacad5e Update issue templates 2026-03-13 16:17:42 +01:00
Simos Mikelatos
adb3a06d7e feat: git panel redesign (#535)
* feat(git-panel): add Branches tab, Fetch always visible, inline error banners

- Add dedicated Branches tab (local/remote sections, switch with confirmation, delete branch, create branch)
- Rename History tab to Commits; add change-count badge on Changes tab
- Fetch button always visible when remote exists (not only when both ahead & behind)
- Inline error banner below header for failed push/pull/fetch, with dismiss button
- Server: /api/git/branches now returns localBranches + remoteBranches separately
- Server: add /api/git/delete-branch endpoint (prevents deleting current branch)
- Controller: expose operationError, clearOperationError, deleteBranch, localBranches, remoteBranches
- Constants: add deleteBranch to all ConfirmActionType record maps

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: git log datetime

* feat(git-panel): add staged/unstaged sections and enhanced commit details

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Haile <118998054+blackmammoth@users.noreply.github.com>
2026-03-13 17:38:53 +03:00
Benjamin
1d31c3ec83 docs: add German language link to all README files (#534)
* docs: add German language link to all README files
2026-03-12 17:04:01 +01:00
Benjamin
a7299c6823 feat: add German (Deutsch) language support (#525)
* feat: add German (Deutsch) language support
2026-03-12 10:51:55 +01:00