Skip to content

Conversation

@sosweetham
Copy link
Member

@sosweetham sosweetham commented Jan 6, 2026

Description of change

adds esigner and file manager marketplace listings and favicons

Issue Number

n/a

Type of change

  • Update (a change which updates existing functionality)

How the change has been tested

manual

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features
    • Added eSigner and File Manager applications to the marketplace.
    • Added web app manifest support and favicon assets for improved installation experience across platforms.

✏️ Tip: You can customize this high-level summary in your review settings.

@sosweetham sosweetham requested a review from coodos as a code owner January 6, 2026 12:44
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 6, 2026

📝 Walkthrough

Walkthrough

This PR adds favicon and web app manifest files to the eSigner and File Manager platforms, configuring them as progressive web apps with branding assets. The marketplace app listing and details are updated to register these two applications with their metadata.

Changes

Cohort / File(s) Summary
eSigner Platform Branding
platforms/esigner/src/app.html, platforms/esigner/static/site.webmanifest
Added favicon and apple-touch-icon references to HTML head. Introduced PWA manifest with standalone display mode, white theme/background colors, and 192×192 & 512×512 icon definitions.
File Manager Platform Branding
platforms/file-manager/src/app.html, platforms/file-manager/static/site.webmanifest
Added favicon and apple-touch-icon references to HTML head. Introduced PWA manifest with standalone display mode, white theme/background colors, and 192×192 & 512×512 icon definitions.
Marketplace App Registry
platforms/marketplace/client/src/data/apps.json
Replaced "emover" (Identity category) with "esigner" (Productivity category). Added new "file-manager" entry (Storage category) with corresponding metadata, logos, and URLs.
Marketplace App Details
platforms/marketplace/client/src/pages/app-detail.tsx
Added detail entries for "esigner" and "file-manager" apps with fullDescription fields and empty screenshots arrays. Minor JSX formatting adjustments.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • coodos
  • xPathin

Poem

🐰 Favicon hops and manifests align,
Two platforms now with icons so fine,
eSigner and File Manager take their place,
In the marketplace, with pixel-perfect grace! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'update: marketplace listings' directly relates to the main changes in the PR, which add new marketplace listings for eSigner and File Manager apps.
Description check ✅ Passed The PR description follows the template structure with all required sections completed, including description of change, issue number, type of change, testing method, and a fully checked change checklist.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Fix all issues with AI Agents
In @platforms/esigner/static/site.webmanifest:
- Line 1: The manifest has empty "name" and "short_name" fields causing no app
name to show when installed; update the JSON in site.webmanifest to populate
"name" with the full app title (e.g., "E-Signer" or your product's full name)
and "short_name" with a concise label (<=12 characters) for homescreen display,
ensuring both are plain strings and consider adding localized variants later if
needed.

In @platforms/file-manager/src/app.html:
- Around line 5-8: Add a missing web app manifest link: in the HTML head where
the favicon and apple-touch-icon links are defined (e.g., in app.html around the
existing <link rel="icon"> and <link rel="apple-touch-icon"> entries), insert a
<link rel="manifest"> tag pointing to the packaged manifest (use the same asset
base as other icons, e.g., %sveltekit.assets%/site.webmanifest) so browsers will
load platforms/file-manager/static/site.webmanifest; apply the same change in
the eSigner app's equivalent HTML file.

In @platforms/file-manager/static/site.webmanifest:
- Line 1: Populate the empty "name" and "short_name" fields in site.webmanifest
so the PWA displays a proper app name when installed: open the manifest (the
JSON with keys "name" and "short_name") and set "name" to the full product name
and "short_name" to a shorter label (<= ~12 characters) suitable for homescreen
display; keep the existing "icons", "theme_color", and "display" entries intact
and ensure the short_name contains no special characters/emojis that could be
trimmed by platforms.
🧹 Nitpick comments (1)
platforms/file-manager/src/app.html (1)

8-8: Consider adding sizes attribute to apple-touch-icon.

While not strictly required, it's a best practice to specify the size of the apple-touch-icon (typically 180×180 pixels). This improves compatibility and makes the icon dimensions explicit.

🔎 Suggested enhancement
-		<link rel="apple-touch-icon" href="%sveltekit.assets%/apple-touch-icon.png" />
+		<link rel="apple-touch-icon" sizes="180x180" href="%sveltekit.assets%/apple-touch-icon.png" />
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d43f76c and 10c085c.

⛔ Files ignored due to path filters (14)
  • platforms/esigner/static/android-chrome-192x192.png is excluded by !**/*.png
  • platforms/esigner/static/android-chrome-512x512.png is excluded by !**/*.png
  • platforms/esigner/static/apple-touch-icon.png is excluded by !**/*.png
  • platforms/esigner/static/favicon-16x16.png is excluded by !**/*.png
  • platforms/esigner/static/favicon-32x32.png is excluded by !**/*.png
  • platforms/esigner/static/favicon.ico is excluded by !**/*.ico
  • platforms/file-manager/static/android-chrome-192x192.png is excluded by !**/*.png
  • platforms/file-manager/static/android-chrome-512x512.png is excluded by !**/*.png
  • platforms/file-manager/static/apple-touch-icon.png is excluded by !**/*.png
  • platforms/file-manager/static/favicon-16x16.png is excluded by !**/*.png
  • platforms/file-manager/static/favicon-32x32.png is excluded by !**/*.png
  • platforms/file-manager/static/favicon.ico is excluded by !**/*.ico
  • platforms/marketplace/assets/esigner.png is excluded by !**/*.png
  • platforms/marketplace/assets/file-manager.png is excluded by !**/*.png
📒 Files selected for processing (6)
  • platforms/esigner/src/app.html
  • platforms/esigner/static/site.webmanifest
  • platforms/file-manager/src/app.html
  • platforms/file-manager/static/site.webmanifest
  • platforms/marketplace/client/src/data/apps.json
  • platforms/marketplace/client/src/pages/app-detail.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: lint
  • GitHub Check: build
🔇 Additional comments (5)
platforms/marketplace/client/src/pages/app-detail.tsx (1)

42-49: LGTM! New app detail entries are well-structured.

The new "esigner" and "file-manager" entries follow the established pattern with comprehensive descriptions that align with the W3DS ecosystem principles and are consistent with other app entries.

platforms/file-manager/static/site.webmanifest (1)

1-1: No action needed. The referenced icon files (android-chrome-192x192.png and android-chrome-512x512.png) are present in platforms/file-manager/static/ and the manifest references are valid.

Likely an incorrect or invalid review comment.

platforms/esigner/src/app.html (1)

5-8: All referenced favicon files exist in platforms/esigner/static/:

  • favicon.ico
  • favicon-16x16.png
  • favicon-32x32.png
  • apple-touch-icon.png

No issues found.

platforms/esigner/static/site.webmanifest (1)

1-1: Icon files are correctly present.

Both /android-chrome-192x192.png and /android-chrome-512x512.png exist in the platforms/esigner/static/ directory.

platforms/marketplace/client/src/data/apps.json (1)

68-82: Logo files are correctly configured and accessible.

The referenced logo files (esigner.png and file-manager.png) are confirmed to exist in platforms/marketplace/assets/ and are properly configured for serving. The Vite configuration sets publicDir to point to the assets directory, ensuring these files are correctly served at the root paths (/esigner.png, /file-manager.png) as referenced in the app entries.

Platform URLs follow the established naming pattern used by existing app entries (e.g., eReputation) and cannot be verified in the sandbox environment, but the infrastructure pattern is consistent across the marketplace configuration.

@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Populate the empty name and short_name fields.

The PWA manifest has empty name and short_name fields, which will result in no app name being displayed when users install the app to their home screen. This significantly degrades the user experience.

🔎 Proposed fix
-{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
+{"name":"eSigner","short_name":"eSigner","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
{"name":"eSigner","short_name":"eSigner","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
🤖 Prompt for AI Agents
In @platforms/esigner/static/site.webmanifest at line 1, The manifest has empty
"name" and "short_name" fields causing no app name to show when installed;
update the JSON in site.webmanifest to populate "name" with the full app title
(e.g., "E-Signer" or your product's full name) and "short_name" with a concise
label (<=12 characters) for homescreen display, ensuring both are plain strings
and consider adding localized variants later if needed.

Comment on lines +5 to +8
<link rel="icon" href="%sveltekit.assets%/favicon.ico" />
<link rel="icon" type="image/png" sizes="16x16" href="%sveltekit.assets%/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="%sveltekit.assets%/favicon-32x32.png" />
<link rel="apple-touch-icon" href="%sveltekit.assets%/apple-touch-icon.png" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify manifest files exist and check for manifest links in both apps

echo "=== Checking for manifest files ==="
fd -t f "site.webmanifest" platforms/file-manager platforms/esigner 2>/dev/null || echo "No manifest files found"

echo -e "\n=== Checking for manifest links in app.html files ==="
echo "File Manager:"
rg -n 'rel="manifest"' platforms/file-manager/src/app.html 2>/dev/null || echo "No manifest link found"
echo "eSigner:"
rg -n 'rel="manifest"' platforms/esigner/src/app.html 2>/dev/null || echo "No manifest link found"

echo -e "\n=== Checking favicon files in file-manager static ==="
fd -t f "favicon|apple-touch-icon" platforms/file-manager/static 2>/dev/null || echo "No favicon files found"

echo -e "\n=== Checking esigner static for comparison ==="
fd -t f "favicon|apple-touch-icon" platforms/esigner/static 2>/dev/null || echo "No favicon files found"

echo -e "\n=== Checking full app.html content for file-manager (lines 1-20) ==="
head -20 platforms/file-manager/src/app.html

Repository: MetaState-Prototype-Project/prototype

Length of output: 1482


Add the missing web app manifest link.

The platforms/file-manager/static/site.webmanifest file exists but the HTML doesn't include a <link rel="manifest"> tag to reference it. Without this link, browsers won't load the manifest, and the PWA functionality won't work. The same issue exists in the eSigner app.

Proposed fix

Add the manifest link after the icon links:

 		<link rel="icon" href="%sveltekit.assets%/favicon.ico" />
 		<link rel="icon" type="image/png" sizes="16x16" href="%sveltekit.assets%/favicon-16x16.png" />
 		<link rel="icon" type="image/png" sizes="32x32" href="%sveltekit.assets%/favicon-32x32.png" />
 		<link rel="apple-touch-icon" href="%sveltekit.assets%/apple-touch-icon.png" />
+		<link rel="manifest" href="%sveltekit.assets%/site.webmanifest" />
 		<meta name="viewport" content="width=device-width, initial-scale=1" />
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<link rel="icon" href="%sveltekit.assets%/favicon.ico" />
<link rel="icon" type="image/png" sizes="16x16" href="%sveltekit.assets%/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="%sveltekit.assets%/favicon-32x32.png" />
<link rel="apple-touch-icon" href="%sveltekit.assets%/apple-touch-icon.png" />
<link rel="icon" href="%sveltekit.assets%/favicon.ico" />
<link rel="icon" type="image/png" sizes="16x16" href="%sveltekit.assets%/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="%sveltekit.assets%/favicon-32x32.png" />
<link rel="apple-touch-icon" href="%sveltekit.assets%/apple-touch-icon.png" />
<link rel="manifest" href="%sveltekit.assets%/site.webmanifest" />
🤖 Prompt for AI Agents
In @platforms/file-manager/src/app.html around lines 5 - 8, Add a missing web
app manifest link: in the HTML head where the favicon and apple-touch-icon links
are defined (e.g., in app.html around the existing <link rel="icon"> and <link
rel="apple-touch-icon"> entries), insert a <link rel="manifest"> tag pointing to
the packaged manifest (use the same asset base as other icons, e.g.,
%sveltekit.assets%/site.webmanifest) so browsers will load
platforms/file-manager/static/site.webmanifest; apply the same change in the
eSigner app's equivalent HTML file.

@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Populate the empty name and short_name fields.

The PWA manifest has empty name and short_name fields, which will result in no app name being displayed when users install the app to their home screen. This significantly degrades the user experience.

🔎 Proposed fix
-{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
+{"name":"File Manager","short_name":"Files","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
{"name":"File Manager","short_name":"Files","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
🤖 Prompt for AI Agents
In @platforms/file-manager/static/site.webmanifest at line 1, Populate the empty
"name" and "short_name" fields in site.webmanifest so the PWA displays a proper
app name when installed: open the manifest (the JSON with keys "name" and
"short_name") and set "name" to the full product name and "short_name" to a
shorter label (<= ~12 characters) suitable for homescreen display; keep the
existing "icons", "theme_color", and "display" entries intact and ensure the
short_name contains no special characters/emojis that could be trimmed by
platforms.

@coodos coodos merged commit 1a3b8df into main Jan 6, 2026
4 checks passed
@coodos coodos deleted the update/marketplace-listings branch January 6, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants