Tunneling not working : showing endless skeleton loader in frontend with no error logs

Hello,

I’ve initialized a very basic Forge UI Kit app. When tunnelling, I get an endless skeleton loader in the frontend entrypoint, with no error logging in the tunnel logs (logs ending with `Listening for requests on local port`). Anyone have an idea of whit might be wrong ?

Node version : 22.21.1

Forge version : 12.13.1

modules:
  jira:projectSettingsPage:
    - key: hello-tunnel-hello-world-project-settings-page
      resource: main
      resolver:
        function: resolver
      render: native
      title: hello-tunnel
  function:
    - key: resolver
      handler: index.handler
resources:
  - key: main
    path: src/frontend/index.jsx
app:
  runtime:
    name: nodejs24.x
    memoryMB: 256
    architecture: arm64

frontend/index.js

import React, { useEffect, useState } from 'react';
import ForgeReconciler, { Text } from '@forge/react';
import { invoke } from '@forge/bridge';

const App = () => {
  const [data, setData] = useState(null);
  useEffect(() => {
    invoke('getText', { example: 'my-invoke-variable' }).then(setData);
  }, []);
  return (
    <>
      <Text>Hello world!</Text>
      <Text>{data ? data : 'Loading...'}</Text>
    </>
  );
};

ForgeReconciler.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

resolvers/index.js

import Resolver from '@forge/resolver';

const resolver = new Resolver();

resolver.define('getText', (req) => {
  console.log(req);
  return 'Hello, world!';
});

export const handler = resolver.getDefinitions();