Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: PATILYASHH/VPC

v12.0.0 β€” Real PTY terminal & AI Agent

28 Apr 10:05
@PATILYASHH PATILYASHH
6ffec25
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Highlights

πŸ–₯️ Real PTY terminal

The in-app Terminal is now backed by node-pty with xterm.js over a WebSocket. Interactive tools (claude, node, python, vim, ssh, top) work the same as in a native terminal β€” color, ANSI, cursor movement, Ctrl+C, the works.

  • Augmented PATH per command picks up newly installed binaries (npm globals, WinGet, pip user dirs) without a backend restart.
  • Windows curl auto-fix: --ssl-no-revoke injected on the fly + persistent _curlrc so CRYPT_E_NO_REVOCATION_CHECK stops blocking installs.

πŸ€– AI Agent

  • Chat tab is reachable again β€” was orphaned in the AI Agent module.
  • Claude CLI status detection fixed β€” was using stale PATH and timing out; now PATH-scans the binary directly.
  • VPC Bot auto-creates default user so chat is immediately usable on first launch.
  • Todo update returns proper 404 (was returning 200 with {error}).

🌿 Prod β†’ Beta forks

Forks now clone schema + data by default. The opt-in checkbox flipped to opt-out for schema-only forks.

♻️ Robust restart

The Restart button now actually restarts VPC under nodemon, PM2, or plain node β€” used to silently no-op outside PM2.

πŸ“Š Real upgrade progress

The upgrade bar shows real % from the backend across 6 named steps (git pull, backend deps, frontend deps, build, migrations, finalize). No more fake 60%.

Files added

  • backend/services/ptyService.js
  • backend/scripts/respawn.js
  • backend/utils/shellEnv.js

Upgrade path

Existing instances: open VPC Store β†’ Update, then Restart VPC when prompted. The upgrader pulls the new commit, runs npm install in both packages (picks up node-pty, ws, xterm), rebuilds the frontend, runs migrations, and surfaces the restart banner.

πŸ€– Generated with Claude Code

Assets 2
Loading

v11.0.0 β€” OAuth, Staged Deploys & PR Previews

25 Apr 11:02
@PATILYASHH PATILYASHH

Choose a tag to compare

Highlights

πŸ” DB Auth β€” Google & GitHub OAuth

Supabase-style social sign-in, configured per project. Each project DB now has an auth_providers table; client_secret is AES-GCM encrypted. End users hit /api/db/auth/v1/<slug>/authorize/<provider> and come back with a JWT identical to the existing email login. Auto-link by email, avatar + provider badges in the user list, collapsed-by-default provider cards.

πŸš€ Web Hosting β€” Staged Deploys + Instant Rollback

Every deploy now builds into <slug>__staging, healthchecks (HTTP probe for node apps, HTML check for static), then atomically swaps with the live folder. Previous build is archived to <slug>__versions/v_<ts>_<sha>/. Last 3 versions kept for one-click rollback β€” new "Version History" card in the Overview tab. The live version stays online if a deploy fails.

πŸ€– AI Fix β€” now safe and reliable

The old AI Fix mutated the live build and could take the site down. Now it operates on the preserved staging dir (kept on disk after a failed deploy), applies AI patches, runs the full staged pipeline, and only swaps to live if the new build healthchecks green.

πŸ“Š Integrations β€” usage stats & fixed UI

GET /admin/integrations now returns per-integration usage data (total uses, unique apps, last used, per-app breakdown). New summary tiles (Connected Β· Total Uses Β· Apps Using Β· Last Activity) and click-to-expand per-app usage on each card. The "Connect a Service" picker is now scrollable, searchable, and grouped by category.

πŸ”€ PR Previews β€” Netlify/Vercel-style

Open a PR β†’ automatic preview deploy at /<slug>-pr-<n>/ on its own PM2 port. Sticky GitHub PR comment with the preview URL, build status, and commit SHA. Auto-rebuilds on push, tears down on close/merge. Webhook with HMAC SHA-256 verification, manual rebuild/close from a new "Previews" tab. Forks supported via the saved GitHub integration token.

Migrations

All schema changes are self-healing on first request β€” no manual migration needed:

  • auth_users extended with provider, provider_id, full_name, avatar_url
  • New tables: auth_providers (per project), web_hosting_versions, web_hosting_previews
  • web_hosting_projects adds previews_enabled, previews_webhook_secret

Files

  • backend/services/dbAuthOAuthService.js (new)
  • backend/routes/dbAuthOAuth.js (new)
  • backend/services/webHostingPreviewService.js (new)
  • backend/routes/webHostingWebhook.js (new)
  • frontend/src/components/ui/switch.jsx (new)
  • Plus updates to dbService, webHostingService, routes/db, routes/webHosting, routes/integrations, server.js, Auth.jsx, IntegrationMonitor.jsx, webhosting/ProjectDashboard.jsx

πŸ€– Generated with Claude Code

Loading

v10.0.0 β€” 1-click Pipeline Promote + Integrations Platform

22 Apr 08:52
@PATILYASHH PATILYASHH

Choose a tag to compare

VPC Deploy Log

v10.0.0 β€” 2026εΉ΄04月22ζ—₯

A forward-compatible release. No data loss paths, every migration is idempotent
and every new column has a safe default. Existing integrations, backups, pipelines
and sessions continue to work without manual intervention.


πŸš€ Highlights

  • Perfect 1-click Pipeline promotion β€” preflight plan, typed confirmation, auto-snapshot, staged execute, one-click rollback.
  • Exact beta fork β€” full data copy (not just schema), auto-deploy, env-var remap from prod β†’ beta DB.
  • GitHub-style browser sign-in across VS Code (vpc-sync-10.0.0.vsix) and CLI (vpc-pull login) β€” no more pasting PATs.
  • 33 integration platforms (up from 7) with one-click automations (Supabaseβ†’Backup, GitHubβ†’Import, Slackβ†’Alerts, Cloudflareβ†’DNS+SSL).
  • Supabase backup destination β€” off-site backups on a schedule + cloud-restore fallback.
  • Lazy-loaded apps β€” main bundle 1.2 MB β†’ 498 KB (βˆ’59%).
  • System Health widget β€” central logger captures every error, Dashboard surfaces 24h counts.
  • Versioned encryption with rekey.js script for key rotation.
  • Baseline tests via node --test β€” 8/8 passing.

πŸ“¦ Deploy checklist

Run in order. Each step is idempotent and safe to re-run.

# 1. Apply new migrations (all use CREATE TABLE IF NOT EXISTS / ADD COLUMN IF NOT EXISTS)
psql "$DATABASE_URL" < backend/migrations/041_vpc_device_codes.sql
psql "$DATABASE_URL" < backend/migrations/042_vpc_backup_destinations.sql
psql "$DATABASE_URL" < backend/migrations/043_vpc_pipeline_promotions.sql
psql "$DATABASE_URL" < backend/migrations/044_vpc_system_logs.sql
# 2. Restart backend β€” new schedulers + logger wire up on boot
pm2 restart vpc-backend # or `systemctl restart vpc`
# 3. Rebuild frontend (lazy-split chunks)
cd frontend && npm install && npx vite build && cd ..
# 4. (Optional) Install the new VS Code extension
code --install-extension vscode-extension/vpc-sync-10.0.0.vsix --force
# 5. Verify
cd backend && npm test # 8/8 should pass
curl http://localhost:8001/health

πŸ”’ Backward-compatibility notes

Change Existing behavior preserved?
vpc_integrations.visibility column added Default 'shared' β†’ all existing integrations visible to every admin as before.
vpc_integrations.created_by column added Nullable, default NULL β€” no backfill needed.
vpc_settings.enc_key_version column added Default 1 β€” existing blobs continue decrypting.
Encryption blob format: new blobs prefix v{N}: decrypt() accepts both legacy and versioned formats β€” verified by smoke test encryption: decrypt handles legacy (v-less) format.
pipelineService.forkToBeta() default copyData Was false, now true (per user request for exact forks). Frontend always passes explicit { copyData: true }; direct API callers using the default now get the new behavior.
POST /pipelines/:id/promote response shape ⚠ Changed β€” old response { schemaPRs, deployedSites, errors } moved to /pipelines/:id/promote-legacy. New response { run_id, status, backup_id, schema_applied, deployed, deployErrors, stages }. Only caller was the web UI, which is updated.
integrationService.getAll(pool) Backward compatible β€” existing signature still works. Optional { forUserId } param enables per-admin filtering.
Lazy-loaded apps First open of each app shows loading spinner briefly; functional behavior unchanged.

πŸ“‚ New files

Backend

  • backend/migrations/041_vpc_device_codes.sql
  • backend/migrations/042_vpc_backup_destinations.sql
  • backend/migrations/043_vpc_pipeline_promotions.sql
  • backend/migrations/044_vpc_system_logs.sql
  • backend/routes/deviceAuth.js β€” VS Code / CLI sign-in flow
  • backend/routes/realtime.js β€” SSE event stream
  • backend/services/backupScheduler.js β€” polls supabase destinations every 60s
  • backend/services/credentialResolver.js β€” shared integration creds for any app
  • backend/services/integrationAutomations.js β€” one-click automators
  • backend/services/pipelinePromoteService.js β€” staged promote + rollback
  • backend/services/realtimeBus.js β€” in-process pub/sub for SSE
  • backend/services/supabaseBackupService.js β€” upload & restore via Supabase Storage
  • backend/scripts/rekey.js β€” re-encrypt all secrets with new key
  • backend/utils/logger.js β€” central logger writing to vpc_system_logs
  • backend/views/deviceApprove.html β€” browser approval page for device flow
  • backend/tests/smoke.test.js β€” 8 zero-dep smoke tests

Frontend

  • frontend/src/components/apps/BackupDestinations.jsx
  • frontend/src/components/apps/Connections.jsx (rewritten β€” 33 platforms, categories, automations)
  • frontend/src/components/apps/Dashboard.jsx
  • frontend/src/components/desktop/CommandPalette.jsx
  • frontend/src/components/desktop/ContextBreadcrumb.jsx
  • frontend/src/components/desktop/JobQueue.jsx
  • frontend/src/components/desktop/KeyboardShortcutsOverlay.jsx
  • frontend/src/components/desktop/NotificationCenter.jsx
  • frontend/src/components/desktop/StatusBar.jsx
  • frontend/src/components/desktop/WorkspaceSwitcher.jsx
  • frontend/src/components/integrations/*
  • frontend/src/components/pipeline/PromoteDialog.jsx
  • frontend/src/components/widgets/* (incl. SystemHealthWidget)
  • frontend/src/hooks/useGlobalKeyboard.js
  • frontend/src/lib/realtime.js
  • frontend/src/lib/widgetRegistry.js
  • frontend/src/stores/useCommandStore.js
  • frontend/src/stores/useContextStore.js
  • frontend/src/stores/useDashboardStore.js
  • frontend/src/stores/useIntegrationsStore.js
  • frontend/src/stores/useJobStore.js
  • frontend/src/stores/useNotificationStore.js
  • frontend/src/stores/useWorkspaceStore.js

VS Code Extension (packaged as vpc-sync-10.0.0.vsix)

  • vscode-extension/src/auth/deviceFlow.ts β€” AuthenticationProvider + device-flow poller
  • vscode-extension/src/vcs/merge.ts β€” 3-way merge port

CLI

  • cli/src/commands/login.js β€” vpc-pull login browser sign-in

🩺 New endpoints

# Device auth (public + JWT mix)
POST /api/admin/auth/device/code
POST /api/admin/auth/device/token
GET /api/admin/auth/device/pending?code=XXXX
POST /api/admin/auth/device/confirm { user_code }
POST /api/admin/auth/device/deny { user_code }
# Backup destinations
GET /api/admin/backup/destinations
POST /api/admin/backup/destinations
PATCH /api/admin/backup/destinations/:id
DELETE /api/admin/backup/destinations/:id
POST /api/admin/backup/destinations/:id/test
POST /api/admin/backup/destinations/:id/run
GET /api/admin/backup/destinations/:id/runs
# Integration automations
GET /api/admin/integrations/automations
POST /api/admin/integrations/:id/automate { automation, options }
# Perfect pipeline promote
GET /api/admin/pipeline/pipelines/:id/promote/preflight
POST /api/admin/pipeline/pipelines/:id/promote { confirmations, skipBackup, dryRun }
POST /api/admin/pipeline/pipelines/:id/promote-legacy (old behavior preserved)
GET /api/admin/pipeline/pipelines/:id/promotions
POST /api/admin/pipeline/pipelines/:id/promotions/:runId/rollback
# Logs
GET /api/admin/logs/health
GET /api/admin/logs/system?level=error&limit=100
# Static page
GET /auth/device (approval UI for device codes)

⚠ Rollback plan

If something goes wrong after deploy:

  1. Database: new tables are independent. Drop them if needed β€” nothing else depends on them:
    DROP TABLE IF EXISTS vpc_pipeline_promotions CASCADE;
    DROP TABLE IF EXISTS vpc_system_logs;
    DROP TABLE IF EXISTS vpc_backup_destination_runs;
    DROP TABLE IF EXISTS vpc_backup_destinations;
    DROP TABLE IF EXISTS vpc_device_codes;
    ALTER TABLE vpc_integrations DROP COLUMN IF EXISTS visibility;
    ALTER TABLE vpc_integrations DROP COLUMN IF EXISTS created_by;
    ALTER TABLE vpc_settings DROP COLUMN IF EXISTS enc_key_version;
  2. Code: git revert HEAD and redeploy. Because migrations are additive,
    reverting code without reverting the schema is also safe β€” the extra tables
    simply sit unused.
  3. Pipeline promotions in flight: any running promotion records its
    pre-promote backup in vpc_pipeline_promotions.backup_id. Use
    POST /promotions/:runId/rollback or restore the backup directly
    via the Backup Manager.

βœ… Verification

cd backend && npm test
βœ” encryption: round-trip preserves plaintext
βœ” encryption: decrypt handles legacy (v-less) format
βœ” encryption: decrypt returns null for garbage
βœ” integrations: all types have name + fields
βœ” integrations: every type has a tester case
βœ” automations: registry is consistent
βœ” pipeline promote service: exports expected API
βœ” logger: forSource returns level methods
i 8 pass, 0 fail

Frontend build: βœ“ built in 8.07s β€” main chunk 498 KB (was 1,204 KB).

Loading

v2.1.0 β€” AI Agent & Multi-Provider Intelligence

03 Apr 10:25
@PATILYASHH PATILYASHH

Choose a tag to compare

v2.1.0 β€” AI Agent & Multi-Provider Intelligence

Highlights

The AI Agent is now the brain of your server. It thinks, diagnoses, and acts autonomously β€” with support for Anthropic Claude, OpenAI GPT, and Ollama (local models). Chat with your server from Telegram or the web dashboard, and it'll deploy, fix, alert, and track tasks without being told twice.


New Features

AI Agent (Jarvis)

  • Multi-provider AI support β€” switch between Claude, GPT, and local Ollama models
  • 30+ built-in tools: deploy, restart, SQL, git, file ops, diagnostics
  • Autonomous TODO creation and task tracking
  • Persistent memory across conversations
  • Approval workflow for dangerous operations

Telegram Bot

  • Proactive alerts for deploys, PRs, backups, upgrades, and resource warnings
  • Full AI agent chat from your phone
  • Team broadcast messaging

Terminal

  • Newvpc aicommands:ask,sql,summarize logs,providers,use <provider>

Desktop

  • Right-click copy, cut, paste
Read more
Loading

Version 1 - The Start

03 Apr 06:13
@PATILYASHH PATILYASHH

Choose a tag to compare

0.0
Rename BanaDB to DB, add professional README, logo, and LICENSE for o...
Loading

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /