design-system-react icon indicating copy to clipboard operation
design-system-react copied to clipboard

Fixed a runtime error caused by the Pills Container component trying to access an undefined icon.

Open shadwar123 opened this issue 1 year ago • 2 comments

Fixes #3138

Additional description

The Pills Container component was encountering a runtime error because it tried to access an icon that was sometimes undefined. To fix this, I applied optional chaining where the icon is being updated. If the icon is not present, we set its value to null. As a result, the getAvatar() function is called, and the props are passed with icon = null and avatar = value. In the Utilities, there's a Pill component that renders either the icon or the avatar based on their values using render() function. @interactivellama


CONTRIBUTOR checklist (do not remove)

Please complete for every pull request

  • [ ] First-time contributors should sign the Contributor License Agreement. It's a fancy way of saying that you are giving away your contribution to this project. If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions.
  • [ ] npm run lint:fix has been run and linting passes.
  • [ ] Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
  • [ ] Tests have been added for new props to prevent regressions in the future. See readme.
  • [ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
  • [ ] Review tests are passing in the browser. Open http://localhost:8001/.
  • [ ] Review markup conforms to SLDS by looking at DOM snapshot strings.

REVIEWER checklist (do not remove)

  • [ ] CircleCI tests pass. This includes linting, Mocha, Jest, Storyshots, and components/component-docs.json tests.
  • [ ] Tests have been added for new props to prevent regressions in the future. See readme.
  • [ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
  • [ ] The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
  • [ ] Review tests are passing in the browser. Open http://localhost:8001/.
  • [ ] Review markup conforms to SLDS by looking at DOM snapshot strings.
Required only if there are markup / UX changes
  • [ ] Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
  • [ ] Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
  • [ ] Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
  • [ ] While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

shadwar123 avatar Aug 26 '24 20:08 shadwar123

Thanks for opening this pull request! :100:

This is a community-driven project, and we can't do it without your participation. Please check out our contributing guidelines and review the Contributor Checklist if you haven't already, to make sure everything is squared away. CircleCI will take about 10 minutes to run through the same items that are on the Contributor checklist with a pass/fail check below. Please fix any issues that cause CircleCI to fail or ask for clarification--we try, but sometimes the errors can be unclear. A maintainer will try to respond within 7 days. If you haven’t heard anything by then, please bump this thread. To ensure codebase quality, large code line changes may take more than 2 weeks to review, but may take longer depending on the number of pull requests in the queue. Feel free to ask for a status update at any time--you won't be bothering anyone. Once feedback has been given, please reply to the feedback giver once the feedback on been addressed, so that they can continue the review. If you need a release while you are waiting for a code review, you can publish a built tag to your own fork. See directions in the release README.

welcome[bot] avatar Aug 26 '24 20:08 welcome[bot]

Thanks for the contribution! Before we can merge this, we need @shadwar123 to sign the Salesforce Inc. Contributor License Agreement.

salesforce-cla[bot] avatar Aug 26 '24 20:08 salesforce-cla[bot]

Thanks for picking this up! Please remove the package lock file changes unless you are updating dependencies.

interactivellama avatar Sep 11 '24 05:09 interactivellama

I see that you downgraded the package lock verison. Please remove your package.lock file.

interactivellama avatar Sep 12 '24 17:09 interactivellama

I see that you downgraded the package lock verison. Please remove your package.lock file.

Done, Actually to run the program i have to run this npm install --legacy-peer-deps which changes Package-lock.json file. Now I have removed the Package-lock.json file.

shadwar123 avatar Sep 12 '24 22:09 shadwar123

@shadwar123 You shouldn't delete package-lock files in libraries you are contributing to. Please restore the old version.

interactivellama avatar Sep 17 '24 00:09 interactivellama

@shadwar123 You shouldn't delete package-lock files in libraries you are contributing to. Please restore the old version.

Done.

shadwar123 avatar Sep 17 '24 08:09 shadwar123

Congrats on merging your first pull request to Design System React! :tada: If you have a moment, please fill out this five question survey, we would appreciate it. On behalf of Salesforce's customers, partners, product specialists and employees, we would like offer sincere thanks and appreciation for helping make our user experience better. We look forward to working with you more in the future. This definitely calls for a high five! Alt High Five

welcome[bot] avatar Sep 19 '24 04:09 welcome[bot]