Skip to content

Import website with Vercel hosting and Firebase waitlist workflow - #47

Merged
ghnmqdtg merged 12 commits into
stgfrom
codex/website-firebase-migration
Oct 1, 2026
Merged

ghnmqdtg merged 12 commits into
stgfrom
codex/website-firebase-migration

Conversation

@paulyao825

@paulyao825 paulyao825 commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

The marketing website currently lives in a separate Lovable-synced repository. This imports its source and assets into website/ while preserving the Electron application at the repository root and the original repository's history.

The website builds independently with npm, includes Vercel SPA configuration and dedicated GitHub checks, removes active Lovable/Supabase integrations, and adds Firebase configuration with client access denied for the historical waitlist. An idempotent create-only importer compares every original field after importing; user data and credentials are excluded from Git. The original backend source is preserved under website/archive/lovable/.

The header and footer use a white SVG in dark mode while retaining the orange logo details. Owner-approved legal copy removes nonexistent account obligations and distinguishes local desktop processing, website third-party requests, and historical waitlist storage. Open Graph images use the existing local asset. Compatible dependency updates reduce npm audit findings from 20 to 4; remaining Vite/esbuild and React Router advisories require major-version changes and remain outside this migration.

Validation:

  • Website npm ci, lint (0 errors, 7 existing Fast Refresh warnings), TypeScript, and production build pass locally and in GitHub CI.
  • Vercel project paul-s-personal/knovy-website is Git-connected to this repository, with Root Directory website, Vite, Node 22, and independent npm build settings. A push to this branch automatically created a successful preview: https://knovy-website-8hnt3nkvu-paul-s-personal.vercel.app
  • Browser checks confirm light/dark header and footer logos, theme persistence, mobile menu/contact navigation, and no horizontal overflow or console errors in the tested flows.
  • Firebase knovy-website, Standard Firestore in asia-east1 (Taiwan), contains all 27 original waitlist records. Every original ID/email/created_at string matched after import; a rerun imported 0 records and verified all 27. Unauthenticated list, existing-record get, and create requests were denied.

Before custom-domain cutover: this PR requires a team member's approval and DNS-provider access is still pending. knovy.app and www.knovy.app are attached to Vercel but DNS still serves the previous Lovable deployment. The original deployment/database remain available for rollback.

ghnmqdtg and others added 10 commits June 6, 2026 20:58
The post-commit/post-checkout hooks rewrite graphify-out/{manifest,cost,
.graphify_labels}.json on every commit and branch switch. Tracking them
meant each rebuild dirtied the working tree and blocked pulls/checkouts.
Ignore them like the other regenerated outputs (graph.json/html/cache).
Release: v0.3.9 — flatten monorepo, dead-file cleanup, staging pipeline
Release: v0.3.9 (retry) — with publish-race fix
Docs: Pre-public documentation cleanup (stg → main)
Release 0.3.12: transcript render fix + two-step quit flow
Feat: Thinking mode toggle + qwen3.5 model series
Release v0.4.0: Persistent whisper-server, mic/system isolation, chat UI rebuild

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9f523c04f1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

We may collect anonymous usage data to improve our services, such as feature usage frequency and performance metrics.

2.3. Data Processed for You
When you use the Service, we process screen and audio content to provide real-time analysis. This content is sent to our secure backend and Google Gemini API for processing. We may store transcripts and session metadata associated with your account to provide your session history.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Replace the obsolete cloud-data privacy policy

When visitors open the Privacy Policy, they are told that screen and audio content is uploaded to a backend and Google Gemini, even though the application uses local Whisper, Ollama, and SQLite and explicitly has no cloud backend (README.md:14-25). The same policy also claims account collection, telemetry, and Supabase authentication, so publishing it materially misrepresents how sensitive user data is handled; update the disclosure to describe the current local-only architecture before deploying the site.

Useful? React with 👍 / 👎.

Comment on lines +22 to +24
To use the Service, you must register an account. You agree to:
• Provide accurate and complete information during registration.
• Protect your account credentials and be fully responsible for all activities under your account.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Remove nonexistent account obligations from the terms

When users read the Terms of Service, this clause says registration is mandatory and imposes credential-management duties, but the shipped application has no login gate or accounts (README.md:3-5), and the website documentation also says there is no authentication (website/README.md:17). This makes the public terms describe a service users cannot actually register for, so the account-specific obligations should be replaced with terms applicable to the current local application.

Useful? React with 👍 / 👎.

@vercel

vercel Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
knovy-website Ready Ready Preview Oct 1, 2026 10:46am UTC

Request Review

@ghnmqdtg
ghnmqdtg changed the base branch from main to stg October 1, 2026 17:33
@ghnmqdtg
ghnmqdtg merged commit ca16b5e into stg Oct 1, 2026
3 checks passed

This branch was successfully deployed

1 active deployment
Preview — 5c8e0f72 Deployed Oct 1, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants