Skip to content

Enhance URL scheme and deep link support #12

@BillSteinUNB

Description

@BillSteinUNB

Summary

Enhance URL scheme and deep link support to allow users to share direct links to specific sessions, projects, and actions within WhisperCode.

Context

Users want to share their work and quickly navigate to specific content within WhisperCode. Better deep linking would enable:

  • Sharing session links with colleagues
  • Creating bookmarks to important sessions
  • Integrating with other tools and workflows
  • Quick actions via URL

Current State

The app currently has some deep link support for opening projects (via base64-encoded directory paths). We should expand this significantly.

Proposed URL Scheme

whispercode://

Supported Links

  1. Open Project

    whispercode://open?path=/path/to/project
    whispercode://open?dir=base64EncodedPath
    
  2. Open Specific Session

    whispercode://session/{sessionID}?project=/path/to/project
    
  3. Quick Connect to Server

    whispercode://connect?server=http://192.168.1.100:8080
    
  4. New Session

    whispercode://new?project=/path/to/project
    
  5. Settings

    whispercode://settings
    whispercode://settings/servers
    whispercode://settings/models
    
  6. Actions

    whispercode://action/voice   # Start voice input
    whispercode://action/scan    # Scan for servers
    

Universal Links

Support https://whispercode.app/ links:

  • https://whispercode.app/session/{id}
  • https://whispercode.app/project/{base64}

Features

  1. Link Generation

    • Add "Share" option in session/project to copy link
    • Generate user-friendly URLs
  2. Link Handling

    • Parse incoming URLs
    • Navigate to correct destination
    • Handle invalid links gracefully
  3. Server-Side Integration

    • Support sharing via OpenCode server
    • Generate links that work across devices

Security Considerations

  • Validate incoming URLs
  • Sanitize path parameters
  • Handle deep links from untrusted sources safely

Labels

  • enhancement
  • developer-experience

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions