Skip to content

Conversation

@hashicc
Copy link
Collaborator

@hashicc hashicc commented Dec 15, 2025

🛑 HOLD: The upgrade of to the latest version of ember-can no longer includes the ember-inflector dependency, which was implicitly depended on for production builds. This PR brings in the ember-inflector dependency explicitly for boundary desktop, but the api addon also needs it. This is covered by #3094 which depends on #3088 to be merged first. This PR should be merged after #3094.

Description

This pull request was originally applied in #3093 and then reverted in #3107. The reason it was reverted was because it broke the Boundary Desktop client resulting in a white screen, failing to require a module desktop/initializers/ember-data. This module existed on load, but it also has a side-effect dependency on @ember-data/request-utils/deprecation-support, which in turn has a dependency on ember-inflector. Although it should be conditionally required: macroCondition(dependencySatisfies('ember-inflector', '*')), it isn't at runtime (either because a previous version didn't include this macro condition or because for some reason this is still being truthy some how at build time by @embroider/macros, I didn't investigate):
Screenshot 2025-12-15 at 11 09 35 AM
this screenshot shows the error of not finding the ember-inflector and the dependency of @ember-data/request-utils/deprecation-support on ember-inflector at the bottom

The first question is why did the previous ember-can upgrade PR not fail builds when doing ember s or running our test suite? It's because ember-cli-mirage currently brings in ember-inflector (scroll right in code block if needed):

pnpm info ember-cli-mirage

ember-cli-mirage@3.0.4 | MIT | deps: 9 | versions: 103
A client-side server to help you build, test and demo your Ember app
https://github.com/miragejs/ember-cli-mirage

keywords: ember-addon, pretender, prototype, server, testing

dist
.tarball: https://registry.npmjs.org/ember-cli-mirage/-/ember-cli-mirage-3.0.4.tgz
.shasum: f1f2fd48ba8ca8ad5f13e77ac8c81b189b4d3814
.integrity: sha512-JpfZJIrvUAcwOVQ44aAzlYSbGiO4/nqnVAbzAKU4kztqgYvYGBa27FX5WxfpIGZMBdnt6OKh78rsimChWo6f/Q==
.unpackedSize: 45.8 kB

dependencies:
@babel/core: ^7.22.20                                 broccoli-file-creator: ^2.1.1                         broccoli-merge-trees: ^4.2.0                          ember-cli-babel: ^8.0.0                               ember-inflector: ^2.0.0 || ^3.0.0 || ^4.0.2 || ^5.0.0
@embroider/macros: ^1.13.2                            broccoli-funnel: ^3.0.3                               ember-auto-import: ^2.6.3                             ember-get-config: 0.2.4 - 0.5.0 || ^1.0.0 || ^2.1.1

So as long as ember-cli-mirage is included in the build we got ember-inflector.

The next question is why did this work before this PR in non-ember mirage environments. That's because ember-can moved ember-inflector from dependencies to peer dependencies as part of this PR's upgrade which makes the responsibility on the consuming app to make sure its included.

This is all to say that ember-inflector is a dependency of boundary desktop and needs to be included.

How to Test

  1. Create a production build of the boundary desktop client app, open it, it should load successfully
  2. Create a production build of boundary admin, it should load successfully

Checklist

  • I have added before and after screenshots for UI changes
  • I have added JSON response output for API changes
  • I have added steps to reproduce and test for bug fixes in the description
  • I have commented on my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have added a11y-tests label to run a11y audit tests if needed

PCI review checklist

  • I have documented a clear reason for, and description of, the change I am making.
  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.
  • If applicable, I've documented the impact of any changes to security controls.
    Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.

@vercel
Copy link

vercel bot commented Dec 15, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
boundary-ui Ready Ready Preview, Comment Dec 15, 2025 4:57pm
boundary-ui-desktop Ready Ready Preview, Comment Dec 15, 2025 4:57pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant