Amruth Pillai
578a983209
feat: polish micro-interactions with consistent motion system across the app
...
- add strong easing tokens (--ease-out-strong, --ease-in-out-strong, --ease-drawer)
- restore menu open/close animations (dropdown, context menu, combobox) using
interruptible transitions via Base UI starting/ending styles
- dialogs: 200ms enter / 150ms exit; command palette opts out (keyboard-initiated)
- tooltips: 400ms initial delay with instant adjacent hovers via provider grouping
- buttons: scale press feedback, specific transition properties instead of transition-all
- tabs: sliding active-tab indicator via Base UI Tabs.Indicator
- sheet: iOS drawer curve with asymmetric enter/exit timing
- animate form validation messages and auth page entrance
- remove dead radix-idiom accordion classes in builder sidebars
2026-07-03 21:48:32 +02:00
Amruth Pillai
a4999c04af
refactor: remove dead code, unused exports and redundant dependencies
...
- drop dotenv (Node 24 process.loadEnvFile) and dompurify (only used by dead code)
- delete unused ui components/hooks (card, progress, checkbox, use-confirm, use-prompt)
- delete dead sanitizeHtml/sanitizeCss, url-security helpers, patch-resume tool,
schema/page, createResumePatches, patch-proposal preview builder, fonts fallback helpers
- inline single-caller wrappers (flags service, auth getSession, pdf renderer passthrough)
- deduplicate template color helpers into shared/color-helpers
- unexport 50+ internal-only symbols, remove dead export-map entries
- replace hand-rolled unique()/useIsMobile with Set spread and usehooks-ts
2026-07-03 20:04:36 +02:00
Amruth Pillai
2a80e6a1df
chore: update dependencies
2026-07-03 20:04:36 +02:00
Amruth Pillai
d3735ebe27
chore: update dependencies
2026-06-29 09:09:00 +02:00
Amruth Pillai
37faf592b7
chore: update dependencies
2026-06-17 10:40:23 +02:00
Amruth Pillai
042d076efa
chore: update dependencies
2026-06-05 23:35:23 +02:00
Amruth Pillai
0df7f21130
feat: implement download_resume_pdf mcp tool
2026-06-01 10:26:28 +02:00
Amruth Pillai
b491582637
chore: add missing translations
2026-05-27 23:31:58 +02:00
Amruth Pillai
c6a654191c
feat: improvements to custom styles
2026-05-27 22:16:14 +02:00
Amruth Pillai
8461aa65d5
chore: remove react-doctor from package scripts and update task dependencies in turbo.json
2026-05-27 11:09:33 +02:00
Amruth Pillai
b04eef1479
feat: implement style rules
2026-05-27 10:57:33 +02:00
Amruth Pillai
8da780c868
feat: update links for improved accessibility
2026-05-26 13:09:30 +02:00
Amruth Pillai
7eea6675c0
chore: update dependencies
2026-05-26 10:09:58 +02:00
Amruth Pillai
6ec4da7914
chore: update dependencies
2026-05-25 15:44:40 +02:00
Amruth Pillai
39e88dd365
chore: lint using react-doctor, update translations, dynamic imports
2026-05-21 09:56:26 +02:00
Amruth Pillai
3596102c63
chore: update dependencies
2026-05-20 23:12:39 +02:00
Amruth Pillai
62f8270b3e
Squashed commit of the following:
...
commit b2b0470a1d9267d042ec0ac66523c6635bf5b199
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 13:13:38 2026 +0200
chore: update .gitignore to include .vite-hooks and modify pnpm-lock.yaml for dependencies
commit d28fadb5cd8706c874e616102878b4a394ec84c1
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 13:08:04 2026 +0200
fix: remove timestamp conflict guard
commit c6998d9dbab19d09d3c8054feef1d2e4117555eb
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 12:11:51 2026 +0200
chore(release): v5.1.5
commit f33d168711804880e1f12e88d24290aae16cc258
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 11:58:35 2026 +0200
revert: compose.yml
commit d961e6535811a10c335525fb33a08d03e737278d
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 11:58:08 2026 +0200
refactor(agent): replace 'revert' terminology with 'restore' for clarity, resolves #3086
commit 17f351171be218e33f01c469d95e4164d4c8dc57
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 11:10:41 2026 +0200
refactor(pdf): simplify sidebar section filtering and update summary feature logic
commit d55179b9d76879e3204de185e8b53fadd0a107ed
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 09:53:37 2026 +0200
chore: update pnpm-lock.yaml and turbo.json
commit 7cade6980e1a04352536bd44ef773f338c4ef599
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 09:38:30 2026 +0200
fix(polyfill): add tested polyfill for Map Upsert methods
commit 26d175bb9c53d93225d1e907678445252c13d660
Merge: 1cf33dc6c 5b1297fa2
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 09:23:29 2026 +0200
Merge remote-tracking branch 'origin/main' into feat/explore-hono-orpc-migration
# Conflicts:
# packages/api/src/services/agent-url.ts
# packages/runtime-externals/package.json
commit 1cf33dc6c9d81735730ad656e16dab6501c6d6a1
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Tue May 19 09:22:12 2026 +0200
chore: preserve branch changes before main sync
commit b380a4b00fdbcdd81ff4f8ef72b330fd027ccda5
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Mon May 18 07:50:28 2026 +0200
chore: lot of fixes for monorepo migration
commit 8fcf0ec64e1c29572ebaff494338368bfcf75760
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 13:57:17 2026 +0200
chore: update knip version and refine web app routing with new SEO endpoints
commit 234e68086ff15610a93877354c98e2c020364533
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 12:10:06 2026 +0200
refactor(auth): update OAuth routes to include API prefix and remove unused schema endpoint
commit 91c84b9a8496b0ce21d71cae9f8b2a027638c9ac
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 11:54:29 2026 +0200
chore: update dependencies and enhance PWA metadata in web app
commit 150117d4a5a9dd6cd92c64891aad8cae90f6a7af
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 11:12:35 2026 +0200
docs: revise manifest-only pwa testing scope
commit 6b939a55661aec9dd8122b184e4b60a5c7325fb5
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 11:11:33 2026 +0200
docs: add manifest-only pwa design
commit 1422e1fc96c400948b273210a1067251087d15d4
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 11:05:04 2026 +0200
chore(dev): simplify server proxy config
commit bc2ff5a9f6fda41e6c40333c8f163aa23a6c5e48
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 11:04:50 2026 +0200
docs: add unsafe oauth redirect plan
commit 445359ebe9b96c1515bf1c4c3f73ba8a8448ec12
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 11:04:34 2026 +0200
feat(auth): add unsafe oauth redirect flag
commit 73fffdd24598e56b2793f7657919bc794835892e
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 10:55:02 2026 +0200
docs: design unsafe oauth redirect flag
commit c0066aa19c15fc8a4c8e5179ed49889c117519f4
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 10:22:04 2026 +0200
chore: update translation source paths
commit 9033da082418d252aafd6c2eed72f71f014be3d9
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 10:09:25 2026 +0200
refactor(arch): react spa + hono migration
commit 6f27936c11bda895977dc63ee550c3346d4ce24b
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Fri May 15 01:10:47 2026 +0200
docs: add docker nightly tagging design
commit ecc1fd9a88a0ee1dca2f1977dfc17f74527fe1da
Author: Amruth Pillai <im.amruth@gmail.com >
Date: Thu May 14 20:05:44 2026 +0200
feat: migrate to hono spa server
2026-05-19 13:14:21 +02:00
JamesGoslings
dd7623f11e
fix(pdf): align textkit line-box and font metrics to browser behaviour ( #3070 )
...
* fix(pdf): align textkit line-box and font metrics to browser behaviour
CJK characters in resumes with a tightened typography line-height
(< ~1.4) had their descenders clipped by the next line. Latin glyphs
in the same resume rendered fine. Fixes the visual regression vs the
v5.0.x Puppeteer-based renderer reported in issue #2986 and follow-ups.
The clipping is caused by two independent gaps in @react-pdf/textkit
relative to standard CSS line-box rules:
1. `height(run)` short-circuits to the user-supplied lineHeight and
ignores the run's intrinsic ascent + descent. CSS line-boxes are
spec'd as `max(line-height, content-area)` — when CJK glyphs are
present the content-area is taller than a tightened lineHeight, so
the box must grow. textkit didn't, so the baseline (computed from
the real, larger CJK ascent) sat below the box and the descender
bled into the next line.
2. `ascent / descent / lineGap` are read directly from fontkit's hhea
defaults. For Source Han Sans/Serif (the CJK fallbacks registered
in #3013 ) hhea is intentionally inflated for legacy Windows GDI
compatibility (1.45 em vs 1.0 em), so even a fixed line-box would
have been excessively tall. Browsers (and the v5.0.x Puppeteer
renderer) read OS/2 sTypoAscender/Descender/LineGap instead, which
are the values the type designers intend for modern shaping.
Both are upstream behaviours of `@react-pdf/textkit`, but waiting for
an upstream release would leave existing users with broken CJK output.
The fix is shipped as a pnpm patch (~30 LOC):
- `resolveTypoMetrics(font)`: prefer OS/2 typo metrics, fall back to
hhea when an OS/2 table is absent (e.g. the StandardFont stand-ins
for Helvetica/Courier/Times). Used by ascent/descent/lineGap so all
height-related calculations stay consistent.
- `height(run)`: `Math.max(lineHeight || 0, intrinsic)` instead of
the original short-circuit, matching CSS line-box rules.
The patch is self-contained: existing Latin-only resumes are
unaffected (IBM Plex Serif's typo metrics equal hhea; Roboto's typo
is slightly smaller, but only changes the rendered line-box for users
who set lineHeight below ~1.17, which already used to clip ascenders
under v5.1.x and now lays out as it would in a browser).
Tooling notes:
- `Dockerfile.dev` copies `patches/` before `pnpm install` so the
dev image build no longer fails on `--frozen-lockfile`. The
production `Dockerfile` already gets it for free via
`turbo prune --docker` (the patch reference in package.json marks
the directory as part of the pruned slice).
- The patch will become a no-op once an equivalent fix lands upstream
in @react-pdf/textkit; the entry can then be removed from
`pnpm.patchedDependencies` and the file deleted.
* fix(deps): regenerate lockfile and move patchedDependencies for pnpm 11
The previous commit's lockfile was authored by pnpm 8 (lockfileVersion 6.0)
and kept patchedDependencies under package.json#pnpm. The repository now
declares packageManager: pnpm@11.1.2, which:
- writes lockfileVersion 9.0 and rejects v6 with ERR_PNPM_LOCKFILE_BREAKING_CHANGE
on --frozen-lockfile (CI failure observed in autofix.ci);
- reads pnpm settings from pnpm-workspace.yaml, silently ignoring the
package.json#pnpm field — so the textkit patch was no longer applied.
Regenerate pnpm-lock.yaml with pnpm 11.1.2 and move patchedDependencies
to pnpm-workspace.yaml so the patch is applied and CI passes.
* chore: update dependencies
---------
Co-authored-by: Amruth Pillai <im.amruth@gmail.com >
2026-05-18 08:08:47 +02:00
Amruth Pillai
9df2a5287d
chore(release): v5.1.4
2026-05-14 15:57:40 +02:00
Amruth Pillai
1294d3354a
feat(docker): enhance development setup with reactive_resume service and health checks
2026-05-13 15:35:08 +02:00
Amruth Pillai
e35ff83911
chore: update dependencies
2026-05-13 00:44:51 +02:00
Amruth Pillai
62b0a1d533
fix(cjk): resolve hyphenation callback with cjk content in resume
2026-05-11 22:04:45 +02:00
Amruth Pillai
0daf868cd4
fix(knip): remove duplicate export
2026-05-11 13:55:56 +02:00
Amruth Pillai
fda4e500b3
feat(toast): add non-invasive, dismissible donation banner
2026-05-11 13:50:32 +02:00
Amruth Pillai
334ea48bc7
fix: enhance rich text handling in PDF generation
...
- Bump @tanstack/react-form version to 1.32.0 in package.json.
- Refactor rich-input component to simplify highlight configuration.
- Improve rich text HTML normalization to handle <mark> elements and apply styles correctly in PDF output.
- Update global CSS for WYSIWYG to adjust paragraph and list margins.
2026-05-11 09:04:42 +02:00
Amruth Pillai
02973a1eb1
fix: correct path for app source files in globals.css
2026-05-10 23:35:46 +02:00
Amruth Pillai
2e04e71f4a
fix: update build process to ensure clean output for web app
2026-05-10 23:27:06 +02:00
Amruth Pillai
978cbaf1f3
fix: run knip --fix to add unlisted dependencies
2026-05-10 22:12:35 +02:00
Amruth Pillai
3cd228bd84
chore: update postcss to version 8.5.14 and sort font weights in typography components
2026-05-10 22:09:37 +02:00
Amruth Pillai
7a60a42a04
chore: migrate from jsdom to happy-dom for testing environment
2026-05-10 20:46:28 +02:00
Amruth Pillai
b321e01658
Merge branch 'main' into feat/increase-test-coverage
...
# Conflicts:
# packages/ui/src/components/input-group.test.tsx
2026-05-10 20:05:00 +02:00
Amruth Pillai
6a01207b6b
test: add unit and component tests across the monorepo
...
Adds ~1000 tests to bring the previously-untested packages and apps
under coverage:
- packages/utils — string, color, date, file, level, locale, sanitize,
field, html, network-icons, rate-limit, url, url-security, monorepo,
resume/patch, resume/docx/link-utils, style helpers (~97% on the
testable utility files)
- packages/ui — 28 component test files plus the use-controlled-state,
use-mobile, use-confirm, use-prompt hooks (95% statements)
- packages/pdf — shared template helpers (filtering, columns, picture,
metrics, section-links, page-size, rich-text-html, section-title)
- packages/schema — resumeDataSchema, page, templates, default
- packages/fonts — expanded coverage on font helpers
- packages/ai — resume sanitize and extraction template
- packages/api — resume-access-policy
- apps/web — error-message, locale, theme, pwa, dialogs/store, and
the resume/move-item / section-actions / make-section-item helpers
Adds jsdom polyfills (ResizeObserver, IntersectionObserver,
scrollIntoView, matchMedia) and an explicit React Testing Library
cleanup hook to vitest.setup.ts so portal- and overlay-based components
work without per-test setup.
2026-05-10 20:00:07 +02:00
Amruth Pillai
56c9eb2ff4
fix(contact-list): resolves an issue where website label was uneditable
2026-05-10 19:30:09 +02:00
Amruth Pillai
6787175a8a
feat(ai): implement an AI chat window for agentic resume building ( #3022 )
2026-05-10 13:23:32 +02:00
Amruth Pillai
42e83cc676
fix: improper rendering of text blocks in PDFs
2026-05-10 13:22:21 +02:00
Amruth Pillai
2cd774dab7
feat: implement free-form resume page formats, resolves #2991
2026-05-08 11:28:18 +02:00
Amruth Pillai
ed42f181ca
fix: update dialog component styles for improved responsiveness and overflow handling
2026-05-08 10:39:34 +02:00
Amruth Pillai
d5891ff035
fix( #2978 ): implement inlineLink functionality
2026-05-07 21:47:00 +02:00
Amruth Pillai
891ce60270
fix( #2984 ): add prose styles to rich-input editor
2026-05-07 21:43:07 +02:00
Amruth Pillai
023cb4a594
fix( #2981 ): runtime error when enabling 2fa
2026-05-07 21:23:53 +02:00
Amruth Pillai
6e447d1bcc
Merge branch 'main' of github.com:amruthpillai/reactive-resume
2026-05-07 15:14:21 +02:00
Amruth Pillai
148d564fe8
fix: readme banner image url
2026-05-07 15:14:20 +02:00
Amruth Pillai
50ba37a27f
v5.1.0 ( #2970 )
...
* chore(release): v5.1.0
* feat: implement resume thumbnails
* fix: remove unused mcp tools
* docs: fix formatting of docs
2026-05-07 15:12:33 +02:00