Skip to content

[Bug] Unable to re-import the exported JSON #2364

@AizazZaidee

Description

@AizazZaidee

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

  1. Create a resume in the app.
  2. Export the resume as JSON.
  3. 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

  1. 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.
  2. Should basics.url be a string or an object? Export currently emits an object.
  3. Should basics.location be an object or a string? Export currently emits a string.
  4. Do Paste and Upload imports use the same validator? If not, which formats does each accept?
  5. Could you embed a schemaVersion field into exported JSON so clients can validate before import?
  6. 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

  1. Create a resume in the app.
  2. Export the resume as JSON.
  3. 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

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingneeds triageIssues that need to be triagedv4Issues related to the latest version

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions