feat: chatbot polish — constants, Vitest, enriched personality & metrics#62
Open
mdabir1203 wants to merge 5 commits into
Open
feat: chatbot polish — constants, Vitest, enriched personality & metrics#62mdabir1203 wants to merge 5 commits into
mdabir1203 wants to merge 5 commits into
Conversation
- ChatWidget: named constants for all magic numbers (QWEN_MODEL_ID, MAGNETIC_RANGE_PX, CACHE_HIT_MS, etc.), fix Mail icon shadowing by using lucide-react import throughout - translations: emphasisWords arrays in en/ar hero — IdentityHeroBento reads from tx instead of hardcoded Set - server: extract pure helpers (medium.helpers.ts, youtube.helpers.ts) so logic is unit-testable without the TanStack server wrapper - tests: 27 passing Vitest tests across contact schema, Medium RSS parser, and YouTube RSS/channel-ID extraction - package.json: test / test:watch / test:coverage scripts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Every case study now leads with exact numbers (38% output, 30% MTTR, 50ms persona detection, 50+ sellers, 325K readers) so the AI answers like a confident exec, not a vague pitch deck. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
System prompt now has explicit voice guidelines: confident not arrogant, playful with curious visitors, fast signal for recruiters, no corporate filler. Greeting updated EN+AR to match the new tone. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
❌ Deploy Preview for visanav failed.
|
Deploying portfolio2025 with
|
| Latest commit: |
59b0bd2
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://732ce247.portfolio2025-9zi.pages.dev |
| Branch Preview URL: | https://session-chatbot-polish-jun13.portfolio2025-9zi.pages.dev |
Comment on lines
+4
to
+5
| return s | ||
| .replace(/&/g, "&") |
- Add SmartSwap case study infographic (case-study-smartswap.webp, q100 WebP ~417KB) as the Work page hero visual; align outcome cards to its KPIs - Replace broken HTML "download CV" buttons with a real PDF (Abir_Abbas_CV.pdf) — all CV buttons now view/download the PDF - Add scripts/cv-to-pdf.js + `npm run cv:pdf` to regenerate the PDF from public/cv-ats.html via headless Chromium Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The generated _worker.js only routed a fixed set of asset extensions to env.ASSETS; everything else fell through to the SSR handler. /Abir_Abbas_CV.pdf (and cv-ats.html, sitemap.xml) therefore 404'd in production — "Couldn't download - No file". Add pdf/html/xml/json/webmanifest/md to the routing regex. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ChatWidget.tsx:QWEN_MODEL_ID,MAGNETIC_RANGE_PX,CACHE_HIT_MS,BURST_RADIUS_PX,IDLE_TOOLTIP_DELAY_MS,QUESTION_CYCLE_MS,MAX_RESPONSE_TOKENS,RESPONSE_TEMPERATURElucide-reactMailthroughouttranslations.ts:en.hero.emphasisWords/ar.hero.emphasisWords—IdentityHeroBentoreads fromtxinstead of a hardcodedSetvitest.config.ts,npm run testscript, 27 passing unit tests across contact schema, Medium RSS parser, and YouTube channel ID/RSS extractionmedium.helpers.tsandyoutube.helpers.tsso logic is testable without the TanStack server wrapperTest plan
npm run test→ 27 tests pass🤖 Generated with Claude Code