AmruthPillai / Reactive-Resume

A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
https://rxresu.me
MIT License
25.88k stars 2.65k forks source link

[Bug] <title>connot export pdf #2066

Open SiRain opened 1 month ago

SiRain commented 1 month ago

Is there an existing issue for this?

Product Variant

Cloud (https://rxresu.me)

Current Behavior

connot export pdf

Expected Behavior

No response

Steps To Reproduce

No response

What browsers are you seeing the problem on?

No response

What template are you using?

None

Anything else?

No response

defnebciftci commented 1 month ago

Seconding this bug. Was able to download until a few days back, I think, but it is impossible to download as PDF now. Though I've switched browsers and tried Opera and Google Chrome, I was not able to download PDF.

sonatuzun commented 1 month ago

Tripling this bug. Wouldn't work for Firefox either.

sonatuzun commented 1 month ago

The solution for me was removing a special character 'ü' from the resume. It now works on chrome. Still not on firefox but hasn't for a while anyway :) A similar discussion was held here https://github.com/AmruthPillai/Reactive-Resume/issues/2059

StoicaTudor commented 1 month ago

New to the project. Literally does not work. Nothing. Anything, Create sample resume, create empty resume and direct export -> about:blank pops out. No matter the browser.

Edit: seems to work WHEN DEPLOYED on docker on a windows 11 machine (physical machine). But does not work WHEN DEPLOYED on docker on a linux ubuntu 24 machine (physical machine)

alperenpolatt commented 1 month ago

The solution for me was removing a special character 'ü' from the resume. It now works on chrome. Still not on firefox but hasn't for a while anyway :) A similar discussion was held here #2059

Yes, this is also the problem for me

speedrapide10 commented 1 month ago

Same issue for me [Unable to export Resume]

Please let me know if any info is needed

Shadowzzh commented 1 month ago

I also encountered this problem. My solution is to change the project name to all English, and then it can be exported. For example, "Frontend".

speedrapide10 commented 1 month ago

in my case i need a french resume 😅

fredystar200 commented 1 month ago

I second @Shadowzzh, change the project name to all English

speedrapide10 commented 1 month ago

the project name is already in english, i cannt even download the template as pdf

fredystar200 commented 1 month ago

Do you get another blank page ?

speedrapide10 commented 1 month ago

same issue apply to blank page with 'test' as project name I'm currently using the latest docker image amruthpillai/reactive-resume:latest

O-Hammam commented 1 month ago

same issue applies on chrome and firefox. Pressing the export button just yields a blank page. No non-english characters

nickconway commented 1 month ago

Same issue here. I just get a blank page, everything is in english. My logs look like this when I try to download, looks like I don't have access to the file? The ECH fallback thing is a cloudflare thing but that's also a possiblilty.

reactive-resume-chrome    |   browserless.io:server:trace  Handling inbound WebSocket request on "/?token=REDACTED" +39s
reactive-resume-chrome    |   browserless.io:server:trace  Found matching WebSocket route handler "?(/),/chromium?(/)" +1ms
reactive-resume-chrome    |   browserless.io:server:trace  Authorizing WebSocket request to "http://0.0.0.0:3000/?token=REDACTED&launch=%7B%7D" +0ms
reactive-resume-chrome    |   browserless.io:server:trace  Validating route query-params with QUERY schema +0ms
reactive-resume-chrome    |   browserless.io:limiter:info  (Running: 0, Pending: 0) Adding to queue, max time allowed is 10,000ms  +39s
reactive-resume-chrome    |   browserless.io:limiter:info  (Running: 1, Pending: 0) Starting new job  +0ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:info 192.168.0.5 Starting new ChromiumCDP instance +0ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:info 192.168.0.5 ChromiumCDP got open port 34197 +1ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:info 192.168.0.5 {
reactive-resume-chrome    |   args: [
reactive-resume-chrome    |     '--remote-debugging-port=34197',
reactive-resume-chrome    |     '--no-sandbox',
reactive-resume-chrome    |     '--user-data-dir=/tmp/browserless-data-dirs/browserless-data-dir-2a5a8f61-56f2-41f1-b951-e1e41dd5c265'
reactive-resume-chrome    |   ],
reactive-resume-chrome    |   executablePath: '/usr/local/bin/playwright-browsers/chromium-1140/chrome-linux/chrome'
reactive-resume-chrome    | } Launching ChromiumCDP Handler +0ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:info 192.168.0.5 ChromiumCDP is running on ws://127.0.0.1:34197/devtools/browser/b61d39be-0580-4f83-88d9-4dcf05a9e15e +169ms
reactive-resume-chrome    |   browserless.io:router:trace  Running found WebSocket handler. +40s
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:info 192.168.0.5 Proxying http://0.0.0.0:3000/?token=REDACTED&launch=%7B%7D to ChromiumCDP ws://127.0.0.1:34197/devtools/browser/b61d39be-0580-4f83-88d9-4dcf05a9e15e +0ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:trace 192.168.0.5 Setting up file:// protocol request rejection +0ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:trace 192.168.0.5 GET: https://REDACTED/artboard/preview +4ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:warn 192.168.0.5 "net::ERR_ECH_FALLBACK_CERTIFICATE_INVALID": https://REDACTED/artboard/preview +0ms
reactive-resume           | Trace: Error: net::ERR_ECH_FALLBACK_CERTIFICATE_INVALID at https://REDACTED/artboard/preview
reactive-resume           |     at navigate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:175:27)
reactive-resume           |     at async Deferred.race (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js:36:20)
reactive-resume           |     at async CdpFrame.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:141:25)
reactive-resume           |     at async CdpPage.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:585:20)
reactive-resume           |     at async PrinterService.generateResume (/app/dist/apps/server/main.js:13224:13)
reactive-resume           |     at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)
reactive-resume           |     at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
reactive-resume           |     at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)
reactive-resume           |     at PrinterService.generateResume (/app/dist/apps/server/main.js:13276:21)
reactive-resume           |     at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)
reactive-resume           |     at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
reactive-resume           |     at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:trace 192.168.0.5 Navigation to chrome-error://chromewebdata/ +120ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:warn 192.168.0.5 DOMException: SecurityError: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
reactive-resume-chrome    |     at <anonymous> (:3:15) +35ms
--------------------------------------------------
reactive-resume-chrome    |   browserless.io:limiter:warn  Job has hit timeout after 10,002ms of activity. +49s
reactive-resume-chrome    |   browserless.io:limiter:info  Calling timeout handler +10s
reactive-resume-chrome    |   browserless.io:router:error  Websocket job has timedout, sending 429 response +49s
reactive-resume-chrome    |   browserless.io:limiter:info  (Running: 0, Pending: 0) All jobs complete.  +1ms
reactive-resume-chrome    |   browserless.io:router:trace  WebSocket Request handler has finished. +10s
reactive-resume-chrome    |   browserless.io:browser-manager:info  0 Client(s) are currently connected, Keep-until: 0 +49s
reactive-resume-chrome    |   browserless.io:browser-manager:info  Closing browser session +0ms
reactive-resume-chrome    |   browserless.io:browser-manager:info  Deleting "/tmp/browserless-data-dirs/browserless-data-dir-2a5a8f61-56f2-41f1-b951-e1e41dd5c265" user-data-dir and session from memory +0ms
reactive-resume-chrome    |   browserless.io:ChromiumCDPWebSocketRoute:info 192.168.0.5 Closing ChromiumCDP process and all listeners +10s
reactive-resume-chrome    |   browserless.io:server:trace  Websocket connection complete +10s
reactive-resume-chrome    |   browserless.io:browser-manager:info  Deleting data directory "/tmp/browserless-data-dirs/browserless-data-dir-2a5a8f61-56f2-41f1-b951-e1e41dd5c265" +1ms
achanyu1 commented 1 month ago

It seems like you're facing problems with exporting your document to PDF. Please try the following steps to help resolve the issue:

Step 1: Use the Browser's Built-in Print Function

Instead of using the export button, try using your browser's built-in print function. Make sure you select 'Save as PDF' rather than 'Print to PDF'. Selecting 'Save as PDF' often provides better results for preserving the document's text and structure, ensuring that it remains selectable and searchable.

Please let us know if these steps help or if you encounter any specific error messages during the process!

shenyfg commented 1 month ago

Same issue here. After changing my resume name from Chinese to English, it was solved. It seems that special characters (like Chinese) are not supported currently in the name of the resume.

achanyu1 commented 1 month ago

Now they fix it.

speedrapide10 commented 1 month ago

in my case it still only open new about:blank page when i try to download as PDF, on latest docker image Screenshot_2024-10-17-10-42-02-466_com android chrome same on pc browser

qikongwanli commented 1 month ago

The name of your project should not be Chinese or other specific codes.

speedrapide10 commented 1 month ago

Please make sure to read the previous comments since we already indicated that the issue persiste for all languages.

The export feature is broken ⚠️

RobertoHzo commented 1 month ago

In my case, I had the CV file name as "Español". I just changed the name to : "Spanish". So I think the app doesn't support the ñ.

fredystar200 commented 1 month ago

Please make sure to read the previous comments since we already indicated that the issue persiste for all languages.

The export feature is broken ⚠️

Try on PC and make sure you're using only english letters, do a screenshot too

HB9HIL commented 1 month ago

Same issue here. Unable to export PDF and Preview at shared Link broken aswell.

fredystar200 commented 1 month ago

I can quickly help you if you send me one of your resume as json, then I will try to export it and send it to you

Moango commented 1 month ago

I have already translated all the text in the article into English, but it still doesn't work. When I click the 'Export PDF' button, it redirects to a blank page with the URL 'about '. This issue occurs in both Chrome and Edge browsers. Part of the error log is as follows: react-resume-app-1 | Trace: TargetCloseError: Protocol error (Page.addScriptToEvaluateOnNewDocument): Session closed. Most likely the page has been closed.

HB9HIL commented 1 month ago

I can quickly help you if you send me one of your resume as json, then I will try to export it and send it to you

this is a nice offer, but I think the issue has to be fixed in a high priority manner. It looks to me that this bug breaks the whole software. Whats the point of putting effort into a CV if you can't export it in any kind. Even the public view is broken in my case so it's basically unusable

@AmruthPillai maybe some comment by you as maintainer? Three weeks for a bug like this is a quite long time :D

fredystar200 commented 1 month ago

Yeah I understand

SinoAHpx commented 1 month ago

Can you try to rename your resume title in the dashboard? Just pure English characters within the title, and I fixed the about:blank issue by that

StoicaTudor commented 1 month ago

Can everyone stop discussing about stupid characters and titles? The Download SIMPLY DOES NOT WORK. No matter the OS, not matter the Browser (Brave (from the video) runs on Chromium). No matter the content, no matter the title.

In the video, I am simply attempting to print A SAMPLE DEFAULT JOHN DOE resume. I receive about:blank.

Logs: app-1 | Trace: Error [TypeError]: Cannot read properties of null (reading 'cloneNode')
app-1 | at evaluate (evaluate at processPage (/app/dist/apps/server/main.js:13232:50), :1:50) app-1 | at #evaluate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/ExecutionContext.js:376:56)
app-1 | at async ExecutionContext.evaluate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/ExecutionContext.js:271:16)
app-1 | at async IsolatedWorld.evaluate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/IsolatedWorld.js:99:16) app-1 | at async CdpFrame.evaluate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js:342:20)
app-1 | at async CdpPage.evaluate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:823:20)
app-1 | at async processPage (/app/dist/apps/server/main.js:13232:39)
app-1 | at async PrinterService.generateResume (/app/dist/apps/server/main.js:13245:17) app-1 | at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)
app-1 | at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
app-1 | at PrinterService.generateResume (/app/dist/apps/server/main.js:13276:21)
app-1 | at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21) app-1 | at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
app-1 | at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)

resume_download.webm

speedrapide10 commented 1 month ago

+1

OlivierBrabanders commented 4 weeks ago

+1

ozhound commented 3 weeks ago

Same issue here, self hosted version, throws a blank screen when trying to export the PDF

Logs throw this error

Trace: Error: net::ERR_NAME_NOT_RESOLVED at http://host.docker.internal:3000/artboard/preview
at navigate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:175:27)
at async Deferred.race (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js:36:20)
at async CdpFrame.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:141:25)
at async CdpPage.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:585:20)
at async PrinterService.generateResume (/app/dist/apps/server/main.js:13224:13)
at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)
at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)
at PrinterService.generateResume (/app/dist/apps/server/main.js:13276:21)
at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)
at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)

I fixed this by changing the entries in the docker compose from localhost, to my dockers LAN address

i.e.


      # -- URLs --
      PUBLIC_URL: http://192.168.1.210:3000
      STORAGE_URL: http://192.168.1.210:9000/default

Edit: This wont work if you are trying to download the resume externally unfortunately. I havent been able to figure out what i need to set it to for it to work, external WAN with port forward doesn't work.

O-Hammam commented 2 weeks ago

Same issue here, self hosted version, throws a blank screen when trying to export the PDF

Logs throw this error

Trace: Error: net::ERR_NAME_NOT_RESOLVED at http://host.docker.internal:3000/artboard/preview
at navigate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:175:27)
at async Deferred.race (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js:36:20)
at async CdpFrame.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:141:25)
at async CdpPage.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:585:20)
at async PrinterService.generateResume (/app/dist/apps/server/main.js:13224:13)
at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)
at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)
at PrinterService.generateResume (/app/dist/apps/server/main.js:13276:21)
at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)
at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)
at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)

I fixed this by changing the entries in the docker compose from localhost, to my dockers LAN address

i.e.


      # -- URLs --
      PUBLIC_URL: http://192.168.1.210:3000
      STORAGE_URL: http://192.168.1.210:9000/default

This solved it for me! Thanks.

jdhill777 commented 4 days ago

Unfortunately this did not fix it for me, it did make the new tab/window open a lot faster, but it is still showing the about:blank window. I am on Unraid.