Skip to content

Feat/design resonate#120

Merged
Rayan9064 merged 3 commits into
mainfrom
feat/design-resonate
Jul 18, 2026
Merged

Feat/design resonate#120
Rayan9064 merged 3 commits into
mainfrom
feat/design-resonate

Conversation

@Rayan9064

@Rayan9064 Rayan9064 commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features
    • Save links or create notes using a new tabbed resource form.
    • Import demo content into an empty vault.
    • Navigate directly from the welcome panel to key dashboard areas.
    • Generate profile-specific sharing and social preview metadata.
  • Improvements
    • Share links now adapt to the current application URL.
    • Resources can be created from notes without a link.
    • Duplicate links are detected before saving.
    • Resource indexing better supports notes and captured text.
  • Bug Fixes
    • Added request protection to help prevent excessive API usage.

…, Profile OG tags, Telemetry)

- Implemented interactive onboarding welcome card and demo data seeder on Dashboard (Issue 4)
- Enabled plain text Notes support by making link parameter optional in route and indexer (Issue 9)
- Added duplicate link detection check before saving a new resource (Issue 11)
- Created layout wrapper for user profiles to output dynamic OG/Twitter metadata (Issue 12)
- Added telemetry integration via PostHog tracking library initialization and user tracking events (Issue 8)
@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
dumpit Ready Ready Preview, Comment Jul 18, 2026 4:42pm

@Rayan9064
Rayan9064 merged commit ee2ec9a into main Jul 18, 2026
4 of 5 checks passed
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f450fdd9-b746-4c8d-a641-8df48cbeed8c

📥 Commits

Reviewing files that changed from the base of the PR and between efef5d1 and 5e1cf7d.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (17)
  • .env.example
  • app/RootLayoutClient.tsx
  • app/api/_utils/rateLimit.ts
  • app/api/_utils/resourceIndexer.ts
  • app/api/_utils/textExtraction.ts
  • app/api/ai/ask/route.ts
  • app/api/public-resources/route.ts
  • app/api/resources/route.ts
  • app/components/AddResource.tsx
  • app/components/Dashboard.tsx
  • app/components/Profile.tsx
  • app/components/ui/ShareModal.tsx
  • app/contexts/AuthContext.tsx
  • app/dashboard/page.tsx
  • app/lib/telemetry.ts
  • app/u/[username]/layout.tsx
  • package.json

📝 Walkthrough

Walkthrough

The PR adds note-based resource capture, Redis-backed API rate limiting, PostHog telemetry, runtime-generated sharing URLs, dashboard onboarding actions, and dynamic metadata for public profiles.

Changes

Resource capture and API protection

Layer / File(s) Summary
Rate limiting infrastructure and route enforcement
app/api/_utils/rateLimit.ts, app/api/..., package.json
Upstash sliding-window limits are applied to public, authenticated, and AI API requests with early 429 responses.
Note-aware resource creation and indexing
app/api/resources/route.ts, app/api/_utils/resourceIndexer.ts, app/api/_utils/textExtraction.ts
Resource creation accepts notes without links, detects duplicate links, applies enrichment defaults, and indexes note-only content safely.
Link and note capture interface
app/components/AddResource.tsx
The form provides separate link and note modes with conditional fields, validation, tags, and sharing data.

Telemetry integration

Layer / File(s) Summary
Telemetry module and initialization
app/lib/telemetry.ts, app/RootLayoutClient.tsx, package.json
PostHog initialization and telemetry helpers are added, with browser and environment guards.
Authentication telemetry events
app/contexts/AuthContext.tsx
Authentication restoration, sign-up, sign-in, Google registration, and failures emit telemetry events.

Sharing, onboarding, and profile metadata

Layer / File(s) Summary
Runtime URL configuration and sharing
.env.example, app/components/Profile.tsx, app/components/ui/ShareModal.tsx
Share links and crawler identification use the current origin or configured application URL.
Dashboard onboarding and navigation
app/components/Dashboard.tsx, app/dashboard/page.tsx
The empty dashboard includes navigation actions and demo-content import behavior.
Dynamic public profile metadata
app/u/[username]/layout.tsx
Profile routes generate metadata from matching Firestore user records with fallback responses.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested labels: enhancement

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/design-resonate

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

app/RootLayoutClient.tsx

ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.

app/api/_utils/rateLimit.ts

ESLint skipped: the ESLint configuration for this file references a package that is not available in the sandbox.

app/api/_utils/resourceIndexer.ts

ESLint skipped: the ESLint configuration for this file references a package that is not available in the sandbox.

  • 13 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant