Commit graph

1181 commits

Author SHA1 Message Date
Ramnique Singh
35ca1b69c0 build .deb and .rpm 2026-02-06 23:34:13 +05:30
tusharmagar
940965f002 ui: refine sidebar footer actions 2026-02-06 23:29:57 +05:30
tusharmagar
69c4021ead code clean up 2026-02-06 23:17:32 +05:30
tusharmagar
ce30c05604 refactor: remove unused button for new chat in the App component 2026-02-06 23:17:32 +05:30
tusharmagar
14bcd5d888 refactor: update titlebar styles and replace Separator with button for chat sidebar toggle 2026-02-06 23:17:32 +05:30
tusharmagar
840ae4b9cb titlebar refactor 2026-02-06 23:17:32 +05:30
tusharmagar
cbe34aec8e sidebar remake 2026-02-06 23:17:32 +05:30
tusharmagar
eefc6a9700 feat: add syncing update for graph building on the UI 2026-02-06 23:17:32 +05:30
Ramnique Singh
6425dbcf28 fix electron-squirrel-startup 2026-02-06 07:28:55 +05:30
Ramnique Singh
116ebce184 fix target names 2026-02-06 07:12:58 +05:30
Ramnique Singh
269787a013 fix electron-squirrel-startup 2026-02-06 07:09:31 +05:30
Ramnique Singh
680f1eef7b fix electron build asset names 2026-02-06 06:58:12 +05:30
Ramnique Singh
e1637d5965 add win32 + linux electron builds 2026-02-06 06:44:06 +05:30
Ramnique Singh
c3409c4cff fix eslint + ts errs in renderer 2026-02-06 05:27:52 +05:30
Arjun
c4c68d76be refactor onboarding: remove welcome screen, streamline model setup, tighten spacing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 23:03:47 +05:30
Arjun
1cddc705df collab on doc does a readfile everytime 2026-02-05 17:19:22 +05:30
Arjun
53f66c44c0 remove footers as they can collide 2026-02-05 17:12:55 +05:30
Arjun
fc1e1b628e use builtin tools for writing file 2026-02-05 17:08:04 +05:30
Arjun
89e5a7f8bc added presentation card and changed chat hello wording 2026-02-05 16:57:40 +05:30
Arjun
c447a42d07 feat: add background agents with scheduling support
- Add background task scheduling system with cron-based triggers
- Add background-task-detail component for viewing agent status
- Add agent schedule repo and state management
- Update sidebar to show background agents section
- Remove old workflow-authoring and workflow-run-ops skills
- Add IPC handlers for agent schedule operations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:43:09 +05:30
tusharmagar
82db06d724 Merge branch 'dev' of github.com:rowboatlabs/rowboat into dev 2026-02-05 00:39:18 +05:30
tusharmagar
4c333f241f feat: enhance markdown editor to preserve blank lines and improve markdown processing 2026-02-05 00:39:11 +05:30
Arjun
f03a00d2af fix startup flash 2026-02-04 22:45:51 +05:30
Arjun
53bbd3b76d added dark mode 2026-02-04 22:36:27 +05:30
tusharmagar
92d324a84e feat: implement preferred default models for LLM providers in onboarding modal 2026-02-04 18:14:10 +05:30
tusharmagar
64e7223cbb fix: made the chat input box same width as the text area 2026-02-04 15:13:09 +05:30
tusharmagar
d903a8cae3 feat: add ScrollPositionPreserver component to manage scroll engagement in conversations. 2026-02-04 15:03:05 +05:30
tusharmagar
23a1544a17 refactor: remove unused MessageSquare icon from sidebar content 2026-02-04 14:43:52 +05:30
Ramnique Singh
10f94ce67e feat: simplify LLM config and onboarding 2026-02-04 01:13:02 +05:30
Arjun
948c6e7176 make exa mcp available by default 2026-02-03 23:29:21 +05:30
Ramnique Singh
26c3e495d1 Revert "dont download calendar attachments"
This reverts commit 4a47006aa9.
2026-02-03 23:14:29 +05:30
Ramnique Singh
3cfbfa7c34 Reapply "ask for google client id"
This reverts commit efa91f8627.
2026-02-03 23:01:23 +05:30
Ramnique Singh
fbdf9cd834 Revert "feat: move gmail sync to composio OAuth and remove calendar sync"
This reverts commit d12150f1bf.
2026-02-03 22:54:33 +05:30
Ramnique Singh
9747c55d0e Revert "feat: integrate Supabase OAuth with OIDC discovery for authentication"
This reverts commit bbe82c124d.
2026-02-03 22:18:44 +05:30
Arjun
d7b84f87d0 feat: voice notes with instant transcription and knowledge graph integration
- Voice memos now create notes immediately in knowledge/Voice Memos/<date>/
- Transcription shows directly in the note (Recording... → Transcribing... → transcript)
- Graph builder processes voice memos from knowledge directory
- Note creation agents now use workspace tools (writeFile, edit, grep, glob) instead of executeCommand
- Removes executeCommand dependency - no more permission prompts blocking knowledge updates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 15:49:53 +05:30
Arjun
3e2ed4cbc4 upgrade composio and dependencies 2026-02-03 12:28:24 +05:30
Arjun
d12150f1bf feat: move gmail sync to composio OAuth and remove calendar sync
Migrate gmail_sync to use Composio for OAuth authentication instead of
direct Google OAuth. Add gmail connection UI to onboarding and connectors.
Remove calendar sync functionality.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:28:24 +05:30
tusharmagar
aa2a830f23 feat: slack integration with composio
Allow users to ask copilot to use Slack on their behalf via Composio integration.
Adds composio client, OAuth flow, slack skill with tool catalog, and UI for
connecting Slack in onboarding and connectors popover.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:28:22 +05:30
Ramnique Singh
bbe82c124d feat: integrate Supabase OAuth with OIDC discovery for authentication
Add rowboat auth flow using Supabase as the OIDC provider. User info is
fetched via the standard OIDC userinfo endpoint (discovered from issuer
metadata) instead of a hard-coded Supabase URL. Includes login screen,
auth state hook, IPC handlers, logout button, and id_token_sub persistence
for userinfo fetches across app restarts.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 07:25:33 +05:30
tusharmagar
84c101fa21 fix to:
UX issue: if I scroll the text before the copilot has finished generating, then it scrolls back up after the end of generation.
Rename tasks -> Chats and make it the default view
2026-01-31 18:59:43 +05:30
Arjun
2105f6d6cd dropping files into the chat add the path 2026-01-31 00:15:12 +05:30
Arjun
7133dbe1d9 improved presentation skill 2026-01-30 22:57:20 +05:30
Arjun
9cd7d11969 feat: rewrite presentation skill to give agent full code freedom
The skill now treats the existing generator as a minimal reference and
tells the agent it can write and execute its own code, install any npm
packages, generate charts/visualizations, and use whatever libraries it
wants. Adds visual quality guidelines emphasizing color, charts, and
polish over plain text-on-white slides.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:35:31 +05:30
Arjun
e6c6571b07 feat: extract presentation generator into executable code with builtin tool
Move the presentation implementation out of the skill string into real
TypeScript files (types.ts, presentation-generator.tsx) and add a
generatePresentation builtin tool so the agent calls it directly instead
of writing code. Rewrite the skill to guidance-only with content limits,
preference gathering, and JSON examples for each slide type.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:30:06 +05:30
Ramnique Singh
a3e681a7c4 feat: add stop execution with hybrid graceful/force abort
Implement a stop execution feature that allows users to abort ongoing LLM
streaming, kill running tool calls, and clear pending permission/human input
requests. Uses a hybrid approach: first click sends graceful SIGTERM, second
click within 2s sends SIGKILL and force-closes MCP clients.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 06:55:18 +05:30
Ramnique Singh
f5cc803340 feat: auto-initialize config files on Electron app startup
Ensure models.json, mcp.json, and security.json config files are created
when the app starts, before the Settings UI can access them.

- Add ensureConfig() method to IModelConfigRepo and IMcpConfigRepo interfaces
- Add async ensureSecurityConfig() function for security config initialization
- Create initConfigs.ts with centralized initialization that calls all config ensure methods
- Call initConfigs() in main.ts before setupIpcHandlers()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:17:51 +05:30
Ramnique Singh
7a59b28651 fix: clean up OAuth server when flow is abandoned or restarted
Cancel any existing OAuth flow before starting a new one to prevent
"Port 8080 is already in use" errors. Adds module-level tracking of
the active flow and a cancelActiveFlow() helper for proper cleanup.
Also reduces timeout from 5 minutes to 2 minutes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:53:28 +05:30
Ramnique Singh
4a47006aa9 dont download calendar attachments 2026-01-29 14:12:12 +05:30
Ramnique Singh
7f91e8829c fix scopes 2026-01-28 07:04:58 +05:30
Ramnique Singh
efa91f8627 Revert "ask for google client id"
This reverts commit 941a56142b.
2026-01-28 07:04:58 +05:30