Custom UI app for JSM does not work using tunneling

I’m trying to run custom UI app in JSM.

Until chapter “View your app”, that is, in case without tunneling, it works.
But when I run “forge tunnel” at chapter" Modify the static assets for the frontend", an error meaning like “localhost refused to connect” is displayed on browser.

Reffering this topic, I also added port setting to tunnel section in manifest.yml, but there was no change.
What should I do?

Here is forge tunnel --verbose log.

=== Snapshotting functions...
No log output.

Listening for requests on local port 35435...

t=2022-12-27T08:40:50+0000 lvl=dbug msg="heartbeat received" obj=csess id=7293ab9819f7 clientid=22addb6b7c6443ae5315f51b596cb04d latency_ms=429
t=2022-12-27T08:41:01+0000 lvl=dbug msg="heartbeat received" obj=csess id=7293ab9819f7 clientid=22addb6b7c6443ae5315f51b596cb04d latency_ms=240

~snip~

Stopping tunnel...
(node:6) UnhandledPromiseRejectionWarning: Error [ERR_SERVER_NOT_RUNNING]: Server is not running.
    at new NodeError (internal/errors.js:322:7)
    at Server.close (net.js:1624:12)
    at Object.onceWrapper (events.js:519:28)
    at Server.emit (events.js:400:28)
    at emitCloseNT (net.js:1677:8)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:6) UnhandledPromiseRejectionWarning: Unhandled promise rejection. 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(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhan
dled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:6) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the
 Node.js process with a non-zero exit code

my manifest.yml:

modules:
  jiraServiceManagement:queuePage:
    - key: hello-world-custom-ui-hello-world-page
      resource: main
      resolver:
        function: resolver
      title: hello-world-custom-ui
  function:
    - key: resolver
      handler: index.handler
resources:
  - key: main
    path: static/hello-world/build
app:
  id: ari:cloud:ecosystem::app/6c810d8c-daab-4b80-bd89-4f64f8c61090
1 Like

Try to add the tunnel in your resources like:

resources:
  - key: main
    path: static/hello-world/build
    tunnel:
      port: 3000

Then:

  1. Go to static/hello-world and npm run start
  2. Go back to the root path and forge tunnel
1 Like