Skip to content

Feature/macos permissions integration #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
Aug 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
919d9a4
Implement V2 realtime agent with OpenAI Agents SDK
vijaythecoder Jul 20, 2025
7f2c6ea
Refactor RealtimeAgent to component architecture with Pinia stores
vijaythecoder Jul 20, 2025
85e1001
Add mock data system for RealtimeAgent V2 testing
vijaythecoder Jul 21, 2025
1686712
Fix RealtimeAgent V2 layout and overlay mode issues
vijaythecoder Jul 21, 2025
51daab6
Fix mobile layout and consistent card backgrounds
vijaythecoder Jul 21, 2025
df31ac6
Fix realtime analytics and improve responsiveness
vijaythecoder Jul 21, 2025
abcc11e
Remove REALTIME_ARCHITECTURE.md file
vijaythecoder Jul 21, 2025
642ee0e
Fix ESLint errors across multiple files
vijaythecoder Jul 21, 2025
fe91d8e
Fix realtime analytics and improve responsiveness
vijaythecoder Jul 21, 2025
ddf83a8
Update all links to point to new RealtimeAgent V2
vijaythecoder Jul 21, 2025
db8903b
feat: integrate electron-audio-loopback and fix permissions
vijaythecoder Jul 22, 2025
ca6d7f2
refactor: clean up navigation and improve UX
vijaythecoder Jul 22, 2025
2018f5d
refactor: remove excessive logging from MainV2.vue
vijaythecoder Jul 22, 2025
17fe3b5
fix: resolve npm build error in MainV2.vue
vijaythecoder Jul 22, 2025
3cec110
fix: resolve ESLint errors
vijaythecoder Jul 22, 2025
7c102dd
refactor: remove unnecessary debug logging from production code
vijaythecoder Jul 23, 2025
3fde92d
refactor: update MainV2.vue to use Native.ipcRendererInvoke
vijaythecoder Jul 24, 2025
0acd667
fix: resolve system audio capture issue in realtime agent
vijaythecoder Jul 25, 2025
f01facf
improvements on teh nativephp extension
vijaythecoder Jul 25, 2025
d186d57
feat: Integrate macOS permissions with node-mac-permissions
vijaythecoder Jul 30, 2025
f93badb
chore: update nativephp/electron to use macos-permissions-enhanced br…
vijaythecoder Jul 30, 2025
528612e
fix: resolve permissions error and update NativePHP to use local package
vijaythecoder Jul 30, 2025
7c10b19
switches package to github url
vijaythecoder Aug 1, 2025
9d481d1
fix: implement screen protection via IPC handlers for context isolati…
vijaythecoder Aug 1, 2025
7cad476
feat: add IPC-based overlay mode support with context isolation
vijaythecoder Aug 1, 2025
04e38ef
Clean up permission logs and UI messages
vijaythecoder Aug 2, 2025
c391764
UI improvements and code cleanup
vijaythecoder Aug 2, 2025
e2a867b
fix: move node-mac-permissions to optionalDependencies for cross-plat…
vijaythecoder Aug 2, 2025
698624a
refactor: replace dedicated onboarding page with modal-based approach
vijaythecoder Aug 2, 2025
d7f5f93
fix: resolve NativePHP build issues with frontend assets
vijaythecoder Aug 2, 2025
74c3db3
package lock
vijaythecoder Aug 3, 2025
f431294
fix: prevent duplicate template seeding on app startup
vijaythecoder Aug 5, 2025
52088b6
feat: implement conversation saving in RealtimeAgent v2
vijaythecoder Aug 5, 2025
d60ea58
fix: update GitHub Actions workflows to handle npm optional dependenc…
vijaythecoder Aug 5, 2025
1588af4
docs: add comprehensive release notes for v1.0.0
vijaythecoder Aug 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"permissions": {
"allow": [
"mcp__sequential-thinking__sequentialthinking"
],
"deny": []
}
}
9 changes: 7 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,14 @@ jobs:
php-version: '8.4'

- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist

- name: Install Node Dependencies
run: |
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
npm install
# Workaround for npm optional dependencies bug
# https://github.com/npm/cli/issues/4828
rm -rf node_modules package-lock.json
npm install --no-optional

- name: Run Pint
run: vendor/bin/pint
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install Node Dependencies
run: npm ci
run: |
# Workaround for npm optional dependencies bug
# https://github.com/npm/cli/issues/4828
rm -rf node_modules package-lock.json
npm install --no-optional

- name: Install Dependencies
run: composer install --no-interaction --prefer-dist --optimize-autoloader
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@ yarn-error.log
/.zed
/dist
.DS_Store

# NativePHP local development
nativephp-electron/
31 changes: 30 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,33 @@ This project uses MIT License with Commons Clause:
- NativePHP allows running as desktop application
- Concurrently runs multiple processes in development (server, queue, logs, vite)
- Built primarily for macOS desktop usage
- Uses Pusher for additional real-time features
- Uses Pusher for additional real-time features

## AI Team Configuration (autogenerated by team-configurator, 2025-01-30)
**Important: YOU MUST USE subagents when available for the task.**

### Detected Technology Stack
- **Backend Framework**: Laravel 12.0 (PHP 8.2+)
- **Frontend Framework**: Vue 3.5.13 with TypeScript and Inertia.js
- **CSS Framework**: Tailwind CSS 4.1.1
- **Build Tool**: Vite 6
- **Desktop Platform**: NativePHP/Electron
- **Test Framework**: Pest PHP
- **Database**: SQLite (dual database setup)
- **Real-time Features**: OpenAI Realtime API, WebSockets
- **State Management**: Pinia
- **Additional Tools**: Prettier, ESLint, Laravel Pint

### Assigned AI Specialists

| Task | Agent | Notes |
|------|-------|-------|
| Laravel backend development | @agent-laravel-backend-expert | Controllers, services, models, Inertia.js integration |
| Database and Eloquent queries | @agent-laravel-eloquent-expert | ORM optimization, complex queries, migrations |
| Vue component development | @agent-vue-component-architect | Vue 3 Composition API, component patterns |
| State management (Pinia) | @agent-vue-state-manager | Pinia stores, state architecture |
| Frontend styling and UI | @agent-tailwind-frontend-expert | Tailwind CSS, responsive design, Reka UI components |
| API design and architecture | @agent-api-architect | RESTful design, API best practices |
| Documentation updates | @agent-documentation-specialist | README, API docs, architecture guides |
| Code review | @agent-code-reviewer | Security, quality, maintainability checks |
| Performance optimization | @agent-performance-optimizer | Bottleneck identification, optimization |
79 changes: 79 additions & 0 deletions NATIVEPHP_BUILD_FIX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# NativePHP Build Fix Guide

## Problem Summary
When building the NativePHP/Electron app, frontend assets weren't being properly included, causing "Vite not found" errors on fresh installations.

## Root Causes Identified

1. **Hot Reload File**: The `public/hot` file was being included in builds, causing Laravel to look for Vite dev server
2. **Missing npm install**: Build process wasn't installing npm dependencies before building
3. **Build artifacts**: Development artifacts were interfering with production builds

## Fixes Applied

### 1. Updated `config/nativephp.php`

- Added `public/hot` to `cleanup_exclude_files` to prevent it from being included in builds
- Added `npm install --omit=dev` to prebuild commands before `npm run build`

### 2. Created Build Preparation Script

Created `build-prepare.sh` to ensure clean builds:
- Removes development artifacts (hot file, .vite cache)
- Installs production npm dependencies
- Builds frontend assets
- Verifies manifest.json exists
- Optimizes Laravel for production

## Build Process

### For Development
```bash
# Start development environment
composer dev

# Or for NativePHP development
composer native:dev
```

### For Production Build

1. **Prepare the build** (run this before building):
```bash
./build-prepare.sh
```

2. **Build the application**:
```bash
php artisan native:build mac arm64
```

3. **Test the build** on a fresh machine:
- Copy the built app from `dist/` directory
- Install and run - it should work without any Vite errors

## Important Notes

1. **Always run build-prepare.sh** before building for production
2. **Never commit the `public/hot` file** to version control
3. **Ensure `public/build/manifest.json` exists** after building
4. The prebuild commands in `config/nativephp.php` will automatically:
- Install npm dependencies
- Build frontend assets
- Optimize Laravel

## Troubleshooting

If you still see "Vite not found" errors:

1. Check if `public/hot` file exists in the built app - it shouldn't
2. Verify `public/build/manifest.json` exists in the built app
3. Ensure the app is running in production mode (`APP_ENV=production`)
4. Check Laravel logs for any asset-related errors

## Testing on Fresh Machine

When testing on a new machine:
1. The app should work immediately after installation
2. No need to run `npm install` or `npm run dev`
3. All assets should be pre-built and included
Loading
Loading