vibe.pub Changelog
Added
- Changelog template — keepachangelog.com format auto-detected, color-coded category pills (Added/Changed/Fixed/Removed)
- OG image endpoint (`/og/[slug]`) — dynamic SVG with title, description, view badge, warm editorial branding
- Authenticated e2e tests — magic link login fixture, 8 tests covering owner edit, workspace, logout, access control
- File validation on publish page — unsupported file type warning, 512KB size limit with visual indicator
- Publish button loading state — disabled + "Publishing..." during submission, prevents double-click
Changed
- Kanban mutations now use optimistic local updates instead of `window.location.reload()` (5 locations)
- DESIGN.md rewritten to match actual warm editorial implementation (was describing a different cold/monochrome system)
- Login page brand font unified to Playfair Display (was DM Serif Display)
- Twitter card upgraded from `summary` to `summary_large_image` with og:image
Fixed
- Edit save error now shows HTTP status, error detail, and Retry button (was just "Failed to save")
- Workspace "New page" button now links to `/new` (was linking to `/` homepage)
- Hover animations removed `transform: translateY()` on 3 components (violates design spec: only color/opacity/shadow)
- Header nav link touch target expanded to 44px minimum (was 12px text with no padding)
- Kanban modal now has `aria-modal`, `aria-labelledby`, proper focus management
Added
- Playwright e2e test infrastructure — 46 tests covering all core flows in ~9 seconds
- Unit tests for slug generation and markdown rendering (vitest)
- API tests for POST/GET publish endpoints, error codes, auth requirements
- Doc rendering tests — headings, code blocks, tables, checkboxes, blockquotes, links, lists
- Navigation tests — homepage CTA, header, login page, 404, end-to-end publish flow
- Print stylesheet via `@media print` with `@page margin: 0`
Changed
- Test runner: `npm test` now runs both vitest unit tests and Playwright e2e tests
- vitest config scoped to `tests/unit/` to avoid conflict with Playwright test files
Added
- Kanban template — drag-drop board with columns, cards, labels, checklists, per-card comments
- Doc template — prose rendering with Shiki syntax highlighting, TOC sidebar, scroll spy
- Comment system — block-level anchoring, Google Docs-style inline cards
- Auth system — magic link (Resend), GitHub OAuth, Google OAuth, JWT sessions
- Workspace pages — `/@username` with page grid, badges, owner controls
- Multiple page themes — 14 themes (default, paper, terminal, midnight, claude, stripe, etc.)
- Collections system — curated page groups at `/c/[slug]`
Changed
- Auto view detection — checkbox pattern under headings triggers kanban, otherwise doc
Added
- Initial release — paste markdown, get a shareable link
- SvelteKit + Cloudflare Pages + D1 database
- Zero-login publish — no signup required
- Live preview with Write/Preview tabs
- Auto clipboard copy on publish
- Deployed to vibe-pub.pages.dev