Changelog
New features, fixes, and improvements shipped to Glitchgrab.
v1.42.1
Bug Fixes
- •mobile: remove unnecessary type assertion and unused eslint-disable in _layout (d027d35)
- •seo: suppress hydration warning on meta date in InnerPageHeader (e84ff2f)
v1.42.0
Features
- •app/dashboard/seo: update gsc property last sync date to display in US locale (20dba73)
Bug Fixes
- •apps/mobile/app/_layout.tsx: initial implementation of media library listener (1427577)
v1.41.0
Features
- •app/api/v1/gsc/reindex: record reindex action in the indexing-history timeline (8520010)
- •app/mobile: update Expo Share Intent for image sharing (a41cf8c)
- •apps/mobile/package.json: upgrade react-native to 0.83.6 (6455036)
- •seo: clearer sync/reindex feedback and indexing history chart (313ebc3), closes #219 #219 #218
Bug Fixes
- •app: add share intent filter for image support (51f232a)
- •gsc-properties: update sync and reindex mutations to use useMutation with custom options (0a815ba)
- •mobile: update start scripts for improved local development experience (d33ee24)
- •package.json: update dependencies to support new versions (6d019a9)
- •package: add --clear flag to dev script for improved iOS build process (8212b12)
- •props: add indexing history chart to SEO detail page (3b778de)
- •props: record sync in indexing-history timeline (b9aacdf)
- •route: add dynamic property and handling (9433a48)
v1.40.2
Bug Fixes
- •sdk: drop opaque cross-origin errors with no error object or filename (ed88c71)
v1.40.1
v1.40.0
Features
- •.mcp.json: add expo-mcp server configuration (1d87ab7)
- •add metro.config.js for apps/mobile (54bbbff)
- •Add ReportCard component in mobile app (d255b34)
- •add useGlitchgrab hook (77922b6)
- •api: add logout listener to handle 401 responses (7b9cb0e)
- •api: update getBaseUrl function (9f840dd)
- •app/_layout.tsx: add screenshot detection and bug report sheet (c71a627)
- •app/auth/login: add logo image (bcb65a1)
- •apps/mobile/app/(tabs)/chat.tsx: Add chat screen with report submission form (650f227)
- •apps/mobile/scripts: remove sourceURL for bridge in AppDelegate.swift (878d9de)
- •apps/mobile/src/contexts/AuthContext.tsx: add logout event listener (cef6164)
- •apps/mobile/src/hooks/use-repos.ts: add useRepos hook to fetch repos (4b67947)
- •apps/mobile/tamagui.config.ts: add Glitchgrab brand colors for Tamagui configuration (839787c)
- •apps/mobile: add babel config for mobile apps (232adf9)
- •apps/mobile: add module-resolver for babel configuration (8677d49)
- •apps/mobile: add vector icons dependency (ed86ca4)
- •apps/mobile: update dependencies (ceaec88)
- •auth: add AuthLayout component (434fd23)
- •auth: Implement login functionality with GitHub integration (ea23faa)
- •colors: add new colors constants (a15d223)
- •config: update animations type and cast for rc.7 vs rc.42 AnimationDriver types (194679f)
- •contexts: added AuthContext for managing authentication state (d5a85b3)
- •docs: add Glitchgrab bug capture SDK for Expo apps (b7a6a72)
- •images: add image size constants (0045235)
- •lib/api: add BASE_URL environment variable for API URL (159c4fc)
- •lib/secure-store: add secure storage functionalities (ea20239)
- •packages/sdk-expo/src: add `useGlitchgrab` hook for interacting with the glitchgrab service (ec89b3d)
- •reports: add useReports and useReport hooks for mobile app (90b444f)
- •sdk-expo/tsconfig.json: add default tsconfig.json (b2d0072)
- •src/BugReportSheet.tsx: Add bug report sheet feature (17367b9)
- •tabs: add home screen with stats and recent reports (a869bf6)
- •tamagui: upgrade packages to rc.42 (0d3127b)
- •types: add types for mobile apps (b51b42c)
- •ui/LoadingSpinner: add loading spinner component (1b9eb79)
- •ui: add EmptyState component (711f8cf)
- •useScreenshotDetection: added dynamic screenshot detection functionality (fc21367)
Bug Fixes
- •.gitignore: add tamagui auto-generated style cache (6bc7a42)
- •Add context for Glitchgrab configurations and user state (5b4a295)
- •add report detail screen (cbc53b1)
- •api: add API endpoints for mobile device interactions (8299f1b)
- •api: add submitReport function to sdk-expo (a097b8c)
- •app-delegate: remove extra line in AppDelegate.swift (0a6ff21)
- •app.json: add permissions and base_url (d25656e)
- •app/auth/login.tsx: add logo and improve styling (b6e710f)
- •app/auth/login.tsx: update logo icon (eff27ac)
- •app/mobile/app: add Index component (f00d0cf)
- •app/mobile/eslint.config.mjs: add patches, plugins and scripts directories (d818c01)
- •app/mobile: update dependencies to use expo-router and tamagui (b2bd486)
- •apps/mobile/app/(tabs)/repos.tsx: add new repos screen (096163a)
- •apps/mobile/package.json: add babel-plugin-module-resolver for module resolution (05d2527)
- •app: upgrade Tamagui version (978e3f3)
- •auth: update login form UI (14b195c)
- •babel: update react-native-reanimated/plugin dependency (3f36a17)
- •bug-chat: remove unnecessary padding in top context bar (beab1e1)
- •capture: add dynamic capture and readUriAsBase64 functions (d3faba7)
- •chat: Add chat screen with type selector, repo selector, description input, and submit button (3a07262)
- •components: add bug report sheet component (21e8448)
- •config: add tamagui.config.ts for mobile branch (093671d)
- •config: update Tamagui config to match rc.7 and ensure type safety (9d45a1c)
- •eslint.config.mjs: refactor ESLint config to use TypeScript config and plugins (d531627)
- •expoConstants: add `APP_ENV` and `hostUri` to ExpoConfig for API URL (44c0717)
- •hero-terminal: implement logic to reset line count when cycle changes (886454f)
- •index: update expo-router entry import (06611a7)
- •initial commit of SDK-expo (c0320cd)
- •initial implementation of GlitchgrabProvider (00e408a)
- •knip.json: add project and ignore dependencies for mobile app (978e054)
- •metro.config.js: patch resolveRequest to handle specs_DEPRECATED/NativePlatformConstantsIOS (e7eb262)
- •metro.config.js: patch specs_DEPRECATED/NativePlatformConstantsIOS.js for RN 0.83 (59cfaf6)
- •NativePlatformConstantsIOS: add lazy proxy for TurboModule (8d44f6f)
- •package.json: update development build steps to include node script and port option (e2066b2)
- •provider: ignore cross-origin script errors (54339ba)
- •reports: add button to filter reports (2b24950)
- •settings: added settings screen and components (40b3f3e)
- •settings: update sign-out button and header (6e8ac9b)
- •table: add missing class selector (bfe3a8a)
- •tabs: add mobile app tabs layout (0b25ad3)
- •tabs: update tab icons to improve visibility (51956da)
- •tamagui: update _layout.tsx to use new Expo Router and AuthContext (f4b00d9)
- •test: filter out 'Script error.' from error events in GlitchgrabProvider (74bd130)
- •tsconfig: add baseUrl and paths for source files (5c9c25c)
- •types: fix missing types for `User` and `Repo` objects (14dda40)
- •update app.json for glitchgrab scheme (2c811da)
- •update dev script to use localhost instead of 0.0.0.0 (a87da39)
- •update dev script to use REACT_NATIVE_PACKAGER_HOSTNAME (e782a5c)
- •update tsconfig.json to include App.tsx and src/api.ts and src/screens (ef3bbe1)
v1.39.1
Bug Fixes
- •org-bottom-nav: use full-page nav in WebView to prevent removeChild crash (8800424)
v1.39.0
Features
- •gsc: expose cached notIndexedPages in properties list (c333caf)
- •org-overview: embed not-indexed URLs in Page Issues copy prompt (f658b29)
v1.38.0
Features
- •org-overview: add Connect GSC button and dialog to SEO panel (5ffc08d)
- •org-overview: add sync functionality for GSC properties with user feedback (1d57d67)
- •org-overview: add sync progress bar visibility during syncing (778e43c)
- •org-overview: enhance sync and reindex button functionality and visibility (1d8236a)
- •seo: extract reusable ConnectGscDialog component (907881f)
- •sync-progress: add sync progress bar animation and styling (ed3c690)
Bug Fixes
- •org-overview: adjust layout of SEO panel for improved responsiveness (74f6b07)
- •org-overview: improve SEO panel layout and sync button visibility (1f3f3d4)
v1.37.0
Features
- •gsc-property-detail: reorganize stats section for improved layout and clarity (24d8e75)
- •org-overview: add SEO panel with GSC properties and indexing stats (02f9b84)
- •org-overview: enhance SEO panel with site domain extraction and health prompts (b4722c3)
- •org-overview: implement health check for favicon and OG metadata with improved prompt handling (51fc08a)
- •org-overview: refactor health check logic for favicon and OG metadata (4da4c79)
v1.36.0
Features
- •org-overview: skeleton for member commits loading + +N repos hint in triage chips (bad97e7)
v1.35.0
Features
- •member-stats: add PRs-created-today per repo to member activity (c5a7d61)
- •org-overview: show PR count with icons in team panel member rows (1bdd8a5)
Bug Fixes
- •ci: add legacy-peer-deps to unblock semantic-release npm version step (c63e0eb)
- •ci: replace workspace:* with file: protocol for npm compatibility (4195dd9)
v1.34.0
Features
- •web: add IssueRow component for improved issue display and link copying (e7fc939)
- •web: add repo filtering to OrgIssuesTriage component (d5e1d9c)
- •web: enhance issue fetching by linking PRs to issues (575d409)
- •web: enhance IssueRow for improved link handling and styling (8198640)
- •web: implement repo filter popover for issue triage (34e652f)
Bug Fixes
- •web: extract token const to satisfy TypeScript narrowing in issues route (005ed9c)
v1.33.0
Features
- •web: include CI check state in org PR list endpoint (3324939)
- •web: show CI check badge on org overview PR list (317f7c8)
Bug Fixes
- •web: allow team panel repo list to wrap instead of truncating (195fc4d)
- •web: show all repos in org team panel instead of slicing to 3 (01bb2ef)
v1.32.0
⚠ BREAKING CHANGES
- •SDK_AUTO responses no longer return status='PROCESSING'
- •response no longer includes intent variants
- •The AI pipeline no longer mutates report content.
Features
- •add AI enhance button to dashboard chat composer (a15687a)
- •add ai-enhance lib for polishing user-written text (2cf29ac)
- •add POST /api/v1/ai/enhance-text endpoint (61bc7a2)
- •dashboard report endpoint creates GitHub issues directly (080dd70)
- •remove AI enrichment pipeline (6a6f1cf)
- •SDK report endpoint creates GitHub issues directly (4af2a6c)
- •sdk: add AI enhance link to report dialog description step (9e33d1a)
- •sdk: expose enhanceText helper on useGlitchgrab (074ca87)
v1.31.0
Features
- •enhance commit counting by utilizing GitHub search API for deduplication (f69ec0d)
- •optimize commit counting by using GitHub search API for deduplication (275f707)
- •orgs: count commits across all branches in member-stats (35559ed)
- •orgs: count today-activity commits across all branches (34b43a9)
- •org: show contributing branches in repo tooltip (e643345)
v1.30.0
Features
- •seo: add favicon proxy route with apex/www fallback (f6270cf)
- •seo: consolidate favicon and Open Graph issue handling into a unified health prompt (8f66704)
- •ui: add button for previewing Open Graph image in GscPropertyDetail (a96d5bc)
- •ui: add favicon preview functionality with dialog display (84177bb)
Bug Fixes
- •ensure ogImage is correctly typed as string in GscPropertyDetail (27c1d7b)
- •seo: use favicon proxy so 404 fallback to Globe works (52ba745)
- •web: add 32x32 size to favicon.ico (a0edb1f)
- •web: declare 32x32 size on favicon.ico link tag (c0916ad)
Performance Improvements
- •web: compress og-image.png below 300KB for WhatsApp previews (af7cf4f)
v1.29.1
Bug Fixes
- •seo: switch favicon API to gstatic faviconV2 for reliable display (4b4efaa)
v1.29.0
Features
- •api/orgs: add GET /orgs/[slug]/pull-requests endpoint (205df7a)
- •org-overview: add open PRs tab with workflows fallback and skeleton loading (7daaeec)
- •org: add member-stats API — today commits per GitHub org member including pending (5a0e548)
- •seo: add skeleton loading for GSC properties list page (ca55d37)
- •seo: add skeleton loading for org SEO properties list page (69b7f8f)
- •seo: add two-column skeleton loading for GSC property detail page (075d76d)
- •seo: add two-column skeleton loading for org GSC property detail page (8b070bc)
Bug Fixes
- •active-workflows: replace spinner with skeleton rows on loading (b9db3d2)
- •github-contributions: replace spinner with full 52×7 skeleton heatmap grid on loading (53115f5)
- •github-contributions: update skeleton component styling for consistency (53798c5)
- •member-stats: remove export from internal-only interfaces to satisfy pruny (3902789)
- •org-overview: shrink PR panel skeleton to prevent layout shift (3792416)
- •overview: replace Math.random in render with static height array for skeleton bars (99841db)
- •seo: pass detailHrefPrefix prop to avoid hardcoded /dashboard/seo link in org context (a4ed37c)
- •seo: replace circular spinner with skeleton in dashboard loading fallback (10a60b6)
- •seo: supply detailHrefPrefix to GscPropertiesClient in dashboard (462d380)
- •seo: supply org-scoped detailHrefPrefix so property links stay within org routing (bcfd93c)
v1.28.0
Features
- •ai: add sessionInfo field to AiInput for reporter context (43a54b9)
- •analytics: add analytics and SEO sections with visual insights and management features (29aa353)
- •analytics: compact 2x2 stat grid + chart side-by-side, fix tooltip headroom and x-axis labels (75b1794)
- •analytics: enhance hover overlay for closed issues with detailed repo counts and improve layout spacing (dbac746)
- •api/orgs/members: POST invite sends email to pending member with GitHub sign-in link (d4e28d9)
- •api/orgs: add GET my-github-orgs endpoint to fetch user GitHub org memberships (bb096b4)
- •api/orgs: GET and PATCH member repo assignments, OWNER-only write access (52bc798)
- •api/orgs: GET members merges GitHub org members with DB state, shows pending for non-signed-in users (f29f6b8)
- •api/orgs: GET org by slug with members and repos, verify requester is a member (1c90d86)
- •api/orgs: GET own org membership, POST create org with GitHub org login and auto-sync repos (1caccbc)
- •api/orgs: POST sync-repos pulls all GitHub org repos and upserts them into DB (7d7b556)
- •api: remove collaborator accept endpoint (a08b5d4)
- •api: remove collaborator invite endpoint (ccf7568)
- •api: remove collaborator repo access endpoint (980c480)
- •api: remove collaborator revoke endpoint (e6a6ca5)
- •api: remove collaborators list endpoint (cd172b7)
- •assets: add bug-report.webp — converted from PNG (312K → 49K) (72b068c)
- •assets: add chat.webp — converted from PNG (97K → 28K) (723cb1b)
- •assets: add dashboard.webp — converted from PNG (171K → 54K) (07bfa2f)
- •assets: add repos.webp — converted from PNG (153K → 47K) (0b7a4a3)
- •auth: auto-assign org repos to MEMBER on login using their GitHub token — no manual assignment needed (ef72a5d)
- •auth: auto-detect GitHub org membership on login and upsert OrgMember with correct role (65f0800)
- •auth: use GitHub org membership role (admin→OWNER) instead of ownerId comparison (e244d3e)
- •collaborate: remove collaborator accept page (be66296)
- •collaborators: remove collaborators dashboard page (aa17abd)
- •collaborators: remove edit repos dialog UI (9c2b610)
- •collaborators: remove invite dialog UI (f8aa6fa)
- •collaborators: remove revoke access button UI (9130134)
- •compare: add Glitchgrab vs Linear comparison page with table, breadcrumb schema, and canonical (6e6846f)
- •compare: add Glitchgrab vs Sentry comparison page with table, breadcrumb schema, and canonical (38b3996)
- •dashboard: redirect org members away from /dashboard to their org path (d54a8db)
- •dashboard: redirect org members to their org on landing instead of personal dashboard (e3d42d3)
- •enricher: include all context in GitHub issue body — full error, stack, breadcrumbs, reporter, environment (213ad96)
- •footer: add About link to Resources column (eac7f8b)
- •footer: add vs Sentry and vs Linear comparison page links under Resources (8767b7f)
- •github: add getGitHubOrgMembers helper to fetch all GitHub org members (ec6a660)
- •github: add getUserOrgRoles to fetch real org membership roles from GitHub API (814750f)
- •github: add getUserOrgs, getOrgRepos, getGitHubOrgInfo, getGitHubUserLogin helpers for org integration (5f08405)
- •gsc-property-detail: integrate Skeleton component for loading states in indexing and favicon sections (d639441)
- •gsc-property-detail: refactor UI with icon buttons, tooltips, skeletons, sync/reindex in card header, and repo picker in page header (c4de9ab)
- •gsc: add Google Search Console section with indexing health report (0fef507)
- •homepage: replace tagline H1 with keyword-rich text and add trust bar between hero and features (6ff342b)
- •landing: add version badge in nav, dashboard/chat/bug-report/repos product screenshot sections (49b6767)
- •landing: replace pipeline boxes with 3-card vacation dev story workflow (7ac29dc)
- •layout: wrap app in TooltipProvider for shadcn tooltip support (5bf8dfd)
- •legal: replace simple header with shared PublicNav for consistent navigation (23a7509)
- •lib: remove collab-auth cookie session module (972a6ac)
- •login: redirect org members to /org/[slug] or /org/[slug]/chat based on role after login (a4ae3a8)
- •mail: add sendOrgMemberInvite email to invite pending GitHub org members to sign in (db9d006)
- •meta: add analytics screenshot WebP for landing page (bb461c5)
- •meta: add issue reports image for enhanced visual representation (a078999)
- •meta: add SEO screenshot WebP for landing page (00ad58f)
- •migration: drop OrgMemberRepo table (2778854)
- •nav: add PublicNav shared component for consistent header across all public pages (c3ce405)
- •org/analytics: guard MEMBER access, redirect OWNER to /dashboard/analytics (1eba167)
- •org/billing: guard MEMBER access, redirect OWNER to /dashboard/billing (21caf62)
- •org/bottom-nav: add SEO to mobile nav (6c58139)
- •org/chat: chat page reuses BugChat with role-scoped repos — OWNER all, MEMBER assigned only (664df62)
- •org/collaborators: guard MEMBER access, redirect OWNER to /dashboard/collaborators (e59d0e5)
- •org/context: replace assigned-repo DB lookup with live GitHub API fetch for member repos (b4ffadd)
- •org/contributions: add org-wide combined commit heatmap endpoint using REST commits API (711e004)
- •org/issues-closed: add org-scoped closed issues bar chart endpoint (a693164)
- •org/issues: add org-scoped open GitHub issues endpoint (ac7f33a)
- •org/members: members page loads all org members with assigned repos for OWNER management (4fa85fb)
- •org/members: remove per-member repo assignment endpoint — repos now sourced from GitHub directly (43fcbdd)
- •org/members: repo assignment UI — OWNER toggles repos per member and saves via PATCH (464b188)
- •org/nav: add Repos link to member bottom nav (1bb1a4a)
- •org/overview: add inline invite button on pending members — OWNER enters email, sends invite (0251045)
- •org/overview: full dashboard-style redesign with stats, issues triage, workflows, contributions heatmap (bbaa9ff)
- •org/reports: guard MEMBER access, redirect OWNER to /dashboard/reports (00610a0)
- •org/repos: fetch all GitHub repos and merge with org DB repos for full visibility (97c4185)
- •org/repos: repo list with sync-from-GitHub button that re-imports org repos (dd4b22d)
- •org/repos: repos page lists all org repos with token and report counts, OWNER only (7d59a5d)
- •org/repos: show tracked/untracked repo split, merge GitHub repos with DB state (ef46917)
- •org/seo: add SEO page that redirects OWNER to dashboard/seo, blocks MEMBER (c0cb022)
- •org/seo: render GSC properties inline instead of redirecting to /dashboard/seo (83a37ef)
- •org/settings: guard MEMBER access, redirect OWNER to /dashboard/settings (c3f98ff)
- •org/setup: auto-load and display user GitHub orgs as clickable cards instead of manual text input (c441145)
- •org/setup: connect GitHub org form with auto-repo sync and post-create redirect (8bce20f)
- •org/setup: redirect already-org users to their org, render setup client otherwise (bcbd84f)
- •org/sidebar: add Repos link to member sidebar nav (88d4d89)
- •org/sidebar: add SEO to OWNER workspace nav (5b43bfc)
- •org/sidebar: show GitHub org avatar instead of Glitchgrab logo in brand header (b39c3e0)
- •org/stats: add org-scoped report analytics endpoint (dc08614)
- •org/today-activity: count per-member commits today via repo commits API to include private repos (d8179ff)
- •org/tokens: guard MEMBER access, redirect OWNER to /dashboard/tokens (0ac9676)
- •org/workflow-runs: add org-scoped GitHub Actions workflow runs endpoint (95b89c4)
- •org: getOrgContext helper returns org membership, role, and scoped repos per role (8bf7b65)
- •org: mobile bottom nav scoped to role — OWNER gets 5 items, MEMBER gets chat only (ab6fcbe)
- •org: org layout with role-aware sidebar and bottom nav (ad1d13d)
- •org: org overview shows repo/member counts, team list with roles, and quick nav links (81b2d3e)
- •org: org root page — MEMBER bounced to chat, OWNER sees overview (64ed193)
- •org: org sidebar shows full nav for OWNER, chat-only for MEMBER (888d9cf)
- •org: remove org collaborators page (752b7a5)
- •page: add OrgGscPropertyPage component for Google Search Console integration (919de20)
- •pipeline: pass reporter session info to AI enricher (c4f85a2)
- •reports: restructure filter bar to single row with labeled groups, switch list to grid cards (0259165)
- •repos: add search input and grid card layout (dbc8d4d)
- •repos: add search input and grid card layout for org repos page (c9426ae)
- •schema: add Organization, OrgMember, OrgMemberRepo models and orgId on Repo for team support (93038ce)
- •schema: drop OrgMemberRepo model — member repo access now via GitHub API (88f15a2)
- •seo: add /about page with founder bio, company background, and E-E-A-T signals (6b402f0)
- •seo: add /about to sitemap with priority 0.8 (b4ce995)
- •seo: add collapsible FAQ section with FAQPage JSON-LD schema to homepage (d4230e3)
- •seo: add complete favicon links, web manifest, and switch to compressed og-image.jpg (af00b16)
- •seo: add google-seo.webp for improved SEO visuals (aa90cce)
- •seo: add llms-full.txt with full page-by-page content for AI engine indexing (6bf59b8)
- •seo: enrich SoftwareApplication schema with featureList, softwareVersion, dual offers, MIT license, sameAs (da49743)
- •seo: fix duplicate title tag; add HowToJsonLd for 5-step SDK install walkthrough (b017fe8)
- •seo: inject WebSiteJsonLd with SearchAction in root layout (cfb0b7d)
- •seo: replace Script with script tag for synchronous rendering; add WebSiteJsonLd, FAQJsonLd, HowToJsonLd; improve OrganizationJsonLd with logo object, npm sameAs, contact email (b6b5ea0)
- •sidebar: add Create Org link in Config section for users without an org (aca164a)
- •skeleton: add Skeleton component for loading placeholders (cddf8c2)
- •tooltip: implement TooltipProvider, Tooltip, TooltipTrigger, and TooltipContent components (0faf2e7)
Bug Fixes
- •analytics: adjust height of X-axis labels and background size for better layout (0e3f778)
- •analytics: adjust margin for tooltip space and update grid height for better layout (6971cab)
- •analytics: render IssuesClosedAnalytics directly to fix redirect loop (deac534)
- •api/orgs/members: backfill githubLogin from GitHub API for users who logged in before it was stored, preventing duplicate entries in team list (89ee7cd)
- •api: remove collab session from issues-closed analytics auth (2c429fe)
- •api: remove collab session from reports analytics auth (55128ae)
- •api: remove collab session from reports list and create (cc6225d)
- •api: remove collab session from single report auth (1aa2e18)
- •api: remove collab shared-repos from repos list (589423e)
- •bottom-nav: remove Collaborators from sheet nav and userType prop (675f34b)
- •chat: remove collaboratorOnly prop from no-repos state (b0e66b2)
- •dashboard: increase issues-closed bar chart height from h-14 to h-24 (b78484b)
- •dashboard: prevent redirect for specific config paths in DashboardLayout (a0d039d)
- •dashboard: remove collab session and simplify to owner-only auth (3c2f761)
- •dashboard: remove collaboratorOnly prop and message (e560adb)
- •dashboard: remove collaboratorOnly prop from no-repos state (1133dc9)
- •dashboard: remove shared-repo collab logic from context (b714d11)
- •glitchgrab-vs-linear: escape unescaped quote entities for ESLint compliance (7a729d2)
- •glitchgrab-vs-sentry: escape unescaped apostrophe entities for ESLint compliance (810c823)
- •gsc-property-detail: add tooltips for copy prompt and GitHub issue actions (ef0e48a)
- •gsc-property-detail: enhance layout responsiveness and adjust flex properties (c0c13b0)
- •gsc-property-detail: improve favicon and OG tag issue handling with copy prompt functionality (82f0b56)
- •inner-page-header: add truncate class to title for better text handling (04a92f1)
- •landing: add GitFork to lucide import to fix runtime error (4d20c3b)
- •landing: escape apostrophes and comment slashes as JSX entities for ESLint (8800da2)
- •layout: add TooltipProvider for enhanced user interaction (3497933)
- •llms: remove COLLABORATOR from report sources documentation (7890eba)
- •mail: remove sendCollaboratorInvite email function (9694709)
- •migration: drop collaborator tables and remove COLLABORATOR from ReportSource enum (1b9935e)
- •org/overview: use merged members endpoint so all GitHub org members show, pending badge for non-joined (38f3aba)
- •org: remove Collaborators from org sidebar config nav (cf1fc9c)
- •org: remove collaborators mention from reports subtitle (a6514ec)
- •orgs: remove redundant non-null assertion on session.user.id already guarded above (bf913e8)
- •page: update navigation link and modify content in LandingPage component (9eeacf0)
- •page: update pipeline steps and modify content for clarity (b68eda1)
- •pipeline: remove collaborator email attribution branch from issue body (997f9d6)
- •pipeline: update pipeline steps for clarity and consistency (f6f3242)
- •proxy: exclude config paths from org redirect to prevent loops (b192d6c)
- •proxy: remove /collaborators from CONFIG_PATHS exclusion list (6235712)
- •reports: remove COLLABORATOR from source labels map (c44e9f1)
- •reports: remove collaborator-view subtitle branch (e012640)
- •reports: render ReportsList directly on org reports page to fix redirect loop (39d0785)
- •report: two-tier duplicate check — 24h window + 7-day open-issue suppression to stop recurring issue spam (e483b1a)
- •repos: remove collaborator-view conditional header text (dbfb2d2)
- •schema: remove Collaborator/CollaboratorRepo models and COLLABORATOR enum value (bddcb94)
- •seo: remove brand from title to prevent template duplication (1009494)
- •seo: remove brand from title to prevent template duplication (26835a1)
- •seo: remove brand from title to prevent template duplication (0ae81d1)
- •seo: remove brand from title to prevent template duplication (74dcedc)
- •seo: remove brand from title; add missing canonical URL (f93c40b)
- •sidebar: remove Collaborators nav item and userType prop (0b12838)
- •signature: extend dedup window 1h → 24h, add 7-day open-issue suppression constant (3a4cbd0)
- •sitemap: remove /collaborate from private paths and exclude list (33dedf9)
- •workflow-runs: extract access_token to const so TS narrows string type without non-null assertion (a28b1a8)
Performance Improvements
- •seo: add JPEG og-image compressed to 85KB from 778KB PNG (6a9307b)
v1.27.0
Features
- •cron: add nightly-sync cron to update indexing cache for all GSC properties (0f22207)
- •cron: add seo-health cron to create GitHub issues for favicon, OG, and indexing problems (86c3aab)
- •cron: skip seo-health issue creation when property is snoozed after reindex (4b7359a)
- •db: add cachedNotIndexedPages and seoHealthIssueUrl to GscProperty (ff09005)
- •db: add GscConnectSession model for temporary OAuth token storage during property selection (fa248b8)
- •db: add seoHealthSnoozedUntil to GscProperty for reindex snooze window (49f30cc)
- •gsc: add /connect/gsc wizard page — no auth required, session-authenticated via GscConnectSession (6c9cac5)
- •gsc: add auth/link endpoint returning signed URL as JSON to avoid hydration mismatch (9a6b47d)
- •gsc: add connect endpoint to save selected GSC properties with required repo links (f5108f8)
- •gsc: add favicon-check endpoint for per-property favicon validation (5f29236)
- •gsc: add OAuth callback to verify state, exchange code, upsert GscProperty records (e80beb1)
- •gsc: add OAuth URL builder with HMAC-signed state for cross-browser auth (e6f8484)
- •gsc: add og-check endpoint to validate OG/Twitter meta tags from site HTML (49d2ce4)
- •gsc: add properties list/patch endpoint for repo linking (c1bceed)
- •gsc: add property DELETE endpoint for disconnecting a GSC site (38cfe0a)
- •gsc: add property sync endpoint to live-check indexing status via GSC API (ca66332)
- •gsc: add reindex endpoint to submit not-indexed pages to Google Indexing API (d263180)
- •gsc: add search functionality to filter properties by domain or repo (2fa6bf7)
- •gsc: enhance GSC inspection and sitemap parsing with additional fields and improved URL fetching logic (c6e2950)
- •gsc: persist not-indexed pages to DB on sync for instant cache (4688a8f)
- •gsc: redirect to property selection wizard after OAuth instead of auto-adding all properties (6476135)
- •gsc: return noSitemap flag when no sitemaps registered in GSC (a0196ab)
- •gsc: set 7-day SEO health snooze on reindex to give Google time to re-crawl (a1f9c52)
- •lib: add AES-256-GCM encrypt/decrypt utility for token storage (85c5231)
- •lib: add checkIssueIsOpen helper to detect open GitHub issues by URL (f0cc417)
- •lib: add getValidAccessToken helper with auto-refresh for GSC properties (4b48b77)
- •lib: add Google Search Console API client (token exchange, sites, inspect, indexing) (42ca42f)
- •login: read callbackUrl from search params so post-OAuth redirect lands on correct page (1ad2961)
- •mcp: add HTTP MCP endpoint with session auth and GSC/repo tools (b27a5d5)
- •nav: add SEO route to dashboard sidebar (0f0a394)
- •nav: add SEO route to mobile bottom nav (b7a9617)
- •schema: add GscProperty model, datasource directUrl, remove McpToken (8c45ea5)
- •seo: add Check Fix button to re-inspect not-indexed pages without opening GSC (b7cbc14)
- •seo: add check-fix endpoint to re-inspect not-indexed URLs via GSC inspection API (43a91ae)
- •seo: add copy prompt and create GitHub issue buttons to not-indexed pages section (a5796e0)
- •seo: add create GitHub issue button to favicon health section (bd035f8)
- •seo: add create issue button to OG section and remove Fix with RFG from favicon health (d4c397b)
- •seo: add GSC connect page to load session and repos for property selection (4b06c43)
- •seo: add GscPropertiesClient with sync, reindex, repo linking, bulk disconnect, favicon check (1d7e221)
- •seo: add multi-select bulk disconnect, searchable repo combobox, favicon per property, fix AlertDialog p-nesting hydration errors (d874270)
- •seo: add per-property detail page with back navigation (4830632)
- •seo: add property detail client with auto-sync, not-indexed list, favicon health, OG tag check (15b4458)
- •seo: add property selection wizard with per-property required repo picker (8221b56)
- •seo: add reason-based tab filtering to not-indexed pages list (6524cd0)
- •seo: add SEO dashboard page with GSC properties and MCP section (201a9df)
- •seo: make property site URL a link to detail page (f4b774f)
- •seo: pass cachedNotIndexedPages from DB to property detail component (4c29456)
- •seo: read error/connected query params and pass human-readable flash messages to client (a02aa4d)
- •seo: show cached indexing data on load, auto-sync only on first visit, add stale timestamp (5b69297)
- •seo: show OAuth error/success toasts via flashMessage prop on SEO page load (adc7794)
- •seo: show register sitemap prompt with GSC link when no sitemap found (f61fd4c)
- •ui: add shadcn Command component for searchable combobox (461ae45)
- •ui: add shadcn InputGroup component (command dep) (63a2c1a)
- •ui: add shadcn Textarea component (command dep) (3eee74b)
- •ui: add shared Footer component for all public pages (7f419d5)
Bug Fixes
- •auth: include callbackUrl when proxy redirects unauthenticated dashboard requests to login (8bc2a89)
- •cron: use per-tag attribute parsing in getMeta to avoid non-literal RegExp lint error (078ac24)
- •footer: use Link instead of a for internal hash navigation (f8445a7)
- •gsc: cast GscSite[] to any for Prisma Json field assignment (81f8432)
- •gsc: correct WhatsApp og:image check — warning not error, community-observed 300KB threshold, add dimension check (00d4ac8)
- •gsc: extend connect session expiry to 30 min for login redirect flow (318cea3)
- •gsc: redirect to /connect/gsc after OAuth to skip dashboard auth, add granular error codes (9edb282)
- •gsc: remove auth() requirement from connect endpoint, use session userId directly (8ae3704)
- •gsc: use per-tag attribute parsing in getMeta to avoid non-literal RegExp lint error (24a5d35)
- •lib: remove export from internal-only GSC interfaces (9f1a700)
- •login: wrap GitHubSignInButton in Suspense to satisfy useSearchParams requirement (73c3eac)
- •sdk: set inert on host radix dialogs to prevent focusscope stealing focus (1f60c97)
- •sdk: stop focus propagation to fix textarea clickability with radix focusscope (7d1dfb9)
- •sdk: stop pointerdown propagation to fix dialog clickability with shadcn (e41deb4)
- •seo: capture first indexing API error and expose failed count in response (f77e0f8)
- •seo: fix useEffect dep, ternary-as-statement, and Tailwind canonical classes (41ca92b)
- •seo: preserve session id in callbackUrl when redirecting unauthenticated users to login (4f00d3d)
- •seo: replace max-h-[420px] with canonical max-h-105 (ece6a6d)
Performance Improvements
- •gsc: parallelize URL inspection with 10 concurrent requests to fix sync timeout (daa69fe)
v1.26.1
Bug Fixes
- •dashboard: show tooltips on upper contribution graph cells (576022e)
v1.26.0
Features
- •analytics: add Analytics nav item to sidebar (78edba8)
- •analytics: add day-wise issues-closed API endpoint (e96c694)
- •analytics: add issues closed dashboard page with bar chart (aa0c656)
- •dashboard: add DashboardStatusBar component with dynamic path from usePathname (f5f9939)
- •dashboard: add issues-closed sneak peek mini chart to dashboard (67ca6cb)
- •dashboard: expand stat grid to 3x2 with issues-closed metrics (a81fce3)
- •dependencies: add motion library version 12.38.0 to package.json and bun.lock (11c5ae7)
- •layout: mount DashboardStatusBar above main for full-width border (1a0a36e)
- •sidebar: replace static Lucide icons with animated lucide-animated icons (4abf196)
- •sidebar: wire Cmd+G shortcut and animate Bug icon on report button (38bcf69)
- •ui: add animated BugIcon with shake wiggle using motion/react (12a54dd)
Bug Fixes
- •analytics: eliminate tooltip flicker using CSS group-hover instead of React state (5260282)
- •analytics: memo BarList to prevent re-render disrupting CSS hover state (5c2af19)
- •analytics: remove hover from breakdown table rows to prevent layout shift flicker (75d0bc6)
- •analytics: use absolute positioned x-axis labels to prevent rotation clipping (c40905c)
- •dashboard: cap priority issues triage height to prevent layout imbalance (e555da5)
- •dashboard: compact stat cards - reduce padding and font sizes (9757877)
- •dashboard: drop unused userName from DashboardAnalytics call (1b9f9c8)
- •dashboard: reduce stat card width by shrinking grid column span (c46507d)
- •dashboard: remove greeting header and userName prop (c82330e)
- •pipeline: append reporter session info to SDK_AUTO GitHub issues (92b06f1)
- •sdk: include phone in auto-capture payloads and add session to effect deps (6a0f8de)
- •sdk: include session data in error boundary auto-reports (b93fd62)
- •sidebar: guard startAnimation call for non-animated Lucide icons (302abd8)
- •sidebar: replace static Bug with animated BugIcon and fix CMD G shortcut display (c8ca2e4)
- •sidebar: trigger icon animation from full nav item hover via imperative ref (3d58482)
- •ui: add global dark themed scrollbar styles (f64667d)
v1.25.0
Features
- •dashboard: group open issues by repo with per-project count badges (af5e0ae)
v1.24.0
Features
- •add dotenv support for environment variable management (627eec2)
Bug Fixes
- •sdk: use waitUntil to keep pipeline alive after response on Vercel (bd06245)
v1.23.2
Bug Fixes
- •sdk: detect host theme from html element when body bg is transparent (dc848c3)
v1.23.1
v1.23.0
Features
- •sdk: add Cmd+Shift+G global keyboard shortcut to open report dialog (23cfae1)
- •sdk: add deduplication check before dispatching report in error boundary (340487b)
- •sdk: add in-memory error signature dedup with 5min window (517b622)
- •sdk: export deduplication utilities (c65ad1c)
- •sdk: implement deduplication check for global error and unhandled rejection listeners (4f6d865)
- •sdk: support Cmd+V clipboard paste and update upload hint text in report dialog (e33924b)
- •seo: add dynamic llms-full.txt route with SDK quickstart and API reference (f5067c7)
- •seo: add keywords, authors, robots meta and title template to root layout (ec8c8d7)
- •seo: add llms.txt for AI crawler indexing and citation (f8c6b34)
- •seo: add Script-based JSON-LD components for Organization, FAQ, Breadcrumb, HowTo (fe1830b)
- •web: add utility to compute error signatures for issue deduplication (7df700a)
- •web: implement server-side verification to detect and skip duplicate error reports (2473c26)
- •web: update schema with report signature field and index for deduplication (561f2ab)
v1.22.2
Bug Fixes
- •bug-chat: show full repo names in dropdown without truncation (ce79687)
v1.22.1
Bug Fixes
- •collaborators: show action buttons on mobile without hover (4ff6a1c)
- •dashboard: wrap GitHub contributions heatmap in horizontal scroll container (2245fc8)
- •repos: stack sync + status badge vertically on mobile (731ea34)
- •responsive: use canonical min-w-130 instead of min-w-[520px] (03c22d0)
v1.22.0
Features
- •add CreateTokenDialog component for repository-scoped API token generation (0e15b8a)
- •add db:deploy script to run prisma migrate deploy (4889f93)
v1.21.0
Features
- •repos: expose owner avatar_url in GitHub repo listing (3267d1a)
- •repos: render GitHub owner avatars in connect dialog (22f3abf)
Bug Fixes
- •db: migration for per-user Repo.githubId uniqueness (212f628)
- •repos: return result from connectRepo instead of throwing (16d5211)
- •schema: scope Repo.githubId uniqueness per user (8680193)
v1.20.6
Bug Fixes
- •reports: remove internal status filter, keep GitHub open/closed only (43de5f5)
v1.20.5
Bug Fixes
- •reports: add open/closed issue state filter to reports list (0af44ee)
v1.20.4
Bug Fixes
- •chat: increase repo name max-width to prevent premature truncation (f79aefd)
- •select: allow popup to grow wider than trigger for long repo names (ebde8e6)
- •tokens: make repo select trigger full-width to show complete names (282e7a3)
- •tokens: remove max-w-40 cap on repo column to show full repo names (6265933)
v1.20.3
Bug Fixes
- •claude: simplify enricher to single-turn API call (3500632)
- •claude: trim enricher context to prevent turn exhaustion on large issue lists (9f51536), closes #142
- •claude: use instanceof directly in ternary to fix TS2749 type error (205b952)
v1.20.2
Bug Fixes
- •chat: add lightbox for staged screenshot preview (6561880)
v1.20.1
Bug Fixes
- •repos: surface specific GitHub status codes in resyncRepo error messages (390daf6)
v1.20.0
Features
- •repos: add org filter chips, reconnect github, and grant-access CTA (6b6f70b)
- •repos: add resyncRepo server action for detecting transfers and renames (2dafd0a)
- •repos: add sync button on repo rows to resync transferred or renamed repos (4812162)
- •repos: paginate GitHub repos and expose accounts + reconnect url (a810367)
Bug Fixes
- •auth: refresh stored GitHub access_token on every sign-in (be027e6)
v1.19.3
Bug Fixes
- •ci: fail deploy-web step when Vercel hook returns error (db1706d)
v1.19.2
v1.19.1
Bug Fixes
- •chat: stack REPL prefix above content on mobile and prevent issue card button wrap (b8e5215)
v1.19.0
Features
- •dashboard: add elapsed time and progress bar to active workflow rows (16fa7ce)
- •dashboard: show check status pill on awaiting-review PR list (c1f9273)
- •enricher: add structured emit tools for reliable action termination (df60244)
- •pulls: fetch and roll up check-run status per PR (9a622f5)
Bug Fixes
- •enricher: detect emit-tool calls to eliminate JSON parse failures (a291126)
- •reports: link rows directly to GitHub issue instead of in-app page (b45f6b3)
v1.18.1
Bug Fixes
- •dashboard: show toast error when pasting image without repo selected (8163718)
v1.18.0
Features
- •reports: add date-wise filter pills (TODAY, LAST_7_DAYS, LAST_30_DAYS) (d73e9f4)
Bug Fixes
- •reports: move Date.now() out of component to fix react-hooks/purity lint error (f602030)
- •reports: move Date.now() out of useMemo into event handler (484f393)
v1.17.3
Bug Fixes
- •chat: disable input and upload until a repo is selected (a6c88ba)
v1.17.2
Bug Fixes
- •chat: include issue number in chat history sent to AI (c41b023)
- •prompt: escape backticks in template literal to fix parse error (ac2e9df)
- •prompt: teach AI to recognise attach-to-last-issue requests (68b68ac)
v1.17.1
Bug Fixes
- •reports: exclude dismissed reports from sidebar failed count (13c2a8e)
v1.17.0
Features
- •reports: add dismiss action for failed reports (108a683)
- •reports: include dismissed field in reports GET response (bee9214)
Bug Fixes
- •reports: add dismissed field to ReportItem, remove isOwner from ReportsTabs (5a38431)
- •reports: add repo filter, remove approve/reject, clarify failed status (7fe2ead)
- •reports: remove unused isOwner prop from ReportsList (ef3579f)
v1.16.0
Features
- •seo: add canonical URLs to docs, legal, and contact pages (c0720f3)
- •seo: add explicit Next.js sitemap route covering all public pages (c10ef0c)
- •seo: add JSON-LD schema utility for Organization, SoftwareApplication, and BreadcrumbList (743d8f5)
- •seo: add SoftwareApplication and BreadcrumbList JSON-LD to homepage (d3b0cb5)
- •seo: inject Organization JSON-LD and add canonical URL to root layout (d6954ec)
Bug Fixes
- •enricher: force JSON output on last turn to prevent exhausted-turns fallback (e316aa8)
- •seo: add explicit sitemap.xml reference to robots.txt via next-sitemap config (4ad7683)
v1.15.1
Bug Fixes
- •dashboard: add refetchOnWindowFocus and refetchInterval to analytics queries (a34894e)
v1.15.0
Features
- •dashboard: add compact active workflows widget (2a7a538)
v1.14.0
Features
- •api: add workflow-runs endpoint listing GitHub Actions per repo (8f8b010)
- •billing: bypass Razorpay in dev and return PRO_PLATFORM active (8168e8b)
- •dashboard: add workflow runs section with smart polling and manual refresh (d6cb835)
- •dashboard: wire workflow runs section into analytics view (652b4ef)
- •github: add listWorkflowRuns API client for GitHub Actions (7a1e6fc)
- •scripts: load env vars from workspace .env in db-sync script (83cf32c)
Bug Fixes
- •api: replace non-null assertion with local variable in workflow-runs (f54e75e)
- •scripts: point dotenvx at root .env and correct db:sync script path (e2a4388)
- •turbo: add env allowlist to dev task so secrets reach next dev (9756250)
v1.13.0
Features
- •reports: add GET /api/v1/reports/[id] with session auth (ead5e56)
- •reports: add POST /api/v1/reports/[id]/comments with session auth (aff3fb8)
Bug Fixes
- •web: use session-auth endpoints in report detail page (5547fbe)
v1.12.0
Features
- •chat: add screenshot lightbox modal on thumbnail click (08052ca)
v1.11.1
Bug Fixes
- •dashboard: default to no repo selected and clear chat on repo change (3bbcb5d)
v1.11.0
Features
- •claude: add agentic enricher loop with 6-turn cap, 15s timeout, and fallback (21945d9)
- •claude: add Anthropic SDK client factory (670a9cc)
- •claude: add in-memory TTL cache for tree/file/search lookups (ec806fa)
- •claude: add list_repo_tree/read_file/search_code tools scoped to one repo (82b3893)
- •claude: add system prompt encoding the 6-action decision (0656067)
- •claude: add ToolContext and EnrichmentMetrics types (0818bb7)
- •web: thread repo context into classifyAndGenerate so claude can read it (de871d4)
v1.10.0
Features
- •analytics: add reports analytics endpoint for dashboard stats (50c8134)
- •bottom-nav: replace Repos with Chat tab and add Chat to menu sheet (41a969f)
- •chat: add dedicated chat route separated from main dashboard (a383fa5)
- •dashboard: add analytics view with action cards, PR/issue lists, and heatmap (8c44ef8)
- •dashboard: add GitHub contributions heatmap with tooltip on hover (5b2191d)
- •dashboard: add GitHub-style yearly reports contribution heatmap (bafdb24)
- •dashboard: add open GitHub issues card with labels and direct links (05c9700)
- •dashboard: add open pull-requests card with direct GitHub links (b80319b)
- •dashboard: add shared InnerPageHeader primitive for terminal-dev inner pages (eee136e)
- •dashboard: extract reusable no-repos empty state (33a84bb)
- •dashboard: extract shared repo-context loader for reuse across pages (5b14538)
- •github: add GitHub contributions GraphQL endpoint (e34212d)
- •landing: terminal-dev redesign — hero with live terminal, log-entry feature cards, CLI install transcript + demo video split, pipeline with icons, subscribe.sh waitlist, mono footer (c8903cf)
- •repos: add open issues endpoint for dev triage (1e7cde3)
- •repos: add open pull-requests endpoint via GitHub API (93892cd)
- •sidebar: add Chat nav entry for dedicated chat route (7e733dd)
- •sidebar: redesign with nav groups, kbd hints, status dot, live count badges, keyboard-styled report button (d388a57)
Bug Fixes
- •chat: replace non-null assertion and '!=' with strict equality and guard check (8f63ae0)
- •landing: use real logo image in footer brand instead of generic terminal icon (8a6117b)
- •reports: inline source-icon rendering to satisfy react-hooks/static-components rule (32b626c)
- •web: add data-scroll-behavior=smooth to html for proper nextjs route transitions (d3d6fd0)
v1.9.1
Bug Fixes
- •dashboard: remove toast notifications on screenshot upload (5e67523)
v1.9.0
Features
- •sdk: auto-detect host app theme color for report dialog (28ac18c)
Bug Fixes
- •sdk: ensure client-side text quality validation is included in build (b9a6836)
- •sdk: improve gibberish detection with consonant-cluster and char-reuse checks (2cd7db1)
- •sdk: preserve envelope success flag in sendReport result (0c3cded)
v1.8.3
Bug Fixes
- •dashboard: validate report text quality before submitting to AI pipeline (c638011)
- •sdk: add client-side validation to reject gibberish and throwaway text in report dialog (177bcb5)
- •sdk: skip keepalive for large payloads to avoid 64KB browser limit (00f53cb)
v1.8.2
Bug Fixes
- •api: detect localhost via body pageUrl instead of unreliable Origin/Referer headers (95a7cba)
v1.8.1
Bug Fixes
- •api: add CORS headers and localhost dev-mode response to SDK report endpoint (bec7f0f)
- •sdk: replace useSyncExternalStore with useState+useEffect to prevent hydration mismatch (fe8ec33)
v1.8.0
Features
- •sdk: extract report dialog into standalone component rendered by provider (49edec6)
- •sdk: render ReportDialog inside GlitchgrabProvider so dialog is always available (5e92acc)
Bug Fixes
- •sdk: prevent hydration mismatch with useSyncExternalStore mounted guard (f09d5a1)
v1.7.0
Features
- •api: map report type and severity to dynamic GitHub labels and title prefixes (1b286d2)
- •sdk: accept type option in openReportDialog for pre-selecting category (077901c)
- •sdk: add multi-step stepper variant for report dialog with category, details, and review steps (b6d2af0)
- •sdk: add ReportSeverity type, variant and showSeverity props to ReportButtonProps (2e2c31e)
- •sdk: export ReportSeverity type from barrel (3769c8d)
v1.6.0
Features
- •api: add commentCount to reports list endpoint (f8a78b1)
- •sdk: add commentCount field to GlitchgrabReport type (459b6db)
- •sdk: export GlitchgrabReport type from barrel (0446f19)
v1.5.1
Bug Fixes
- •billing: revalidate dashboard layout after payment verification (ed62da2)
- •billing: revalidate dashboard layout after subscription cancellation (5b36d54)
v1.5.0
Features
- •billing: show cancelled status message from live Razorpay state (6d7eee0)
- •docs: implement Markdown to JSX renderer for documentation page (c4ba583)
- •landing: add docs link to navbar/footer and remove pricing section (4e2bf93)
- •sdk: add documentation links to the landing page (ca96328)
- •sdk: add openReportDialog() to programmatically trigger ReportButton modal (280658d)
- •sdk: pass description in openReportDialog custom event detail (1dbabe0)
- •sdk: pre-fill description textarea from openReportDialog event detail (c9a047d)
- •sdk: update openReportDialog type to accept optional description (826920c)
Bug Fixes
- •billing: check live Razorpay status before creating new subscription (4ee70ad)
- •billing: fetch subscription status live from Razorpay API instead of stale DB (3b6a495)
- •billing: only store razorpay subscription ID on verify, no status (bd64bf7)
Performance Improvements
- •billing: pass pre-fetched plan to getTrialStatus to avoid redundant API call (2b2cc09)
v1.4.1
Bug Fixes
- •sdk-api: remove status, rawInput, source, pageUrl from SDK reports response (951095a)
v1.4.0
Features
- •sdk: add useGlitchgrabActions hook with isPending, error, onSuccess, onError callbacks (b6c700c)
Bug Fixes
- •proxy: add CORS for /api/v1/reports routes used by SDK actions (2e2ee15)
- •sdk: add session to report callback deps so session data is included in reports (f244e81)
v1.3.0
Features
- •sdk: add limit option to useGlitchgrabReports and update README with hook + TanStack Query examples (cad4ebf)
- •sdk: add useGlitchgrabReports hook and fetchGlitchgrabReports fetcher (d43822e)
Bug Fixes
- •sdk-report: remove debug console.log statements (3f0bf8e)
v1.2.3
Bug Fixes
- •s3: hardcode cdn.glitchgrab.dev for screenshot URLs (7d4db8e)
v1.2.2
Bug Fixes
- •sdk-report: add S3 upload debug logging to diagnose screenshot failures (46fdc1b)
- •sdk: await reportBug response before showing success message (d9c01b3)
- •sdk: use www.glitchgrab.dev to avoid naked domain redirect breaking CORS preflight (bccbbd4)
v1.2.1
Bug Fixes
- •proxy: add CORS for SDK API routes in proxy.ts, remove incorrect middleware.ts (b872920)
Reverts
- •Revert "chore: remove dead proxy.ts replaced by middleware.ts" (7187bbe)
v1.2.0
Features
- •middleware: add CORS for SDK API routes and merge with dashboard auth guard (ef00849)
- •sdk: auto-detect light/dark theme and adapt modal colors (16227a5)
Bug Fixes
- •sdk: default baseUrl to glitchgrab.dev instead of window.location.origin (976ab41)
- •sdk: max z-index to cover all host elements, fix button colors for light theme (2c0765c)
- •sdk: render modal in portal to escape host stacking contexts (eeb58cd)
- •sdk: replace × characters with SVG icons and add isolation to prevent host CSS bleed (220447d)
v1.1.1
Bug Fixes
- •ci: enable GitHub Release creation in SDK publish workflow (7ec3b04)
v1.1.0
Features
- •sdk: add changelog generation to SDK release workflow (9e5650b)
v1.0.0
Features
- •ai: add chat history context (last 5 msgs), proactive merge, and better prompting (0ed7a58)
- •ai: add clarify intent and repo-aware context for smart questioning (a5ad63e)
- •ai: add intent detection — create, update, close, or chat based on user input and open issues (ecc6ba3)
- •ai: add merge action to combine related issues into one (01d0076)
- •ai: add OpenAI GPT-4o service to generate structured GitHub issues from bug descriptions (ea84e2f)
- •ai: improve dedup with recent issues context, ask for clarification, use gpt-4o for screenshots (846d307)
- •ai: return structured options with clarify questions for interactive UI (1c3025d)
- •api: accept breadcrumbs, device info, and report type from SDK (b9dd3c7)
- •api: accept collab session and verify shared repo access in reports (940a215)
- •api: accept suggestion field in waitlist survey (0677772)
- •api: accept survey responses and update waitlist entry (d1fc3db)
- •api: add GET /collaborators endpoint to list invited collaborators (2682848)
- •api: add GET /collaborators/accept for magic link verification (f988052)
- •api: add GitHub repos endpoint to fetch user repos via OAuth token (67349d6)
- •api: add GitHub webhook listener to forward issue events to client webhooks (fc86379)
- •api: add mobile auth endpoint — exchanges GitHub token for NextAuth JWT session (82b7da1)
- •api: add PATCH /collaborators/:id/repos to update repo access (6cb6d78)
- •api: add PATCH /collaborators/:id/revoke to revoke access (6bba8f1)
- •api: add POST /api/v1/reports endpoint for dashboard bug submissions (e671f53)
- •api: add POST /api/waitlist endpoint with email validation and dedup (5de4fca)
- •api: add POST /collaborators/invite to send magic link invitations (0a96db0)
- •api: add POST /collaborators/report for collaborator bug submissions (eae3a8f)
- •api: add rate limiting to SDK report endpoint with 429 response (c343bbf)
- •api: add Razorpay billing endpoints — subscribe, verify, and webhook (b4a114a)
- •api: add SDK report endpoint with token auth, auto-capture, and user report support (b5f9e81)
- •api: integrate AI pipeline into reports endpoint for real issue creation (6565145)
- •api: return intent type in report response for multi-action chat (4eae2a7)
- •api: send welcome email to user and notification to admin on waitlist signup (09f2f37)
- •api: update billing APIs to support BYOK and Platform plan selection (f4dd9cd)
- •auth: add AuthSessionProvider wrapper for client-side session access (c2dc17c)
- •auth: add JWT-based middleware to protect /dashboard routes (08992e9)
- •auth: add lightweight collaborator session with HMAC-signed tokens (c66773c)
- •auth: add NextAuth route handler for /api/auth/* (3dedca1)
- •auth: add NextAuth v5 config with GitHub OAuth, JWT sessions, and Prisma adapter (e98cdc0)
- •billing: add billing dashboard page with plan info and Razorpay upgrade flow (28026e5)
- •billing: add cancel button to active subscription card (1b7b72a)
- •billing: add cancel subscription API route with end-of-period cancellation (e675683)
- •billing: add cancel subscription button with confirmation dialog (de41b26)
- •billing: add full-screen PaywallBlock with Razorpay plan cards (8421371)
- •billing: add getTrialStatus helper for 2-day free trial calculation (c7f7f0c)
- •billing: add Glitchgrab logo and dark backdrop to Razorpay checkout (103e7d7)
- •billing: add non-dismissable welcome trial dialog for new users (e44542d)
- •billing: add PaywallGuard server component to gate dashboard access (2ec30ca)
- •billing: add plan checking with repo and issue limits for free vs pro (c11b963)
- •billing: add PlanBadge component with premium, trial, and byok variants (854fd68)
- •billing: add Razorpay client initialization and plan constants (a527a9e)
- •billing: add razorpay:create-plans script using dotenvx (041045c)
- •billing: add razorpayPlanId to PLANS config for subscription-based billing (b74b4e7)
- •billing: add script to create Razorpay subscription plans for dev and prod (d0b7cae)
- •billing: add TrialBanner countdown component for trial period (fa5eabc)
- •billing: delay first Razorpay charge until trial ends (81ac2b0)
- •billing: extend trial period from 2 to 7 days (5d11b37)
- •billing: fetch plan status and pass badge type to sidebar and bottom nav (d68d113)
- •billing: handle subscription lifecycle webhooks for recurring billing (6e90c75)
- •billing: re-enable PaywallGuard to enforce subscription (32918cb)
- •billing: rebuild billing page with 2-tier plan cards and Razorpay checkout (0c9e39f)
- •billing: show welcome dialog for all trial users without subscription (fae8a38)
- •billing: switch pricing to INR — ₹99 BYOK, ₹199 Platform AI (e3ddb06)
- •billing: switch subscribe route from one-time orders to recurring subscriptions (22f1b96)
- •billing: update pricing UI to ₹99 and ₹199 INR (59f37a4)
- •billing: use Razorpay subscription checkout instead of one-time order (62aa996)
- •billing: verify subscription payments using subscription_id instead of order_id (f220b58)
- •billing: wrap dashboard layout with PaywallGuard to block expired trials (e280c92)
- •bottom-nav: add Report Bug tab and sidebar link in mobile menu sheet (2d02026)
- •bottom-nav: add Reports nav item to mobile menu (0f3ca23)
- •bottom-nav: show plan badge next to username in mobile menu (cc0aa36)
- •bottom-nav: show user avatar with plan badge dot instead of generic profile icon (38dd9f4)
- •changelog: add changelog link to landing page footer (9277ee2)
- •changelog: add public changelog page that renders CHANGELOG.md at build time (23f8921)
- •chat: add multi-select images, new chat button, and transparent screenshot background (c2d9d16)
- •chat: handle clarify intent in bug chat UI (2a8ab2c)
- •ci: add CI workflow for PR validation — lint, typecheck, knip, pruny, build (43d7855)
- •ci: add GitHub Release with APK download on app-v tags (90fb9df)
- •ci: add GitHub workflow to build Android APK via EAS (f6009f6)
- •ci: add GitHub workflow to publish SDK to npm on tag (4de5cea)
- •ci: add release workflow for auto-generating changelog on push to main (c8ff0b9)
- •ci: add Vercel deploy hook workflow for main branch deploys (c4363f4)
- •ci: replace manual SDK publish with semantic-release workflow (3641abb)
- •collaborate: add bug report form with repo selector and screenshot upload (01af895)
- •collaborate: add magic link accept page with token verification (fa29d2e)
- •collaborate: add minimal layout for collaborator pages (aa52b8b)
- •collaborate: add restricted report page for collaborators (076260c)
- •collaborators: add Edit repos button for accepted collaborators (664f9d9)
- •collaborators: add edit repos dialog to update collaborator repo access (3001504)
- •collaborators: replace confirm() with AlertDialog for remove action (5ccdd17)
- •contact: add API route to send contact form emails (84076b5)
- •contact: add contact form component with useMutation (3c8b3d3)
- •dashboard: add API tokens page with token list (e782f54)
- •dashboard: add Billing link to sidebar and mobile nav (04900a5)
- •dashboard: add chat-based bug reporter with repo selector and screenshot attach (b6c939c)
- •dashboard: add clipboard paste support for screenshots in chat input (1336a1f)
- •dashboard: add collaborators page with invite list and status badges (030f20d)
- •dashboard: add dashboard layout with sidebar and mobile nav (cb0167d)
- •dashboard: add desktop sidebar with nav, user info, and sign-out (f5720f5)
- •dashboard: add dual auth support for owner and collaborator sessions (684f08e)
- •dashboard: add error boundary page with retry button (4f114fe)
- •dashboard: add InteractiveQuestions card with option buttons, custom input, and skip (c87b3f5)
- •dashboard: add invite collaborator dialog with email and repo multi-select (24cb720)
- •dashboard: add loading spinner for page transitions (50baddd)
- •dashboard: add mobile navigation with sheet drawer (d5da817)
- •dashboard: add overview page with stats cards and empty state (66843a0)
- •dashboard: add ReportBugButton with capture-first-then-modal UX (842cf80)
- •dashboard: add repos page with connected repos list (2f510b5)
- •dashboard: add retry button on failed messages with original screenshot preserved (b861be9)
- •dashboard: add revoke access button for collaborators (07e1083)
- •dashboard: add settings page with account info and AI config placeholder (a454a5b)
- •dashboard: handle 'ask me questions' locally with test questions for reliable testing (0f91048)
- •dashboard: handle create, update, close, and chat responses in bug chat (10911c0)
- •dashboard: integrate interactive questions into bug chat with dismiss and submit (b0160a5)
- •dashboard: show shared repos in BugChat for collaborators (4d9fc34)
- •db: add full schema with User, Repo, ApiToken, Report, Issue, AiConfig models (8797a02)
- •db: add init migration with all tables, enums, and foreign keys (11f73ea)
- •db: add migration for subscription billing tables (8b5e96c)
- •db: add migration for waitlist suggestion field (a992fc7)
- •db: add migration for waitlist survey fields (4885c1d)
- •db: add migration for webhook table (174a15e)
- •db: add Prisma schema with Waitlist model for email capture (38668ee)
- •db: add Subscription model with plan, status, and Razorpay fields (8fc3aed)
- •db: add suggestion field to Waitlist model (bd66d37)
- •db: add survey fields to Waitlist model for pricing and feature validation (a337d9b)
- •db: add Webhook model for GitHub event forwarding to client apps (a03fd05)
- •github: add comment, close, and fetch open issues API functions (915d9a0)
- •github: add fetchIssueBody to retrieve full issue content for merges (7e1663a)
- •github: add fetchRepoReadme and fetchRepoDescription helpers (b5c3fff)
- •github: add GitHub API service for creating issues and fetching labels (3c0d431)
- •github: add screenshot upload to repo via Contents API (ab0a466)
- •github: add updateIssueBody to append content directly to issue body (154bafd)
- •landing: add auth-aware nav with Sign In and Dashboard links (e0f6c49)
- •landing: add Bebas Neue font to Google Fonts import (d9af2a8)
- •landing: add flow animations component for landing page (806e6c4)
- •landing: add free-text suggestion box to post-signup survey (aec7377)
- •landing: add full landing page with hero, features, comparison, pricing sections (a57dcc0)
- •landing: add hero terminal component with animated capture flow (498e29a)
- •landing: add hero video component for landing page (c1819c3)
- •landing: add hero waitlist component with email input, validation, and avatar stack (c02feba)
- •landing: add iPhone-style status bar, home indicator, and dynamic island to hero video (e224c31)
- •landing: add Navibyte logo and link to footer, update feature cards and dedup copy (e621dc8)
- •landing: add post-signup survey for pricing, feature priority, and current tool (9f3899b)
- •landing: add privacy, terms, refunds, and contact links to footer (595e5ef)
- •landing: add waitlist email form with loading and success states (51d79e6)
- •landing: redesign features section with stacked cards, numbered steps, and sticky video (205427e)
- •landing: redesign footer with 4-column grid, add Navibyte attribution and more links (5267929)
- •landing: replace code preview with vertical demo video in phone frame on hero section (9e949a6)
- •landing: replace CTA buttons with inline waitlist form, add Bebas Neue font to heading (7a1298b)
- •landing: replace text logo with glitched G icon in nav and footer (983bcc6)
- •landing: update pricing section to Pro BYOK $5/mo and Pro Platform $10/mo (5c22e8c)
- •layout: wrap app with QueryProvider (4e4515d)
- •legal: add contact page with email and GitHub links (268f2f3)
- •legal: add privacy policy page (24e8cc7)
- •legal: add refund policy page with 7-day guarantee (89cecde)
- •legal: add shared layout for legal pages with logo and back link (587b9a6)
- •legal: add terms of service page (bcd3bc1)
- •lib: add AES-256-GCM encryption for user API keys (6545729)
- •lib: add in-memory rate limiter with 60 req/hr per token (091107b)
- •lib: add token generation (gg_ prefix) and SHA-256 hashing utilities (db1d0a9)
- •lib: add webhook dispatcher with HMAC-SHA256 signature and retry (ef9322a)
- •login: add code rain, mini terminal, glitch text, and HUD ring animations (6ecb4b7)
- •login: add GitHub sign-in button with loading state (1143be6)
- •login: add login page with GitHub sign-in button (0a7e54c)
- •login: redesign login page with animated terminal, code rain bg, and early access warning (a7613d3)
- •mail: add sendCollaboratorInvite email with branded template (ec52798)
- •mobile: add android build and install scripts for prod and dev (07812bd)
- •mobile: add Android share intent to receive screenshots and create issues (c89c3f3)
- •mobile: add API helpers for GitHub OAuth code exchange and session creation (f0edb0c)
- •mobile: add APP_ENV extra config for build-time environment control (d5b4c7d)
- •mobile: add associated domains and collaborate intent filter for deep linking (5a07584)
- •mobile: add collaborator deep link handling and collaborator app state (d1c22b3)
- •mobile: add ESLint config with React Native and a11y plugins (3d30068)
- •mobile: add Expo wrapper with WebView, dark theme, GitHub OAuth bridge, and offline error screen (d5a4f44)
- •mobile: add expo-clipboard for native clipboard bridge (f3c3d0a)
- •mobile: add expo-share-intent plugin for image sharing (f3c00a0)
- •mobile: add lint/validate scripts and ESLint dev dependencies (b04d1a2)
- •mobile: add loading overlay for shared screenshots and enable pull-to-refresh (22160dd)
- •mobile: add native login screen with GitHub OAuth via expo-auth-session (a6827d2)
- •mobile: add pull-to-refresh for Android using ScrollView RefreshControl (a65d7f6)
- •mobile: add set-env script to swap APP_ENV before builds (ec163fc)
- •mobile: add WebView debug logs for navigation, errors, and render process (b83e36a)
- •mobile: bridge GitHub OAuth via system browser with openAuthSessionAsync callback (42f6234)
- •mobile: extract WebView into screen with session cookie injection and logout detection (23e6e98)
- •mobile: support overrideUrl prop for collaborator WebView mode (037d53a)
- •mobile: use APP_ENV config for base URL instead of __DEV__ flag (5aeb200)
- •mobile: use expo-share-intent to handle shared screenshots (9a7d6da)
- •nav: add bottom navigation bar with menu sheet for mobile (1a820af)
- •nav: add Collaborators link to desktop sidebar (128ff59)
- •nav: add Collaborators link to mobile bottom nav sheet (439bcce)
- •nav: hide owner-only items in mobile nav for collaborators (e9eae5b)
- •nav: hide owner-only nav items for collaborators (84e9151)
- •pipeline: add collaborator email attribution to GitHub issues (c6c8252)
- •pipeline: add report processing orchestrator — AI generate → GitHub push → DB save (f0f716d)
- •pipeline: add screenshot analysis note and Glitchgrab attribution to GitHub issues (8bd161c)
- •pipeline: dispatch webhooks after issue create, update, and close (388a4d0)
- •pipeline: fetch repo README/description and handle clarify intent (74bcc45)
- •pipeline: handle create, update, close, and chat intents with dedup support (d25d3bb)
- •pipeline: pass clarifyQuestions through pipeline result to API (1018072)
- •pipeline: upload screenshot to GitHub repo and embed in issue body (cf31749)
- •providers: add TanStack Query provider (0148e08)
- •providers: pass auth session to GlitchgrabProvider (72a0d65)
- •reports: add API endpoint to close, reopen, and label GitHub issues (fc3b4e0)
- •reports: add approve, reject, and close buttons on report cards (06bea2c)
- •reports: add GET handler for fetching reports with filters (cd7c151)
- •reports: add report detail page with conversation thread and reply input (82678a9)
- •reports: add reports page showing all bug reports and created issues (6419495)
- •reports: add ReportsTabs client component with OPEN/CLOSED/DELETED/NO ISSUE badges (0f693b4)
- •reports: add tabs for Product Issues vs My Reports with GitHub state sync (4cddfd4)
- •reports: display reporter name and primary key on report cards (aefad8e)
- •reports: extract reports list into client component (6675395)
- •reports: include clarifyQuestions in API response for interactive flow (ecbf3fc)
- •reports: make report titles clickable to open conversation thread (aed4e38)
- •reports: pass isOwner prop to enable action buttons (3c7de2c)
- •reports: pass reporter info to reports tabs component (07ed90d)
- •reports: support Bearer token auth for issue actions API (2a36693)
- •repos: add connect repo dialog with searchable GitHub repo list (9c8e261)
- •repos: add GET API route for client-side repo fetching (d884682)
- •repos: add ReposList client component with useQuery and axios (08ce1bc)
- •repos: add server actions for connecting and disconnecting repos (4213944)
- •repos: auto-setup GitHub webhook on repo when connecting (4eea523)
- •repos: integrate connect repo dialog into repos page (12d1a7c)
- •repos: show shared repos with badge for collaborators (284a322)
- •s3: add S3 screenshot upload replacing GitHub repo commits (a22f22c)
- •schema: add Collaborator and CollaboratorRepo models with status enum (69c65bf)
- •schema: add reporter fields (primaryKey, name, email, phone) to Report model (6f8612b)
- •scripts: add db-sync script to pull production database to local (6596af5)
- •sdk-api: add comment endpoint to post replies on GitHub issues with reporter attribution (a964cbc)
- •sdk-api: add GET endpoint to fetch reports by reporter primary key (b3bd0d0)
- •sdk-api: add GitHub issue state, labels, and severity to reports response (29beaf4)
- •sdk-api: add single report detail endpoint with GitHub issue body and comments (793684b)
- •sdk-report: create GitHub issues directly without AI for user reports (1cfbc02)
- •sdk-report: include environment, page history, and activity log in GitHub issues (be4f7eb)
- •sdk-report: save reporter session fields and include in GitHub issue body (6ea72c9)
- •sdk: add barrel exports for all SDK components and utilities (b119dab)
- •sdk: add breadcrumb tracker — console, fetch, navigation, and click interception (25a0537)
- •sdk: add device info capture and return report result from sendReport (29e7155)
- •sdk: add floating ReportButton with inline modal for user bug reports (c280117)
- •sdk: add GlitchgrabProvider with error capture, page tracking, and useGlitchgrab hook (8abdc43)
- •sdk: add GlitchgrabSession type with required userId, name and optional email, phone (19e8953)
- •sdk: add React ErrorBoundary with auto-report and custom fallback (ac128d6)
- •sdk: add README, fix types, update exports for headless-first API (6571ac4)
- •sdk: add report types, breadcrumbs, addBreadcrumb hook, and onReportSent callback (6f343b9)
- •sdk: add semantic-release config for automated versioning (9d2445d)
- •sdk: add top-right and top-left position options for ReportButton (d8ccc03)
- •sdk: add types for breadcrumbs, device info, report types, and onReportSent callback (f209046)
- •sdk: add TypeScript types for config, payload, and components (448034c)
- •sdk: add URL sanitization, context capture, and silent report sending (5be780a)
- •sdk: auto-capture page screenshot when ReportButton opens (a3e6c48)
- •sdk: auto-detect baseUrl and skip initialization when token is empty (7b23e01)
- •sdk: export GlitchgrabSession type (41a1c5d)
- •sdk: include breadcrumbs and device info in error boundary reports (6445077)
- •sdk: initialize @glitchgrab/nextjs package with tsup build config (dc4eb41)
- •sdk: refactor ReportButton as headless wrapper with screenshot preview, upload, and retake (f301a53)
- •sdk: send session data (userId, name, email, phone) in report metadata (69eb8dd)
- •seo: add next-sitemap for automatic sitemap and robots.txt generation (182177a)
- •settings: add AI config and webhook management sections (1227283)
- •settings: add AI provider selection form with encrypted BYOK key input (6f1bf00)
- •settings: add issue.commented event for developer comments from GitHub (6dba35b)
- •settings: add server actions for AI config (get, update, delete) (ff46790)
- •settings: add server actions for webhook CRUD (09ea856)
- •settings: add webhook management form with secret display and event selection (abbe2f3)
- •sidebar: add Report Bug button above user section (549ac1a)
- •sidebar: add Reports nav item (8af108e)
- •sidebar: show plan badge next to username (d854471)
- •tokens: add create token dialog with one-time display and copy (6111956)
- •tokens: add delete token button with loading state (f393438)
- •tokens: add server actions for creating and revoking API tokens (480a98b)
- •tokens: rebuild tokens page with create dialog, token list, and delete (29dfd5a)
- •ui: add alert-dialog component (de450dd)
- •ui: add shadcn avatar component (1768b18)
- •ui: add shadcn badge component (d935273)
- •ui: add shadcn button component (17c1f56)
- •ui: add shadcn card component (af30b5a)
- •ui: add shadcn dialog component (315a9d0)
- •ui: add shadcn dropdown-menu component (3430622)
- •ui: add shadcn input component (82ef90d)
- •ui: add shadcn label component (8d460cb)
- •ui: add shadcn popover component (33c2307)
- •ui: add shadcn select component (71e0bb8)
- •ui: add shadcn separator component (60c13ff)
- •ui: add shadcn sheet component (2d1d000)
- •ui: add shadcn sonner component (a300ef4)
- •ui: add shadcn table component (456ffea)
- •waitlist: add stats API endpoint for count and recent initials (b58953e)
- •web: add 180x180 rounded apple-touch-icon (e38a2fc)
- •web: add 192x192 rounded app icon (839d498)
- •web: add clipboard utility with WebView native bridge fallback (a87cd99)
- •web: add cn utility for class merging (1876cbc)
- •web: add dark theme with cyan accent, custom animations, and design tokens (a6251e0)
- •web: add email utility with welcome, signup notification, and survey response emails (4f4bac5)
- •web: add ESLint v9 flat config with strict TS, unused imports, and tailwind canonical rules (33a2d7d)
- •web: add favicon and touch icons to public directory (4568957)
- •web: add glitchgrab workspace dependency (2424acb)
- •web: add GlitchgrabSDKProvider for self-hosted SDK integration (1b70010)
- •web: add OG image and twitter card image to metadata (eed8412)
- •web: add OG social share image with glitched G logo (2383f3d)
- •web: add Prisma client singleton for database access (55c1b08)
- •web: add root layout with SEO metadata, OG tags, and font preloads (973ac7a)
- •web: add rounded glitched G favicon (ff48df3)
- •web: add security, react-hooks, and stricter ESLint rules (7605a00)
- •web: add SessionProvider, Toaster, favicon links, and metadataBase to layout (2f80cca)
- •web: add validate script with eslint and tsc (4054838)
- •web: replace OG image with landscape logo + tagline version (fa076d4)
- •web: set up dark-first Glitchgrab theme with cyan primary for shadcn (e68f3fd)
- •web: wrap root layout with GlitchgrabSDKProvider (474dc48)
Bug Fixes
- •ai: enforce action-bias in system prompt and include issue bodies for accurate merges (42e0afc)
- •ai: enforce one-report-one-issue rule to prevent duplicate issue creation (3277798)
- •ai: enforce structured options format in clarify rules (4037743)
- •ai: fallback to direct issue creation when AI returns empty response (e12ff6b)
- •ai: force JSON mode, handle non-JSON responses, and accept any screenshot content (44634df)
- •ai: move 'ask me questions' clarify rule before CHAT section to prevent override (163c822)
- •ai: prevent destructive actions on informational queries like 'how many bugs' (0ba520c)
- •ai: treat 'ask me questions' as clarify trigger for testing interactive UI (1aad027)
- •api: add salt parameter for NextAuth v5 JWT encode (b2decca)
- •api: check both own and shared repo access when submitting reports (19d0a7d)
- •api: convert uploaded screenshot to base64 data URL for AI vision processing (55db16d)
- •api: delete collaborator on revoke instead of marking as REVOKED (4b62dc4)
- •api: exchange OAuth code server-side with mobile client secret for secure token flow (34596cf)
- •api: forward code_verifier to GitHub for PKCE token exchange (d041e04)
- •api: redirect collaborator accept to /dashboard and remove REVOKED check (0029d05)
- •api: replace non-null assertion in billing verify (f6e94fe)
- •api: replace non-null assertions with nullish coalescing (c8c8978)
- •api: resize screenshots to 1024px before AI processing to prevent token overflow (42e75a3)
- •auth: add 1.5s delay before redirect to let WebView persist cookie (3a253a7)
- •auth: add production logging to mobile session endpoint (a3224dc)
- •auth: disable secure cookie prefix so Android WebView can persist session cookies (24387e6)
- •auth: enable Secure flag on mobile session cookie (bab813e)
- •auth: explicitly set secret from env for NextAuth v5 compatibility (26c3c22)
- •auth: override session cookie name without __Secure- prefix while keeping Secure flag (17ccaf4)
- •auth: redirect to /login on sign out in bottom nav (a7afd25)
- •auth: redirect to /login on sign out in mobile nav (0ed8c5b)
- •auth: redirect to /login on sign out so mobile WebView detects logout (3c7774f)
- •auth: return HTML instead of 307 redirect to fix WebView cookie persistence (2b7c203)
- •auth: set explicit cookie domain .glitchgrab.dev for cross-subdomain access (9e58e5b)
- •auth: set secure cookie flag based on protocol so dev mode works over HTTP (2560ab1)
- •auth: use non-prefixed cookie name for mobile — Android WebView rejects __Secure- cookies (8d2d5ee)
- •billing: add null check for userId instead of non-null assertion (baae63d)
- •billing: add responsive padding and text sizing for mobile (7643929)
- •billing: add responsive padding and text sizing for mobile (1302d4a)
- •billing: auto-detect test mode and use INR currency for Razorpay test keys (110be59)
- •billing: check user exists before creating subscription to prevent FK error (f0d9506)
- •billing: handle missing user in getTrialStatus instead of throwing (0db43d4)
- •billing: remove unsupported dismissible prop from welcome dialog (d98402c)
- •billing: remove unused Cpu import from paywall block (b1411b6)
- •billing: replace console.log with console.info in plan creation script (8954035)
- •billing: show single ₹199/mo plan instead of two USD plans on paywall (8a044d6)
- •billing: use boolean param for Razorpay cancel to fix TS error (c1c1faa)
- •billing: use brighter badge colors for dark theme visibility (dbc49ea)
- •billing: use INR for test mode and improve error logging in plan creation script (9aed22e)
- •bottom-nav: bigger avatar, brighter badge dot at top-right (c415365)
- •bottom-nav: close sheet before navigating to prevent Android WebView freeze (953d112)
- •bottom-nav: increase nav delay to 500ms to prevent GPU crash on sheet close (8054ae0)
- •bottom-nav: show loading overlay during WebView full-page navigation (d996167)
- •bottom-nav: use canonical Tailwind z-index class (2885046)
- •bottom-nav: use full page navigation in WebView to prevent Sheet freeze (6a4061f)
- •bug-chat: compress images at attach time with standard canvas for WebView compat (3643d44)
- •bug-chat: compress images client-side to avoid Vercel 4.5MB payload limit (ff16386)
- •bug-chat: use standard canvas for WebView compat and show file size on preview (57920fb)
- •chat: remove non-null assertions for lint compliance (5191667)
- •ci: add build dependency to validate task so SDK types exist (924d9e8)
- •ci: add npm install for semantic-release compatibility with bun layout (1631734)
- •ci: build SDK before typecheck so glitchgrab types are available (b085324)
- •ci: fix npm install in SDK release workflow for bun workspace compatibility (7c955ba)
- •ci: generate Prisma client before typecheck to resolve type inference (7e00922)
- •ci: ignore mobile app in pruny check (14ed2cf)
- •ci: remove root bun.lock before semantic-release to fix workspace protocol error (be61547)
- •ci: use bun for SDK install to fix workspace protocol error (bf90827)
- •ci: use GH_TOKEN for semantic-release push and add [skip ci] to prevent loop (de017e3)
- •ci: use GH_TOKEN in release workflow and add [skip ci] guard (c714570)
- •ci: use npm-only workflow to avoid bun/npm layout conflict in semantic-release (9db8124)
- •collaborate: redirect to API route to set cookie instead of page component (b500738)
- •collaborate: use canonical Tailwind class max-w-35 (513c0bc)
- •collaborators: remove REVOKED status guard since revoke now deletes (fff8e11)
- •dashboard: always show popover with search, use text-base to prevent iOS zoom (8503fbc)
- •dashboard: auto-submit on last skip and prevent question text truncation (2138105)
- •dashboard: carry forward screenshots during clarification and clear after issue creation (aaf3a94)
- •dashboard: hide text bubble when interactive questions card is shown (78d6580)
- •dashboard: merge own repos and shared repos so users with both sessions see all (b9dfae1)
- •dashboard: parse fallback questions from text and make dismiss non-destructive (bc781bd)
- •dashboard: remove unsupported onOpenAutoFocus prop from base-ui Popover (32f52cd)
- •dashboard: shorten input placeholder text (722822f)
- •dashboard: show repo name in selector and fix input bar padding (a45a55d)
- •dashboard: skip popover for single repo, only show search for 5+ repos, prevent auto-focus (aa3f325)
- •dashboard: use --app-height CSS variable so layout respects keyboard viewport (b46117b)
- •dashboard: use --app-height in bug-chat max-height to prevent keyboard gap (733de95)
- •dashboard: use canonical Tailwind class for app-height variable (5bad5ed)
- •dashboard: use text-base (16px) on textarea to prevent iOS WebView zoom on focus (1d565b4)
- •github: include issue body in fetchRecentIssues for merge context (006b3d7)
- •github: use permanent blob URL for screenshots instead of expiring download_url (c081c23)
- •landing: add login button to nav, fix pricing to single ₹199 plan, use Button components in footer (efbda48)
- •landing: compact feature cards into 2x2 grid with smaller padding and text (897c492)
- •landing: make fully responsive with shadcn components and mobile-first design (0bfee97)
- •landing: remove login button from nav, keep only Join Waitlist (4dadc54)
- •landing: replace arbitrary tailwind classes with canonical equivalents (073d5bb)
- •landing: update dedup card to highlight open-source and developer-first approach (c66001f)
- •landing: use square icon instead of OG image for nav and footer logo (e8d6fdc)
- •legal: update footer copyright to Navibyte Innovation Pvt. Ltd. (5e2bd38)
- •login: center original.png logo above system access badge on left panel (20b3b2c)
- •meta: remove handwritten notes from SEO descriptions since feature is not built yet (6d2da29)
- •mobile: add Android internet permission and cleartext traffic for dev (60b3d53)
- •mobile: add Android status bar padding to prevent content overlap (1866b17)
- •mobile: add debug logging to OAuth login flow for troubleshooting (3cf30af)
- •mobile: add KeyboardAvoidingView with zero offset for proper keyboard handling (ae2c89f)
- •mobile: add redirect loop protection and logging to WebView, remove broken JS cookie injection (a1a5823)
- •mobile: add safe-area-context dep and reset APP_ENV after prod build (69405d6)
- •mobile: add touch-action:manipulation and remove hardware layer to fix Android tap delay (523dc2e)
- •mobile: add webview class to html for GPU-safe CSS detection (4e9ec63)
- •mobile: allow HTTP local networking in iOS for dev mode (39f2659)
- •mobile: allow Razorpay URLs in WebView so checkout modal works inline (7f9f131)
- •mobile: allow www.glitchgrab.dev URLs in WebView instead of opening externally (bdf1158)
- •mobile: auto-create local.properties after prebuild for Android SDK path (6361594)
- •mobile: auto-detect dev server IP from Expo constants instead of hardcoding (78634e1)
- •mobile: debounce layout recalc, dedup nav callbacks, fix scroll jank (0e45fd0)
- •mobile: enable bounces on iOS WebView so pull-to-refresh works (40ac67d)
- •mobile: enable pull-to-refresh on both iOS and Android by removing overflow:hidden (bd4004a)
- •mobile: fix pull-to-refresh by removing overflow:hidden from updateAppHeight and enabling body scroll (25bf6c6)
- •mobile: force overflow visible on all layout containers in WebView for pull-to-refresh (2b6ec9c)
- •mobile: handle iOS keyboard by using visualViewport resize and preventing scroll offset (8110e44)
- •mobile: hide native keyboard accessory bar so web input stays visible (269b51c)
- •mobile: inject CSS to force 16px inputs and block pinch-zoom in WebView (a614914)
- •mobile: inject GPU-disabling CSS directly from WebView for reliability (c40c9f0)
- •mobile: inject viewport meta before content loads to prevent initial zoom (94cd8ee)
- •mobile: keep loading overlay until dashboard loads, not the session redirect page (6d13b59)
- •mobile: navigate to dashboard and wait for load before injecting shared image (e5acc22)
- •mobile: prevent duplicate screenshot injection on share (82a2326)
- •mobile: prevent WebView zoom with viewport meta, input font-size, and scalesPageToFit (e2c49b9)
- •mobile: remove associatedDomains to fix signing on Personal Team (12e1dba)
- •mobile: remove forced input font-size, viewport meta already prevents zoom (04beec7)
- •mobile: remove KeyboardAvoidingView, use visualViewport resize for keyboard handling (c5df6d7)
- •mobile: remove overscroll-behavior and touch-action that block pull-to-refresh (930f274)
- •mobile: remove ScrollView wrapper around WebView to fix Android UI freeze (e6d6e5a)
- •mobile: remove webview class from injectedBeforeLoad to prevent hydration mismatch (ba6a52e)
- •mobile: replace circular icon with square version to remove white border on iOS (a55eaeb)
- •mobile: replace deprecated SafeAreaView in login screen (b5d436b)
- •mobile: replace deprecated SafeAreaView with react-native-safe-area-context (11a5834)
- •mobile: revert dev script to iOS for simulator testing (5da1dba)
- •mobile: send OAuth code to backend instead of exchanging client-side, update to mobile client ID (83ed174)
- •mobile: send PKCE code_verifier with OAuth code exchange (b2c78b8)
- •mobile: set --app-height on body instead of html to prevent hydration mismatch (604af36)
- •mobile: simulate paste event for shared images instead of auto-submitting (3fef95d)
- •mobile: use __Secure- cookie prefix for production and set domain for glitchgrab.dev (39627e5)
- •mobile: use correct Glitchgrab G logo for all app icons (b9578d4)
- •mobile: use data-webview attribute instead of className to avoid hydration mismatch (6595c15)
- •mobile: use GitHub PNG icon on login button and log redirect URI for OAuth setup (a081916)
- •mobile: use glitchgrab.dev without www prefix for production base URL (748c3b9)
- •mobile: use injected style tag instead of data-webview attribute to avoid hydration mismatch (d321df0)
- •mobile: use legacy file-system import and enable pull-to-refresh (b0d18e7)
- •mobile: use local dev server URL in development, production URL in release (73fbdf0)
- •mobile: use numeric decelerationRate to fix Fabric crash in release builds (b80ec72)
- •mobile: use server-side cookie setter endpoint instead of client-side injection (eaa1f28)
- •mobile: use string encoding instead of enum for FileSystem base64 read (aa48241)
- •mobile: use style tag instead of inline styles to prevent hydration mismatch (c041573)
- •mobile: use visualViewport to dynamically resize layout when Android keyboard opens (5fce237)
- •mobile: whitelist Razorpay payment partner domains in WebView (2deb1e8)
- •mobile: wrap WebView in KeyboardAvoidingView to handle iOS keyboard properly (00210f2)
- •paywall: remove unused TrialBanner import (b0dd6ba)
- •pipeline: attach screenshots to merged and closed issues (89e5412)
- •pipeline: collect screenshots from all issues during merge and update DB records (6f3cfcc)
- •pipeline: update issue body instead of commenting for dedup updates (2f014a9)
- •pipeline: upload all screenshots from report including extras in metadata (fe3336e)
- •providers: handle nullable name in session prop (589dd28)
- •proxy: use AUTH_SECRET with NEXTAUTH_SECRET fallback for JWT verification (acce199)
- •reports: accept multiple screenshots via formData.getAll and store extras in metadata (dd54ea6)
- •reports: add required reporter fields to dashboard report creation (68b8c62)
- •reports: remove forbidden non-null assertion (c106f2e)
- •reports: use report.repo.userId instead of non-null assertion for eslint (16dbde8)
- •repos: add explicit type for repo parameter in map (a11f075)
- •repos: align Connect Repo button to right and reduce section spacing (fc75ba6)
- •repos: allow long repository names to wrap instead of truncating (7fb4ef7)
- •repos: force router refresh after connecting repo to update UI immediately (451e926)
- •repos: make connect repo dialog fit mobile viewport (4f5291f)
- •repos: make connect repo dialog fit mobile viewport (5858b5b)
- •repos: make page header and repo cards responsive on mobile (fdbff06)
- •repos: make page header and repo cards responsive on mobile (af72018)
- •repos: prevent badge text clipping and improve responsive layout (cc790a2)
- •repos: replace Connect Repo text button with icon-only plus button (fb7fac9)
- •root: clean up knip config for shadcn deps and entry points (ec0bf4e)
- •root: clean up knip config hints and remove stale ignores (8bb63ab)
- •root: ignore scaffolding files in pruny to pass validation (c432a52)
- •root: ignore shadcn UI components and proxy.ts in pruny (c8d1f6a)
- •root: make bun dev run both web and mobile, add dev:web for web-only (120da2a)
- •root: pass env vars through turbo to fix Vercel build (802f595)
- •root: remove stale .glitchgrab ignore from knip (9e7cd07)
- •root: update knip and pruny configs to pass validation cleanly (1391006)
- •root: use local prisma binary path in db scripts to avoid global v7 conflict (91bf682)
- •root: use local prisma v6 binary for db scripts to avoid prisma 7 conflict (17cc03e)
- •sdk: disable GitHub Release creation for SDK, keep npm publish only (a5b8208)
- •sdk: handle ReportButton rendered outside GlitchgrabProvider gracefully (e2e3c46)
- •sdk: lazy-import SDK in useEffect to prevent Next.js prerender crash (3a547ec)
- •sdk: lazy-load SDK in useEffect to prevent prerender crash with NEXT_PUBLIC token (3ca212a)
- •sdk: skip auto-error capture in development mode (bcfe9be)
- •sdk: update reports response to include issue state and labels (a7535fa)
- •settings: make account card avatar and text responsive (452dcad)
- •settings: make account card avatar and text responsive (8976f66)
- •settings: remove AI config section from settings page (78332c2)
- •settings: remove AI provider selection form component (80ec78c)
- •settings: remove unused AI config server actions (5a65bc7)
- •tokens: stack header and token cards vertically on mobile (ae24dac)
- •tokens: stack header and token cards vertically on mobile (f65b80f)
- •ui: disable backdrop-blur and animations globally in Android WebView (1448dfb)
- •ui: fix Recommended badge overflow on mobile by repositioning and adding padding (ab265a2)
- •ui: remove backdrop-blur from sheet overlay to prevent Android WebView GPU freeze (bffc72d)
- •ui: restore sheet overlay backdrop-blur now handled by global webview CSS (599f7d4)
- •web: add tsconfig path alias for glitchgrab SDK types (6ec04d6)
- •web: add turbopack resolveAlias so SDK uses pre-built dist instead of source (b4fce12)
- •web: auto-fix tailwind canonical class names (5364f90)
- •web: correct OG image dimensions to 1200x630 (b49d053)
- •web: fix TypeScript cast in clipboard utility (9842871)
- •webhooks: add explicit type for webhook parameter in map (1b40346)
- •web: memoize messages, use native img for base64, batch state updates (df1704b)
- •web: remove shadcn Geist font override, keep Inter + JetBrains Mono (ff4b0b0)
- •web: resolve icon.png conflict, rename to logo.png and add metadataBase (f57a4ce)
- •web: run prisma generate before next build for Vercel deployment (1e41a99)
- •web: use clipboard utility with WebView fallback for token copy (7719c29)
- •web: use clipboard utility with WebView fallback for webhook secret copy (4bd0764)
Performance Improvements
- •ai: switch from gpt-4o to gpt-4o-mini for faster and cheaper responses (a15afa7)
- •ai: switch to gpt-4o-mini and add logging (a8bba50)
- •nav: add prefetch to all navigation links for faster page transitions (1864946)