Skip to content

Ember v6 upgrade#1658

Open
avzz-19 wants to merge 2 commits intodevelopfrom
ember-v6-upgrade
Open

Ember v6 upgrade#1658
avzz-19 wants to merge 2 commits intodevelopfrom
ember-v6-upgrade

Conversation

@avzz-19
Copy link
Contributor

@avzz-19 avzz-19 commented Feb 4, 2026

No description provided.

@coderabbitai
Copy link

coderabbitai bot commented Feb 4, 2026

Walkthrough

Upgrades Ember to 6.0.0 and related dependencies, removes Storybook packages, migrates Swagger UI to swagger-ui-dist, adds Ember CLI update configuration with topLevelAwait support, and applies minor TypeScript interface formatting adjustments.

Changes

Cohort / File(s) Summary
Type Definition Formatting
app/components/ak-tree/index.ts, app/components/ak-tree/provider/index.ts, types/global.d.ts
Reformatted interface declarations and extends clauses across multiple lines; no semantic changes to type signatures.
Swagger UI Migration
app/components/public-api-docs/.../{index,api-endpoints,schemas}.ts
Replaced default import from 'swagger-ui' with named imports (SwaggerUIBundle, SwaggerUIStandalonePreset) from 'swagger-ui-dist'; updated all call sites and preset references accordingly.
Store Service
app/services/store.js
Added re-export of default from 'ember-data/store'.
Build Configuration
ember-cli-build.js, config/ember-cli-update.json
Enabled topLevelAwait in webpack experiments; added Ember CLI update manifest with version 6.0.0 base blueprint configuration.
Dependencies
package.json
Upgraded Ember to 6.0.0, removed Storybook packages, added swagger-ui-dist, updated Babel and testing dependencies, downgraded @novnc/novnc, added path and @types/semver.
Utility
app/utils/freshdesk.ts
Minor syntactic re-grouping of expression statement.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • future-pirate-king
  • Yibaebi
  • SmitGala
  • cosmosgenius

Poem

🐰 Hop along to Ember's sixth,
Swagger dances in new digs,
Storybook bids farewell with cheer,
TypeScript formats crisp and clear—
An upgrade bound in joy sincere!

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether the description relates to the changeset. Add a pull request description that explains the purpose, scope, and impact of the Ember v6 upgrade, including any breaking changes or migration notes.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Ember v6 upgrade' clearly and concisely summarizes the main objective of the changeset, which involves upgrading Ember and related dependencies to version 6.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ember-v6-upgrade

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.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Feb 4, 2026

Deploying irenestaging with  Cloudflare Pages  Cloudflare Pages

Latest commit: ae60d2d
Status: ✅  Deploy successful!
Preview URL: https://13fe3bde.irenestaging.pages.dev
Branch Preview URL: https://ember-v6-upgrade.irenestaging.pages.dev

View logs

Copy link

@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: 1

🤖 Fix all issues with AI agents
In `@app/components/novnc-rfb/index.ts`:
- Around line 16-59: After the dynamic import in onDidInsertElement, guard
against the component being destroyed by checking this.isDestroying ||
this.isDestroyed before instantiating this.rfb; if destroyed, abort
initialization. When adding the 'connect' listener, store the listener function
reference (e.g., this._onRfbConnect) so it can be removed later, and in
onWillDestroyElement call this.rfb.removeEventListener('connect',
this._onRfbConnect) before calling this.rfb.disconnect() and nulling this.rfb to
avoid leaks/use-after-destroy; ensure the import of '@novnc/novnc' and the RFB
instantiation remain inside the guarded async block.
🧹 Nitpick comments (1)
package.json (1)

199-213: @novnc/novnc uses beta release with caret range—pin version or migrate to stable.

^1.7.0-beta pulls prerelease builds alongside future stable releases (1.7.0+), introducing potential breaking changes. Either pin to an exact beta version with documented rationale, or migrate to the stable 1.6.0 release.

@avzz-19 avzz-19 force-pushed the ember-v6-upgrade branch 2 times, most recently from 75c16fa to 04e4e0e Compare February 4, 2026 07:45
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 5, 2026

Copy link

@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: 1

🤖 Fix all issues with AI agents
In `@package.json`:
- Line 209: Remove the unnecessary npm dependency "path" from package.json (the
entry "path": "^0.12.7") because Node's built-in require('path') in
staticserver/index.js already provides the module; delete that dependency line,
update the lockfile by running npm install (or yarn install) to regenerate
package-lock.json/yarn.lock, and ensure no other code imports the npm "path"
package elsewhere.
🧹 Nitpick comments (1)
app/components/public-api-docs/api-endpoints/index.ts (1)

15-24: Consider adding error handling for consistency.

Unlike the parent PublicApiDocsComponent.intializeSwaggerUI, this method lacks a try-catch block. If SwaggerUIBundle throws (e.g., invalid spec data), the error will propagate unhandled.

🛡️ Optional: Add error handling
   `@action`
   initializeAPIEndpoints(element: HTMLDivElement) {
     const servers = this.args.data.servers;
 
+    try {
       SwaggerUIBundle({
         spec: { ...this.args.data, info: {}, servers },
         domNode: element,
         presets: [SwaggerUIBundle['presets'].apis, SwaggerUIStandalonePreset],
       });
+    } catch (error) {
+      console.error('Failed to initialize Swagger UI:', error);
+    }
   }

"ember-data-resources": "^5.3.2",
"ember-websockets": "^10.2.1",
"iconify-icon": "^2.3.0",
"path": "^0.12.7",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for usages of 'path' import in the codebase
rg -n "from ['\"]path['\"]|require\(['\"]path['\"]\)" --type ts --type js -g '!node_modules'

Repository: appknox/irene

Length of output: 110


🏁 Script executed:

head -20 staticserver/index.js

Repository: appknox/irene

Length of output: 585


Remove the path dependency from package.json.

The path package is a Node.js built-in module and should not be listed as a dependency. The code in staticserver/index.js correctly uses require('path'), which resolves to the Node.js built-in module. The npm package path (v0.12.7) is an unmaintained polyfill from 2015 and is not needed. Built-in Node.js modules are always available at runtime and should not be added to package.json.

🤖 Prompt for AI Agents
In `@package.json` at line 209, Remove the unnecessary npm dependency "path" from
package.json (the entry "path": "^0.12.7") because Node's built-in
require('path') in staticserver/index.js already provides the module; delete
that dependency line, update the lockfile by running npm install (or yarn
install) to regenerate package-lock.json/yarn.lock, and ensure no other code
imports the npm "path" package elsewhere.

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