Skip to content

Update site webmanifest with PWA icons and binary-extensions#23

Open
vdimarco wants to merge 5 commits into
mainfrom
terragon/update-site-webmanifest-aedlta
Open

Update site webmanifest with PWA icons and binary-extensions#23
vdimarco wants to merge 5 commits into
mainfrom
terragon/update-site-webmanifest-aedlta

Conversation

@vdimarco

@vdimarco vdimarco commented Oct 24, 2025

Copy link
Copy Markdown

Summary

  • Adds a Progressive Web App (PWA) manifest at apps/sim/public/site.webmanifest
  • Introduces android-chrome-192x192.png and android-chrome-512x512.png icons
  • Configures manifest with theme_color, background_color, and standalone display
  • Adds binary-extensions dependency (3.1.0) to apps/sim/package.json and updates bun.lock
  • Also includes minor codebase refactors and test adjustments; no functional changes to application logic
  • Docs app: updates to docs layout/types and remark tooling to align with React 19 and MDX

Changes

  • New site.webmanifest with content:
    {"name":"",

📎 Task: https://www.terragonlabs.com/task/3bc64db6-061e-444e-ad7d-70bc648d3172

Summary by CodeRabbit

  • Tests

    • Improved test to actually execute workflows and validate propagation of child-workflow errors.
  • Chores

    • Added a web app manifest to support app installation.
    • Added/updated dependencies for UI/tooling and content processing.
  • Style

    • Small import/order and type-annotation cleanups for internal consistency.

- Added android-chrome-192x192.png and android-chrome-512x512.png icons
- Added site.webmanifest with app details and icons

Enables progressive web app functionality with appropriate icons and manifest configuration.

Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 24, 2025

Copy link
Copy Markdown

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Refactors a sim executor test to actually execute and await the workflow, adds several dependencies to apps/sim and apps/docs, reorders and trims provider imports/exports, adds a site web manifest, and replaces ReactNode imports with React.ReactNode in docs layouts.

Changes

Cohort / File(s) Summary
Test Execution Refactor
apps/sim/executor/index.test.ts
Test "should propagate errors from child workflows to parent workflow" changed to construct an Executor, call and await executor.execute('test-workflow-id'), and assert on the executed result rather than asserting on a non-awaited pattern.
Sim app dependencies
apps/sim/package.json
Added dependencies: @radix-ui/react-tooltip@1.2.8, @radix-ui/react-visually-hidden@1.2.3, binary-extensions@3.1.0, chalk@5.6.2, lodash@4.17.21.
Provider imports & utils
apps/sim/providers/gatewayz/index.ts, apps/sim/providers/utils.ts
Reordered imports, removed some exported/public type imports from gatewayz, adjusted minor formatting (arrow/map callback parentheses) and import placement; no functional behavior changes.
Web App Manifest
apps/sim/public/site.webmanifest
Added manifest with name, short_name, two icons (192x192, 512x512), theme_color, background_color, and display: "standalone".
Docs layout prop types
apps/docs/app/[lang]/layout.tsx, apps/docs/app/layout.tsx
Switched from imported ReactNode to fully-qualified React.ReactNode for layout children prop types and removed the separate ReactNode import.
Docs package changes
apps/docs/package.json
Added remark, remark-gfm, remark-mdx; relaxed dev dependency ranges for @types/react/@types/react-dom to ^19 and added an overrides block pinning specific @types versions.

Sequence Diagram(s)

sequenceDiagram
    participant Test as Test Case
    participant Exec as Executor
    participant Parent as Parent Workflow
    participant Child as Child Workflow

    rect rgb(230,245,255)
    Note over Test,Exec: New test flow executes and awaits the workflow
    Test->>Exec: create Executor and call execute('test-workflow-id')
    Exec->>Parent: start parent workflow
    Parent->>Child: invoke child workflow
    Child--xParent: error thrown by child
    Parent--xExec: propagate error to executor
    Exec-->>Test: returned failed result / rejected
    end

    rect rgb(250,240,245)
    Note right of Test: Test awaits and asserts that error propagated
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Focus areas:
    • apps/sim/executor/index.test.ts — verify assertions and asynchronous behavior are correct.
    • apps/sim/providers/gatewayz/index.ts — confirm removed/changed type imports don't affect public typings.
    • apps/docs/package.json — ensure overrides and relaxed ranges don't introduce type resolution conflicts.

Possibly related PRs

Poem

🐰 I hopped through imports, tidy and spry,
Tests now await as errors fly,
A manifest shines with icon lore,
New deps nibble at the core,
Executor runs — I dance and sigh. 🥕

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
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "Update site webmanifest with PWA icons and binary-extensions" is partially related to the changeset. It accurately describes real, concrete parts of the changes: the addition of a PWA manifest file at apps/sim/public/site.webmanifest, the PWA icons referenced in that manifest, and the binary-extensions dependency added to apps/sim/package.json. However, the changeset also includes several other significant changes not reflected in the title, such as React type annotation updates in the docs app, additions of remark-related packages and other dependencies (@radix-ui, chalk, lodash), and various import reorganizations and formatting adjustments. While the title captures real aspects of the PR, it does not encompass the full scope of changes.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch terragon/update-site-webmanifest-aedlta

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 53c80a8 and b550514.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • apps/sim/package.json (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/sim/package.json
⏰ 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). (1)
  • GitHub Check: Test and Build

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.

@vdimarco vdimarco marked this pull request as ready for review October 24, 2025 18:56
@vdimarco vdimarco changed the title Update site webmanifest with PWA icons Update site webmanifest with PWA icons and binary-extensions Oct 24, 2025
cursor[bot]

This comment was marked as outdated.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
apps/sim/package.json (1)

76-76: Dependency conflict previously flagged.

A previous review identified that adding binary-extensions@3.1.0 creates a version conflict with the transitive dependency is-binary-path@2.1.0, which requires binary-extensions@^2.0.0. This major version bump may introduce breaking changes and could result in both v3.1.0 and v2.3.0 being present in node_modules.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d27b5ac and 3e46730.

⛔ Files ignored due to path filters (3)
  • apps/sim/public/android-chrome-192x192.png is excluded by !**/*.png
  • apps/sim/public/android-chrome-512x512.png is excluded by !**/*.png
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (5)
  • apps/sim/executor/index.test.ts (1 hunks)
  • apps/sim/package.json (1 hunks)
  • apps/sim/providers/gatewayz/index.ts (4 hunks)
  • apps/sim/providers/utils.ts (1 hunks)
  • apps/sim/public/site.webmanifest (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
apps/sim/providers/gatewayz/index.ts (2)
apps/sim/providers/types.ts (2)
  • ProviderRequest (136-168)
  • ProviderResponse (74-100)
apps/sim/executor/types.ts (1)
  • StreamingExecution (191-194)
⏰ 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). (1)
  • GitHub Check: Test and Build
🔇 Additional comments (6)
apps/sim/public/site.webmanifest (1)

1-11: LGTM!

The PWA manifest structure is valid and properly configured with icon references, theme colors, and standalone display mode.

apps/sim/providers/gatewayz/index.ts (3)

3-7: LGTM!

The import reorganization improves code organization by consolidating type imports and clarifying dependencies from utilities. No functional changes.


63-65: LGTM!

Function signature formatting is clear and readable.


174-174: LGTM!

Consistent arrow function parameter formatting.

apps/sim/providers/utils.ts (1)

7-7: LGTM!

Import reordering improves code organization consistency with no functional changes.

apps/sim/executor/index.test.ts (1)

1400-1455: Test skip is due to mock infrastructure limitations, not code structure issues.

The test is correctly written and ready to run, but it's skipped because the current mock setup cannot simulate failing child workflows. The WorkflowBlockHandler mock always returns success regardless of the workflowId parameter; there's no mechanism to configure specific workflow IDs to fail. The test expects result.error to contain 'Error in child workflow', but the mocks don't support this scenario.

To enable this test, the mock infrastructure would need enhancement to:

  • Accept configuration for per-workflowId failure scenarios, or
  • Conditionally fail the 'failing-child-workflow' ID in setupAllMocks()

Consider tracking this as a technical debt item and updating the skip reason with a comment referencing the mock infrastructure limitation.

Comment on lines +2 to +3
"name": "",
"short_name": "",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Empty PWA name fields will result in poor installation experience.

The name and short_name fields are currently empty strings. When users attempt to install this PWA, browsers will typically display the URL or "Untitled" instead of a meaningful app name. Please update these fields with appropriate values before promoting PWA installation.

🤖 Prompt for AI Agents
In apps/sim/public/site.webmanifest around lines 2 to 3, the "name" and
"short_name" fields are empty which leads to poor PWA install UX; update them to
meaningful values by setting "name" to the full application display name (e.g.,
"Simulator App" or the project's proper title) and "short_name" to a shorter
label (<=12 characters) suitable for launcher/shortcut displays, ensuring they
are localized if needed and valid non-empty strings.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
apps/docs/package.json (1)

35-36: Clarify the override pattern for React type versions.

The current configuration broadens devDependencies to ^19 (lines 35-36) but then adds overrides with ^19.1.13 and ^19.1.9 (lines 42-45). Since the overrides still use caret ranges, they permit versions above 19.1.13/19.1.9, which may not achieve the intended pinning.

Recommendations:

  • If exact pinning is needed, use "@types/react": "19.1.13" (without ^) in overrides
  • If caret ranges are acceptable, clarify the intent—typically overrides are used to force a minimum version across the dependency tree
  • Consider whether the overrides block is necessary given the devDependencies already specify ^19

Also applies to: 42-45

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3e46730 and 53c80a8.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • apps/docs/app/[lang]/layout.tsx (1 hunks)
  • apps/docs/app/layout.tsx (1 hunks)
  • apps/docs/package.json (1 hunks)
⏰ 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). (1)
  • GitHub Check: Test and Build
🔇 Additional comments (3)
apps/docs/app/layout.tsx (1)

1-1: LGTM: Consistent type annotation style.

Using React.ReactNode inline is a valid approach and aligns with the similar change in apps/docs/app/[lang]/layout.tsx, improving consistency across layout files.

apps/docs/app/[lang]/layout.tsx (1)

49-49: LGTM: Consistent type annotation style.

The switch to React.ReactNode matches the change in apps/docs/app/layout.tsx, maintaining consistent typing across layout components.

apps/docs/package.json (1)

26-28: I'll verify the latest version information and security status for these packages through web searches.

Based on my verification:

remark-gfm 4.0.1 is the latest version (last published 8 months ago), remark-mdx 3.1.1 is the latest version (last published 24 days ago), and remark 15.0.1 is current. The npm package remark-gfm was scanned for known vulnerabilities and missing license, and no issues were found. The npm audit also returned no vulnerabilities for any of these packages. remark-gfm version 4 is compatible with remark version 15+, and all three packages maintain active development within the unified collective.

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.

1 participant