This document provides a comprehensive inventory of all features, functionality, pages, and settings across Opencom applications and packages. It serves as a living document for tracking development progress and testing coverage.
Find features - Navigate to the relevant section (Web App, Widget, Mobile, etc.)
Check status - Review development and testing status columns
Identify gaps - Look for features lacking test coverage
Update regularly - Keep this document current as features are added or tested
Section
Owner
Update Frequency
Web App (1.x)
Web Team
Per release
Widget (2.x)
Widget Team
Per release
Mobile App (3.x)
Mobile Team
Per release
SDKs (4.x)
SDK Team
Per release
Backend (5.x)
Backend Team
Per release
Infrastructure (7.x)
DevOps
Quarterly
Complete : Feature is fully implemented and functional
Partial : Core functionality exists but missing some capabilities
In Progress : Active development underway
Planned : Documented in proposals but not yet started
Not Started : Identified but no proposal exists
Manual : Manual testing completed
Unit : Unit tests exist
Integration : Integration tests exist
E2E : End-to-end tests exist
None : No testing coverage
1. Web Application (Admin Dashboard)
1.1 Authentication & Authorization
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Email/Password Login
Complete
✓
apps/web/src/app/login
OTP/Magic Link Login
Complete
✓
Email code authentication
Session Management
Complete
✓
Token-based auth sessions
Logout
Complete
✓
Password Reset
Partial
Basic flow exists
Multi-workspace Support
Complete
Users can belong to multiple workspaces
Role-based Access (Admin/Agent)
Complete
1.2 Inbox (Agent Workspace)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Conversation List
Complete
✓
Real-time updates via Convex
Conversation Detail View
Complete
✓
Send Messages
Complete
Real-time Message Updates
Complete
Convex subscriptions
Visitor Presence Indicator
Complete
Online/offline status
Conversation Status (Open/Closed/Snoozed)
Complete
Unread Message Count
Complete
Channel Indicator (Chat/Email)
Complete
Email Subject Display
Complete
Email Metadata (From/To/Attachments)
Complete
Snippet Picker (/ shortcut)
Complete
Article Link Insertion
Complete
Knowledge Search (Ctrl+K)
Complete
Unified search across content
Recently Used Content
Complete
Convert to Ticket
Complete
AI Suggestions Panel
Complete
Semantic search suggestions
Mark as Read
Complete
Conversation Assignment
Partial
Basic assignment exists
Conversation Search
Planned
Bulk Actions
Planned
Keyboard Shortcuts
Partial
Ctrl+K exists
Internal Notes
Planned
@Mentions
Planned
1.3 Help Center / Knowledge Base
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Article List
Complete
apps/web/src/app/articles
Article Editor (Markdown)
Complete
Article Create/Edit/Delete
Complete
Article Status (Draft/Published)
Complete
Collections (Categories)
Complete
Hierarchical organization
Article Search
Complete
Full-text search
Article Slug/URL
Complete
Article Feedback (Helpful?)
Complete
Audience Targeting Rules
Complete
Public Help Center Page
Complete
apps/web/src/app/help
Article Ordering
Complete
Multi-language Support
Planned
Article Analytics
Planned
Custom Domain
Planned
SEO Optimization
Planned
1.4 Knowledge Hub (Internal Content)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Content Folders
Complete
✓
Hierarchical organization
Internal Articles
Complete
✓
Agent-only documentation
Internal Article Editor
Complete
✓
Internal Article Search
Complete
✓
Content Tags
Complete
Recent Content Access Tracking
Complete
Unified Knowledge Search
Complete
Articles + Internal + Snippets
1.5 Snippets (Saved Replies)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Snippet List
Complete
apps/web/src/app/snippets
Snippet Create/Edit/Delete
Complete
Snippet Shortcuts
Complete
Quick access via /
Snippet Search
Complete
Snippet Folders
Complete
Organization via contentFolders
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Tour List
Complete
✓
apps/web/src/app/tours
Tour Create/Edit/Delete
Complete
✓
Tour Status (Draft/Active/Archived)
Complete
✓
Tour Duplicate
Complete
✓
Tour Activate/Deactivate
Complete
✓
Tour Detail Editor
Complete
✓
apps/web/src/app/tours/[id]
Pointer Steps
Complete
✓
Element highlighting
Post Steps (Modal)
Complete
✓
Video Steps
Complete
✓
Step Ordering
Complete
✓
Element Selector
Complete
✓
CSS selector targeting
Step Position (Auto/Left/Right/Above/Below)
Complete
✓
Step Size (Small/Large)
Complete
✓
Advance Triggers (Click/Element Click/Field Fill)
Complete
✓
Custom Button Text
Complete
✓
Media Upload (Image/Video)
Complete
✓
WYSIWYG Authoring Mode
Complete
✓
Visual tour builder
Authoring Sessions
Complete
✓
Token-based editing
Audience Targeting Rules
Complete
Display Mode (First Time/Until Dismissed)
Complete
Tour Priority
Complete
Button Color Customization
Complete
Sender Avatar
Complete
Confetti on Completion
Complete
Snooze/Restart Options
Complete
Tour Progress Tracking
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Tooltip List
Complete
✓
apps/web/src/app/tooltips
Tooltip Create/Edit/Delete
Complete
✓
Element Selector
Complete
✓
Trigger Type (Hover/Click/Auto)
Complete
✓
Audience Targeting
Complete
✓
Trigger Configuration
Complete
✓
Page visit, time, scroll, event
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Message List
Complete
✓
apps/web/src/app/outbound
Chat Messages
Complete
✓
Proactive chat from agent
Post Messages
Complete
✓
Announcement-style
Banner Messages
Complete
✓
Inline/floating banners
Message Create/Edit/Delete
Complete
✓
Message Status (Draft/Active/Paused/Archived)
Complete
✓
Audience Targeting Rules
Complete
✓
Trigger Configuration
Complete
✓
Page, time, scroll, event
Frequency Control
Complete
✓
Once/per session/always
Scheduling (Start/End Date)
Complete
✓
Priority
Complete
✓
Button Actions (URL/Dismiss/Tour)
Complete
✓
Impression Tracking
Complete
✓
Shown/clicked/dismissed
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Checklist List
Complete
apps/web/src/app/checklists
Checklist Create/Edit/Delete
Complete
Task Items
Complete
Task Actions (Tour/URL/Event)
Complete
Completion Types (Manual/Auto Event/Auto Attribute)
Complete
Audience Targeting
Complete
Checklist Progress Tracking
Complete
Per-visitor progress
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Survey List
Complete
apps/web/src/app/surveys
Survey Create/Edit/Delete
Complete
Survey Format (Small/Large)
Complete
NPS Questions
Complete
0-10 scale
Numeric Scale Questions
Complete
Configurable range
Star Rating Questions
Complete
Emoji Rating Questions
Complete
3 or 5 emojis
Dropdown Questions
Complete
Short Text Questions
Complete
Long Text Questions
Complete
Multiple Choice Questions
Complete
Intro Step (Large format)
Complete
Thank You Step
Complete
Progress Bar
Complete
Dismiss Button
Complete
Audience Targeting
Complete
Trigger Configuration
Complete
Frequency Control
Complete
Scheduling
Complete
Response Collection
Complete
Store as Visitor Attribute
Complete
Survey Analytics
Partial
Basic response viewing
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Ticket List
Complete
✓
apps/web/src/app/tickets
Ticket Detail View
Complete
✓
apps/web/src/app/tickets/[id]
Ticket Create
Complete
✓
Ticket Status (Submitted/In Progress/Waiting/Resolved)
Complete
✓
Ticket Priority (Low/Normal/High/Urgent)
Complete
✓
Ticket Assignment
Complete
✓
Ticket Comments
Complete
✓
Internal Notes
Complete
✓
Convert from Conversation
Complete
Resolution Summary
Complete
✓
Ticket Forms
Complete
✓
apps/web/src/app/tickets/forms
Custom Form Fields
Complete
✓
Text, textarea, select, multi-select, number, date
Default Form
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Campaign Dashboard
Complete
apps/web/src/app/campaigns
Email Campaigns
Complete
apps/web/src/app/campaigns/email
Email Campaign Create/Edit
Complete
Email Subject/Preview Text
Complete
Email Content Editor
Complete
Email Templates
Complete
Email Audience Targeting
Complete
Email Scheduling
Complete
Immediate/scheduled
Email Stats (Sent/Delivered/Opened/Clicked/Bounced)
Complete
Push Campaigns
Complete
apps/web/src/app/campaigns/push
Push Title/Body
Complete
Push Image
Complete
Push Deep Link
Complete
Push Audience Targeting
Complete
Push Scheduling
Complete
Push Stats
Complete
Mobile Carousels
Complete
apps/web/src/app/campaigns/carousels
Carousel Screens
Complete
Multi-page swipeable
Carousel Buttons
Complete
URL/dismiss/next/deeplink
Carousel Targeting
Complete
Series (Campaign Orchestration)
Complete
apps/web/src/app/campaigns/series
Series Visual Builder
Complete
Series Blocks (Rule/Wait/Email/Push/Chat/Post/Carousel/Tag)
Complete
Series Connections
Complete
Conditional branching
Series Entry/Exit/Goal Rules
Complete
Series Progress Tracking
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Segment List
Complete
apps/web/src/app/segments
Segment Create/Edit/Delete
Complete
Audience Rule Builder
Complete
Reusable across features
Visitor Attributes Filtering
Complete
Event-based Filtering
Complete
Device/Location Filtering
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Reports Dashboard
Complete
apps/web/src/app/reports
Conversations Report
Complete
Volume, response times
Team Performance Report
Complete
Agent metrics
CSAT Report
Complete
Customer satisfaction
AI Agent Report
Complete
AI performance metrics
Date Range Selection
Complete
Report Snapshots (Caching)
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Workspace Info
Complete
✓
Name, ID display
Workspace ID Copy
Complete
Allowed Origins
Complete
CORS configuration
Team Members List
Complete
✓
Invite Team Member
Complete
✓
Email invitation
Pending Invitations
Complete
Role Management (Admin/Agent)
Complete
✓
Remove Member
Complete
Signup Mode (Invite Only/Domain Allowlist)
Complete
Allowed Domains
Complete
Authentication Methods (Password/OTP)
Complete
✓
Email Channel Enable/Disable
Complete
Email Forwarding Address
Complete
Email From Name/Address
Complete
Email Signature
Complete
Widget Installation Guide
Complete
Mobile SDK Installation Guide
Complete
Automation Settings
Complete
Suggest Articles Toggle
Complete
Show Reply Time Toggle
Complete
Collect Email Toggle
Complete
Ask for Rating Toggle
Complete
AI Agent Settings
Complete
AI Enable/Disable
Complete
AI Model Selection
Complete
AI Knowledge Sources
Complete
AI Confidence Threshold
Complete
AI Personality
Complete
AI Handoff Message
Complete
AI Suggestions Enable
Complete
AI Embedding Model
Complete
Connected Mobile Devices
Complete
Backend Connection Info
Complete
Change Backend
Complete
2. Widget (Embeddable Chat)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Launcher Button
Complete
Floating chat button
Unread Badge
Complete
Open/Close Widget
Complete
Conversation List View
Complete
Conversation Detail View
Complete
Send Messages
Complete
Real-time Message Updates
Complete
Session Persistence
Complete
localStorage session ID
Signed Session Tokens
Complete
widgetSessions:boot returns wst_ token
Visitor Creation
Complete
Auto-create on first message
Device Detection
Complete
Browser, OS, device type
Location Detection
Complete
Via IP geolocation
Referrer Tracking
Complete
Current URL Tracking
Complete
Mark as Read
Complete
Heartbeat (Presence)
Complete
Online status
2.2 Visitor Identification
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Signed Session Auth
Complete
✓
All visitor calls require sessionToken
Anonymous Visitors
Complete
Session-based
Identify API
Complete
Opencom.identify()
Email Capture Prompt
Complete
Custom Attributes
Complete
External User ID
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Article Search
Complete
In-widget search
Article Detail View
Complete
Article Feedback
Complete
Helpful/not helpful
Article Suggestions (AI)
Complete
While typing
Common Issue Buttons
Complete
Quick actions
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
AI Auto-Response
Complete
AI Typing Indicator
Complete
AI Response Sources
Complete
Show knowledge sources
AI Feedback (Helpful/Not Helpful)
Complete
AI Handoff to Human
Complete
AI Confidence Display
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Tour Overlay
Complete
TourOverlay.tsx
Pointer Steps
Complete
Element highlighting
Post Steps
Complete
Modal display
Video Steps
Complete
Step Navigation
Complete
Next/Previous/Skip
Progress Indicator
Complete
Auto-show Tours
Complete
Based on targeting
Tour Picker View
Complete
Manual tour selection
Tour Progress Tracking
Complete
Tour Snooze
Complete
Tour Restart
Complete
Confetti Animation
Complete
Start Tour API
Complete
Opencom.startTour()
Get Available Tours API
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Authoring Overlay
Complete
AuthoringOverlay.tsx
Element Selection
Complete
Visual element picker
Step Preview
Complete
Step Configuration
Complete
Save Step
Complete
Session Token Validation
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Tooltip Overlay
Complete
TooltipOverlay.tsx
Hover Trigger
Complete
Click Trigger
Complete
Auto Trigger
Complete
Audience Targeting
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Outbound Overlay
Complete
OutboundOverlay.tsx
Chat Messages
Complete
Post Messages
Complete
Banner Messages
Complete
Trigger Evaluation
Complete
Frequency Control
Complete
Impression Tracking
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Checklist Overlay
Complete
ChecklistOverlay.tsx
Checklist View
Complete
In-widget display
Task Completion
Complete
Task Actions
Complete
Launch tour, open URL
Progress Tracking
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Survey Overlay
Complete
SurveyOverlay.tsx
Small Format
Complete
Compact display
Large Format
Complete
Full-screen
All Question Types
Complete
NPS, rating, text, etc.
Response Submission
Complete
Partial Response Tracking
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
CSAT Prompt
Complete
CsatPrompt.tsx
Rating Collection
Complete
Feedback Text
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Ticket List View
Complete
Ticket Detail View
Complete
Ticket Create
Complete
Ticket Form Rendering
Complete
Ticket Comments
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Track Event API
Complete
Opencom.track()
Page View Tracking
Complete
Auto-track option
Session Events
Complete
Start/end
Custom Event Properties
Complete
3. Mobile App (Admin/Agent)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Login Screen
Complete
apps/mobile/app/(auth)
Email/Password Login
Complete
OTP Login
Complete
Logout
Complete
Session Persistence
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Conversation List
Complete
apps/mobile/app/(app)/index.tsx
Conversation Detail
Complete
apps/mobile/app/(app)/conversation
Send Messages
Complete
Real-time Updates
Complete
Unread Indicators
Complete
Pull to Refresh
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Push Token Registration
Complete
New Message Notifications
Complete
Notification Handling
Complete
Badge Count
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Settings Screen
Complete
apps/mobile/app/(app)/settings.tsx
Notification Preferences
Complete
Workspace Switching
Complete
Account Info
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
SDK Initialization
Complete
✓
packages/react-native-sdk
OpencomProvider
Complete
✓
React context provider
OpencomLauncher
Complete
✓
Floating button component
Signed Session Auth
Complete
All hooks thread sessionToken + workspaceId
Identify API
Complete
✓
Track Event API
Complete
✓
Push Token Registration
Complete
✓
Expo Plugin
Complete
Auto-configuration
Messenger UI
Complete
Home Screen
Complete
Conversations, articles, search
Ticket Create
Complete
Carousels Display
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
SDK Initialization
Complete
packages/ios-sdk
Signed Session Auth
Complete
SessionManager stores token; API client threads it
Identify API
Complete
Track Event API
Complete
Push Token Registration
Complete
Messenger Presentation
Complete
SwiftUI Support
Complete
UIKit Support
Complete
CocoaPods Distribution
Complete
Swift Package Manager
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
SDK Initialization
Complete
packages/android-sdk
Signed Session Auth
Complete
SessionManager stores token; API client threads it
Identify API
Complete
Track Event API
Complete
Push Token Registration
Complete
Messenger Activity
Complete
Jetpack Compose Support
Complete
Compose-based messenger UI
Maven Distribution
Partial
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Workspaces
Complete
✓
Multi-tenant isolation
Users (Agents)
Complete
✓
Workspace Members
Complete
✓
Workspace Invitations
Complete
✓
Auth Sessions
Complete
✓
OTP Codes
Complete
✓
Visitors
Complete
✓
Conversations
Complete
✓
Messages
Complete
✓
Push Tokens
Complete
✓
Visitor Push Tokens
Complete
✓
Notification Preferences
Complete
✓
Widget Sessions
Complete
✓
Signed session tokens for visitor auth
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Collections
Complete
Articles
Complete
Article Feedback
Complete
Article Search Index
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Content Folders
Complete
✓
Internal Articles
Complete
✓
Internal Article Search
Complete
✓
Snippets
Complete
✓
Recent Content Access
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Tours
Complete
✓
Tour Steps
Complete
✓
Tour Progress
Complete
✓
Authoring Sessions
Complete
✓
Tooltips
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Outbound Messages
Complete
✓
Outbound Impressions
Complete
✓
Checklists
Complete
✓
Checklist Progress
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Surveys
Complete
✓
Survey Responses
Complete
✓
Survey Impressions
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Tickets
Complete
✓
Ticket Comments
Complete
✓
Ticket Forms
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Email Campaigns
Complete
✓
Email Templates
Complete
✓
Email Campaign Recipients
Complete
✓
Push Campaigns
Complete
Push Campaign Recipients
Complete
Carousels
Complete
✓
Carousel Impressions
Complete
✓
Series
Complete
✓
Series Blocks
Complete
✓
Series Connections
Complete
✓
Series Progress
Complete
✓
Series Progress History
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Email Configs
Complete
✓
Email Threads
Complete
✓
Inbound Email Processing
Complete
✓
HTTP webhook
Outbound Email Sending
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
AI Agent Settings
Complete
✓
AI Responses
Complete
✓
Content Embeddings
Complete
✓
Vector search
Suggestion Feedback
Complete
✓
Multi-model Support
Complete
✓
OpenAI, Anthropic, etc.
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Automation Settings
Complete
✓
Assignment Rules
Complete
✓
Auto-Tag Rules
Complete
✓
Tags
Complete
✓
Conversation Tags
Complete
✓
Office Hours
Complete
✓
Common Issue Buttons
Complete
✓
5.12 Segments & Targeting
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Segments
Complete
✓
Audience Rules Engine
Complete
✓
Visitor Events
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
CSAT Responses
Complete
✓
Report Snapshots
Complete
✓
Conversation Metrics
Complete
✓
Agent Metrics
Complete
✓
AI Metrics
Complete
✓
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Discovery Endpoint
Complete
Email Webhook
Complete
Push Notification Sending
Complete
CORS Origin Validation
Complete
No wildcard fallback
Geolocation (HTTPS)
Complete
ip-api.com via HTTPS
5.15 Security & Authorization
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
RBAC Permission System
Complete
✓
Owner/Admin/Agent/Viewer roles
Conversation Auth (Agent Path)
Complete
conversations.read permission
Conversation Auth (Visitor Path)
Complete
Visitor ownership check
Bot Message Restriction
Complete
Internal-only via internalSendBotMessage
Workspace Data Protection
Complete
Non-sensitive fields for unauthenticated
Visitor Data Protection
Complete
Agent membership or session ownership
Signed Session Tokens
Complete
✓
widgetSessions:boot, resolveVisitorFromSession()
Session Token Expiry & Refresh
Complete
24h default, configurable 1h-7d, auto-refresh at 25%
AI Settings Protection
Complete
Workspace membership required
Test Data Env Guard
Complete
ALLOW_TEST_DATA env var
CORS Hardening
Complete
No wildcard, Vary: Origin
Auth Callback Optimization
Complete
Index-based lookups
Identity Verification (HMAC)
Complete
✓
Widget identity verification
Webhook Signature Verification
Complete
Resend SVIX signatures
Audit Logging
Complete
✓
Security event tracking
Password Hash Migration
Complete
removePasswordHash migration
6.1 UI Components (@opencom/ui)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Button
Complete
Card
Complete
Input
Complete
Other Shadcn Components
Complete
6.2 Types (@opencom/types)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Shared Type Definitions
Complete
6.3 SDK Core (@opencom/sdk-core)
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Shared SDK Logic
Complete
Session Token Threading
Complete
markAsRead, addTicketComment pass sessionToken
Visitor State Management
Complete
getVisitorState() provides visitorId + sessionToken
7. Infrastructure & DevOps
7.1 Testing Infrastructure
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
Vitest Configuration
Complete
Playwright Configuration
Complete
Convex Test Framework
Complete
E2E Test Suite
Partial
apps/web/e2e
Convex Backend Tests
Partial
packages/convex/tests
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
PNPM Workspace
Complete
TypeScript Configuration
Complete
ESLint Configuration
Complete
Prettier Configuration
Complete
Next.js Build
Complete
Vite Build (Widget)
Complete
Expo Build
Complete
Feature
Dev Status
Manual
Unit
Integration
E2E
Notes
README
Complete
Testing Documentation
Complete
docs/testing.md
SDK READMEs
Complete
Operational Readiness Docs
Complete
docs/open-source/security-and-operations.md
Application
Total Features
Complete
Partial
In Progress
Planned
Web App
~180
~175
~3
~0
~2
Widget
~65
~65
~0
~0
~0
Mobile App
~15
~15
~0
~0
~0
React Native SDK
~9
~9
~0
~0
~0
iOS SDK
~9
~9
~0
~0
~0
Android SDK
~8
~7
~0
~0
~1
Backend
~90
~90
~0
~0
~0
Infrastructure
~12
~10
~2
~0
~0
Category
With Unit Tests
With Integration Tests
With E2E Tests
Backend Functions
0
43 test files
0
Backend Security
0
3 test files (permissions, migration)
0
Web App Pages
0
0
10 spec files
Widget Components
0
0
1 spec file (skipped)
Mobile App
0
0
0
SDKs
3 test files
0
0
High Priority (No Test Coverage)
Mobile App (all features) - No E2E or unit tests
Widget Components - E2E tests exist but are skipped
iOS SDK - No unit tests
Android SDK - No tests (SDK is also partially implemented)
Help Center (Articles, Collections) - No backend integration tests
Campaigns (Push) - No integration tests
HTTP API endpoints - No integration tests
Security authorization checks - Backend security tests exist for conversation auth with signed sessions
Medium Priority (Partial Coverage)
Web App unit tests - None exist, only E2E
Surveys - Backend tests exist, no E2E
Checklists - Backend tests exist, no E2E
Reports/Analytics - Backend tests exist, no E2E
CORS hardening - No tests for origin validation/rejection
Test data env guard - No tests for ALLOW_TEST_DATA gating
Session token expiry/refresh - No automated tests for token lifecycle
When to update : After each release or when significant features are added/modified
Who updates : The team owner for each section (see Ownership table above)
What to update :
Add new features with their development status
Update testing status columns when tests are added
Move features between status categories as development progresses
Weekly : Quick scan for accuracy during sprint planning
Monthly : Full review of testing coverage gaps
Quarterly : Comprehensive audit with stakeholders
# Run all tests with coverage
pnpm test:ci
# Run Convex integration tests
cd packages/convex && pnpm test
# Run E2E tests
pnpm test:e2e
# Run E2E tests with specific tag
pnpm test:e2e --grep " @tours"
Automated Coverage Tracking
To generate a test coverage report mapped to features:
# Generate Vitest coverage report
pnpm test:ci --coverage
# List all test files
find . -name " *.test.ts" -o -name " *.spec.ts" | grep -v node_modules
# Count tests per area
grep -r " describe\|it\|test" packages/convex/tests --include=" *.test.ts" | wc -l
The CI pipeline runs:
pnpm test:ci - All unit and integration tests with coverage
pnpm test:e2e - Playwright E2E tests
Coverage reports are generated in:
coverage/ - Vitest coverage output
playwright-report/ - Playwright test results
Automated feature-to-test mapping : Script to parse test files and map to features in this document
Coverage badges : Add coverage badges to README per package
PR checks : Require test coverage for new features
Dashboard : Build a simple dashboard showing coverage trends over time