🐛 Describe the Bug
I uploaded this dist.zip on marketplace app web widget module. But when I use the widget the Web Widget Settings shows up and stuck on loading. Then I check the console log and got this 404 error then on the response I got this NoSuchKey error. There is no information on the documentation on how or why this error happens and how to fix this.
This is the link that got the error.
📍 API Endpoint
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35
✅ Expected Behavior
When accessing the widget hosting URL with a trailing slash (e.g., .../version-id/), the platform should:
Serve the index.html file with Content-Type: text/html
Render the HTML content in the iframe
Load external assets (CSS/JS) from the ./assets/ directory
Display the widget configuration interface to the user
The widget iframe should load successfully and display the configuration UI, allowing users to interact with widget settings.
💻 Screenshots or Code Samples
No response
Product Area
marketplace-modules
📋 Use Case
I'm developing a custom web widget for the HighLevel App Marketplace following the official developer documentation:
Documentation: https://help.gohighlevel.com/support/solutions/articles/155000003915
Widget Type: Title Widget (allows users to customize page titles in funnel builder) (This is just for my testing)
Technology Stack: React + Vite + TypeScript + Postmate (for iframe communication)
Project Structure:
{
"name": "main-title-widget",
"dependencies": {
"postmate": "^1.5.2",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"tailwindcss": "^4.1.13"
}
}
Build Output (dist folder)
dist/
├── index.html (406 bytes - references external assets)
├── assets/
│ ├── index-DIBb9ILI.css (4.5KB)
│ └── index-DnvY7fUP.js (192KB)
└── vite.svg
index.html structure:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" crossorigin href="./assets/index-DIBb9ILI.css">
<script type="module" crossorigin src="./assets/index-DnvY7fUP.js"></script>
</head>
<body>
<div id="root"></div>
</body>
</html>
🚨 Why Should This Be Prioritized?
CRITICAL - Blocks App Marketplace Launch
Complete Feature Failure: The widget is completely non-functional. Users cannot configure or use the widget at all.
Affects All Future Widget Developers: This bug will impact any developer trying to build web widgets following the official documentation. It creates a broken developer experience.
🧠 Additional Context
What I've Already Tried:
✅ Inline all CSS/JS into HTML - Still served as application/octet-stream
✅ External assets with proper relative paths - Same issue
✅ Verified ZIP structure - Files at root level, not nested in folders
✅ Tested with different file sizes - 406 bytes (external) and 197KB (inline)
✅ Checked HTML encoding - No BOM, proper UTF-8
✅ Multiple re-uploads - Issue persists across uploads
✅ Reinstalled app - No change
Technical Investigation:
Testing URLs:
Without trailing slash - Returns noSuchKey
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35
With trailing slash - Returns 200 but wrong Content-Type
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35/
- Response: Content-Type: application/octet-stream ❌
- File gets download without extension
Direct file access - Returns noSuchKey
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35/index.html
🐛 Describe the Bug
I uploaded this dist.zip on marketplace app web widget module. But when I use the widget the Web Widget Settings shows up and stuck on loading. Then I check the console log and got this 404 error then on the response I got this NoSuchKey error. There is no information on the documentation on how or why this error happens and how to fix this.
This is the link that got the error.
📍 API Endpoint
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35
✅ Expected Behavior
When accessing the widget hosting URL with a trailing slash (e.g., .../version-id/), the platform should:
Serve the index.html file with Content-Type: text/html
Render the HTML content in the iframe
Load external assets (CSS/JS) from the ./assets/ directory
Display the widget configuration interface to the user
The widget iframe should load successfully and display the configuration UI, allowing users to interact with widget settings.
💻 Screenshots or Code Samples
No response
Product Area
marketplace-modules
📋 Use Case
I'm developing a custom web widget for the HighLevel App Marketplace following the official developer documentation:
Documentation: https://help.gohighlevel.com/support/solutions/articles/155000003915
Widget Type: Title Widget (allows users to customize page titles in funnel builder) (This is just for my testing)
Technology Stack: React + Vite + TypeScript + Postmate (for iframe communication)
Project Structure:
{
"name": "main-title-widget",
"dependencies": {
"postmate": "^1.5.2",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"tailwindcss": "^4.1.13"
}
}
Build Output (dist folder)
dist/
├── index.html (406 bytes - references external assets)
├── assets/
│ ├── index-DIBb9ILI.css (4.5KB)
│ └── index-DnvY7fUP.js (192KB)
└── vite.svg
index.html structure:
🚨 Why Should This Be Prioritized?
CRITICAL - Blocks App Marketplace Launch
Complete Feature Failure: The widget is completely non-functional. Users cannot configure or use the widget at all.
Affects All Future Widget Developers: This bug will impact any developer trying to build web widgets following the official documentation. It creates a broken developer experience.
🧠 Additional Context
What I've Already Tried:
✅ Inline all CSS/JS into HTML - Still served as application/octet-stream
✅ External assets with proper relative paths - Same issue
✅ Verified ZIP structure - Files at root level, not nested in folders
✅ Tested with different file sizes - 406 bytes (external) and 197KB (inline)
✅ Checked HTML encoding - No BOM, proper UTF-8
✅ Multiple re-uploads - Issue persists across uploads
✅ Reinstalled app - No change
Technical Investigation:
Testing URLs:
Without trailing slash - Returns noSuchKey
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35
With trailing slash - Returns 200 but wrong Content-Type
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35/
Direct file access - Returns noSuchKey
https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35/index.html