jupyterhub / jupyter-remote-desktop-proxy

Run a Linux Desktop on a JupyterHub
BSD 3-Clause "New" or "Revised" License
116 stars 106 forks source link

Build/install fails with novnc/novnc 1.5.0 #117

Closed manics closed 4 months ago

manics commented 5 months ago

Bug description

https://www.npmjs.com/package/@novnc/novnc/v/1.5.0 was released 3 days ago (18 June 2024). jupyter-remote-desktop-proxy can no longer be built or installed

How to reproduce

Follow the build-release steps: https://github.com/manics/jupyter-remote-desktop-proxy/blob/b4e88e9851ca4b7a8ae890cdff84a70777ff66f7/.github/workflows/release.yaml#L41-L49

Expected behaviour

Package can be built and installed

Actual behaviour

> webpack

asset viewer.js 90.8 KiB [emitted] (name: main) 1 related asset
asset index.css 3.81 KiB [emitted] (name: main) 1 related asset
Entrypoint main 94.6 KiB (96.4 KiB) = index.css 3.81 KiB viewer.js 90.8 KiB 2 auxiliary assets
runtime modules 3.4 KiB 15 modules
orphan modules 11.9 KiB [orphan] 5 modules
cacheable modules 70.7 KiB (javascript) 3.1 KiB (css/mini-extract)
  javascript modules 70.7 KiB
    modules by path ./node_modules/ 66.6 KiB
      modules by path ./node_modules/@floating-ui/utils/dist/*.mjs 8.87 KiB 2 modules
      + 3 modules
    modules by path ./js/ 4.09 KiB
      modules by path ./js/*.js 3.99 KiB 2 modules
      modules by path ./js/*.css 100 bytes 2 modules
  css modules 3.1 KiB
    css ./node_modules/css-loader/dist/cjs.js!./node_modules/reset-css/reset.css 1.17 KiB [built] [code generated]
    css ./node_modules/css-loader/dist/cjs.js!./js/index.css 1.53 KiB [built] [code generated]
    css ./node_modules/css-loader/dist/cjs.js!./js/tooltip.css 412 bytes [built] [code generated]

ERROR in ./js/index.js 10:0-40
Module not found: Error: Can't resolve '@novnc/novnc/core/rfb' in '/home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/js'
resolve '@novnc/novnc/core/rfb' in '/home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/js'
  Parsed request is a module
  using description file: /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/package.json (relative path: ./js)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/js/node_modules doesn't exist or is not a directory
      looking for modules in /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules
        existing directory /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc
          using description file: /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc/package.json (relative path: .)
            using description file: /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc/package.json (relative path: ./core/rfb)
              no extension
                Field 'browser' doesn't contain a valid alias configuration
                /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc/core/rfb doesn't exist
              .css
                Field 'browser' doesn't contain a valid alias configuration
                /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc/core/rfb.css doesn't exist
              .js
                Field 'browser' doesn't contain a valid alias configuration
                /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc/core/rfb.js doesn't exist
              .jsx
                Field 'browser' doesn't contain a valid alias configuration
                /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc/core/rfb.jsx doesn't exist
              as directory
                /home/runner/work/jupyter-remote-desktop-proxy/jupyter-remote-desktop-proxy/node_modules/@novnc/novnc/core/rfb doesn't exist
      /home/runner/work/jupyter-remote-desktop-proxy/node_modules doesn't exist or is not a directory
      /home/runner/work/node_modules doesn't exist or is not a directory
      /home/runner/node_modules doesn't exist or is not a directory
      /home/node_modules doesn't exist or is not a directory
      /node_modules doesn't exist or is not a directory

A temporary workaround is to pin @novnc/novnc:

diff --git a/package.json b/package.json
index 0004264..5525eb6 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "dependencies": {
     "@floating-ui/dom": "^1.6.1",
-    "@novnc/novnc": "^1.4.0",
+    "@novnc/novnc": "~1.4.0",
     "reset-css": "^5.0.2"
   },
   "scripts": {

But ideally we should make sure 1.5.0 works, or report an upstream bug if it's not a bug here.

consideRatio commented 5 months ago

Release notes: https://github.com/novnc/noVNC/releases/tag/v1.5.0

It seems no changelog is maintained