Amruth Pillai
83a407bc10
fix: add special hyphenation callback for Chinese script in PDF font registration
2026-05-10 23:54:37 +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
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
846b7856a7
Merge branch 'main' of github.com:amruthpillai/reactive-resume
2026-05-10 20:46:31 +02:00
Amruth Pillai
7a60a42a04
chore: migrate from jsdom to happy-dom for testing environment
2026-05-10 20:46:28 +02:00
github-actions[bot] and Crowdin Bot
b0de64ad13
[skip ci] chore(i18n): sync translations from crowdin ( #3026 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-10 20:20:08 +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
github-actions[bot] and Crowdin Bot
4cd4b8c193
[skip ci] chore(i18n): sync translations from crowdin ( #3023 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-10 13:27:59 +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
github-actions[bot] and Crowdin Bot
0606e0072b
[skip ci] chore(i18n): sync translations from crowdin ( #3005 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-08 16:19:27 +02:00
Amruth Pillai and Claude
bdfb854602
fix: resolve storage healthcheck path via LOCAL_STORAGE_PATH env var ( #3004 )
...
* fix: resolve local data directory to /app/data in production Docker
In the official Docker image, cwd is /app/apps/web (set via WORKDIR), but
the data volume is mounted at /app/data. Without pnpm-workspace.yaml present
in the runtime image, findWorkspaceRoot() returns null, so getLocalDataDirectory()
fell back to <cwd>/data = /app/apps/web/data, which the node user has no
permission to create. This caused the storage healthcheck to fail with
EACCES.
Add a production fallback: when cwd ends in apps/web, resolve the data
directory to two levels up (matching /app/data in the official image).
Re-resolves #2990 .
https://claude.ai/code/session_015pSTtukxf7mFTty2Y6PHZf
* fix: replace apps/web heuristic with LOCAL_STORAGE_PATH env var
The previous fix special-cased a cwd ending in apps/web to land on /app/data,
but the heuristic could false-positive on any path with that suffix and was
fragile to Dockerfile changes. pnpm-workspace.yaml is never copied into the
runtime image, so the workspace-root walk was also dead code in production.
Replace the heuristic with an explicit LOCAL_STORAGE_PATH env var:
- Set LOCAL_STORAGE_PATH=/app/data in the Dockerfile (single source of truth).
- Add LOCAL_STORAGE_PATH to the env schema; storage and statistics services
pass it through to getLocalDataDirectory.
- getLocalDataDirectory now uses the override when set, else workspace root
(dev), else cwd/data.
- New Nitro plugin validates the resolved local data directory at startup
and refuses to boot with a clear error if it isn't writable, surfacing
permission issues immediately instead of at first upload/healthcheck.
- Document the new variable in .env.example and the Docker self-hosting docs.
https://claude.ai/code/session_015pSTtukxf7mFTty2Y6PHZf
* fix: address review feedback on storage path handling
- apps/web/plugins/2.storage.ts: use the default-import style for
node:fs/promises (matches the rest of the repo, sidesteps any
named-export concerns for fs.constants).
- packages/env/src/server.ts: reject relative LOCAL_STORAGE_PATH values
via a zod refinement. Relative paths would be resolved against cwd,
which differs between dev and Docker — exactly the same surprise the
original bug had. Failing fast at config validation time gives a
clear error before the server boots.
https://claude.ai/code/session_015pSTtukxf7mFTty2Y6PHZf
* fix: update data volume configuration in Docker Compose and enhance Nitro plugin
* fix: remove "Can I customize the templates?" FAQ entry from multiple language files
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-05-08 16:05:47 +02:00
github-actions[bot] and Crowdin Bot
d1c301de83
[skip ci] chore(i18n): sync translations from crowdin ( #2999 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-08 13:06:37 +02:00
Amruth Pillai and Claude
e42af3cd04
Remove "Can I customize the templates?" FAQ from homepage ( #3000 )
...
https://claude.ai/code/session_013T4jd8fPiWR5jMw2yxwgez
Co-authored-by: Claude <noreply@anthropic.com >
2026-05-08 13:06:27 +02:00
Amruth Pillai
d9e3289f69
chore: remove unused dependencies and update locale references in resume components
2026-05-08 13:01:18 +02:00
github-actions[bot] and Crowdin Bot
7c08007a9d
[skip ci] chore(i18n): sync translations from crowdin ( #2997 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-08 12:39:10 +02:00
Amruth Pillai
296f7951ec
fix: make nested lists work in PDF renderer, resolves #2993
2026-05-08 12:29:16 +02:00
github-actions[bot] and Crowdin Bot
bf1a540fd1
[skip ci] chore(i18n): sync translations from crowdin ( #2995 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-08 11:58:47 +02:00
Amruth Pillai
26ca5c29c3
fix: auto-load .env, resolves #2987
2026-05-08 11:57:59 +02:00
Amruth Pillai
2cd774dab7
feat: implement free-form resume page formats, resolves #2991
2026-05-08 11:28:18 +02:00
Amruth Pillai
5042ad9d1f
feat: add PDF download endpoint and export createLocalizedResumeDocument function
2026-05-08 00:05:55 +02:00
Amruth Pillai
524a7a6f4e
fix: resolves #2949 , remove route preloading
2026-05-07 22:46:32 +02:00
Amruth Pillai
36a16f6483
fix( #2983 ): fixes #2983 , experience role progression causes re-renders
2026-05-07 22:30:47 +02:00
Amruth Pillai
e320f3a920
chore: remove @tanstack/zod-adapter
2026-05-07 22:22:58 +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
github-actions[bot] and Crowdin Bot
f8b3437e33
[skip ci] chore(i18n): sync translations from crowdin ( #2974 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-07 16:50:29 +02:00
autofix-ci[bot]
dcccbcfa9e
[autofix.ci] apply automated fixes
2026-05-07 14:49:24 +00:00
github-actions[bot] and Crowdin Bot
6321e99b9e
[skip ci] chore(i18n): sync translations from crowdin ( #2973 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-07 16:38:34 +02:00
github-actions[bot] and Crowdin Bot
94c953005e
[skip ci] chore(i18n): sync translations from crowdin ( #2972 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-07 16:31:49 +02:00
autofix-ci[bot]
ef6961c9eb
[autofix.ci] apply automated fixes
2026-05-07 13:18:55 +00:00
Amruth Pillai
13787db34a
Merge branch 'main' of github.com:amruthpillai/reactive-resume
2026-05-07 15:16:34 +02:00
github-actions[bot] and Crowdin Bot
f64daeb89e
[skip ci] chore(i18n): sync translations from crowdin ( #2971 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-07 15:15:23 +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
Amruth Pillai
cad390fa13
initial commit of v5
2026-01-19 23:31:54 +01:00
Joyal George K J
4abcee00e1
Update link to 4.0.0 version release on GitHub releases
2026-01-19 15:33:30 +05:30
Mohammed Alhalwachi
f6dc3bf8df
fix(artboard): fix padding regression in Gengar template ( #2463 )
2025-12-23 22:17:50 +03:00
y8a5y
d7409832ab
fix(Resume Controller): address CI lint issue
2025-12-22 10:26:36 +01:00
y8a5y
1749f95086
fix(Sharing section): address CodeRabbit nitpick nb4
2025-12-21 22:43:08 +01:00
y8a5y
2e11e64881
fix(Resume Controller): address CodeRabbit nitpick nb1
2025-12-21 22:42:48 +01:00
y8a5y
db86f3275b
feature(Sharing section): add Raw Json URL card to Sharing section
2025-12-21 14:37:37 +01:00
y8a5y
62c09ea142
feature(Resume Controller): add route to get Resume without incrementing view count
2025-12-21 14:35:24 +01:00
y8a5y
589bd2c162
refacto(Resume Controller): reflecting previous change in controller
2025-12-21 14:34:57 +01:00
y8a5y
4c7ed8ea0d
refacto(Resume Service): move view count increment outside of findOne
2025-12-21 14:30:02 +01:00
sahil
4ccc7bae40
Fixed issue [Bug] <Error MIME al cargar fuente “Arial” desde Google Fonts en exportaciones públicas>
...
Fixes #2435
2025-11-05 18:59:20 +05:30
sahil
b49798950a
FIxed bug [Bug] <Error MIME al cargar fuente “Arial” desde Google Fonts en exportaciones públicas>
...
Fixes #2435
2025-11-05 16:12:57 +05:30
Amruth Pillai
80932eb80c
Fix bug: links/urls don't fit inside the page
2025-11-04 18:31:47 +01:00