-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Is there an existing issue for this?
- Yes, I have searched the existing issues and none of them match my problem.
Product Variant
Cloud (https://rxresu.me)
Current Behavior
Exported JSON cannot be re-imported (schema mismatch: basics.url, basics.location) + inconsistent import flows
Summary
The app’s Export produces JSON that fails to re-import immediately via the app’s Import flow(s). Validation errors indicate schema mismatches (e.g., basics.url object vs expected string; basics.location string vs expected object). A separate flow returns Input not instance of File, suggesting inconsistent validators between “paste JSON” and “upload file” paths.
Steps to reproduce
- Create a resume in the app.
- Export the resume as JSON.
- Try to Import the same JSON back into the app:
• Paste JSON into “Import JSON” (or similar) → see validation errors (below).
• Upload the same JSON file via “Upload file” flow → see different error (below).
Actual behavior
• Paste/import errors:
[ { "code": "invalid_union", "unionErrors": [ { "issues": [ { "received": { "label": "", "href": "" }, "code": "invalid_literal", "expected": "", "path": ["basics","url"], "message": "Invalid literal value, expected """ } ], "name": "ZodError" }, { "issues": [ { "code": "invalid_type", "expected": "string", "received": "object", "path": ["basics","url"], "message": "Expected string, received object" } ], "name": "ZodError" } ], "path": ["basics","url"], "message": "Invalid input" }, { "code": "invalid_type", "expected": "object", "received": "string", "path": ["basics","location"], "message": "Expected object, received string" } ]
Minimal JSON sample (exported structure that fails to import)
PII redacted; this is exactly the shape produced by export.
{ "basics": { "name": "John Doe", "headline": "Cloud Engineer", "email": "[email protected]", "phone": "+39 000 0000000", "location": "City, Country", "url": { "label": "", "href": "" }, "customFields": [], "picture": { "url": "https://example.com/pic.jpg", "size": 64, "aspectRatio": 1, "borderRadius": 0, "effects": { "hidden": false, "border": false, "grayscale": false } } }, "sections": { "summary": { "name": "Summary", "columns": 1, "separateLinks": true, "visible": true, "id": "summary", "content": "
…
" } }, "metadata": { "template": "rhyhorn", "css": { "value": "", "visible": false }, "page": { "margin": 30, "format": "a4", "options": { "breakLine": true, "pageNumbers": true } }, "theme": { "background": "#ffffff", "text": "#000000", "primary": "#65a30d" }, "typography": { "font": { "family": "Open Sans", "subset": "latin", "variants": ["regular"], "size": 14 }, "lineHeight": 1.5, "hideIcons": true, "underlineLinks": true } } }Analysis
• Import validator expects:
• basics.url: string, not an object.
• basics.location: object (e.g., { "city": "...", "country": "..." }), not a plain string.
• Export is emitting different shapes than Import accepts.
• Upload flow also appears to require a multipart File rather than JSON text (even when the UI suggests JSON import is possible), or it’s applying a different schema entirely.
Environment
• App version: currently deployed as per today's date 12-AUG-2025
• Browser: Chrome/Firefox + version
• OS: Windows/macOS/Linux + version
• Import method(s): Paste JSON / Upload File (both tested)
Questions for maintainers
- What is the canonical JSON schema the Import expects (e.g., JSON Resume v1.0.0, a custom schema, etc.)?
• Please publish a machine-readable schema (e.g., Zod/JSON Schema) and a versioned contract. - Should basics.url be a string or an object? Export currently emits an object.
- Should basics.location be an object or a string? Export currently emits a string.
- Do Paste and Upload imports use the same validator? If not, which formats does each accept?
- Could you embed a schemaVersion field into exported JSON so clients can validate before import?
- Can you provide a sample valid JSON that the Import accepts today?
Suggested fixes
• Align Export with Import (same shapes for basics.url, basics.location, etc.).
• Add a “Validate before export” step or a “Validate JSON” button to show schema errors in-app.
• Document the import formats (paste vs file) and their expected content types.
Thanks! Happy to provide more samples or test a fixed build.
Expected Behavior
Expected behavior
• Exported JSON should round-trip: export → import without modification.
• Import validation should be consistent across “paste JSON” and “upload file”.
Steps To Reproduce
Steps to reproduce
- Create a resume in the app.
- Export the resume as JSON.
- Try to Import the same JSON back into the app:
• Paste JSON into “Import JSON” (or similar) → see validation errors (below).
• Upload the same JSON file via “Upload file” flow → see different error (below).
What browsers are you seeing the problem on?
Chrome
What template are you using?
Rhyhorn
Anything else?
No response