JhumanJ / OpnForm

Beautiful Open-Source Form Builder
https://opnform.com
GNU Affero General Public License v3.0
2.23k stars 297 forks source link

[DEPLOYMENT] Icons using by OpnForm is missing. #605

Open CookieGMVN opened 2 weeks ago

CookieGMVN commented 2 weeks ago

Describe the issue The editor UI of OpnForm is broken because the UI can't load icons which is required.

Deployment Environment

Deployment Method

Steps Taken Describe the steps you've taken to deploy the application:

  1. Clone the repo
  2. Generate config by using scripts/generate-config.sh
  3. Run docker compose up -d

Error Messages The server responsed with:

{
    "message": "The route assets/_nuxt_icon/heroicons.json could not be found.",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
    "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/AbstractRouteCollection.php",
    "line": 44,
    "trace": [
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
            "line": 163,
            "function": "handleMatchedRoute",
            "class": "Illuminate\\Routing\\AbstractRouteCollection",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 763,
            "function": "match",
            "class": "Illuminate\\Routing\\RouteCollection",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 750,
            "function": "findRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 739,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 201,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/vapor-core/src/Http/Middleware/ServeStaticAssets.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Vapor\\Http\\Middleware\\ServeStaticAssets",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/app/Http/Middleware/AcceptsJsonMiddleware.php",
            "line": 20,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "App\\Http\\Middleware\\AcceptsJsonMiddleware",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/app/Http/Middleware/CustomDomainRestriction.php",
            "line": 22,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "App\\Http\\Middleware\\CustomDomainRestriction",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/app/Http/Middleware/AuthenticateJWT.php",
            "line": 58,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "App\\Http\\Middleware\\AuthenticateJWT",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/app/Http/Middleware/SetLocale.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "App\\Http\\Middleware\\SetLocale",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 51,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/app/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "App\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 110,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 58,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 176,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 145,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/usr/share/nginx/html/public/index.php",
            "line": 51,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        }
    ]
}

Configuration Files

NUXT_PUBLIC_APP_URL=https://domain.com/
NUXT_PUBLIC_API_BASE=https://domain.com/api
NUXT_PRIVATE_API_BASE=http://ingress/api
NUXT_PUBLIC_ENV=dev
NUXT_API_SECRET=redacted

Logs There is no log provided.

Additional context The UI got an error from server when trying to get the JSON files of the icons that is required for it. The UI requested to domain.com/api/nuxt_icons/file.json but it can't, so I think this is a bug.

JhumanJ commented 2 weeks ago

Should be fixed with next release - see https://github.com/JhumanJ/OpnForm/commit/9e19338b54a6f298b86f73b571ee8f95a6ab80b6

rl1987 commented 3 days ago

The icons are still missing from web UI in self-hosted deployment despite Docker images being manually rebuilt from source.

Screenshot 2024-11-13 at 13 01 23 Screenshot 2024-11-13 at 13 01 32 Screenshot 2024-11-13 at 13 01 40
brettnpath commented 3 days ago

I'm also having this issue on a fresh install..

image

JhumanJ commented 2 days ago

This is an issue with one of our dependencies https://github.com/nuxt/icon/issues/259#issuecomment-2475433175 A fix was recently released - which didn't work for us it seems. I'll investigate this further

JhumanJ commented 1 day ago

Can you please try the most recent release? https://github.com/JhumanJ/OpnForm/releases/tag/v1.4.2

rl1987 commented 1 day ago

I can confirm the icons appear on the form builder now, but not very reliably.

Screenshot 2024-11-15 at 22 48 24 Screenshot 2024-11-15 at 22 49 51

rl1987 commented 1 day ago

Screenshot 2024-11-15 at 22 55 28 Screenshot 2024-11-15 at 22 55 47

brettnpath commented 1 day ago

I have not seen any changes on my end sorry...