Skip to content

Conversation

@mike182uk
Copy link
Contributor

Description

Added OpenCode sessions extension for browsing, searching, and managing your OpenCode sessions

Screencast

opencode-sessions-1 opencode-sessions-3 opencode-sessions-4 opencode-sessions-5

Checklist

@raycastbot raycastbot added new extension Label for PRs with new extensions platform: macOS labels Feb 11, 2026
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 11, 2026

Greptile Overview

Greptile Summary

This PR adds a new extension for browsing and managing OpenCode sessions directly from Raycast. The implementation is well-structured with proper TypeScript types, error handling, and follows Raycast extension best practices.

Key features implemented:

  • Browse sessions with time-grouped sections (Today, Yesterday, This Week, etc.)
  • Filter sessions by project with persistent dropdown state
  • View full conversation transcripts with metadata and statistics
  • AI-powered session summaries using Raycast AI
  • Comprehensive actions: copy transcript, resume commands, share links, delete sessions
  • Path traversal protection in file operations
  • Proper handling of nested session hierarchies (parent/child relationships)

Issues found:

  • Keyboard shortcut conflict: cmd+shift+s is used for both "Summarize" and "Open Share Link" actions

The extension follows all Raycast guidelines including proper Prettier configuration, ESLint setup, changelog format, and auto-generated preference types.

Confidence Score: 4/5

  • Safe to merge after fixing the keyboard shortcut conflict
  • The code is well-written with proper error handling, security considerations (path traversal protection), and follows Raycast conventions. The only issue preventing a score of 5 is the keyboard shortcut conflict that would cause unpredictable behavior.
  • Pay attention to extensions/opencode-sessions/src/components/SessionActions.tsx to resolve the shortcut conflict before merging

Important Files Changed

Filename Overview
extensions/opencode-sessions/package.json Properly configured extension manifest with correct Prettier settings, changelog placeholder, ESLint config, and appropriate dependencies
extensions/opencode-sessions/src/index.tsx Well-structured main component with proper session filtering, project dropdown, and grouped time sections
extensions/opencode-sessions/src/lib/storage.ts Robust file system operations with path traversal protection, proper error handling, and recursive session deletion
extensions/opencode-sessions/src/components/SessionActions.tsx Comprehensive action panel with keyboard shortcuts; contains one shortcut conflict that needs resolution
extensions/opencode-sessions/src/hooks/useSessions.ts Well-designed hook with version checking, conditional execution, and proper data joining between projects and sessions

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

27 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

title="Open Share Link"
url={session.share.url}
icon={Icon.Link}
shortcut={{ modifiers: ["cmd", "shift"], key: "s" }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shortcut conflict: cmd+shift+s is already used for "Summarize" action on line 126. Change this to a different shortcut.

Suggested change
shortcut={{ modifiers: ["cmd", "shift"], key: "s" }}
shortcut={{ modifiers: ["cmd", "shift"], key: "o" }}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in ead85e6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions platform: macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants