Skip to content

fix: pre-beta polish — E2E text mismatches, stale copy, ValidationError, error logging#421

Merged
SferaDev merged 1 commit into
mainfrom
polish/nuclom-beta-prep
Feb 23, 2026
Merged

fix: pre-beta polish — E2E text mismatches, stale copy, ValidationError, error logging#421
SferaDev merged 1 commit into
mainfrom
polish/nuclom-beta-prep

Conversation

@sferadev-bot
Copy link
Copy Markdown
Collaborator

Pre-Beta Polish & QA Audit

This PR addresses findings from a thorough pre-beta QA audit of the Nuclom codebase. Changes are grouped around 4 GitHub issues.


Issues Fixed

Issue Title Labels
#417 E2E tests: stale text assertions don't match actual UI copy bug, dx, frontend
#418 E2E tests: Series Page and Channels Page tests cover non-existent routes bug, dx
#419 highlight-reels render route: ValidationError uses raw object instead of TaggedError class bug, backend, reliability
#420 Pre-beta polish batch: stale copy, misleading data, silent error swallowing polish, frontend, backend

Changes

E2E Test Fixes (tests/e2e/saas/)

  • organization.spec.ts: Update "Continue Watching""Continue Viewing" (matches actual page copy); update empty state text pattern; update "From Your Collections" → "Recently Added"
  • upload.spec.ts: Update "back to videos""back to dashboard" (matches upload page navigation)
  • videos.spec.ts: Update "Continue Watching""Continue Viewing"; fix empty state text pattern to match actual rendered copy; replace non-existent /series and /channels/ route tests with tests for actual pages (/collections, /topics)

API Bug Fix

  • apps/saas/src/app/(api)/api/highlight-reels/[id]/render/route.ts: Replace raw { _tag: 'ValidationError' as const, message: '...' } object with proper new ValidationError({ message: '...' }) tagged error class instance. This ensures the error is correctly handled by mapErrorToApiResponse and returns a 400 instead of falling through to the generic 500 handler.

Dashboard Section Rename

  • apps/saas/src/app/(org)/org/[organization]/page.tsx: Rename "From Your Collections" section to "Recently Added" with appropriate description. The section was showing videos.slice(0, 6) (all recent videos) — not collection-filtered content — making the "From Your Collections" title misleading. Also removes the now-unused getCollections parallel fetch, saving one database query on dashboard load.

Stale Copy / Rebrand Fixes

  • apps/saas/public/openapi.json: Update description from "video collaboration platform" to "Knowledge Hub" branding
  • apps/saas/src/app/(org)/org/[organization]/loading.tsx: Fix stale {/* From Your Channels section */} comment → {/* From Your Collections section */}

Error Logging

  • apps/saas/src/components/knowledge/video-decisions-sidebar.tsx: Replace silent catch {} with logger.error(...) call using the project's @nuclom/lib/client-logger. Decisions are still supplementary (no user-facing error shown), but errors are now observable.

Pre-merge Checklist

  • TypeScript types: pnpm --filter nuclom-saas exec tsc --noEmit passes
  • Lint: biome check passes
  • knip: no unused exports/imports
  • E2E tests: run against staging to verify assertions are correct

Note: Do not merge this PR without at least one review. E2E tests should be validated against a live staging environment.

…or, error logging

Fixes several issues found during pre-beta QA audit:

- fix(e2e): update 'Continue Watching' -> 'Continue Viewing' assertions
- fix(e2e): update 'back to videos' -> 'back to dashboard' assertion
- fix(e2e): update empty state text patterns to match actual UI copy
- fix(e2e): replace non-existent Series/Channels route tests with
  Collections/Topics page tests
- fix(api): use proper ValidationError tagged class in highlight-reel
  render route instead of raw object literal
- fix(dashboard): rename 'From Your Collections' section to 'Recently Added'
  to accurately reflect content shown; remove unused getCollections fetch
- fix(loading): update stale 'From Your Channels' comment
- fix(openapi): update stale 'video collaboration platform' description
  to Knowledge Hub branding
- fix(ui): add error logging in VideoDecisionsSidebar fetch catch block
  using project logger instead of silent failure

Closes #417 #418 #419 #420
@sferadev-bot sferadev-bot added bug Something isn't working polish UX/code polish frontend Frontend dx Developer experience reliability Correctness & reliability backend Backend labels Feb 23, 2026
@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 23, 2026

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

Project Deployment Actions Updated (UTC)
nuclom-saas Ready Ready Preview, Comment Feb 23, 2026 10:32am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
nuclom-marketing Skipped Skipped Open in v0 Feb 23, 2026 10:32am

Request Review

@SferaDev
Copy link
Copy Markdown
Member

@sferadev-bot Seems that playwright is failing

@SferaDev SferaDev merged commit ce07a20 into main Feb 23, 2026
20 checks passed
@SferaDev SferaDev deleted the polish/nuclom-beta-prep branch February 23, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Backend bug Something isn't working dx Developer experience frontend Frontend polish UX/code polish reliability Correctness & reliability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants