fix(meetings): address version resolution#664
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 95549a0f65
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "react": "18.3.1", | ||
| "react-dom": "18.3.1", | ||
| "webex": "2.60.2" | ||
| "webex": "2.60.4" |
There was a problem hiding this comment.
Keep sample Webex version compatible with widget peer
Updating the sample app to webex: 2.60.4 makes it incompatible with @webex/widgets' declared peer requirement (webex: 2.60.2 in packages/@webex/widgets/package.json), so installs now produce a peer-dependency conflict and can fail in strict-peer environments. This undercuts the stated goal of stabilizing dependency resolution; either the sample should stay on 2.60.2 or the widget peer range should be updated to include 2.60.4.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
crucial for the fix
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7baa039c62
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| react: path.dirname(require.resolve('react/package.json')), | ||
| 'react-dom': path.dirname(require.resolve('react-dom/package.json')), | ||
| 'prop-types': path.dirname(require.resolve('prop-types/package.json')), | ||
| webex: path.resolve(path.dirname(require.resolve('webex')), '..'), |
There was a problem hiding this comment.
Resolve Webex alias from widgets workspace
This alias is resolved from samples-meeting-app and therefore does not point to packages/@webex/widgets/node_modules; Node resolution from this file only walks the sample app’s ancestor directories. In environments with multiple hoisted versions, the sample can still bind to a different webex copy than @webex/widgets, which reintroduces the version-skew problem this patch is trying to fix.
Useful? React with 👍 / 👎.
| 'react-dom': path.dirname(require.resolve('react-dom/package.json')), | ||
| 'prop-types': path.dirname(require.resolve('prop-types/package.json')), | ||
| webex: path.resolve(path.dirname(require.resolve('webex')), '..'), | ||
| '@webex/common': path.dirname(require.resolve('@webex/common/package.json')), |
There was a problem hiding this comment.
Avoid resolving transitive @webex/common at startup
Evaluating this require.resolve('@webex/common/package.json') at config-load time assumes @webex/common is hoisted to a location visible from the sample app. If hoisting changes (for example due to installConfig.hoistingLimits or version conflicts), @webex/common can remain nested under webex and webpack fails before compilation starts. This should be made independent of hoisting (or declared as a direct dependency).
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
pointed the hoisting to a fix location
Shreyas281299
left a comment
There was a problem hiding this comment.
Looks good. Lets just ensure the test failures are expected.
package.json
Outdated
| "@semantic-release/git": "^10.0.1", | ||
| "@semantic-release/github": "^11.0.1", | ||
| "@testing-library/react-hooks": "^8.0.1", | ||
| "@types/babel__plugin-transform-runtime": "^7", |
There was a problem hiding this comment.
| "@types/babel__plugin-transform-runtime": "^7", | |
| "@types/babel__plugin-transform-runtime": "^7.9.5", |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4eb029822b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| 'react-dom': path.dirname(require.resolve('react-dom/package.json', { paths: [widgetsDir] })), | ||
| 'prop-types': path.dirname(require.resolve('prop-types/package.json', { paths: [widgetsDir] })), | ||
| webex: path.dirname(require.resolve('webex/package', { paths: [widgetsDir] })), | ||
| '@webex/common': path.dirname(require.resolve('@webex/common/package.json', { paths: [widgetsDir] })), |
There was a problem hiding this comment.
Resolve @webex/common via webex path, not widgets root
This alias resolution can fail before webpack starts because @webex/common is a transitive dependency of webex, not a direct dependency of @webex/widgets. With the same Yarn 4 node-modules setup used here and installConfig.hoistingLimits: "dependencies" in packages/@webex/widgets/package.json, transitive packages are nested under the direct dependency (for example under webex/node_modules), so resolving @webex/common from widgetsDir throws MODULE_NOT_FOUND in environments that don’t hoist it to the widgets root.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 94427402f0
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| react: path.dirname(require.resolve('react/package.json', { paths: [widgetsDir] })), | ||
| 'react-dom': path.dirname(require.resolve('react-dom/package.json', { paths: [widgetsDir] })), | ||
| 'prop-types': path.dirname(require.resolve('prop-types/package.json', { paths: [widgetsDir] })), | ||
| webex: path.dirname(require.resolve('webex/package', { paths: [widgetsDir] })), |
There was a problem hiding this comment.
Resolve webex alias using package.json path
Update the webex alias target to resolve webex/package.json (or the package root) instead of webex/package. As written, config evaluation can throw MODULE_NOT_FOUND before webpack starts because webex/package is not a standard resolvable subpath, which breaks both build:src and serve for the sample app when this config is loaded.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
file has package only
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a67396210c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| 'react-dom': path.dirname(require.resolve('react-dom/package.json', { paths: [widgetsDir] })), | ||
| 'prop-types': path.dirname(require.resolve('prop-types/package.json', { paths: [widgetsDir] })), | ||
| webex: path.dirname(require.resolve('webex/package', { paths: [widgetsDir] })), | ||
| '@webex/common': path.dirname(require.resolve('@webex/common/package.json', { paths: [widgetsDir] })), |
There was a problem hiding this comment.
Resolve @webex/common from webex's dependency tree
This alias can crash webpack config loading with MODULE_NOT_FOUND under the hoisting strategy introduced in the same commit: packages/@webex/widgets/package.json now sets installConfig.hoistingLimits to dependencies, which keeps transitive deps (like @webex/common) under their direct dependency (webex) instead of widgetsDir/node_modules. Resolving @webex/common/package.json from widgetsDir therefore becomes unreliable and can fail before compilation starts in Yarn 4 node-modules installs.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
if we hosit, it will again break.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 08e599f9c9
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@webex/widgets": "workspace:*", | ||
| "prop-types": "^15.7.2", | ||
| "react": "18.3.1", | ||
| "react-dom": "18.3.1", | ||
| "webex": "2.60.2" | ||
| "react-dom": "18.3.1" |
There was a problem hiding this comment.
Re-add Webex as a direct dependency in sample app
Removing webex from this dependency block leaves @webex/widgets' webex peer unsatisfied for samples-meeting-app. That still works in lenient installs, but strict-peer environments (for example CI using strict peer checks) will fail dependency resolution before the sample can build or run. Keeping webex: 2.60.4 explicitly in the sample dependencies avoids those install-time failures and keeps the sample self-contained.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
CI is passing, deps files are there

COMPLETES #NA
This pull request addresses
right now we have version resolution issue, due to which the meetings widget repo doesn't work in next branch.
by making the following changes
Change Type
The following scenarios were tested
< ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >
The GAI Coding Policy And Copyright Annotation Best Practices
Checklist before merging
Make sure to have followed the contributing guidelines before submitting.