question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Question: HackMD(CodiMD) integration fails -- timeout

See original GitHub issue

Environment

GROWI host (in its own LXC container, lxc 3.0.3)

item version
OS Ubuntu server 18.04.4 LTS (fresh install)
GROWI 3.7.4, w/ working LDAP auth
node.js 12.6.2
npm 6.14.4
yarn 1.22.4
elasticsearch 7.6.2
mongodb 3.6.17
Using Docker no
Using growi-docker-compose no

(Accessing https://{GROWI_HOST}/admin helps you to fill in above versions)

CodiMD host (in its own LXC container, lxc 3.0.3)

item version
OS Ubuntu server 18.04.4 LTS (fresh install)
CodiMD latest pull, w/ working LDAP auth
node.js 10.20.0
npm 6.14.4
yarn 1.22.4

Client

item version
OS Ubuntu desktop 18.04.4.LTS
Firefox 75.0
epiphany 3.28.6

How to reproduce? (再現手順)

  1. Fresh install OS + GROWI + LDAP auth

  2. Fresh install OS + CodiMD + LDAP auth

  3. Follow integration w/ existing CodiMD instance

    • GROWI host Just for the record: the Site URL is properly set up in the App Settings page, yet I’ve set APP_SITE_URL too (that doesn’t change anything). I’m also setting HACKMD_URI_FOR_SERVER despite it’s the same as HACKMD_URI (and that doesn’t change anything either).
    root@growi# cat /etc/systemd/system/growi.service
    [Unit]
    Description=Growi
    After=network.target mongod.service
    
    [Service]
    WorkingDirectory=/opt/growi
    Environment=PORT=3000\
    HACKMD_URI=https://hackmd.<REDACTED>.org\
    HACKMD_URI_FOR_SERVER=https://hackmd.<REDACTED>.org\
    APP_SITE_URL=https://growi.<REDACTED>.org\
    MONGO_URI=mongodb://localhost:27017/growi\
    ELASTICSEARCH_URI=http://localhost:9200/growi
    ExecStart=/usr/bin/npm start
    
    [Install]
    WantedBy=multi-user.target
    

    For GROWI, I’m using apache2 as reverse-proxy with the provided stock config. I did not tweak Content-Security-Policy or anything else whatsoever.

    • CodiMD host
    hackmd@hackmd$ cat hackmd.env
    <REDACTED>
    export  GROWI_URI="https://growi.<REDACTED>.org"
    <REDACTED>
    
    hackmd@hackmd$ cat codimd/public/views/codimd/head.ejs 
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="mobile-web-app-capable" content="yes">
    <title><%= title %></title>
    <link rel="icon" type="image/png" href="<%- serverURL %>/favicon.png">
    <link rel="apple-touch-icon" href="<%- serverURL %>/apple-touch-icon.png">
    <% if(useCDN) { %>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.0/css/bootstrap.min.css" integrity="sha256-H0KfTigpUV+0/5tn2HXC0CPwhhDhWgSawJdnFd0CGCo=" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.1.3/css/fork-awesome.min.css" integrity="sha256-ZhApazu+kejqTYhMF+1DzNKjIzP7KXu6AzyXcC1gMus=" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-social/4.9.0/bootstrap-social.min.css" integrity="sha256-02JtFTurpwBjQJ6q13iJe82/NF0RbZlJroDegK5g87Y=" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css" integrity="sha256-3iu9jgsy9TpTwXKb7bNQzqWekRX7pPK+2OLj3R922fo=" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/css/basic/emojify.min.css" integrity="sha256-UOrvMOsSDSrW6szVLe8ZDZezBxh5IoIfgTwdNDgTjiU=" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.6.0/leaflet.css" integrity="sha256-SHMGCYmST46SoyGgo4YR/9AlK1vf3ff84Aq9yK4hdqM=" crossorigin="anonymous" />
    <%- include ../build/index-header %>
    <%- include ../shared/polyfill %>
    <% } else { %>
    <link rel="stylesheet" href='<%- serverURL %>/build/emojify.js/dist/css/basic/emojify.min.css'>
    <%- include ../build/index-pack-header %>
    <% } %>
    <script src="<%= process.env.GROWI_URI %>/_hackmd/load-styles"></script>
    
    hackmd@hackmd$ cat codimd/public/views/codimd/foot.ejs 
    <script src="<%= serverURL %>/js/mathjax-config-extra.js"></script>
    <% if(useCDN) { %>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/spin.js/2.3.2/spin.min.js" integrity="sha256-PieqE0QdEDMppwXrTzSZQr6tWFX3W5KkyRVyF1zN3eg=" crossorigin="anonymous" defer> </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.4.0/velocity.min.js" integrity="sha256-bhm0lgEt6ITaZCDzZpkr/VXVrLa5RP4u9v2AYsbzSUk=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.0/js/bootstrap.min.js" integrity="sha256-kJrlY+s09+QoWjpkOrXXwhxeaoDz9FW5SaxF8I0DibQ=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js" integrity="sha256-jnOjDTXIPqall8M0MyTSt98JetJuZ7Yu+1Jm7hLTF7U=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/3.7.0/js-yaml.min.js" integrity="sha256-8PanqYAVOGlOct+i65R+HqibK3KPsXINnrSfxN+Y/J0=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" integrity="sha256-yYfngbEKv4RENfGDvNUqJTqGFcKf31NJEe9OTnnMH3Y=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-immzXfCGLhnx3Zfi9F/dUcqxEM8K3o3oTFy9Bh6HCwg=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/config/Safe.js" integrity="sha256-0ygBUDksNDXZS4vm5HMNH1a33KUu6QT1cdNTN+ZLF+4=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js" integrity="sha256-AdQN98MVZs44Eq2yTwtoKufhnU+uZ7v2kXnD5vqzZVo=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.4.8/mermaid.min.js" integrity="sha256-lyWCDMnMeZiXRi7Zl54sZGKYmgQs4izcT7+tKc+KUBk=" crossorigin="anonymous" defer></script>
    <script src="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/js/emojify-browser.min.js" integrity="sha256-swgfXtqk2bC98KzPoE8tXRz5tmrzpjJWhhXlhYo/wRA=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.2/lodash.min.js" integrity="sha256-Cv5v4i4SuYvwRYzIONifZjoc99CkwfncROMSWat1cVA=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.1/socket.io.js" integrity="sha256-ji09tECORKvr8xB9iCl8DJ8iNMLriDchC1+p+yt1hSs=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.2/handlebars.min.js" integrity="sha256-ngJY93C4H39YbmrWhnLzSyiepRuQDVKDNCWO2iyMzFw=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/highlight.min.js" integrity="sha256-1zu+3BnLYV9LdiY85uXMzii3bdrkelyp37e0ZyTAQh0=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/gist-embed/2.6.0/gist-embed.min.js" integrity="sha256-KyF2D6xPIJUW5sUDSs93vWyZm+1RzIpKCexxElmxl8g=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js" integrity="sha256-8RHyK+AFzq9iXwbFo2unqidwPbwHU5FFWe3RwkcVtuU=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/full.render.js" integrity="sha256-Ogqs510LFnekr9o7OLdpelaaAmNss9egQRTyzCqV2NQ=" crossorigin="anonymous" defer></script>   
    <script src="https://cdnjs.cloudflare.com/ajax/libs/abcjs/3.1.1/abcjs_basic-min.js" integrity="sha256-Sq1r2XXWXQoShQKsS0Wrf5r7fRkErd9Fat9vHYeU68s=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vega/5.9.1/vega.min.js" integrity="sha256-xVmd2OiOTh73s2iPfGy1DNyu/lCKvaDto452MU1O+xs=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vega-lite/4.4.0/vega-lite.min.js" integrity="sha256-ollz/GSuG0/f7aV4v8LGDYxPs4G2DwEk9+hALicqp9I=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vega-embed/6.2.2/vega-embed.min.js" integrity="sha256-AW13lGYqQzWT9PymwqUEJqQHaz9ntM5m5jQVkvtzja4=" crossorigin="anonymous" defer></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.6.0/leaflet.js" integrity="sha256-fNoRrwkP2GuYPbNSJmMJOCyfRB2DhPQe0rGTgzRsyso=" crossorigin="anonymous" defer></script>
    <%- include ../build/index-scripts %>
    <% } else { %>
    <script src="<%- serverURL %>/build/MathJax/MathJax.js" defer></script>
    <script src="<%- serverURL %>/build/MathJax/config/TeX-AMS-MML_HTMLorMML.js" defer></script>
    <script src="<%- serverURL %>/build/MathJax/config/Safe.js" defer></script>
    <%- include ../build/index-pack-scripts %>
    <% } %>
    <script src="<%= process.env.GROWI_URI %>/_hackmd/load-agent" defer></script>
    

    I applied relevant (I think!) Content-Security-Policy in the nginx reverse-proxy:

    hackmd@hackmd:~$ cat /etc/nginx/sites-enabled/hackmd 
    # setup a upstream point to CodiMD server
    upstream @codimd {
     server 127.0.0.1:3000;
     keepalive 300;
    }
    
    # for socket.io (http upgrade)
    map $http_upgrade $connection_upgrade {
     default upgrade;
     ''      close;
    }
    
    # redirect all http traffic to https
    server {
     listen 80;
     server_name hackmd.<REDACTED>.org;
     location / {
       proxy_pass http://@codimd;
     }
    }
    
    # https server
    server {
     listen 443 ssl http2;
     server_name hackmd.<REDACTED>.org;
     # setup certificate
     ssl_certificate     /etc/letsencrypt/livefullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/privkey.pem;
    
     location / {
       proxy_http_version 1.1;
       
       # set header for proxy protocol
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection $connection_upgrade;
       
      # Content-Security-Policy directives
       proxy_hide_header 'content-security-policy';
       add_header Content-Security-Policy "default-src 'self' growi.<REDACTED>.org cdnjs.cloudflare.com cdn.mathjax.org cdn.jsdelivr.net fonts.googleapis.com *.gravatar.com fonts.gstatic.com 'unsafe-inline' 'unsafe-eval'; script-src 'self' growi.<REDACTED>.org cdnjs.cloudflare.com cdn.mathjax.org cdn.jsdelivr.net fonts.googleapis.com *.gravatar.com fonts.gstatic.com 'unsafe-inline' 'unsafe-eval';";
    
       # setup for image upload
       client_max_body_size 8192m;
       proxy_max_temp_file_size 8192m;
       
       proxy_read_timeout 300;
       proxy_connect_timeout 300;
       proxy_pass http://@codimd;
     }
    }
    
  4. Restart growi and hackmd containers

    ph1atka5t@containers$ lxc restart hackmd growi    
    

What happens? (症状)

  • CodiMD has been verified to work perfectly on its own (w/ LDAP auth if that matters)
  • GROWI has been verified to work perfectly on its own (w/ LDAP auth if that matters) – well, almost perfectly: the fix for MathJax in 3.7.1 does not allow me to render equations (but that’s another story)
  • When editing a page in GROWI, the HackMD tab appears – I click on this tab
  • When I click on the Start editing with HackMD button, the CodiMD start page shows up (either logged in in CodiMD or not, I tried both)
  • Finally, I get the timeout popup (Error: Connection to child timed out after 15000ms)

Here’s the Firefox console output after I click on the HackMD tab and then on the Start to edit with HackMD button:

This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. hackmd.<REDACTED>.org
[10:47:12:0032] ERROR: growi:HackmdEditor: Connection to child timed out after 15000ms vendors.9d2c838997335fa8ad12.chunk.js:2:6468
./node_modules/penpal/lib/connectToChild.js/t.default/<.promise</i<@https://growi.<REDACTED>.org/js/vendors.9d2c838997335fa8ad12.chunk.js:2:1996531
, vendors.9d2c838997335fa8ad12.chunk.js:2:6507

Relevant log from the GROWI host:

root@growi# journalctl -u growi
<REDACTED>
Apr 14 08:46:00 growi npm[20755]: [2020-04-14T08:46:00.644Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET /Sandbox HTTP/1.1 200 68585 - Firefox 75.0 Ubuntu 0.0.0 60.58598 ms (req_id=082b2e02-e3ff-4f55
Apr 14 08:46:01 growi npm[20755]: [2020-04-14T08:46:01.734Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET /_api/pages.getPageTag?pageId=5e945fc6eebd7c074a05939b HTTP/1.1 200 21 https://growi.<REDACTED>.org
Apr 14 08:46:01 growi npm[20755]: [2020-04-14T08:46:01.738Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET /_api/bookmarks.get?page_id=5e945fc6eebd7c074a05939b HTTP/1.1 200 27 https://growi.<REDACTED>.org
Apr 14 08:46:01 growi npm[20755]: [2020-04-14T08:46:01.738Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET /_api/attachments.list?page_id=5e945fc6eebd7c074a05939b HTTP/1.1 200 28 https://growi.<REDACTED>.org
Apr 14 08:46:01 growi npm[20755]: [2020-04-14T08:46:01.740Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET /_api/comments.get?page_id=5e945fc6eebd7c074a05939b HTTP/1.1 200 25 https://growi.<REDACTED>.org
Apr 14 08:46:02 growi npm[20755]: [2020-04-14T08:46:02.205Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- POST /_api/pages.seen HTTP/1.1 200 51 https://growi.<REDACTED>.org/Sandbox Firefox 75.0 Ubuntu 0.0.0
Apr 14 08:46:41 growi npm[20755]: [2020-04-14T08:46:41.694Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET / HTTP/1.1 200 52917 https://growi.<REDACTED>.org/Sandbox Firefox 75.0 Ubuntu 0.0.0 69.391179 ms
Apr 14 08:46:42 growi npm[20755]: [2020-04-14T08:46:42.627Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET /_api/pages.getPageTag?pageId=5e945fc6eebd7c074a05939c HTTP/1.1 200 21 https://growi.<REDACTED>.org
Apr 14 08:46:42 growi npm[20755]: [2020-04-14T08:46:42.636Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- GET /_api/bookmarks.get?page_id=5e945fc6eebd7c074a05939c HTTP/1.1 200 27 https://growi.<REDACTED>.org
Apr 14 08:46:42 growi npm[20755]: [2020-04-14T08:46:42.914Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- POST /_api/pages.seen HTTP/1.1 200 78 https://growi.<REDACTED>.org/ Firefox 75.0 Ubuntu 0.0.0 17.945
Apr 14 08:46:56 growi npm[20755]: [2020-04-14T08:46:56.944Z]  INFO: express/21109 on growi: ::ffff:127.0.0.1 <-- POST /_api/hackmd.integrate HTTP/1.1 200 108 https://growi.<REDACTED>.org/ Firefox 75.0 Ubuntu 0.0.0

Relevant log from the CodiMD host:

hackmd@hackmd$ journalctl -u hackmd
<REDACTED>
Apr 14 08:46:56 hackmd launch-hackmd[2223]: 2020-04-14T08:46:56.904Z info:         Executing (default): SELECT `sid`, `expires`, `data`, `createdAt`, `updatedAt` FROM `Sessions` AS `Session` WHERE `Session`.`sid
Apr 14 08:46:56 hackmd launch-hackmd[2223]: 2020-04-14T08:46:56.906Z info:         Executing (default): INSERT INTO `Sessions` (`sid`,`expires`,`data`,`createdAt`,`updatedAt`) VALUES (?,?,?,?,?);
Apr 14 08:46:56 hackmd launch-hackmd[2223]: 2020-04-14T08:46:56.932Z info:         127.0.0.1 - - [14/Apr/2020:08:46:56 +0000] "GET / HTTP/1.1" 200 18447 "-" "axios/0.19.0"
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.053Z info:         Executing (default): SELECT `sid`, `expires`, `data`, `createdAt`, `updatedAt` FROM `Sessions` AS `Session` WHERE `Session`.`sid
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.063Z info:         Executing (default): SELECT `id`, `profileid`, `profile`, `history`, `accessToken`, `refreshToken`, `deleteToken`, `email`, `pas
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.065Z info:         deserializeUser: d8602966-2bb6-4133-9563-2e8e7d8d6fe7
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.067Z info:         Executing (default): SELECT `id`, `profileid`, `profile`, `history`, `accessToken`, `refreshToken`, `deleteToken`, `email`, `pas
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.081Z info:         Executing (default): UPDATE `Sessions` SET `expires`=?,`updatedAt`=? WHERE `sid` = ?
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.100Z info:         127.0.0.1 - - [14/Apr/2020:08:46:57 +0000] "GET /?both HTTP/1.1" 200 18505 "https://growi.<REDACTED>.org/" "Mozilla/5.0 (X11; Ubun
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.244Z info:         Executing (default): SELECT `sid`, `expires`, `data`, `createdAt`, `updatedAt` FROM `Sessions` AS `Session` WHERE `Session`.`sid
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.248Z info:         Executing (default): SELECT `id`, `profileid`, `profile`, `history`, `accessToken`, `refreshToken`, `deleteToken`, `email`, `pas
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.252Z info:         deserializeUser: d8602966-2bb6-4133-9563-2e8e7d8d6fe7
Apr 14 08:46:57 hackmd launch-hackmd[2223]: var __line = 1
Apr 14 08:46:57 hackmd launch-hackmd[2223]:   , __lines = "window.domain = '<%- domain %>'\nwindow.urlpath = '<%- urlpath %>'\nwindow.debug = <%- debug %>\nwindow.version = '<%- version %>'\nwindow.plantumlServe
Apr 14 08:46:57 hackmd launch-hackmd[2223]:   , __filename = "/home/hackmd/codimd/public/js/lib/common/constant.ejs";
Apr 14 08:46:57 hackmd launch-hackmd[2223]: try {
Apr 14 08:46:57 hackmd launch-hackmd[2223]:   var __output = [], __append = __output.push.bind(__output);
Apr 14 08:46:57 hackmd launch-hackmd[2223]:   with (locals || {}) {
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("window.domain = '")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( domain )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("'\nwindow.urlpath = '")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 2
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( urlpath )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("'\nwindow.debug = ")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 3
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( debug )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("\nwindow.version = '")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 4
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( version )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("'\nwindow.plantumlServer = '")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 5
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( plantumlServer )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("'\n\nwindow.allowedUploadMimeTypes = ")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 7
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( JSON.stringify(allowedUploadMimeTypes) )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("\n\nwindow.defaultUseHardbreak = ")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 9
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( defaultUseHardbreak )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("\n\nwindow.linkifyHeaderStyle = '")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 11
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( linkifyHeaderStyle )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("'\n\nwindow.DROPBOX_APP_KEY = '")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 13
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( DROPBOX_APP_KEY )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("'\n\nwindow.USE_CDN = ")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 15
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append( useCDN )
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __append("\n")
Apr 14 08:46:57 hackmd launch-hackmd[2223]:     ; __line = 16
Apr 14 08:46:57 hackmd launch-hackmd[2223]:   }
Apr 14 08:46:57 hackmd launch-hackmd[2223]:   return __output.join("");
Apr 14 08:46:57 hackmd launch-hackmd[2223]: } catch (e) {
Apr 14 08:46:57 hackmd launch-hackmd[2223]:   rethrow(e, __lines, __filename, __line, escapeFn);
Apr 14 08:46:57 hackmd launch-hackmd[2223]: }
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.256Z info:         Executing (default): UPDATE `Sessions` SET `expires`=?,`updatedAt`=? WHERE `sid` = ?
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.278Z info:         127.0.0.1 - - [14/Apr/2020:08:46:57 +0000] "GET /config HTTP/1.1" 304 - "https://hackmd.<REDACTED>.org/?both" "Mozilla/5.0 (X11; U
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.435Z info:         Executing (default): SELECT `sid`, `expires`, `data`, `createdAt`, `updatedAt` FROM `Sessions` AS `Session` WHERE `Session`.`sid
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.440Z info:         Executing (default): SELECT `id`, `profileid`, `profile`, `history`, `accessToken`, `refreshToken`, `deleteToken`, `email`, `pas
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.442Z info:         deserializeUser: d8602966-2bb6-4133-9563-2e8e7d8d6fe7
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.444Z info:         Executing (default): SELECT `id`, `profileid`, `profile`, `history`, `accessToken`, `refreshToken`, `deleteToken`, `email`, `pas
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.449Z info:         Executing (default): UPDATE `Sessions` SET `expires`=?,`updatedAt`=? WHERE `sid` = ?
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.472Z info:         127.0.0.1 - - [14/Apr/2020:08:46:57 +0000] "GET /me HTTP/1.1" 304 - "https://hackmd.<REDACTED>.org/?both" "Mozilla/5.0 (X11; Ubunt
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.534Z info:         Executing (default): SELECT `sid`, `expires`, `data`, `createdAt`, `updatedAt` FROM `Sessions` AS `Session` WHERE `Session`.`sid
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.540Z info:         Executing (default): SELECT `id`, `profileid`, `profile`, `history`, `accessToken`, `refreshToken`, `deleteToken`, `email`, `pas
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.542Z info:         deserializeUser: d8602966-2bb6-4133-9563-2e8e7d8d6fe7
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.545Z info:         Executing (default): SELECT `id`, `profileid`, `profile`, `history`, `accessToken`, `refreshToken`, `deleteToken`, `email`, `pas
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.546Z info:         read history success: d8602966-2bb6-4133-9563-2e8e7d8d6fe7
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.549Z info:         Executing (default): UPDATE `Sessions` SET `expires`=?,`updatedAt`=? WHERE `sid` = ?
Apr 14 08:46:57 hackmd launch-hackmd[2223]: 2020-04-14T08:46:57.572Z info:         127.0.0.1 - - [14/Apr/2020:08:46:57 +0000] "GET /history HTTP/1.1" 304 - "https://hackmd.<REDACTED>.org/?both" "Mozilla/5.0 (X11; 
Apr 14 08:52:13 hackmd launch-hackmd[2223]: 2020-04-14T08:52:13.350Z info:         Executing (default): DELETE FROM `Sessions` WHERE `expires` < '2020-04-14 08:52:13'

What is the expected result? (期待される動作)

  • Working GROWI+CodiMD integration

Notes

  • I checked the Firefox console for GROWI and CodiMD (both separately and from GROWI using CodiMD, see above trace) : Firefox does not block content, so I think Content-Security-Policy should be OK.
  • I also experienced the issue with the simpler epiphany browser.
  • You are doing a fantastic piece of software!

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:8 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
ph1atka5tcommented, May 28, 2020

@yuki-takei @sp4ghet

Just updated my VMs today. The issue seems to no longer exist!

Too bad I won’t have the final explanation!

0reactions
yuki-takeicommented, Jun 16, 2020

I am sorry that I couldn’t be of any help to you. However in my opinion, this is due to each environment. Please tell us with Slack if you face to similar problem so that the community help you more instant. Thanks.

Read more comments on GitHub >

github_iconTop Results From Across the Web

CodiMD Release Notes - HackMD
Fixes · Fix local writes for non-existing translations in production · Fix wrong documentation about default image upload type · Fix possible error...
Read more >
Release Notes - CodiLIA
[v2_0_1]: https://hackmd.io/@codimd/release-notes/%2F%40codimd%2Fv2_0_1 <i ... guide * Fix deep dependency problem with node 6.x * Fix broken PDF export by ...
Read more >
Fedora's Git forge decision - LWN.net
Back in February, LWN reported on the process of gathering requirements for a Git forge system. That process then went relatively quiet ...
Read more >
CS3 2021- Cloud Storage Synchronization and Sharing
The question is not whether digitalization plays a crucial role, but how it will play out regarding sustainability and democracy.
Read more >
Release Notes - CodiMD
Release Notes. 1.3.0 2019-03-03 00:00. Enhancements. Run db migrations on npm start; Add documentation about integration with AD LDAP ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found