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
* 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>
- 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>
- 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>
- 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>
- 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>
* 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>
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
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>
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>
- Changed userId from connectedAccountId to a static value 'rowboat-user'.
- Enhanced error logging to include detailed error information in JSON format.
connected-accounts UI
This refactor simplifies OAuth storage/IPC and updates the Electron UI
to use the new client-facing contract. OAuth state is now persisted per
provider with tokens, optional clientId, and an error string. A new oauth:getState
IPC returns only client-facing state (connected + error), and the UI renders
error/reconnect flow based on that.
Core changes
- Replace OAuth config with providers { tokens, clientId?, error? }
and add zod-based migration from legacy token maps.
- Persist Google clientId after successful OAuth and keep error state
in repo.
- Surface provider errors from refresh/credential failures in Google +
Fireflies.
- Add oauth:getState in IPC, returning client-facing config; remove
old status wiring in the UI.
UI changes
- Switch renderer status checks to oauth:getState and derive connected/error
from config.
- Add alert dialog for account issues and update copy to “Connected
accounts”.
- Provide “View connected accounts” CTA that opens the Connectors popover.
- Add shadcn alert-dialog component and Radix dependency.
Notes
- Adds @radix-ui/react-alert-dialog and shadcn wrapper.
- pnpm-lock updated accordingly.