Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Icon being plotted using this node export server is not expected one

Open
#618 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
javascript
Domain
api, backend

Research direction

Start by reproducing the POST request against the node-export-server checkout at 7f5d512fe565632d2da32afbdc38662d7bf8fdef, using the supplied environment variables and callback. Inspect lib/server.js and the export path around the changed socket-close handling, then compare the generated icon with the expected image; done means the duotone Font Awesome icon renders correctly without changing the requested chart input.

Written by the indexing model from the issue text.

Description

I setup this node export server on our server. We followed the below steps while setting the server

Setup Steps
  1. git clone https://github.com/highcharts/node-export-server.git
  2. git checkout 7f5d512fe565632d2da32afbdc38662d7bf8fdef (for version 2.1.0)
  3. edited lib/server.js
    from
  req.on("close", function () {
    connectionAborted = true;
  });

to

 req.socket.on("close", function () {
    connectionAborted = true;
  });

as the connection was getting closed.
4. used node version 20.4.0 and provided env variables as:

export HIGHCHARTS_USE_MAPS=YES
export HIGHCHARTS_USE_GANTT=YES
export HIGHCHARTS_VERSION=8.0.0
export ACCEPT_HIGHCHARTS_LICENSE=YES
export HIGHCHARTS_USE_STYLED=YES
export OPENSSL_CONF=/etc/ssl

Also, we tried using 9.2.2 version of highcharts.
5. npm install
6. npm link
7. highcharts-export-server --enableServer 1 --logLevel 4 --allowCodeExecution 1

Actual behaviour

When using POST with input

{
    "type": "image/png",
    "scale": 2,
    "globalOptions": "{colors: [\"rgba(39,26,136,0.7)\",\"rgba(241,203,93,0.7)\",\"rgba(234,70,62,0.7)\",\"rgba(114,189,85,0.7)\",\"rgba(77,147,23,0.7)\",\"rgba(163,151,243,0.7)\"],lang: {thousandsSep: ','}}",
    "infile": "{chart: {renderTo: 'test me',height: 400,width: 600},exporting: { sourceWidth:950,sourceHeight:300,enabled:false,allowHTML: true,sourceWidth: 400,sourceHeight: 400,scale: 1},credits: {enabled: true},title: {text: ''}}",
    "callback": "function (chart) {chart.renderer.rect(0, 0,400,400, 8).attr({stroke: '#ccc',fill: '#fcfcfc',zIndex: 3,class:'dataSearchWidget'}).add();if (true == true) {chart.renderer.text('<span><span style=\"float: left;opacity: 1.0;class:fad fa-heart;\">'+String.fromCodePoint(parseInt('f004', 16))+'</span><span style=\"float: left;left: 0;position: absolute;opacity: 0.4;\">'+String.fromCodePoint(parseInt('10f004', 16))+'</span></span>', 40, 260,true).css({fontSize: '175px',color: '#4d545c'}).attr({zIndex: 4}).add(); }};(function(stringFromCharCode){var fromCodePoint=function(_){var codeUnits=[],codeLen=0,result=\"\";for(var index=0,len=arguments.length;index!==len;++index){var codePoint=+arguments[index];if(codePoint<=0xFFFF){codeLen=codeUnits.push(codePoint);}else{codePoint-=0x10000;codeLen=codeUnits.push((codePoint>>10)+0xD800,(codePoint%0x400)+0xDC00);}}return result+stringFromCharCode.apply(null,codeUnits);};try{Object.defineProperty(String,\"fromCodePoint\",{\"value\":fromCodePoint,\"configurable\":true,\"writable\":true});}catch(e){String.fromCodePoint=fromCodePoint;}}(String.fromCharCode));"
}

i was expected below image
image
but got
image
I am using paid version of font awesome of version 5.15.1. And duotone fonts are available in it. I am using thie very fonts and able to plot the expected icon when using specific class, but getting error using this server.

Question

Can you please help here in this problem and provide suggestion. Also, updating highcharts version from this 2.1.0 requires major change in input chartscript so that is also not the viable idea here.

Dominant language
JavaScript
Stars
368
Forks
265
PR merge metrics
No merged PRs in 30d

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from highcharts/node-export-server

All issues in highcharts/node-export-server

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.