Git Product home page Git Product logo

Comments (42)

github-actions avatar github-actions commented on May 10, 2024

The issue has been labeled as confirmed by the automatic analyser.
Someone from the Puppeteer team will take a look soon!


Analyzer run

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

url('/root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf') does not look correct since the content is set on an about:blank page. Have you tried including file:// in the URL or a http(s) URL?

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024
Screenshot 2024-04-22 at 21 33 34

Right, so the browser seems to be blocking the font.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

@OrKoN rather than the absolute path, here it is as a relative path:

src: url('../../.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf') format('truetype');

And yes, this relative path is correct:

# ls -al ../../.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf
-rw-r--r-- 1 root root 24015992 Apr 22 19:39 ../../.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf

I can't see anything wrong with this declaration? I don't want to use a remote url, I want to use a local font file.

This was working fine in the past, even without the @font-face declaration... the font is available in the environment in which node is running... I checked with fc-list:

# fc-list | grep 'Noto Color Emoji'
/root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf: Noto Color Emoji:style=Regular
/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf: Noto Color Emoji:style=Regular

Not sure when it broke, but it seems to have done.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

@drmrbrewer I think it is probably a change in browser implementation, probably intentional. Let me try to look it up.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

@OrKoN OK thanks, this is driving me crazy!

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024
import puppeteer from 'puppeteer';
import fs from 'fs';

(async () => {

        const browser = await puppeteer.launch({ headless: false, devtools: true });
        const page = await browser.newPage();

        // HTML content
        const htmlContent = `
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Noto Color Emoji Example</title>
    <style>
    @font-face {
        font-family: 'Noto Color Emoji';
        src: url('file:///Users/alex/projects/pptr-test/Noto_Color_Emoji/NotoColorEmoji-Regular.ttf') format('truetype');
        /* Additional font format declarations can be added as needed */
    }
    /* Style for the span */
        .emoji-text {
            font-family: 'Noto Color Emoji', sans-serif;
            font-size: 24px;
            line-height: 1.5;
        }
    </style>
    </head>
    <body>
    <!-- Span with mixed text -->
    <span class="emoji-text">
        Hello! 😊 Welcome to the Noto Color Emoji example.
    </span>
    </body>
    </html>
`;
        
        fs.writeFileSync('font.html', htmlContent);
        await page.goto(`file://${process.cwd()}/font.html`);

        await page.evaluate(() => document.fonts.ready)

        console.log(await page.evaluate(() => {
            const span = document.createElement('span');
            span.textContent = '😊';
            span.style.fontFamily = 'Noto Color Emoji';
            document.body.appendChild(span);
            const { fontFamily } = window.getComputedStyle(span);
            span.remove();
            return fontFamily;
        }));

        // Generate a PDF file
        await page.pdf({ path: 'noto_color_emoji_example.pdf', format: 'A4' });

        console.log('PDF generated successfully.');

        // await browser.close();
    })();

it works for opening from a file:// instead of about:blank. Not sure why but it looks like the permissions were tightened up for the default about:blank page.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

Hmm, OK well this is a shame because in my actual code (rather than my attempt at a reproducible example) I am using page.goto(url) and I'm not seeing emoji symbols there.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

That's weird, could you debug with the launch headless: false and devtools: true? any errors in the console/network?

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

BTW for me, your example also does not produce any emojis in the output.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

Interesting, it might Linux-specific then. I can try to repro on Linux tomorrow.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

This is the PDF I get noto_color_emoji_example.pdf Do you see emojis in it?

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

No, still not:

image

That is despite the test returning "Noto Color Emoji" (suggesting that it can see this font).

Incidentally, I need to retain args: ['--no-sandbox'], and if I add either or both of headless: false, devtools: true then I get:

[21:20:44.884] [FATAL] NodeServer - Unhandled Rejection at: Promise {
  <rejected> Error: Failed to launch the browser process! undefined
  [120595:120620:0422/212044.868811:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
  [120595:120595:0422/212044.870209:ERROR:ozone_platform_x11.cc(243)] Missing X server or $DISPLAY
  [120595:120595:0422/212044.870239:ERROR:env.cc(257)] The platform failed to initialize.  Exiting.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

@OrKoN it's the same when screenshotting to png:

await page.screenshot({ path: 'noto_color_emoji_example.png' });

Output:

noto_color_emoji_example

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

And for the avoidance of doubt, I'm running your version of the snippet but with:

const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });

And I get the same outcome if I remove the @font-face completely (more like my actual code, where I don't have this)... i.e. I get "Noto Color Emoji" from the font check (presumably because my node environment has this font installed), and an output without the emoji symbol.

But what is also perplexing me is that when I change to font-family: 'Non Existent Font', sans-serif; I still get the same outcome, i.e. "Noto Color Emoji" from the font check... I am so confused :-/

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

The font check explicitly sets span.style.fontFamily = 'Noto Color Emoji'; so it will always return "Noto Color Emoji". The computed font family is not the same as the actually used font: you can use the computed tab > platform fonts in DevTools to see actually used fonts.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

And I get the same outcome if I remove the @font-face completely (more like my actual code, where I don't have this)

my assumption is that the font-face fails to load, make sure you use a file:// URL with an absolute path.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

Yes, I'm using:

src: url('file:///root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf') format('truetype');

... where:

# ls -l /root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf
-rw-r--r-- 1 root root 24015992 Apr 22 19:39 /root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf

If I remove the .fonts folder (so that the URL doesn't point to a valid font) then I get:

image

And interestingly, further up I noted that this emoji font is installed on the system... in fact there are two in the font cache:

# fc-list | grep 'Noto Color Emoji'
/root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf: Noto Color Emoji:style=Regular
/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf: Noto Color Emoji:style=Regular

The first one is the same as the one specified in the font-face URL of the snippet. The second one must have come pre-installed with the Ubuntu installation. But if I remove the first one and refresh the system font cache, so that fc-list shows only the second one above, then puppeteer generates the output with the emoji character displayed correctly! Doing it the other way around (only the first in the system font cache, not the second), it doesn't work again. :-/

Any idea what's going on here? The NotoColorEmoji-Regular.ttf file (first entry above) is just as downloaded recently from Google Fonts.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

Is there any difference between two ttf files? could one file be corrupted? perhaps some permissions issue? (you see now errors in DevTools?)

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

I also downloaded NotoColorEmoji-Regular.ttf from Google Fonts and it worked for me with the example above.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

Is there any difference between two ttf files?

Well, they're clearly quite different to one another, but I'm not sure where the pre-installed one came from and how it differs (apart from obvious things like date and size and name):

# ls -l /root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf
-rw-r--r-- 1 root root 24015992 Apr 22 19:39 /root/.fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf
# ls -l /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf
-rw-r--r-- 1 root root 10980856 Nov 30 16:37 /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf

perhaps some permissions issue?

I don't see how... just downloaded and put in the relevant folder.

I also downloaded NotoColorEmoji-Regular.ttf from Google Fonts and it worked for me with the example above.

Have you tested in a Linux (Ubuntu) environment? With font config in place?

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

Yeah, I am not able to reproduce on a Linux (not Ubuntu though):

import puppeteer from 'puppeteer';
import fs from 'fs';

const browser = await puppeteer.launch();
const page = await browser.newPage();

// HTML content
const htmlContent = `
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Noto Color Emoji Example</title>
    <style>
    @font-face {
        font-family: 'Noto Color Emoji';
        src: url('file:///${process.cwd()}/Noto_Color_Emoji/NotoColorEmoji-Regular.ttf') format('truetype');
        /* Additional font format declarations can be added as needed */
    }
    /* Style for the span */
        .emoji-text {
            font-family: 'Noto Color Emoji', sans-serif;
            font-size: 24px;
            line-height: 1.5;
        }
    </style>
    </head>
    <body>
    <!-- Span with mixed text -->
    <span class="emoji-text">
        Hello! 😊 Welcome to the Noto Color Emoji example.
    </span>
    </body>
    </html>
`;

fs.writeFileSync('font.html', htmlContent);
await page.goto(`file://${process.cwd()}/font.html`);

// Generate a PDF file
await page.pdf({ path: 'noto_color_emoji_example.pdf', format: 'A4' });

console.log('PDF generated successfully.');

await browser.close();

Generated the following PDF:

noto_color_emoji_example.pdf

Looks like this with Chrome PDF viewer:

Screenshot 2024-04-23 at 11 15 39

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024
fc-list | grep 'Noto Color Emoji'
/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf: Noto Color Emoji:style=Regular

I have the font on the system as well. But I have not tried to put it to the /root/.fonts only to the local folder. If it does not work being in the /root/.fonts, there must be errors in the DevTools console showing that the loading has failed.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

When you refer to the DevTools console, do you mean what you get if you include devtools: true as a launch arg? If I do that, I just get a bunch of horrible looking errors... but it is the same even when using the ttf file that works):

[10:29:13.176] [FATAL] NodeServer - Unhandled Rejection at: Promise {
  <rejected> Error: Failed to launch the browser process! undefined
  [12683:12683:0423/102913.145836:ERROR:ozone_platform_x11.cc(243)] Missing X server or $DISPLAY
  [12683:12683:0423/102913.145905:ERROR:env.cc(257)] The platform failed to initialize.  Exiting.
  [12683:12710:0423/102913.152880:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
  
  
  TROUBLESHOOTING: https://pptr.dev/troubleshooting
  
	  at ChildProcess.onClose (file:///root/workspace/meteogram/node_modules/@puppeteer/browsers/lib/esm/launch.js:258:24)
	  at ChildProcess.emit (node:events:530:35)
	  at ChildProcess.emit (node:domain:488:12)
	  at ChildProcess._handle.onexit (node:internal/child_process:294:12)
	  at Process.callbackTrampoline (node:internal/async_hooks:130:17),
  [Symbol(async_id_symbol)]: 6656,
  [Symbol(trigger_async_id_symbol)]: 6653,
  [Symbol(kResourceStore)]: Hub {
	_version: 7.111,
	_stack: [ [Object] ],
	_isolationScope: Scope {
	  _notifyingListeners: false,
	  _scopeListeners: [],
	  _eventProcessors: [],
	  _breadcrumbs: [],
	  _attachments: [],
	  _user: {},
	  _tags: {},
	  _extra: {},
	  _contexts: {},
	  _sdkProcessingMetadata: {},
	  _propagationContext: [Object],
	  _level: undefined,
	  _span: undefined,
	  _session: undefined,
	  _transactionName: undefined,
	  _fingerprint: undefined,
	  _requestSession: undefined,
	  _client: undefined
	}
  }
} with reason: Error: Failed to launch the browser process! undefined
[12683:12683:0423/102913.145836:ERROR:ozone_platform_x11.cc(243)] Missing X server or $DISPLAY
[12683:12683:0423/102913.145905:ERROR:env.cc(257)] The platform failed to initialize.  Exiting.
[12683:12710:0423/102913.152880:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory


TROUBLESHOOTING: https://pptr.dev/troubleshooting

	at ChildProcess.onClose (file:///root/workspace/meteogram/node_modules/@puppeteer/browsers/lib/esm/launch.js:258:24)
	at ChildProcess.emit (node:events:530:35)
	at ChildProcess.emit (node:domain:488:12)
	at ChildProcess._handle.onexit (node:internal/child_process:294:12)
	at Process.callbackTrampoline (node:internal/async_hooks:130:17)
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Error: Failed to launch the browser process! undefined
[12683:12683:0423/102913.145836:ERROR:ozone_platform_x11.cc(243)] Missing X server or $DISPLAY
[12683:12683:0423/102913.145905:ERROR:env.cc(257)] The platform failed to initialize.  Exiting.
[12683:12710:0423/102913.152880:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory


TROUBLESHOOTING: https://pptr.dev/troubleshooting

	at ChildProcess.onClose (file:///root/workspace/meteogram/node_modules/@puppeteer/browsers/lib/esm/launch.js:258:24)
	at ChildProcess.emit (node:events:530:35)
	at ChildProcess.emit (node:domain:488:12)
	at ChildProcess._handle.onexit (node:internal/child_process:294:12)
	at Process.callbackTrampoline (node:internal/async_hooks:130:17)

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

Maybe this is something peculiar to the fact that I'm using an arm64 architecture:

# dpkg --print-architecture
arm64

And maybe I just accept my fate and use the emoji font file provided, rather than using my own... that would be the easiest workaround.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

@drmrbrewer it requires a display to be on the system :) Could you perhaps include CDP logs instead? Running with the env var DEBUG=puppeteer:* (https://pptr.dev/guides/debugging#log-devtools-protocol-traffic)

Chrome does not support Linux on arm64 so I assume you are using some emulation or third party Chromium builds?

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

Yes I can't recall the details of how I got it to work on arm64 (but I've made copious notes about it and recall it being a real headache)... but refer to this previous comment about this.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

I see, it makes it more difficult to troubleshoot. Is the version of your Chromium matches the version expected by the Puppeteer version? Chrome currently does not support Linux arm64 so nothing gets tested on that platform, so if something is wrong there, we would not know.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

Here is the output (for an output without emoji char) with DEBUG=puppeteer:* and dumpio: true:

  puppeteer:browsers:launcher Launching /usr/bin/chromium --allow-pre-commit-input --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-background-pages --disable-component-update --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-field-trial-config --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --disable-search-engine-choice-screen --disable-sync --enable-automation --export-tagged-pdf --generate-pdf-document-outline --force-color-profile=srgb --metrics-recording-only --no-first-run --password-store=basic --use-mock-keychain --disable-features=Translate,AcceptCHFrame,MediaRouter,OptimizationHints,ProcessPerSiteUpToMainFrameThreshold --enable-features=NetworkServiceInProcess2 --headless --hide-scrollbars --mute-audio about:blank --no-sandbox --disable-setuid-sandbox --remote-debugging-port=0 --user-data-dir=/tmp/puppeteer_dev_chrome_profile-XXXXXXZi0ZJn {
  detached: true,
  env: {
	PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'true',
	PUPPETEER_EXECUTABLE_PATH: '/usr/bin/chromium',
	PUPPETEER_DISABLE_HEADLESS_WARNING: 'true'
  },
  stdio: [ 'pipe', 'pipe', 'pipe' ]
} +49s
  puppeteer:browsers:launcher Launched 15595 +4ms
[0423/104023.808057:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[0423/104023.810006:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[0423/104023.810225:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[0423/104023.827243:INFO:policy_logger.cc(145)] :components/policy/core/common/config_dir_policy_loader.cc(118) Skipping mandatory platform policies because no policy file was found at: /etc/chromium/policies/managed
[0423/104023.827291:INFO:policy_logger.cc(145)] :components/policy/core/common/config_dir_policy_loader.cc(118) Skipping recommended platform policies because no policy file was found at: /etc/chromium/policies/recommended
[0423/104023.837014:ERROR:angle_platform_impl.cc(44)] Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[0423/104023.837302:ERROR:gl_display.cc(515)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[0423/104023.837394:ERROR:gl_display.cc(786)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[0423/104023.837489:ERROR:gl_display.cc(820)] Initialization of all EGL display types failed.
[0423/104023.837673:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[0423/104023.837969:ERROR:angle_platform_impl.cc(44)] Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[0423/104023.838129:ERROR:gl_display.cc(515)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[0423/104023.838200:ERROR:gl_display.cc(786)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[0423/104023.838267:ERROR:gl_display.cc(820)] Initialization of all EGL display types failed.
[0423/104023.838334:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[0423/104023.841294:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization
[0423/104023.901243:WARNING:bluez_dbus_manager.cc(248)] Floss manager not present, cannot set Floss enable/disable.

DevTools listening on ws://127.0.0.1:39341/devtools/browser/96f4e9c4-bc1b-4fb3-ac1e-2176e7058912
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setDiscoverTargets","params":{"discover":true,"filter":[{}]},"id":1}'
  puppeteer:protocol:SEND ► ] +0ms
[0423/104023.945322:WARNING:runtime_features.cc(728)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"2ad5684a-d26c-4647-9978-51af9411967e","type":"browser","title":"","url":"","attached":false,"canAccessOpener":false}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"3510618358C546EB9217B411B326F038","type":"page","title":"","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"9F9C0713890EDC78222DB1085F2DB622","type":"tab","title":"","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"e3b63877-8ebc-4079-86d3-f110cc4f6073","type":"browser","title":"","url":"","attached":true,"canAccessOpener":false}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":1,"result":{}}' ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"page","exclude":true},{}]},"id":2}'
  puppeteer:protocol:SEND ► ] +0ms
[0423/104023.948675:ERROR:angle_platform_impl.cc(44)] Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[0423/104023.948957:ERROR:gl_display.cc(515)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[0423/104023.949093:ERROR:gl_display.cc(786)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[0423/104023.949220:ERROR:gl_display.cc(820)] Initialization of all EGL display types failed.
[0423/104023.949288:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[0423/104023.949475:ERROR:angle_platform_impl.cc(44)] Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[0423/104023.949559:ERROR:gl_display.cc(515)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[0423/104023.949609:ERROR:gl_display.cc(786)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[0423/104023.949654:ERROR:gl_display.cc(820)] Initialization of all EGL display types failed.
[0423/104023.949723:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"9F9C0713890EDC78222DB1085F2DB622","type":"tab","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"2CB6C0B0B095AC86BD624D2E9FAC08F9","targetInfo":{"targetId":"9F9C0713890EDC78222DB1085F2DB622","type":"tab","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"},"waitingForDebugger":false}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"2CB6C0B0B095AC86BD624D2E9FAC08F9"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"2CB6C0B0B095AC86BD624D2E9FAC08F9"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":2,"result":{}}' ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"3510618358C546EB9217B411B326F038","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"1C276E81494F7EBDD815DA24AA68CB7F","targetInfo":{"targetId":"3510618358C546EB9217B411B326F038","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"},"waitingForDebugger":false},"sessionId":"2CB6C0B0B095AC86BD624D2E9FAC08F9"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"1C276E81494F7EBDD815DA24AA68CB7F"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"1C276E81494F7EBDD815DA24AA68CB7F"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"2CB6C0B0B095AC86BD624D2E9FAC08F9"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"2CB6C0B0B095AC86BD624D2E9FAC08F9"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.createTarget","params":{"url":"about:blank"},"id":3}'
  puppeteer:protocol:SEND ► ] +0ms
[0423/104023.957182:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"B66BE1AE2AE3447390813B96F5E50ABF","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"0B0D303E89762BB291CE06B17BC230AA","type":"tab","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"0B0D303E89762BB291CE06B17BC230AA","type":"tab","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"47D803CB20836F1D716E75E2FCDCA065","targetInfo":{"targetId":"0B0D303E89762BB291CE06B17BC230AA","type":"tab","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"},"waitingForDebugger":true}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"47D803CB20836F1D716E75E2FCDCA065"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"47D803CB20836F1D716E75E2FCDCA065"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":3,"result":{"targetId":"B66BE1AE2AE3447390813B96F5E50ABF"}}' ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"B66BE1AE2AE3447390813B96F5E50ABF","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"6BAAC22732EC6264F11054DFC986DD05","targetInfo":{"targetId":"B66BE1AE2AE3447390813B96F5E50ABF","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"},"waitingForDebugger":false},"sessionId":"47D803CB20836F1D716E75E2FCDCA065"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"47D803CB20836F1D716E75E2FCDCA065"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Network.enable","id":3,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Network.setCacheDisabled","params":{"cacheDisabled":false},"id":4,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Fetch.disable","id":5,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.enable","id":6,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.getFrameTree","id":7,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":8,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.enable","id":9,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Performance.enable","id":10,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Log.enable","id":11,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"47D803CB20836F1D716E75E2FCDCA065"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"3510618358C546EB9217B411B326F038","type":"page","title":"about:blank","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"1C276E81494F7EBDD815DA24AA68CB7F"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"1C276E81494F7EBDD815DA24AA68CB7F"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":5,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
[0423/104023.969800:WARNING:runtime_features.cc(728)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"B66BE1AE2AE3447390813B96F5E50ABF","type":"page","title":"about:blank","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStoppedLoading","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":3,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":4,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":6,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":7,"result":{"frameTree":{"frame":{"id":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"7818FD819C085672BB0816A62B2C2964","url":"about:blank","domainAndRegistry":"","securityOrigin":"://","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"InsecureScheme","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]}}},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"7818FD819C085672BB0816A62B2C2964","name":"commit","timestamp":97582.50295},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"7818FD819C085672BB0816A62B2C2964","name":"DOMContentLoaded","timestamp":97582.503078},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"7818FD819C085672BB0816A62B2C2964","name":"load","timestamp":97582.503586},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"7818FD819C085672BB0816A62B2C2964","name":"networkAlmostIdle","timestamp":97582.50351},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"7818FD819C085672BB0816A62B2C2964","name":"networkIdle","timestamp":97582.50351},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":8,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","uniqueId":"8703613886202040495.-3633262949820770451","auxData":{"isDefault":true,"type":"default","frameId":"B66BE1AE2AE3447390813B96F5E50ABF"}}},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":9,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":10,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":11,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"//# sourceURL=pptr:internal","worldName":"__puppeteer_utility_world__"},"id":12,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":12,"result":{"identifier":"1"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.createIsolatedWorld","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","worldName":"__puppeteer_utility_world__","grantUniveralAccess":true},"id":13,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":2,"origin":"","name":"__puppeteer_utility_world__","uniqueId":"-1064249186974532386.51555205590110432","auxData":{"isDefault":false,"type":"isolated","frameId":"B66BE1AE2AE3447390813B96F5E50ABF"}}},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":13,"result":{"executionContextId":2},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Emulation.setDeviceMetricsOverride","params":{"mobile":false,"width":800,"height":600,"deviceScaleFactor":1,"screenOrientation":{"angle":0,"type":"portraitPrimary"}},"id":14,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Emulation.setTouchEmulationEnabled","params":{"enabled":false},"id":15,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":14,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":15,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.navigate","params":{"url":"file:///root/workspace/meteogram/font.html","frameId":"B66BE1AE2AE3447390813B96F5E50ABF"},"id":16,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStartedLoading","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.requestWillBeSent","params":{"requestId":"9E98725F719466B71AEAE2944F7B4FB7","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","documentURL":"file:///root/workspace/meteogram/font.html","request":{"url":"file:///root/workspace/meteogram/font.html","method":"GET","headers":{"sec-ch-ua":"\\"HeadlessChrome\\";v=\\"123\\", \\"Not:A-Brand\\";v=\\"8\\", \\"Chromium\\";v=\\"123\\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\\"Linux\\""},"mixedContentType":"none","initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin","isSameSite":true},"timestamp":97582.523906,"wallTime":1713865224.010861,"initiator":{"type":"other"},"redirectHasExtraInfo":false,"type":"Document","frameId":"B66BE1AE2AE3447390813B96F5E50ABF","hasUserGesture":false},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.responseReceived","params":{"requestId":"9E98725F719466B71AEAE2944F7B4FB7","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","timestamp":97582.529591,"type":"Document","response":{"url":"file:///root/workspace/meteogram/font.html","status":200,"statusText":"OK","headers":{"Content-Type":"text/html","Last-Modified":"Tue, 23 Apr 2024 09:40:24 GMT"},"mimeType":"text/html","charset":"","connectionReused":false,"connectionId":0,"remoteIPAddress":"","remotePort":0,"fromDiskCache":false,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":-1,"protocol":"file","alternateProtocolUsage":"alternativeJobWonWithoutRace","securityState":"secure"},"hasExtraInfo":false,"frameId":"B66BE1AE2AE3447390813B96F5E50ABF"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":16,"result":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"init","timestamp":97582.532177},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"B66BE1AE2AE3447390813B96F5E50ABF","type":"page","title":"font.html","url":"file:///root/workspace/meteogram/font.html","attached":true,"canAccessOpener":false,"browserContextId":"0F97B1964BB14DEA51F588BE03FBC5B1"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextsCleared","params":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameNavigated","params":{"frame":{"id":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","url":"file:///root/workspace/meteogram/font.html","domainAndRegistry":"","securityOrigin":"file://","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"Secure","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]},"type":"Navigation"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":3,"origin":"file://","name":"","uniqueId":"-9199191925608155630.1560103195125049649","auxData":{"isDefault":true,"type":"default","frameId":"B66BE1AE2AE3447390813B96F5E50ABF"}}},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":4,"origin":"://","name":"__puppeteer_utility_world__","uniqueId":"-8766348129434233768.-3466841952020746898","auxData":{"isDefault":false,"type":"isolated","frameId":"B66BE1AE2AE3447390813B96F5E50ABF"}}},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"9E98725F719466B71AEAE2944F7B4FB7","timestamp":97582.537466,"dataLength":965,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.loadingFinished","params":{"requestId":"9E98725F719466B71AEAE2944F7B4FB7","timestamp":97582.528498,"encodedDataLength":965},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.domContentEventFired","params":{"timestamp":97582.539182},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"DOMContentLoaded","timestamp":97582.539182},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.requestWillBeSent","params":{"requestId":"15651.2","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","documentURL":"file:///root/workspace/meteogram/font.html","request":{"url":"file:///root/workspace/meteogram/NotoColorEmoji-Regular.ttf","method":"GET","headers":{"Referer":"","User-Agent":"Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/123.0.6312.105 Safari/537.36"},"mixedContentType":"none","initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin","isSameSite":true},"timestamp":97582.539851,"wallTime":1713865224.026833,"initiator":{"type":"parser","url":"file:///root/workspace/meteogram/font.html","lineNumber":27,"columnNumber":9},"redirectHasExtraInfo":false,"type":"Font","frameId":"B66BE1AE2AE3447390813B96F5E50ABF","hasUserGesture":false},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.responseReceived","params":{"requestId":"15651.2","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","timestamp":97582.54612,"type":"Font","response":{"url":"file:///root/workspace/meteogram/NotoColorEmoji-Regular.ttf","status":200,"statusText":"OK","headers":{"Last-Modified":"Tue, 23 Apr 2024 09:19:41 GMT","Content-Type":"font/ttf"},"mimeType":"font/ttf","charset":"","connectionReused":false,"connectionId":0,"fromDiskCache":false,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":-1,"protocol":"file","alternateProtocolUsage":"alternativeJobWonWithoutRace","securityState":"secure"},"hasExtraInfo":false,"frameId":"B66BE1AE2AE3447390813B96F5E50ABF"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.546161,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.594458,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.595595,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.596607,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.597636,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"firstPaint","timestamp":97582.595265},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"firstContentfulPaint","timestamp":97582.595265},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"firstMeaningfulPaintCandidate","timestamp":97582.595265},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.598748,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.59968,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.600761,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.60171,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.602828,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.603834,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.604654,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.605307,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.606115,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.606782,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.607381,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.607969,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.608587,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.609211,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.609787,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.610448,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.611108,"dataLength":1048576,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"15651.2","timestamp":97582.611728,"dataLength":947320,"encodedDataLength":0},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.loadingFinished","params":{"requestId":"15651.2","timestamp":97582.613026,"encodedDataLength":24015992},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.loadEventFired","params":{"timestamp":97582.649719},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"load","timestamp":97582.649719},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.callFunctionOn","params":{"functionDeclaration":"() => document.fonts.ready\\n//# sourceURL=pptr:evaluate;file%3A%2F%2F%2Froot%2Fworkspace%2Fmeteogram%2Fnodeserver.js%3A1814%3A28\\n","executionContextId":3,"arguments":[],"returnByValue":true,"awaitPromise":true,"userGesture":true},"id":17,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStoppedLoading","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF"},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":17,"result":{"result":{"type":"object","value":{}}},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   `{"method":"Runtime.callFunctionOn","params":{"functionDeclaration":"() => {\\n                    const span = document.createElement('span');\\n                    span.textContent = '😊';\\n                    span.style.fontFamily = 'Noto Color Emoji';\\n                    document.body.appendChild(span);\\n                    const { fontFamily } = window.getComputedStyle(span);\\n                    span.remove();\\n                    return fontFamily;\\n                }\\n//# sourceURL=pptr:evaluate;file%3A%2F%2F%2Froot%2Fworkspace%2Fmeteogram%2Fnodeserver.js%3A1816%3A40\\n","executionContextId":3,"arguments":[],"returnByValue":true,"awaitPromise":true,"userGesture":true},"id":18,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}`
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":18,"result":{"result":{"type":"string","value":"\\"Noto Color Emoji\\""}},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
"Noto Color Emoji"
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.bringToFront","id":19,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":19,"result":{},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.captureScreenshot","params":{"format":"png","captureBeyondViewport":false},"id":20,"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":20,"result":{"data":"iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAACAASURBVHic7d17tJV1nfjxzwbOORwQEBQQZIk3JG+jaV5Ik0QSVGgiSVKo8MLkBKXZpDbVLysnnbSxxswmI7W0qaZmdImXNFOXjdYoM5KmVlriNRUlRECu398frL3jcPbhcs7hc8Ber7VYS5/97Oc8t/08+71vT6WUUgIAACBBt66eAQAA4K+HAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0mxSgLzxxhtRqVSiUqnEgw8+uNHx99xzz6hUKnHNNdd0dP5i+vTpUalU4sILL6wNu+aaa6JSqcTYsWM7PP3FixfXlu2Xv/xlh6fHprvggguiUqnE3/zN32xwvBkzZkSlUomDDjpog+OdfPLJUalU4r3vfW+756kz9y1Y16xZs6JSqcT555/f1bOyxRx++OFRqVSiqakpHn/88Q2O++1vfzsqlUpMnz49Z+a2Qffff3985CMfiX333Tf69+8fDQ0NMXDgwDjqqKPi4osvjldeeaXT/la9c+2bTXX/3NR/73znO7t6lluZNm1aVCqVuPjii2vDqo+l8ePHd+Gcsal23XXXqFQq8Ytf/KKrZ6VL/dW/A9LY2Fj3v9nyjj/++IiIePjhh+OFF15oc7w77rgjIiIeeuihePnll+uOU0qJn//85xERcdxxx3XynJLhox/9aGy//fZdPRsd9mZZjo5YsWJFzJw5M/VvvpnW++LFi2Py5Mnx9re/Pa688sp47LHHoqGhIYYMGRKvvvpq3HvvvfGpT30qRowYET/72c+6ena3OQMHDoyRI0du9N8uu+zS1bMKb1oCRIB0mbe97W2x4447RkTE7bffXnec3/3udzF//vzo1atXlFLaPNnOmzcvXnrppYgQINuqBx54oKtnoVO8WZajI7bffvv4+c9/Htdff33a33yzrPc33ngjjj766PjJT34SvXv3jgsvvDCeffbZeOmll+Lpp5+OZcuWxW233RajRo2KhQsXxnHHHRe33XZbV8/2NuXcc8+Nxx9/fKP/vvvd73b1rLZy9dVXx7Jly+KTn/xkbdipp54ay5Yti5tuuqkL5ww2z199gFQqlejRo0dECJBs3bp1i3HjxkVExE9/+tO641Tf/Zg2bVqL/29rvP333z+GDRvW2bPKFrZy5cp46KGHuno2OuzNshwd9ZnPfCYiIj7xiU/EokWLtvjfezOt9/PPPz/mzp0b2223Xdx1113x6U9/OoYOHVq7vbGxMcaNGxd33313TJw4MVatWhUzZ86MN954owvnmiwNDQ3Rs2fP6N69e21Y9+7do2fPntHQ0NCFcwabJz1AXnzxxTj33HNjn332iebm5ujTp08ccMAB8YUvfCGWLFnS4ek//fTTMWvWrNhrr72iubk5tttuu9h7773jnHPOieeff77ufarhIUDyVd+t+NnPfhallFa3V98ZmTFjRvTs2XOjAbL+ux8rVqyIr33tazFq1Kjo27dvNDc3x+677x5nnnlmzJ8/f7Pm9fnnn4+PfexjMWLEiOjZs2f0798/JkyY0OYrr5u7Lw4fPjwqlUo888wzcc8998To0aOjX79+MWDAgDjuuOPikUceiYiIp556KqZOnRpDhgyJpqam2Hfffdv8vlVnLv+WMm3atGhsbIzly5fHokWLap+/XvdV3SVLlsRFF10UBx98cPTt2zeamppil112ialTp27S99IybMpyRKx9srBw4cKYNWtW7LLLLtHU1BSDBw+OadOmxbPPPlt32vPmzYsPfvCDtfF32GGHGD16dFx77bV1Hzdd7V3veldMnDgxXnzxxfj0pz+92fcvpcT1118fY8eOjR122CEaGxtj0KBBcdxxx8WPf/zjFuNuynrfnOl1pZdffjn+7d/+LSIiLrroojjkkEPaHLexsTGuuuqqOPHEE+OCCy5otR+051zYlvvvvz9OOumk2HnnnaOxsTG23377OPzww+MrX/lKLFu2rNX4O++8c1QqlXjuuefi0ksvjWHDhkVTU1ObH6HdVmyJY/Tmbqdt5Tsgm3Puufzyy6NSqcRb3vKWWL58eatpffWrX41KpRJ77713i9B+7bXX4oILLoi3vvWt0adPn2hoaIhBgwbFCSecUPfTEldffXVUKpU4/fTTa+8iDR8+PHr27Bl77LFHXHTRRbXH0ezZs+PAAw+MXr16xYABA+L9739/q4+Kf/3rX699j23ZsmVx7rnnxm677RY9e/aMQYMGxZQpU+KJJ57YrPV24403xvHHHx8DBw6MxsbGGDJkSJx44olx7733btZ0tgllEyxbtqxERImI8sADD2x0/D322KNERLn66qtbDH/00UfLTjvtVCKi7LHHHuVDH/pQOemkk8qQIUNKRJR99tmnvPzyyy3u86EPfahERPniF79YG3b11VeXiCjHHHNMi3F/9atfle23375ERBk5cmSZOnVqOeWUU8qIESNKRJSBAweWhx9+uNX8Vu/z3HPPbcrqoBO9/PLLpVu3biUiyty5c1vctnLlytK3b9/Sr1+/smrVqvKOd7yjRER59NFHW4y3bNmy0tzcXCKi3H333bXhS5YsKaNGjSoRUfr371/e9773lenTp5d99923RETp06dP+eUvf9liWm3tW/PmzSsDBgwoEVHe8pa3lPe85z3lkEMOKRFRKpVKufbaa1uM3559ca+99ioRUWbPnl2am5vL2LFjy6RJk8qgQYNKRJTBgweXJ598sgwdOrTsu+++ZcqUKWW//farPTbnzJnTYnrtWf6u8IMf/KCcfvrpJSJKU1NTOe+888p5551Xfvvb35ZSSlmwYEHZf//9a+tg0qRJ5bTTTiuHH354iYjSvXv3ct1113XxUmx8OWbOnFkiopx//vll7733LkOHDi0nnXRSmThxYunVq1eJiDJixIjyxhtvtJjuD3/4w9LY2Fgiohx22GHljDPOKCeccELtPu9///vL6tWru2KRWznssMNKRJT/+Z//KX/84x9Lr169Srdu3eqeN6666qoSEeVDH/pQi+Fr1qwpU6dOLRFRevbsWcaNG1dmzJhRxo0bV1sPZ555Zm38ja33zZ1eV/r2t79dIqL069evLF26tN3Tac/xp965tpRSvvnNb9aO0aNGjSqnn356mTRpUtlxxx1LRJRDDjmkLF68uMV9qs8BLrvsslKpVMrhhx9exowZUxYsWNDuZeoM1f3zkksuadf9O/sY3Z7tVN2XL7rootqw6mNp3Lhx7Vquzra55541a9aUMWPGlIgon/vc51pM69lnny19+vQpPXr0KL/61a9qw19//fXa9Pr3718mTZpUpk2bVtvGEVG++93vtpjW97///RIRtePusGHDypQpU8rb3/722n0uvfTS8oUvfKE0NzeXiRMnlhNOOKH07t27tq+v61vf+laJiPKe97ynjB07tvTt27eMGTOmxeOjf//+5Xe/+12L+w0fPrxERLn33ntbDD/rrLNKRJSGhoYyfvz4csYZZ5Sjjjqq9jzj61//ekc2y1YnLUBWr15dexLx4Q9/uKxatap222uvvVYmTJhQIqKccsopLaa1qQGycuXKsvvuu5eIKOecc05Zs2ZNi79dnc7BBx/can6rB4/144cc1QPGl770pRbD77333hIRZcKECaWUUi644IISEeWrX/1qi/HuuOOOEhGlb9++ZcWKFbXh1Sd8hxxySHnllVdqw9esWVM+//nPl4gou+++e1m+fHnttnr71qpVq8pb3vKWEhHlwgsvbPG3//M//7NUKpXS1NRUC9j27ov77LNPiYiy4447lptvvrk2/KWXXqrFz9ChQ8usWbNqTzjXrFlTTjzxxBIR5b3vfW+L6bVn+bvKww8/XHvitb4PfOADJSLKkUceWV5//fUWt82ePbtEROndu3d54YUXsma3TRtajur22H777cuUKVPKkiVLarc98sgjtSfDN954Y234/PnzS3Nzc6lUKq1Opk888UTtWPutb31ryy3UZqg+lu+///5SSin/9E//VCKivO1tb2sVSW0FSHWbDho0qNWJe968ebUnAzfddFNt+IbWe3um11WqIXX88ce3exrtPf7UO9c+9thjpaGhoVQqlfJf//VfLcZfuHBh7Zz+iU98osVte++9d4mIMnz48HLLLbe0e1k6W0cDpDOP0e3dTttCgLTn3PPUU0+Vvn37lqampvL444/Xhr/3ve8tEVE++9nPtvgb3/jGN0pElF133bXF3yillMsvv7z2mF/3uPOjH/2odgweO3Zsi3D+7Gc/W4u+YcOGlV//+te12x566KFSqVRKRLQYXn2+0NzcXA4++ODy6quv1m5btGhRbX+bNGlSi/mrFyD/8R//USKiDBgwoDz00EMtxr/ttttKU1NT6dGjR6sXYLdlmx0gQ4YMKcOHD9/gvx49erQKkJtvvrn24Fz/Fb5SSnnhhRdKjx49Svfu3VuEwKYGyA033FB7BWLdJ6FVCxYsqM3Xgw8+2OK2YcOGlYgoixYt2pTVQSerhsU73/nOFsP/3//7fyUiyte+9rVSyl+C5IQTTmgx3rnnntvq4P7qq6+WpqamEhF13/UqpdRemVr3xFpv37r99ttrB8x6rzT/7d/+bdl7773LT37yk1JK+/fF6qs5U6ZMaXWfU089tXZwXH+a1cfWyJEjO7z8XaWtJ5Avv/xyaWhoKBFR5s2bV/e+b33rW2uvXHW1TQmQHXfcsbz22mutbh8/fnyr5fjkJz9ZIqKceOKJdf/ej3/84xIR5YADDui8heiA9QNk+fLltXi/4oorWozbVoAceOCBLR736/v4xz/e4oWJUja83tszva5S3QfOPvvsdk+jvcefeufas88+u+4TqKobb7yx9irvypUra8Orx7Kt5QlxVXX/HDp0aDnggAM2+m/9d6E68xjd3u20tQdIR8491RcLRo8eXUop5aabbioRUQ488MBW6+jXv/51+d73vlfuvPPOVtNfsWJF6d69e4mIFjFTfZJfqVRaPZGfP39+7XnuZZdd1mqa1U88/Pu//3ttWPX5QkSUX/ziF63u87Of/axERGlsbGzx4lm9AKlO//LLL6+3ysqsWbNKRJSzzjqr7u3bos3+DsgLL7wQ8+fP3+C/VatWtbpf9SdSjz322Ghqamp1+0477RQHH3xwrF69ul2fdbvnnnsiImLs2LF1v4i1ww47xIEHHhgRaz/Pui7fAela1e9t3HffffH666/Xhle//1G9Jsdhhx0W2223Xdx9992xYsWK2njV739Uf9Y3IuK///u/Y/ny5bHrrrvGfvvtV/fvnnDCCRERcdddd21w/m6++eaIiDj66KOjW7fWD5kbbrghHn300dr1RzqyL0ZEHHPMMa2G7bzzzhERcdBBB7WaZvW21157rTasM5e/K913332xcuXK2Hnnndu8Xkx1fdVbl1uj0aNHR58+fVoNr27H6q+5RfzluDlx4sS60xo/fnx069Yt5s2bFwsXLtwCc9sxjY2N8Y1vfCMiIj796U/Hiy++uMHxFy1aFPPmzYuIlo/ndW3O9u7s6W1p1eNf79692z2Njh5/6k2rrXU3ZsyYqFQqsXDhwrrXfdlaf5Hw+eefj3nz5m303+rVq+vevzOO0Z25nbYmHTn3nHbaaTFhwoS455574oorrohZs2ZFU1NTfO9732u1jvbff/+YNm1ajBkzJiIiXn311XjyySfjiSeeiPnz59d+kvvPf/5zq78/ZMiQ2HvvvVsMq26jiLXXi1lfvW1Y1b9//zjiiCNaDT/yyCMjYu33YZ566qlWt1ctWrQo5s6dGxFtH+u3hfP15uqxuXd44IEH4m1ve9sGx9lzzz3jySefbDGsuvIffPDBNi889ac//SkiIn7/+99v7mzVpr/bbru1Oc6uu+4aDz74YDz99NMthguQrlX9Od4FCxbE3XffHRMmTIhFixbFAw88EEOHDo199tknItb++sdRRx0Vt9xyS9x///0xevToWLBgQe3Xb9b9Al51f3j99dfb3N+qJ8yN7W/VaW3qr2t1ZF9s6+9Uf/Fk3YPk+retWbOm1Tx0xvJ3pU1dlxFRd11ujdpalp49e0ZEtHjSU13+6667rs0TT0NDQyxfvjx+//vfx6GHHtq5M9sJjj766DjllFPi+9//fnziE5+I6667rs1x58+fX/sSaHW7rq86/JVXXomlS5dGr1690qa3pfXt2zci6j/J2VQdPf5szrS222672GGHHWLBggXx9NNPt3rCue6vd21NLrnkkviHf/iHdt+/M4/RnbGdtiYdPfdcddVVse+++8asWbMiIuKf//mf2wyZW2+9Nb785S/H/fffX/fL6xFR90c6NrT9IjZ9G1btueeedf92U1NT9OnTJxYvXhwvvvhi7LvvvnXHe+aZZ2rT/cxnPtNiXqqqIbU1n68312YHSHtVX9l55JFHar8U0Zb2HHyXLl0aERHNzc1tjlM9wa//qx2NjY3RvXv3uq9us+VVf473+uuvj9tvvz0mTJgQP//5z2P16tWtrkg+duzYuOWWW+L222+P0aNHx5133hmllDjggANaHDSq+9uCBQvi2muv3eDf39j+Vv3VjU39icOO7Isb+zubOg+dufxdqaPrcmtU7+TSlup23JSLzW3N2/ErX/lK3HzzzXH99dfH6aefHkcffXTd8arbu6Ghofbz6Ourbu+Itdt8Q8HQ2dPb0oYPHx4RsdFz5IZ05mOmo9Oq907fm0FnHKPfjMe2iI6fe3baaacYO3Zs/OhHP4pu3brFSSedVPe+s2fPjjPOOCMqlUqMGzcuxo8fH4MGDaqt/xkzZtR99yNi49toc3/OeLvttmvztr59+8bixYs3+HPk637yY0Mv0ESs3RdWrVrV5vFsW5L2jLu6gc4999woa7970ua/Cy+8cLOnX33Luvqgrqd62/o7y6BBg2LIkCGb/TfpPNW36qsfOak+4XrXu97VYrxqkFTHa+vnd6vb+NBDD93o/vaLX/xig/NW3bdeffXVTVqWjuyLnaUzl78rbQ3rsitVl+mWW27Z6HZcP9a3JjvttFPtuP6Rj3wkVqxYEZVKpdV41e29cuXKuh/ljWi5L2xsm3f29La0t7/97RGx9iM3m3q8eeGFF1q8ytuZj5m/9sfflvRmXbcdPffcfvvt8aMf/Sj69+8fa9asiTPOOKPVuxgrVqyoXYjxsssui1tvvTXOOuusOPnkk2Py5MkxefLkLb+g62jr3ZeIv0TWgAED2hxn3e27ZMmSja63N0N8RCQGSPUtqi117YHdd989IiL+8Ic/tDlO9bb13/K844474plnntki88WmqX6W/dFHH40FCxbUDkzrP6naf//9Y/DgwTF37txYunRp7XO06wdIZ+5v1X2rrc9wrlixIl5//fXaQagj+2Jn2dKPtyxbw7rsSm+W7RixNjwOOuigePzxx+PSSy+t+13AXXfdtfZOdFvbvDq8eo2FDens6W1p7373u6NPnz7xxhtvxKWXXrrR8ZcuXRpHHnlkHHjggfHb3/42Ijr3MbOxaS1atKgWSm/Gx9+W9GY9tnXkmLVo0aI444wzolu3bnHbbbfFMcccE3feeWdcccUVLcb77W9/GwsXLoxu3brFmWee2Wo6zzzzTJvvfmwJbS3r8uXLY/HixRERMXjw4Dbvv9tuu9XeGd+WPm7XUWkBUv2i0K233trmRwV+8pOfxGOPPdau6b/zne+MiLUxUa9Gn3/++fj1r38dEWu/BMrWZYcddohDDjkkSilxyy23xCOPPBL77bdf7LTTTq3GHTNmTKxcuTJuvvnmeOKJJ6Jfv361Vw6rRo0aFc3NzfHiiy/G3XffXfdv3nvvvXHfffe1+UXDqurHRW677bYWb5VWTZkyJfr06ROXX355RGwd+2JnLn+m9V/pGjVqVDQ2NsYLL7wQ//u//1t3/J/+9KcR8Zf1vjWo97nj9qgeN3/wgx/UvX358uVx3XXX1b4/tzXr1q1bfPOb34xu3brFhRdeGK+88kqrcfr06RMHHXRQRETMmTOn7nSqFxist73XX+8dnV62vn37xtlnnx0REV/+8pfjhhtuaHPcFStWxNSpU+MPf/hDrFixovZdls48/lSntbF1N3To0BgxYsQGp0VLW8N5YkvoyLnn7LPPjmeeeSbOPvvsOPTQQ+Nb3/pWNDc3x3nnnVf3uw/du3ev+3GpSy65pPbfnXUs3pDnnnuu7nPX++67LyIievXqtcGI7N27d+37e20d65988smYM2dOp1ywe2uRFiBjx46N/fffP1577bXaVSjXNXv27Jg8eXKMGTOmXZ93HD9+fOy1116xYMGC+NSnPtXitpUrV8bMmTNjzZo1MX78+Bg5cmTttuXLl8c111wT11xzzSa/5c2WUX0X41//9V9jzZo1bX6kpDr8sssui4i1H9Na/y3Jfv36xWmnnRYREbNmzWr17sUDDzwQkyZNiiOPPLL2KzltOfbYY2PkyJGxdOnSOOuss1ocNOfMmRNz5syJHj16xIknnhgR7d8XO1NnLn+G6mfFFy9e3OKJ6YABA+IDH/hAREScddZZrT6u8JWvfCUee+yxGDRoUJx88sl5M9yGtpajvT784Q9Hr1694p577mn1inh1X/rABz5Q91XArdEhhxwSf/d3fxfLli2Liy66qO44Z511VkREXHzxxa1+zOS+++6L73znO1GpVOKjH/1obfiG1nt7pteVPvvZz8aRRx4Zq1evjsmTJ8fMmTPjd7/7Xe32lStXxm233RZHHHFE3HDDDdG/f//43ve+V3v3pjOPP2eeeWY0NTXFnDlz4sYbb2xx25/+9KfaVe4/9rGP1f1IHW3bGs4TW0J7zz1z5syJa665Jnbbbbf44he/GBFr3yX6/Oc/H0uXLo0PfvCDtXPvnnvuGQ0NDbXHwrquvfbauOmmm2pB/Oyzz26pRa1paGiIs88+u0VIvvHGG3HBBRdERMSkSZM2+u7qOeecExFrn9fceeedLW576aWX4v3vf39MnDgxrrrqqha3XXzxxTFr1qzaC3HblE35rd7OuhL6b37zm9pVz4cNG1amTp1apk6dWru4T69evVr9pvPmXAl97ty5tYsB7bfffmX69OllypQptd9cHjFiRHn22Wdb3Ofll1+uLdv//d//bcrqYAv51a9+VdsWEdHiQk/rWvf3uiOifOc736k73uLFi8sRRxxRItZeeXXSpEll+vTp5R3veEftokLr/pZ6KRvet6pXrB02bFiZMGFCOeigg2rz8C//8i+txt/cfbH6G/N33HFHq2X53Oc+VyLWXsRzfdVrIAwePLjDy99VVq1aVXbaaafahaXGjx9fvvnNb5ZS1l7wrHoth6FDh5YpU6aU6dOn167/0bt377q/Bd8VNrQc1euAnHfeeXXvW719/Yu6/fCHP6xdC+XAAw8s06dPL5MnTy6DBw8uEVH23HPPVvtSV1n/OiD1LFy4sHbx16hzHZBS/nJNhd69e5cJEyaUGTNmlDFjxtR+2//iiy9uMf6G1nt7ptfVlixZUrveQ/XfgAEDWlxnKyLKXnvtVX7zm9+0un97jj9tXQl99uzZpVu3bqVSqZTRo0eXGTNmlIkTJ5Z+/fqViCgTJ05scQ2QUv5yLLv11ls7f+V0QHX/HDhwYBk5cuQm/Zs7d27t/p19jG7PdtrarwNSyuafe1555ZXac8P11+2qVatqx/p1L1Z8zjnnlIgoTU1N5ZRTTil///d/X9761reW3r17l7vvvrucccYZJSLKLrvsUmbNmlUWLVpUuw7IEUccUXe+q4+rehe1rV5M8sorr6wNqz5fGD9+fBk1alTZeeedy/ve974yY8aM2kUmBw4cWJ566qkW09rYldC7d'... 5225 more characters
  puppeteer:protocol:RECV ◀ ] +0ms
generated successfully.
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"networkAlmostIdle","timestamp":97582.540173},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"firstMeaningfulPaint","timestamp":97582.595265},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"networkIdle","timestamp":97582.64969},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"B66BE1AE2AE3447390813B96F5E50ABF","loaderId":"9E98725F719466B71AEAE2944F7B4FB7","name":"InteractiveTime","timestamp":97587.596425},"sessionId":"6BAAC22732EC6264F11054DFC986DD05"}'
  puppeteer:protocol:RECV ◀ ] +0ms

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

And the output when pointing to the ttf file that works:

  puppeteer:browsers:launcher Launching /usr/bin/chromium --allow-pre-commit-input --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-background-pages --disable-component-update --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-field-trial-config --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --disable-search-engine-choice-screen --disable-sync --enable-automation --export-tagged-pdf --generate-pdf-document-outline --force-color-profile=srgb --metrics-recording-only --no-first-run --password-store=basic --use-mock-keychain --disable-features=Translate,AcceptCHFrame,MediaRouter,OptimizationHints,ProcessPerSiteUpToMainFrameThreshold --enable-features=NetworkServiceInProcess2 --headless --hide-scrollbars --mute-audio about:blank --no-sandbox --disable-setuid-sandbox --remote-debugging-port=0 --user-data-dir=/tmp/puppeteer_dev_chrome_profile-XXXXXXzjdg9T {
  detached: true,
  env: {
	PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'true',
	PUPPETEER_EXECUTABLE_PATH: '/usr/bin/chromium',
	PUPPETEER_DISABLE_HEADLESS_WARNING: 'true'
  },
  stdio: [ 'pipe', 'pipe', 'pipe' ]
} +10s
  puppeteer:browsers:launcher Launched 16832 +3ms
[0423/104338.832898:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[0423/104338.834368:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[0423/104338.834587:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[0423/104338.849468:INFO:policy_logger.cc(145)] :components/policy/core/common/config_dir_policy_loader.cc(118) Skipping mandatory platform policies because no policy file was found at: /etc/chromium/policies/managed
[0423/104338.850121:INFO:policy_logger.cc(145)] :components/policy/core/common/config_dir_policy_loader.cc(118) Skipping recommended platform policies because no policy file was found at: /etc/chromium/policies/recommended
[0423/104338.868356:WARNING:bluez_dbus_manager.cc(248)] Floss manager not present, cannot set Floss enable/disable.
[0423/104338.861498:ERROR:angle_platform_impl.cc(44)] Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[0423/104338.895275:ERROR:gl_display.cc(515)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[0423/104338.895360:ERROR:gl_display.cc(786)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[0423/104338.895423:ERROR:gl_display.cc(820)] Initialization of all EGL display types failed.
[0423/104338.895506:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[0423/104338.895747:ERROR:angle_platform_impl.cc(44)] Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[0423/104338.895834:ERROR:gl_display.cc(515)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[0423/104338.895883:ERROR:gl_display.cc(786)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[0423/104338.895928:ERROR:gl_display.cc(820)] Initialization of all EGL display types failed.
[0423/104338.895976:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.

DevTools listening on ws://127.0.0.1:35413/devtools/browser/6ee646d9-9d62-4cc2-867a-cd70ac441989
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setDiscoverTargets","params":{"discover":true,"filter":[{}]},"id":1}'
  puppeteer:protocol:SEND ► ] +0ms
[0423/104338.900708:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"08D97D751D9629DCD71B0951E13486C4","type":"page","title":"","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"169ef1b2-da8c-494b-8184-98dbfcde0d3e","type":"browser","title":"","url":"","attached":true,"canAccessOpener":false}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"4d97dfd3-c5c0-4cc9-9461-a79bdee33979","type":"browser","title":"","url":"","attached":false,"canAccessOpener":false}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"EF531B6A8D032AD3FAE07BF0B6392F15","type":"tab","title":"","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":1,"result":{}}' ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"page","exclude":true},{}]},"id":2}'
  puppeteer:protocol:SEND ► ] +0ms
[0423/104338.904255:WARNING:runtime_features.cc(728)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"EF531B6A8D032AD3FAE07BF0B6392F15","type":"tab","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"8C77CDD7CEEEF70FFA42C8D782E975C5","targetInfo":{"targetId":"EF531B6A8D032AD3FAE07BF0B6392F15","type":"tab","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"},"waitingForDebugger":false}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"8C77CDD7CEEEF70FFA42C8D782E975C5"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"8C77CDD7CEEEF70FFA42C8D782E975C5"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":2,"result":{}}' ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"08D97D751D9629DCD71B0951E13486C4","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"BBA2EFF08C1A40324C3E986E97D2CA49","targetInfo":{"targetId":"08D97D751D9629DCD71B0951E13486C4","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"},"waitingForDebugger":false},"sessionId":"8C77CDD7CEEEF70FFA42C8D782E975C5"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"BBA2EFF08C1A40324C3E986E97D2CA49"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"BBA2EFF08C1A40324C3E986E97D2CA49"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"8C77CDD7CEEEF70FFA42C8D782E975C5"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"8C77CDD7CEEEF70FFA42C8D782E975C5"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.createTarget","params":{"url":"about:blank"},"id":3}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"5B87105549921D4F624BB7E1368DC228","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"D4CDD6C0960D5E980B651172938D8E8B","type":"tab","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"D4CDD6C0960D5E980B651172938D8E8B","type":"tab","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"F40C1013F60832FC6374EED1D9ACFD4E","targetInfo":{"targetId":"D4CDD6C0960D5E980B651172938D8E8B","type":"tab","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"},"waitingForDebugger":true}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"F40C1013F60832FC6374EED1D9ACFD4E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"F40C1013F60832FC6374EED1D9ACFD4E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":3,"result":{"targetId":"5B87105549921D4F624BB7E1368DC228"}}' ] +0ms
[0423/104338.925528:WARNING:runtime_features.cc(728)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"5B87105549921D4F624BB7E1368DC228","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"B87BDC7CF3610E5845317C6541764E8E","targetInfo":{"targetId":"5B87105549921D4F624BB7E1368DC228","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"},"waitingForDebugger":false},"sessionId":"F40C1013F60832FC6374EED1D9ACFD4E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"F40C1013F60832FC6374EED1D9ACFD4E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"F40C1013F60832FC6374EED1D9ACFD4E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Network.enable","id":3,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Network.setCacheDisabled","params":{"cacheDisabled":false},"id":4,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Fetch.disable","id":5,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.enable","id":6,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.getFrameTree","id":7,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":8,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.enable","id":9,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Performance.enable","id":10,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Log.enable","id":11,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"08D97D751D9629DCD71B0951E13486C4","type":"page","title":"about:blank","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"BBA2EFF08C1A40324C3E986E97D2CA49"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":5,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"BBA2EFF08C1A40324C3E986E97D2CA49"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"5B87105549921D4F624BB7E1368DC228","type":"page","title":"about:blank","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStoppedLoading","params":{"frameId":"5B87105549921D4F624BB7E1368DC228"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":1,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":2,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":3,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":4,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":6,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":7,"result":{"frameTree":{"frame":{"id":"5B87105549921D4F624BB7E1368DC228","loaderId":"511D809AA6797C4F7B39104C525210A9","url":"about:blank","domainAndRegistry":"","securityOrigin":"://","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"InsecureScheme","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]}}},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"511D809AA6797C4F7B39104C525210A9","name":"commit","timestamp":97777.460911},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"511D809AA6797C4F7B39104C525210A9","name":"DOMContentLoaded","timestamp":97777.461097},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"511D809AA6797C4F7B39104C525210A9","name":"load","timestamp":97777.46181},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"511D809AA6797C4F7B39104C525210A9","name":"networkAlmostIdle","timestamp":97777.461488},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"511D809AA6797C4F7B39104C525210A9","name":"networkIdle","timestamp":97777.461488},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":8,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","uniqueId":"-7067496928013099718.5173776297283034892","auxData":{"isDefault":true,"type":"default","frameId":"5B87105549921D4F624BB7E1368DC228"}}},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":9,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":10,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"//# sourceURL=pptr:internal","worldName":"__puppeteer_utility_world__"},"id":12,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":11,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":12,"result":{"identifier":"1"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.createIsolatedWorld","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","worldName":"__puppeteer_utility_world__","grantUniveralAccess":true},"id":13,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":2,"origin":"","name":"__puppeteer_utility_world__","uniqueId":"4149412497371527595.8215501283136567232","auxData":{"isDefault":false,"type":"isolated","frameId":"5B87105549921D4F624BB7E1368DC228"}}},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":13,"result":{"executionContextId":2},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Emulation.setDeviceMetricsOverride","params":{"mobile":false,"width":800,"height":600,"deviceScaleFactor":1,"screenOrientation":{"angle":0,"type":"portraitPrimary"}},"id":14,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Emulation.setTouchEmulationEnabled","params":{"enabled":false},"id":15,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":14,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":15,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.navigate","params":{"url":"file:///root/workspace/meteogram/font.html","frameId":"5B87105549921D4F624BB7E1368DC228"},"id":16,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStartedLoading","params":{"frameId":"5B87105549921D4F624BB7E1368DC228"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.requestWillBeSent","params":{"requestId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","documentURL":"file:///root/workspace/meteogram/font.html","request":{"url":"file:///root/workspace/meteogram/font.html","method":"GET","headers":{"sec-ch-ua":"\\"HeadlessChrome\\";v=\\"123\\", \\"Not:A-Brand\\";v=\\"8\\", \\"Chromium\\";v=\\"123\\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\\"Linux\\""},"mixedContentType":"none","initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin","isSameSite":true},"timestamp":97777.494967,"wallTime":1713865418.981915,"initiator":{"type":"other"},"redirectHasExtraInfo":false,"type":"Document","frameId":"5B87105549921D4F624BB7E1368DC228","hasUserGesture":false},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.responseReceived","params":{"requestId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","timestamp":97777.501044,"type":"Document","response":{"url":"file:///root/workspace/meteogram/font.html","status":200,"statusText":"OK","headers":{"Content-Type":"text/html","Last-Modified":"Tue, 23 Apr 2024 09:43:38 GMT"},"mimeType":"text/html","charset":"","connectionReused":false,"connectionId":0,"remoteIPAddress":"","remotePort":0,"fromDiskCache":false,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":-1,"protocol":"file","alternateProtocolUsage":"alternativeJobWonWithoutRace","securityState":"secure"},"hasExtraInfo":false,"frameId":"5B87105549921D4F624BB7E1368DC228"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":16,"result":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"init","timestamp":97777.506897},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"5B87105549921D4F624BB7E1368DC228","type":"page","title":"font.html","url":"file:///root/workspace/meteogram/font.html","attached":true,"canAccessOpener":false,"browserContextId":"F0DE86965EB86D91D1096091F1C87A31"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextsCleared","params":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameNavigated","params":{"frame":{"id":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","url":"file:///root/workspace/meteogram/font.html","domainAndRegistry":"","securityOrigin":"file://","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"Secure","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]},"type":"Navigation"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":3,"origin":"file://","name":"","uniqueId":"-3089974670520466856.1615268681676738775","auxData":{"isDefault":true,"type":"default","frameId":"5B87105549921D4F624BB7E1368DC228"}}},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":4,"origin":"://","name":"__puppeteer_utility_world__","uniqueId":"-422730132023286381.3216705276995819807","auxData":{"isDefault":false,"type":"isolated","frameId":"5B87105549921D4F624BB7E1368DC228"}}},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","timestamp":97777.510985,"dataLength":957,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.loadingFinished","params":{"requestId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","timestamp":97777.499767,"encodedDataLength":957},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.domContentEventFired","params":{"timestamp":97777.512938},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"DOMContentLoaded","timestamp":97777.512938},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.requestWillBeSent","params":{"requestId":"16902.2","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","documentURL":"file:///root/workspace/meteogram/font.html","request":{"url":"file:///root/workspace/meteogram/NotoColorEmoji.ttf","method":"GET","headers":{"Referer":"","User-Agent":"Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/123.0.6312.105 Safari/537.36"},"mixedContentType":"none","initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin","isSameSite":true},"timestamp":97777.513704,"wallTime":1713865419.000685,"initiator":{"type":"parser","url":"file:///root/workspace/meteogram/font.html","lineNumber":27,"columnNumber":9},"redirectHasExtraInfo":false,"type":"Font","frameId":"5B87105549921D4F624BB7E1368DC228","hasUserGesture":false},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.responseReceived","params":{"requestId":"16902.2","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","timestamp":97777.516809,"type":"Font","response":{"url":"file:///root/workspace/meteogram/NotoColorEmoji.ttf","status":200,"statusText":"OK","headers":{"Last-Modified":"Thu, 30 Nov 2023 16:37:35 GMT","Content-Type":"font/ttf"},"mimeType":"font/ttf","charset":"","connectionReused":false,"connectionId":0,"fromDiskCache":false,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":-1,"protocol":"file","alternateProtocolUsage":"alternativeJobWonWithoutRace","securityState":"secure"},"hasExtraInfo":false,"frameId":"5B87105549921D4F624BB7E1368DC228"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.516839,"dataLength":1024,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.547865,"dataLength":1048576,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.549136,"dataLength":1047552,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.550095,"dataLength":1024,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.550322,"dataLength":1048576,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.551632,"dataLength":1047552,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.552274,"dataLength":1024,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.552614,"dataLength":1048576,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.553637,"dataLength":1047552,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.554509,"dataLength":1048576,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"firstPaint","timestamp":97777.547006},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"firstContentfulPaint","timestamp":97777.547006},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"firstMeaningfulPaintCandidate","timestamp":97777.547006},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.556963,"dataLength":1048576,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.558511,"dataLength":1048576,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.559526,"dataLength":1048576,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"16902.2","timestamp":97777.560407,"dataLength":495096,"encodedDataLength":0},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.loadingFinished","params":{"requestId":"16902.2","timestamp":97777.561577,"encodedDataLength":10980856},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.loadEventFired","params":{"timestamp":97777.614651},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"load","timestamp":97777.614651},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Runtime.callFunctionOn","params":{"functionDeclaration":"() => document.fonts.ready\\n//# sourceURL=pptr:evaluate;file%3A%2F%2F%2Froot%2Fworkspace%2Fmeteogram%2Fnodeserver.js%3A1814%3A28\\n","executionContextId":3,"arguments":[],"returnByValue":true,"awaitPromise":true,"userGesture":true},"id":17,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStoppedLoading","params":{"frameId":"5B87105549921D4F624BB7E1368DC228"},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":17,"result":{"result":{"type":"object","value":{}}},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   `{"method":"Runtime.callFunctionOn","params":{"functionDeclaration":"() => {\\n                    const span = document.createElement('span');\\n                    span.textContent = '😊';\\n                    span.style.fontFamily = 'Noto Color Emoji';\\n                    document.body.appendChild(span);\\n                    const { fontFamily } = window.getComputedStyle(span);\\n                    span.remove();\\n                    return fontFamily;\\n                }\\n//# sourceURL=pptr:evaluate;file%3A%2F%2F%2Froot%2Fworkspace%2Fmeteogram%2Fnodeserver.js%3A1816%3A40\\n","executionContextId":3,"arguments":[],"returnByValue":true,"awaitPromise":true,"userGesture":true},"id":18,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}`
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":18,"result":{"result":{"type":"string","value":"\\"Noto Color Emoji\\""}},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
"Noto Color Emoji"
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.bringToFront","id":19,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":19,"result":{},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Page.captureScreenshot","params":{"format":"png","captureBeyondViewport":false},"id":20,"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":20,"result":{"data":"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KafE/PnzN2heX3zxxfj0pz8dI0aMiC5dukSfPn1i6tSpHb7zuqHb4tChQ6Moinj++efjzjvvjIkTJ0avXr2ib9++cdhhh8Wjjz4aERHPPvtsHHfccTFw4MCora2NMWPGdPh7q825/FvKzJkzo6amJhoaGmLx4sXlmH77u7rLly+P8847L/bcc8/o2bNn1NbWxpAhQ+K4445br9+l5bA+yxGx+sXCokWLYvbs2TFkyJCora2NAQMGxMyZM+OFF15od9rz5s2Lj33sY+Xxt9tuu5g4cWJcccUV7T5vOtv73//+mDZtWrzyyivxhS98YYPvn1KKq666KiZPnhzbbbdd1NTURP/+/eOwww6LX/3qV63GXZ/HfUOm15kWLFgQ//Vf/xUREeedd17svffeHY5bU1MTF198cRx55JFxzjnntNkONuZY2JF77rknjj766Nhxxx2jpqYmevfuHfvtt19861vfipUrV7YZf8cdd4yiKOJvf/tbXHDBBTF48OCora3t8Cu024otsY/e0PW0rfwGZEOOPRdddFEURRG77bZbNDQ0tJnWd77znSiKIkaNGtUqtJcsWRLnnHNOvPvd744ePXpEdXV19O/fP4444oh2vy1x2WWXRVEUcdJJJ5U/RRo6dGh06dIldt555zjvvPPKz6NLLrkkxo8fH127do2+ffvGRz7ykTZfFf/e975X/h3bypUr48wzz4zhw4dHly5don///jFjxox4+umnN+hxu+666+Lwww+Pfv36RU1NTQwcODCOPPLImDt37gZNZ5uQ1sPKlStTrD7HUrr//vvXOf7OO++cIiJddtllrYY//vjjaYcddkgRkXbeeef08Y9/PB199NFp4MCBKSLS6NGj04IFC1rd5+Mf/3iKiPS1r32tPOyyyy5LEZEOPvjgVuPed999qXfv3iki0siRI9Nxxx2Xjj322DRixIgUEalfv37pkUceaTO/pfv87W9/W5+HY8tatTw1Pvq9tGLOyLTy/41O9feOSQ1/HJsaH31Xuu4/h6WjD+ydDh7bI03dq2c6/7SBacEfx6bmZ8en5mfHp9fmjUvfPWvHNG2fXungsT3SUQf0Tj8/f0hqfGRcavjD2FR/75i04s7Raen/jUiNz1yTUktTZy9tWrBgQaqoqEgRkR588MFWt61atSr17Nkz9erVKzU1NaX3vve9KSLS448/3mq8lStXprq6uhQR6Y477igPX758eZowYUKKiNSnT5/04Q9/OB1//PFpzJgxKSJSjx490r333ttqWh1tW/PmzUt9+/ZNEZF222239MEPfjDtvffeKSJSURTpiiuuaDX+xmyLu+66a4qIdMkll6S6uro0efLkNH369NS/f/8UEWnAgAHpmWeeSYMGDUpjxoxJM2bMSGPHji0/N+fMmdNqehuz/J3hF7/4RTrppJNSRKTa2tp01llnpbPOOiv96U9/SimltHDhwjRu3LjyYzB9+vR04oknpv322y9FRKqsrExXXnllJy/Fupfj1FNPTRGRzj777DRq1Kg0aNCgdPTRR6dp06alrl27pohII0aMSPX19a2m+8tf/jLV1NSkiEj77rtvOvnkk9MRRxxRvs9HPvKR1Nzc3BmL3Ma+++6bIiL9/ve/T3/9619T165dU0VFRbvHjYsvvjhFRPr4xz/eanhLS0s67rjjUkSkLl26pEMPPTTNmjUrHXrooeXH4ZRTTimPv67HfUOn15l+8pOfpIhIvXr1SitWrNjo6WzM/qe9Y21KKf3oRz8q76MnTJiQTjrppDR9+vS0/fbbp4hIe++9d1q6dGmr+5ReA1x44YWpKIq03377pUmTJqWFCxdu9DJtDqXt85vf/OZG3X9z76M3Zj2VtuXzzjuvPKz0XDr00EM3ark2tw099rS0tKRJkyaliEhf/vKXW03rhRdeSD169EhVVVXpvvvuKw9ftmxZeXp9+vRJ06dPTzNnziyv44hIP/3pT1tN6+c//3mKiPJ+d/DgwWnGjBnpPe95T/k+F1xwQfrqV7+a6urq0rRp09IRRxyRunXrVt7W3+7HP/5xioj0wQ9+ME2ePDn17NkzTZo0qdXzo0+fPumpp55qdb+hQ4emiEhz585tNfy0005LEZGqq6vTlClT0sknn5wOPPDA8uuM733ve5uyWrY62QKkubm5/CLiE5/4RGpqeuvF75IlS9LUqVNTRKRjjz221bTWN0BWrVqVdtpppxQR6YwzzkgtLS2t/u3SdPbcc88281vaeawZP52ifmGqv+9zaflNu6WVd41J9b8fmxrmjU2rHn9XmjV1uzR1717pczP7pxMP3y4dtkfP9OjNI1PTX3dPTX/dPf359lHpA/v0Sh99f5901sf6p3/ct1eaMbF3anzsXanhobGp/vdj08q5Y9Ky63dKDQ9/O7U0LuvspU0pvXVQ+PrXv95q+Ny5c1NEpKlTp6aUUjrnnHNSRKTvfOc7rca79dZbU0Sknj17psbGxvLw0gu+vffeO7322mvl4S0tLekrX/lKioi00047pYaGhvJt7W1bTU1NabfddksRkc4999xW//b//u//pqIoUm1tbTlgN3ZbHD16dIqItP3226cbbrihPPzVV18tx8+gQYPS7Nmzyy84W1pa0pFHHpkiIn3oQx9qNb2NWf7O8sgjj5RfeK3pox/9aIqIdMABB6Rly1pvs5dcckmKiNStW7f00ksv5ZrdDq1tOUrro3fv3mnGjBlp+fLl5dseffTR8ovh6667rjx8/vz5qa6uLhVF0eZg+vTTT5f3tT/+8Y+33EJtgNJz+Z577kkppfTv//7vKSLSXnvt1SaSOgqQ0jrt379/mwP3vHnzyi8Grr/++vLwtT3uGzO9zlIKqcMPP3yjp7Gx+5/2jrVPPPFEqq6uTkVRpP/7v/9rNf6iRYvKx/TPfvazrW4bNWpUiog0dOjQdOONN270smxumxogm3MfvbHraVsIkI059jz77LOpZ8+eqba2Nj355JPl4R/60IdSRKQvfelLrf6NH/zgByki0rBhw1r9GymldNFFF5Wf82/f71x99dXlffDkyZNbhfOXvvSlcvQNHjw4Pfzww+XbHnrooVQURYqIVsNLrxfq6urSnnvumV5//fXybYsXLy5vb9OnT281f+0FyP/8z/+kiEh9+/ZNDz30UKvxb7755lRbW5uqqqravAG7LdvgABk4cGAaOnToWv+qqqraBMgNN9xQfnKu+Q5fSim99NJLqaqqKlVWVrYKgfUNkGuvvbb8DsTbX4SWLFy4sDxfDzzwQKvbBg8enCIiLV68eH0eji2qZflLqX7uSWn5Lbullb8bm+p/Nz7V3713arx/n3T1f+yUrv72sLTksXHpwet2TT/5yj+klx8YUw6QBX8Ymy499x/SfdeMSEsfH5f+73vD08/OHZ4afr93qv/d3mnlXePTyrlj0/KbRqQV956Zmle+tu4ZyqAUFu973/taDf+3f/u3FBHpu9/9bkrprSA54ogjWo135plnttm5v/7666m2tjZFRLufeqWUyu9Mvf3A2t62dcstt5R3mO290/yP//iPadSoUemaa65JKW38tlh6N2fGjBlt7nPCCSeUd45rTrP03Bo5cuQmL39n6egF5IIFC1J1dXWKiDRv3rx27/vud7+7/M5VZ1ufANl+++3TkiVL2tw+ZcqUNsvxuc99LkVEOvLII9v99371q1+liEi777775luITbBmgDQ0NJTj/fvf/36rcTsKkPHjx7d63q/pM5/5TKs3JlJa++O+MdPrLKVt4PTTT9/oaWzs/qe9Y+3pp5/e7guokuuuu678Lu+qVavKw0v7sq3lBXFJafscNGhQ2n333df5t+anUJtzH72x62lrD5BNOfaU3iyYOHFiSiml66+/PkVEGj9+fJvH6OGHH04/+9nP0m233dZm+o2NjamysjJFRKuYKb3IL4qizQv5+fPnl1/nXnjhhW2mWfrGw3//93+Xh5VeL0REuuuuu9rc5ze/+U2KiFRTU9PqzbP2AqQ0/Ysuuqi9hyzNnj07RUQ67bTT2r19W7TBvwF56aWXYv78+Wv9a2pqanO/0ilSDznkkKitrW1z+w477BB77rlnNDc3b9R33e68886IiJg8eXK7P8TabrvtYvz48RGx+vusb7dV/QYkUkRLYxRRES0raqP5tR7R9HKfWPVyn/jAfkNi+vv7Rde6yhi/e9c44ePbRb/tq8vfee7btyo+PnO72GvPblFXVxlTD9o+Pnzg0Gh6pW80vdInWl7vGS0rayOlIqK5Poqt4ExYEW/9buPuu++OZcuWlYeXfv9RuibHvvvuG927d4877rgjGhsby+OVfv9ROq1vRMTvfve7aGhoiGHDhsXYsWPb/XePOOKIiIi4/fbb1zp/N9xwQ0REHHTQQVFR0fYpc+2118bjjz9evv7IpmyLEREHH3xwm2E77rhjRETssccebaZZum3JkiXlYZtz+TvT3XffHatWrYodd9yxw+vFlB6v9h7LrdHEiROjR48ebYaX1mPpbG4Rb+03p02b1u60pkyZEhUVFTFv3rxYtGjRFpjbTVNTUxM/+MEPIiLiC1/4QrzyyitrHX/x4sUxb968iGj9fH67DVnfm3t6W1pp/9etW7eNnsam7n/am1ZHj92kSZOiKIpYtGhRu9d92VrPSPjiiy/GvHnz1vnX3Nzc7v03xz56c66nrcmmHHtOPPHEmDp1atx5553x/e9/P2bPnh21tbXxs5/9rM1jNG7cuJg5c2ZMmjQpIiJef/31eOaZZ+Lpp5+O+fPnl0/J/cYbbS87MHDgwBg1alSrYaV1FLH6ejFram8dlvTp0yf233//NsMPOOCAiFj9e5hnn322ze0lixcvjgcffDAiOt7XbwvH6w1VtaF3uP/++2OvvfZa6zi77LJLPPPMM62GlR78Bx54oMMLT7388ssREfHnP/95Q2erPP3hw4d3OM6wYcPigQceiOeee67V8K0rQCKiqIy0qjJSY12kpT2ipaFu9Q/JmyojqlqisqY5ipqWt66A3o60qiKaF3eJ5tfqonlRXaSmIoou1VHRPSKK5RFFdaQo1jaJbEqn4124cGHccccdMXXq1Fi8eHHcf//9MWjQoBg9enRErD77x4EHHhg33nhj3HPPPTFx4sRYuHBh+ew3b/8BXml7WLZsWYfbW+mAua7trTSt9T271qZsix39O6Uznrx9J7nmbS0tbwXl5lz+zrS+j2VEtPtYbo06WpYuXbpERLR60VNa/iuvvLLDA091dXU0NDTEn//859hnn30278xuBgcddFAce+yx8fOf/zw++9nPxpVXXtnhuPPnzy//CLS0XtdUGv7aa6/FihUromvXrtmmt6X17NkzItp/kbO+NnX/syHT6t69e2y33XaxcOHCeO6559q84Hz72bu2Jt/85jfjX/7lXzb6/ptzH7051tPWZFOPPRdffHGMGTMmZs+eHRER//Ef/9FhyNx0003xjW98I+655552f7weEe2epGNt6y9i/ddhyS677NLuv11bWxs9evSIpUuXxiuvvBJjxoxpd7znn3++PN0vfvGLrealpBRSW/PxekNtcIBsrNI7O48++mj5TBEd2Zid74oVKyIioq6ursNxSgf4Nc/aUVNTE5WVle2+u51dRVVEde+IpopIq2oiNdZGWl4XUdESLbVNUdlYGdG8HtnQXEQ0VEbLyppIy7tEaq6IKFKk2vpIkaKiulcUlVvHKftKp+O96qqr4pZbbompU6fGb3/722hubm5zRfLJkyfHjTfeGLfccktMnDgxbrvttkgpxe67795qp1Ha3hYuXBhXXHHFWv/9dW1vpbNurO8pDjdlW1zXv7O+87A5l78zbepjuTVq7+DSkdJ6XJ+LzW3N6/Fb3/pW3HDDDXHVVVfFSSedFAcddFC745XWd3V1dfn06Gsqre+I1et8bcGwuae3pQ0dOjQiYp3HyLXZnM+ZTZ1We5/0vRNsjn30O3HfFrHpx54ddtghJk+eHFdffXVUVFTE0Ucf3e59L7nkkjj55JOjKIo49NBDY8qUKdG/f//y4z9r1qx2P/2IWPc62tDTGXfv3r3D23r27BlLly5d6+nI3/7Nj7W9QROxeltoamrqcH+2Lcn2iru0gs4888xIq3970uHfueeeu8HTL31kXXpSt6d025obS//+/WPgwIEb/G9uEZVdouj2D5FaWqKobI6oaoqipjGKmqZoaGmM+a8sj+aWtkW/puaU4rkFK6KhpTGKmlWrp1HVFEVFc6SmVVHRfVhEZcc7vtxKH9WXvnJSesH1/ve/v9V4pSApjdfR6XdL63ifffZZ5/Z21113rXXeStvW66+/vl7Lsinb4uayOZe/M20Nj2VnKi3TjTfeuM71uGasb0122GGH8n79k5/8ZDQ2NkZRtH0jpbS+V61a1e5XeSNabwvrWuebe3pb2nve856IWP2Vm/Xd37z00kut3uXdnM+Zv/fn35b0Tn1sN/XYc8stt8TVV18dffr0iZaWljj55JPbfIrR2NhYvhDjhRdeGDfddFOcdtppccwxx8RRRx0VRx111JZf0Lfp6NOXiLciq2/fvh2O8/b1u3z58nU+bu+E+IjIGCClj6i21LUHdtppp4iI+Mtf/tLhOKXb1vzI89Zbb43nn986rotRVHWNih4joqKoiKJmRVR0XxYVfZZERZ9lsaRYHFfMeSGuvGZhPPr4yqivb/tRYENDSzz2+Mr4+TUL4/L/74VY1LI4Knovi4reS6LotiyielkUtb2i6D54q/kEJOKt77I//vjjsXDhwvKOac0XVePGjYsBAwbEgw8+GCtWrCh/j3bNANmc21tp2+roO5yNjY2xbNmy8k5oU7bFzWVLP99y2Roey870TlmPEavDY4899ognn3wyLrjggnZ/Czhs2LDyJ9EdrfPS8NI1FtZmc09vS/vABz4QPXr0iPr6+rjgggvWOf6KFSvigAMOiPHjx8ef/vSniNi8z5l1TWvx4sXlUHonPv+2pHfqvm1T9lmLFy+Ok08+OSoqKuLmm2+Ogw8+OG677bb4/ve/32q8P/3pT7Fo0aKoqKiIU045pc10nn/++Q4//dgSOlrWhoaGWLp0aUREDBgwoMP7Dx8+vPzJ+Lb0dbtNlS1ASj8Uuummmzr8qsA111wTTzzxxEZN/33ve19ErI6J9mr0xRdfjIcffjgiVv8IdKtVVEZFj2ER3YZHVC2PoufiqOz7RlT2ez36DFkZ43evjjvvWhrf/s8F8ZV/fzm+/6MF8d+/XBT//ctF8YP/WhjnnPtyfOu7C+K3dy6NcWOrY7uhK6Oy3xtRud0bUdH7jUjp9ajoPSYqewzr7CVtZbvttou99947Ukpx4403xqOPPhpjx46NHXbYoc24kyZNilWrVsUNN9wQTz/9dPTq1av8zmHJhAkToq6uLl555ZW444472v03586dG3fffXeHPzQsKX1d5Oabb271UWnJjBkzokePHnHRRRdFxNaxLW7O5c9pzXe6JkyYEDU1NfHSSy/FH/7wh3bH//Wvfx0Rbz3uW4P2vne8MUr7zV/84hft3t7Q0BBXXnll+fdzW7OKior40'... 7981 more characters
  puppeteer:protocol:RECV ◀ ] +0ms
generated successfully.
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"networkAlmostIdle","timestamp":97777.514107},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"firstMeaningfulPaint","timestamp":97777.547006},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"networkIdle","timestamp":97777.614622},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"5B87105549921D4F624BB7E1368DC228","loaderId":"4AFE5BF2D08A8E59C18AD3EFF7CDF5E9","name":"InteractiveTime","timestamp":97782.616683},"sessionId":"B87BDC7CF3610E5845317C6541764E8E"}'
  puppeteer:protocol:RECV ◀ ] +0ms

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

There is nothing in the logs that would indicate an obvious issue to me. Just the file sizes are different 10980856 bytes for the working one, and 24015992 bytes for the not working one. Which chromium version is it?

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

Which chromium version is it?

# /usr/bin/chromium --version
Chromium 123.0.6312.105 built on Debian 12.5, running on Debian bookworm/sid

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

... and it would make it a lot easier if arm64 was supported by puppeteer, wouldn't it? :-)

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

@drmrbrewer it is not up to Puppeteer. Chromium project officially does not support Linux arm64. That browser configuration is not available for end users in a supported way. We do support Mac arm64 ;)

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

Also, windows arm64 has only recently started to be supported (not by Puppeteer yet). In this case though I doubt that the architecture is the issue, but I am not sure what is needed to reproduce the issue on my end.

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

I tried with npx @puppeteer/browsers install chromium@1262506 on linux amd64 I am not able to reproduce as well.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

OK well this is really strange. I'll try to figure out what exactly is causing this; otherwise I'll just avoid installing/using my own color emoji font and used what is provided (and which seems to work).

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

@OrKoN not that it will help much, but I found the place where the "working" emoji font was coming from: apt-get install fonts-noto-color-emoji. But now, even if I remove the "non-working" font file and refresh font cache, so that it's working with the test snippet, it's still not in my actual code... why are fonts so complicated? 😢 😱

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

@OrKoN I've now also got it working with my actual code... I am using Web Font Loader in my code and it turns out that I was also specifying the Noto Color Emoji font as part of that config... and as a result even if I'd culled all instances of the Noto Color Emoji font in my puppeteer environment, it was still being referenced remotely. Once I culled that reference too, it's fine.

So it really does seem to be some issue/incompatibility between puppeteer and the Noto Color Emoji font direct from Google, even though it's fine with the version of this font installed via apt-get install fonts-noto-color-emoji. But only in some setups (like mine) and not others (like yours)... perhaps arm64-related, perhaps not.

Difficult to know how to solve this (rather than just work around it) without you being able to reproduce it, so happy if you want to close this issue... perhaps one day someone else will experience the same thing and stumble upon this issue and add their tuppence worth.

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

@OrKoN 🙄 now I see that it's the same issue for the Noto Emoji font (i.e. non-color version)... only this time I can't use the same workaround because apt-get install fonts-noto-color-emoji only installs a working color version of the font, not the non-color version, and there doesn't seem to be a package available to install a working non-color version. These things were sent to try us 😢

from puppeteer.

OrKoN avatar OrKoN commented on May 10, 2024

@drmrbrewer would it be possible for you to test your setup on amd64 with Chrome for Testing (or regular Chrome)?

from puppeteer.

drmrbrewer avatar drmrbrewer commented on May 10, 2024

I'll see if I can do that. I've had to jump through so many hoops to get it working on arm64 I'm not sure how easy it will be to jump backwards through those hoops to get it back working on amd64... there are just so many benefits to running this on linux arm64 compared to linux amd64 that I would not seriously contemplate going back. Just a shame that it's not easy (for whatever reason) to run puppeteer on linux arm64 :-)

For now I've found another workaround to get the non-color version rendering properly too (it required adding explicit @font-face entries for each weight for this font in the css, pointing to the local ttf files... the files from Google work for the non-color emoji font even though they don't for the color emoji font). But these @font-face entries are not required for the many other fonts I have downloaded and available locally (those listed by fc-list)... they just seem to work without being explicit in the css. It all feels very fragile, with one sticking plaster on top of another, but it seems to be holding together for now 🤞 .

from puppeteer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.