Commit graph

150 commits

Author SHA1 Message Date
Arjun
2190e793a6 email block initial 2026-03-21 15:27:51 +05:30
Arjun
c03882f43f cal block initial commit 2026-03-21 15:27:51 +05:30
arkml
c0138af3ab
Ola (#438)
Native meeting transcription that captures mic and system audio, transcribes
  live via Deepgram, and generates AI-powered meeting notes.

  - Toggle button in toolbar to start/stop meeting transcription
  - Dual-stream audio capture: mic (You) + system audio (They) via getDisplayMedia
   loopback
  - Multichannel Deepgram transcription with diarization for speaker
  identification
  - Headphone detection with mic gating when using speakers to prevent echo bleed
  - Live transcript saved to knowledge/Meetings/rowboat/{date}/ as markdown
  - Auto-stop after 2 minutes of silence
  - LLM-generated meeting notes prepended above raw transcript on stop
  - Calendar event matching: pulls nearby events from calendar_sync to identify
  meeting title and participant names
  - First-time permissions setup modal on macOS for Screen Recording
  - Button only visible when Deepgram is available (logged in or API key
  configured)
2026-03-19 22:12:42 +05:30
Ramnique Singh
7966501a79 fix api url 2026-03-19 21:50:46 +05:30
Ramnique Singh
2e8a3580c2 hardcode prod urls 2026-03-19 18:46:54 +05:30
Ramnique Singh
63a1d4952b remove default exa server 2026-03-19 18:46:08 +05:30
arkml
affc9956f4
Livenote2 (#440)
* tasks execute immediately

* response formatting

* remove at rowbot block for single tasks

* show last ran time stamp
2026-03-19 01:34:10 +05:30
arkml
91030a5fca
Blocks (#439)
Added blocks to notes and updated assistant skill with this.

Image blocks — images with alt text and captions
Embed blocks — inline YouTube videos, Figma designs, or link cards
Chart blocks — line, bar, and pie charts from inline data or JSON files
Table blocks — styled data tables with named columns
2026-03-18 23:33:12 +05:30
tusharmagar
47ecc31988 Refactor ConnectorsPopover and SettingsDialog components to enhance account management features. Introduce AccountSettings and ConnectedAccountsSettings components for improved user experience in managing Rowboat account connections. Update billing information structure to include user email and ID. Implement dynamic tab visibility based on connection status in SettingsDialog. 2026-03-18 16:15:02 +05:30
tusharmagar
b066aa2b24 Update COMPOSIO_LOOKBACK_DAYS to 30 in sync_gmail.ts for extended sync period 2026-03-18 10:27:02 +05:30
Tushar
86818e7d21
Onboarding rebased (#426)
* Enhance onboarding modal to support multiple paths (Rowboat and BYOK). v1

* new onboarding flow

* Resolve stash merge conflicts: keep both inline-task and billing features

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

* Refactor billing information structure and API integration

* onboarding ui refactor

* Update import path for getAccessToken in billing.ts to reflect new directory structure

* Implement Gmail integration with Composio, enhancing onboarding flow to support Gmail connection status and API key management. Update ConnectorsPopover and SettingsDialog components to reflect new functionality, including dynamic tab visibility based on Rowboat connection status.

* use composio for calendar

* Enhance onboarding flow to support Google Calendar integration with Composio. Add state management for Google Calendar connection status, loading states, and connection handling. Update UI components to reflect Google Calendar connectivity in onboarding steps.

* Integrate Google Calendar sync functionality with Composio, enhancing the connection handling in composio-handler and oauth-handler. Update onboarding modal and connectors-popover to manage connection states and provide user feedback during the sync process. Implement Composio-based event syncing in sync_calendar.ts.

* Maximize window on ready-to-show event in main.ts to improve user experience by preventing blank screen on launch.

* Enhance WelcomeStep component in onboarding flow with new feature highlights and animations. Introduce icons for memory, connectivity, and privacy features. Update logo display with ambient glow effect and improve user feedback during connection states.

* Refactor voice availability check in App component to trigger on OAuth state changes. Update SidebarContentPanel to enhance billing display with improved styling and clearer upgrade call-to-action.

* Enhance OAuth event handling by notifying the renderer on provider disconnection. Update ConnectorsPopover to listen for OAuth state changes, and refine WelcomeStep component by removing feature highlights and adjusting layout for improved user experience.

* Implement Rowboat model settings in the settings dialog, including loading and saving model configurations based on Rowboat connection status. Enhance chat input component to manage Rowboat connection state and update model loading logic accordingly.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Arjun <6592213+arkml@users.noreply.github.com>
2026-03-17 12:04:57 +05:30
Arjun
65e2b3b868 add Notes folder and move sync state out of knowledge
- Add knowledge/Notes/ folder created on startup, pinned to top of sidebar
- New Note/New Folder default to creating inside Notes/
- Move Granola sync state to ~/.rowboat/granola_sync_state.json
- Move Fireflies sync state to ~/.rowboat/fireflies_sync_state.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 23:26:28 +05:30
Arjun
09395a72c7 fix voice memos and move metadata to properties
- Fix duplicate tab bug via onNoteCreatedRef (stale closure in recorder.onstop)
- Fix transcription not showing: read file from disk and update editor directly
- Move voice memo type/recorded/path from body to YAML frontmatter (Properties)
- Update note creation agent to detect voice memos via frontmatter

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 23:26:28 +05:30
Arjun
7e15c1231d meetings and knowledge improvements
- Limit Granola sync to 30-day lookback period
- Move Granola and Fireflies sync dirs under knowledge/Meetings/
- Note creation agent links to source meeting notes in activity entries
- Note creation agent links to Gmail threads via web URL
- Add Meetings to note type definitions with recursive tag scanning
- Tagging agent extracts meeting metadata (date, source, attendees, title, topic)
- Clicking Knowledge with no tab open auto-opens Bases view

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 23:26:28 +05:30
Ramnique Singh
16b8975b00 auto-enable composio gmail sync when signed in 2026-03-16 11:01:22 +05:30
Arjun
dd361cb6bf fix composio API integration: URL construction, schema validation, and executeAction calls
- Fix URL construction in composioApiCall to preserve base path (/api/v3)
- Make ZToolkit and ZTool schema fields optional to match actual API responses
- Fix error detection to not trigger on successful responses with null error
- Fix executeAction calls in sync_gmail to use correct request object shape
- Use .successful instead of .success to match ZExecuteActionResponse schema

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 09:57:55 +05:30
Arjun
17bb625ab9 use composio for google optionally 2026-03-16 09:40:31 +05:30
Ramnique Singh
d2bb11f104 support managed composio 2026-03-15 23:39:48 +05:30
arkml
d0a48d7f51
Download notes (#423)
* download notes to md, pdf or docx
2026-03-14 21:29:53 +05:30
Ramnique Singh
1400e94c68 use managed exa+brave search when signed in 2026-03-13 23:10:20 +05:30
Ramnique Singh
7097cb064a use managed deepgram when signed in 2026-03-13 22:26:28 +05:30
Arjun
604d521ac2 added search button to chat input 2026-03-13 13:58:30 +05:30
Ramnique Singh
c845a7c40d support for managed tts 2026-03-13 12:42:25 +05:30
Arjun
779ad51f9f faster voice responses 2026-03-13 11:32:10 +05:30
Arjun
47d5118448 voice mode with TTS input/output 2026-03-13 10:39:05 +05:30
Arjun
d150294af1 app navigation 2026-03-13 10:39:05 +05:30
Ramnique Singh
8f1adfb6a5 fix api urls 2026-03-12 23:29:43 +05:30
Ramnique Singh
7311501343 use rowboat model gateway when logged in 2026-03-12 23:29:42 +05:30
Ramnique Singh
bd6ef0df28 wire up to local supabase oidc oauth 2026-03-12 23:29:20 +05:30
arkml
0be3e60560
Slack2 (#410)
* agent slack

* add to settings

* select workspace

* skill changes

* chain commands

* fix: Use Git Bash on Windows instead of hardcoded /bin/sh for command execution

* Refactor command execution shell handling

Replace the getShell() function with EXECUTION_SHELL for consistency in command execution. This change simplifies the code and aligns with the recent updates from the dev branch.

---------

Co-authored-by: Tushar Magar <tushmag@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 16:26:51 +05:30
Arjun
70635ad245 filter low quality emails 2026-03-10 15:39:10 +05:30
Arjun
bd4cc1145d inline task agent v1 2026-03-10 15:39:10 +05:30
Arjun
5131fb7f9e email labels 2026-03-10 15:39:10 +05:30
arkml
5a72ee06e1
Model switch (#413)
Add ability to switch models in chat
2026-03-02 21:42:46 +05:30
arkml
d7dc27a77e
History (#406)
* notes history
2026-02-27 20:22:54 +05:30
arkml
9df1bb6765
Config graph model (#411)
* config to specify graph model
2026-02-27 15:52:19 +05:30
Tushar
cccb7a8a65
Add plus button to prompt input for file and image attachments (#381)
* Add plus button to prompt input for file and image attachments

Co-authored-by: Cursor <cursoragent@cursor.com>

* Refactor chat message attachment handling and improve UI for attachments in chat input and sidebar

* fixed review comments

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Arjun <6592213+arkml@users.noreply.github.com>
2026-02-26 21:41:17 +05:30
tusharmagar
b5424d92f9 Add OS-aware runtime context for cross-platform shell execution
Detect the runtime platform and default shell at startup, inject
platform context into assistant instructions, and replace hardcoded
/bin/sh with the detected shell in command executors (cli + electron).

Made-with: Cursor
2026-02-26 11:42:43 +05:30
tusharmagar
a3e74931bf Implement enhanced wiki link rewriting and cache invalidation for renamed files 2026-02-24 20:47:51 +05:30
tusharmagar
34792e9c19 Enhance wiki link handling during file renaming 2026-02-24 20:20:52 +05:30
Arjun
53d48ab4f3 add session and always permission scopes for command execution
Session-scoped permissions are stored in the run log and rebuilt by
the state-builder, scoping them to a single run. Always-scoped
permissions persist to security.json. The backend derives command
names from the run log instead of receiving them from the frontend.
Uses regex-based command parsing with subshell/parenthesis support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:00:08 +05:30
Ramnique Singh
3ea416ac71 preserve refresh token if not reissued 2026-02-21 22:59:28 +05:30
Ramnique Singh
f5d585ac7e refactor build-oauth-url params 2026-02-21 22:59:16 +05:30
Ramnique Singh
a358ae7051 refactor oauth repo interface 2026-02-21 22:58:38 +05:30
Ramnique Singh
99e219b8a0
Merge pull request #352 from RinZ27/security-fixes-path-traversal-cmd-injection
fix path traversal and CLI command validation
2026-02-21 06:47:21 +05:30
RinZ27
dc42bceb77
security: fix command injection bypass in apps/x 2026-02-20 08:42:29 +07:00
Ramnique Singh
097efb39b1 fix tool-call / text part order in step-message builder 2026-02-18 22:08:59 +05:30
Ramnique Singh
737c3a75b4 send reasoning blocks back to llm 2026-02-18 22:08:59 +05:30
Ramnique Singh
d7b423404c add more debug logs for llm-events 2026-02-18 22:08:59 +05:30
Arjun
7329d0ad0d Add global search across knowledge and chats
Cmd+K / Ctrl+K opens a spotlight-style search dialog that searches
knowledge files (by content and filename) and chat history (by title
and message content). Results are grouped by type with filter toggles
preselected based on the active sidebar tab.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 18:08:24 +05:30