Command Palette

Search for a command to run...

1.2.1

Hotfix - removes leaked development environment variables from the production build and simplifies API configuration.

1.2.1 is a maintenance release focused on fixing a production build issue where development environment variables were leaking into the Chrome Web Store artifact, simplifying the API configuration surface, and cleaning up legal pages to remove stale references to comments and Discord OAuth.

Extension build

Removed dotenv/config import from the production build script. The .env file is no longer loaded during build:extension. Dev URLs (localhost) were being published to the Chrome Web Store instead of production URLs. This fix ensures the store artifact always uses nowly.me, api.nowly.me, and cdn.nowly.me.

API environment

Removed AWS_SESSION_TOKEN, AWS_SES_CONFIGURATION_SET, AWS_SES_BASE_URL env vars. Changed default AWS_REGION to us-east-1. Fewer required env vars to configure. The SDK defaults work without explicit values.

API email config

Hardcoded SUPPORT_EMAIL_FROM and SUPPORT_EMAIL_REPLY_TO as constants instead of env vars. No need to configure these - they never change between environments.

Test reliability

Added test/setup.ts to provide required env vars for all test files. Tests now pass on CI without a .env file.

Removed "Reviews & Comments" / "Ratings & Reviews" sections from TOS. Removed "Server-Side Data - Authentication & Reviews" from Privacy. Removed nowly_oauth_state cookie from Cookies page. Removed Discord from third-party services list. Legal text no longer describes features that don't exist in the web UI, reducing liability and user confusion.

Sitemap & redirects

Removed /{slug}-rich-presence URL variants from sitemap. Added 301 redirect from /{slug}-rich-presence to /{slug}-discord-rich-presence. Prevents duplicate content and forwards old URLs to the canonical path.

Image dimensions

Added explicit width and height to navbar logo (420×128) and CTA browser icons (16×16). Eliminates layout shift (CLS) from images without intrinsic aspect ratio.

Code splitting

Lazy-loaded HighlightedText component (motion/react) via next/dynamic with ssr: false. Removes motion/react from the initial JS bundle, reducing Total Blocking Time.