Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2 Ember Addon #16

Merged
merged 77 commits into from
Mar 18, 2024
Merged

V2 Ember Addon #16

merged 77 commits into from
Mar 18, 2024

Conversation

jkeen
Copy link
Owner

@jkeen jkeen commented May 24, 2023

  • V2 addon upgrade
  • Split out docs app
  • Split out tests app
  • Switch to pnpm

Summary by CodeRabbit

  • New Features
    • Introduced GitHub Actions for building, asserting, and downloading packages, and setting up Node.js with pnpm.
    • Implemented workflows for CI, deploying documentation, pushing npm package contents, and enhancing the release process.
    • Version 4.1.0 of ember-stereo now supports multiple identifiers in metadata cache.
  • Bug Fixes
    • Resolved issues with slider and progress modifiers in ember-stereo.
    • Fixed behavior for load-sound and pause-sound buttons in README.
  • Documentation
    • Updated CONTRIBUTING.md to recommend pnpm install over npm install.
    • Consolidated changes in various documentation files.
    • Enhanced comments in utility files of ember-stereo for better understanding.
  • Refactor
    • Updated import paths in ember-stereo helpers and utilities to use relative paths.
    • Refactored sound-proxy.js to use identifier instead of url for sound identification.
  • Chores
    • Added specific ignore rules in .gitignore for directories with dist in their names.

jkeen and others added 25 commits April 30, 2023 11:58
…dons

feat: Use async import to only load third party libs when we actually need them potentially saving the 500k+ HLS.js hit on initial page loads

BREAKING CHANGES!
… try removing crossorigin. Resolves CORS issue

when an identifier was a url that would redirect
…ork with howler since howler doesn't emit audio-position-changed events
# [5.0.0-beta.2](v5.0.0-beta.1...v5.0.0-beta.2) (2023-05-23)

### Bug Fixes

* correctly handle setting currentSound = null ([c8f0e58](c8f0e58))
* if crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin. Resolves CORS issue ([984eba7](984eba7))
* Implement proper teardown on sound destruction ([82affba](82affba))
* Resolve issue where sound-position-progress modifier would not work with howler since howler doesn't emit audio-position-changed events ([a8d75bb](a8d75bb))
* resolve typo which caused incorrect handling of autoplay check during testing ([57f3680](57f3680))

### Features

* Implement additional MediaSession actions and play state ([6f6e47a](6f6e47a))
# [5.0.0-beta.3](v5.0.0-beta.2...v5.0.0-beta.3) (2023-05-24)

### Bug Fixes

* Resolve issue introduced in last version when multiple sound position sliders on the same page ([7db16c1](7db16c1))
# [5.0.0-beta.4](v5.0.0-beta.3...v5.0.0-beta.4) (2023-05-24)

### Bug Fixes

* Resolve some more bugs with sound-position modifiers ([2de3d45](2de3d45))
@jkeen jkeen mentioned this pull request May 24, 2023
semantic-release-bot and others added 2 commits January 11, 2024 23:23
# [5.0.0-beta.14](v5.0.0-beta.13...v5.0.0-beta.14) (2024-01-11)

### Bug Fixes

* revert previous change, fix the actual problem ([364720e](364720e))
Copy link

coderabbitai bot commented Mar 18, 2024

Warning

Rate Limit Exceeded

@jkeen has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 12 minutes and 14 seconds before requesting another review.

How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.
Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
Please see our FAQ for further information.

Commits Files that changed from the base of the PR and between 33b417f and 45d8ecc.

Walkthrough

This update signifies a transformation in the project's development and deployment strategies. It introduces new GitHub Actions for asset management, package handling, and pnpm setup. Workflow improvements encompass enhanced CI processes with new triggers, refined job steps, and deployment streamlining. Noteworthy enhancements in the ember-stereo library aim to refine audio playback capabilities while addressing existing bugs.

Changes

File Path Summary
.github/actions/... Introduced GitHub Actions for asset building, package downloading, and pnpm setup.
.github/workflows/ci.yml Enhanced CI workflow with beta branch trigger, updated job steps, and configurations.
.github/workflows/deploy-docs.yml Added workflow for manual documentation deployment using Ember.
.github/workflows/push-dist.yml Workflow to push npm package contents triggered on main and beta branches.
.github/workflows/release.yml, .gitignore,
CHANGELOG.md, CONTRIBUTING.md, README.md
Various updates including GitHub Actions v3, pnpm adoption, and documentation changes.
ember-stereo/CHANGELOG.md, ember-stereo/src/... Extensive improvements in Ember Stereo library, addressing bugs, enhancing features, and refining functionality.

🐰✨
In the realm of code and byte,
Where changes take flight,
A rabbit leads with might,
"Build, deploy, make it right!"
With pnpm and GitHub Actions in tow,
Bugs vanish, progress aglow.
🌟🚀

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

# [5.0.0-beta.19](v5.0.0-beta.18...v5.0.0-beta.19) (2024-03-18)

### Features

* improve firing resolution of audio-position-changed event. refs [#24](#24) ([e1ebbc0](e1ebbc0))
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.

Review Status

Actionable comments generated: 19

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between d70e970 and 024d51b.
Files ignored due to path filters (39)
  • codemods.log is excluded by: !**/*.log
  • docs/config/ember-cli-update.json is excluded by: !**/*.json
  • docs/config/optional-features.json is excluded by: !**/*.json
  • docs/package.json is excluded by: !**/*.json
  • docs/public/favicon.ico is excluded by: !**/*.ico
  • docs/public/images/angle-down.svg is excluded by: !**/*.svg
  • docs/public/images/angle-up.svg is excluded by: !**/*.svg
  • docs/public/images/close.svg is excluded by: !**/*.svg
  • docs/public/images/connection-eligible.svg is excluded by: !**/*.svg
  • docs/public/images/connection-failure.svg is excluded by: !**/*.svg
  • docs/public/images/connection-ineligible.svg is excluded by: !**/*.svg
  • docs/public/images/connection-success.svg is excluded by: !**/*.svg
  • docs/public/images/fastforward-outline.svg is excluded by: !**/*.svg
  • docs/public/images/like-outline.svg is excluded by: !**/*.svg
  • docs/public/images/load.svg is excluded by: !**/*.svg
  • docs/public/images/loading-outline.svg is excluded by: !**/*.svg
  • docs/public/images/loop-outline.svg is excluded by: !**/*.svg
  • docs/public/images/pause-outline.svg is excluded by: !**/*.svg
  • docs/public/images/play-outline.svg is excluded by: !**/*.svg
  • docs/public/images/record-outline.svg is excluded by: !**/*.svg
  • docs/public/images/resume-outline.svg is excluded by: !**/*.svg
  • docs/public/images/shuffle-outline.svg is excluded by: !**/*.svg
  • docs/public/images/skip-backward-outline.svg is excluded by: !**/*.svg
  • docs/public/images/skip-forward-outline.svg is excluded by: !**/*.svg
  • docs/public/images/stop-outline.svg is excluded by: !**/*.svg
  • docs/public/images/stop.svg is excluded by: !**/*.svg
  • docs/public/images/volume-high-outline.svg is excluded by: !**/*.svg
  • docs/public/images/volume-low-outline.svg is excluded by: !**/*.svg
  • docs/public/images/volume-mute-outline.svg is excluded by: !**/*.svg
  • docs/public/sounds/angry-lady-ms-cleo.mp3 is excluded by: !**/*.mp3
  • docs/public/sounds/attention.mp3 is excluded by: !**/*.mp3
  • docs/public/sounds/foghorn-leghorn.mp3 is excluded by: !**/*.mp3
  • docs/public/sounds/functional.mp3 is excluded by: !**/*.mp3
  • docs/public/sounds/internet-on-computers.mp3 is excluded by: !**/*.mp3
  • docs/public/sounds/tic-tac-toe.mp3 is excluded by: !**/*.mp3
  • docs/public/sounds/video-professor.mp3 is excluded by: !**/*.mp3
  • docs/public/sounds/works-just-like-a-vcr.mp3 is excluded by: !**/*.mp3
  • ember-stereo/babel.config.json is excluded by: !**/*.json
  • ember-stereo/package.json is excluded by: !**/*.json
Files selected for processing (102)
  • .github/actions/assert-build/action.yml (1 hunks)
  • .github/actions/download-built-package/action.yml (1 hunks)
  • .github/actions/pnpm/action.yml (1 hunks)
  • .github/workflows/ci.yml (2 hunks)
  • .github/workflows/deploy-docs.yml (1 hunks)
  • .github/workflows/push-dist.yml (1 hunks)
  • .github/workflows/release.yml (1 hunks)
  • .gitignore (1 hunks)
  • CHANGELOG.md (1 hunks)
  • CONTRIBUTING.md (1 hunks)
  • README.md (2 hunks)
  • docs/.editorconfig (1 hunks)
  • docs/.eslintignore (1 hunks)
  • docs/.eslintrc.js (1 hunks)
  • docs/.github/workflows/ci.yml (1 hunks)
  • docs/.gitignore (1 hunks)
  • docs/.prettierrc.js (1 hunks)
  • docs/README.md (1 hunks)
  • docs/app/app.js (1 hunks)
  • docs/app/components/diagnostic-controls.hbs (1 hunks)
  • docs/app/components/docs/proxy-example.js (1 hunks)
  • docs/app/components/docs/queued.hbs (1 hunks)
  • docs/app/components/docs/queued.js (1 hunks)
  • docs/app/components/docs/service-errors-try-catch.js (1 hunks)
  • docs/app/components/docs/stereo-volume-example.hbs (2 hunks)
  • docs/app/components/service-display.hbs (1 hunks)
  • docs/app/components/sound-properties.hbs (1 hunks)
  • docs/app/components/strategy-breakdown.js (1 hunks)
  • docs/app/index.html (1 hunks)
  • docs/app/router.js (2 hunks)
  • docs/app/routes/diagnostic.js (1 hunks)
  • docs/app/routes/diagnostic/sync.js (1 hunks)
  • docs/app/styles/app.css (1 hunks)
  • docs/app/templates/application.hbs (1 hunks)
  • docs/app/templates/docs.hbs (1 hunks)
  • docs/app/templates/docs/advanced.md (1 hunks)
  • docs/app/templates/docs/audio-format.md (1 hunks)
  • docs/app/templates/docs/debugging.md (1 hunks)
  • docs/app/templates/docs/event-monitoring.md (1 hunks)
  • docs/app/templates/docs/index.md (1 hunks)
  • docs/app/templates/docs/metadata.md (1 hunks)
  • docs/app/templates/docs/playing-sounds.md (1 hunks)
  • docs/app/templates/docs/volume.md (1 hunks)
  • docs/app/templates/docs/waiting-for-sounds.md (1 hunks)
  • docs/app/templates/not-found.hbs (1 hunks)
  • docs/config/addon-docs.js (1 hunks)
  • docs/config/environment.js (1 hunks)
  • docs/config/targets.js (1 hunks)
  • docs/ember-cli-build.js (1 hunks)
  • docs/tailwind.js (2 hunks)
  • docs/testem.js (1 hunks)
  • docs/tests/index.html (1 hunks)
  • docs/tests/test-helper.js (1 hunks)
  • ember-stereo/.eslintignore (1 hunks)
  • ember-stereo/.gitignore (1 hunks)
  • ember-stereo/.npmignore (1 hunks)
  • ember-stereo/.prettierrc.js (1 hunks)
  • ember-stereo/.template-lintrc.js (1 hunks)
  • ember-stereo/CHANGELOG.md (1 hunks)
  • ember-stereo/README.md (1 hunks)
  • ember-stereo/addon-main.js (1 hunks)
  • ember-stereo/config/environment.js (1 hunks)
  • ember-stereo/rollup.config.js (1 hunks)
  • ember-stereo/src/-private/helpers/action-helper.js (1 hunks)
  • ember-stereo/src/-private/helpers/is-helper.js (1 hunks)
  • ember-stereo/src/-private/utils/error-cache.js (1 hunks)
  • ember-stereo/src/-private/utils/evented.js (1 hunks)
  • ember-stereo/src/-private/utils/has-equal-identifiers.js (1 hunks)
  • ember-stereo/src/-private/utils/has-equal-urls.js (1 hunks)
  • ember-stereo/src/-private/utils/metadata-cache.js (1 hunks)
  • ember-stereo/src/-private/utils/mime-types.js (1 hunks)
  • ember-stereo/src/-private/utils/normalize-identifier.js (1 hunks)
  • ember-stereo/src/-private/utils/object-cache.js (1 hunks)
  • ember-stereo/src/-private/utils/shared-audio-access.js (1 hunks)
  • ember-stereo/src/-private/utils/sound-cache.js (1 hunks)
  • ember-stereo/src/-private/utils/sound-proxy.js (6 hunks)
  • ember-stereo/src/-private/utils/strategizer.js (2 hunks)
  • ember-stereo/src/-private/utils/strategy.js (1 hunks)
  • ember-stereo/src/-private/utils/untracked-object-cache.js (1 hunks)
  • ember-stereo/src/-private/utils/url-cache.js (1 hunks)
  • ember-stereo/src/blueprints/stereo-connection/files/root/stereo-connections/name.js (1 hunks)
  • ember-stereo/src/helpers/fastforward-sound.js (1 hunks)
  • ember-stereo/src/helpers/find-sound.js (1 hunks)
  • ember-stereo/src/helpers/load-sound.js (2 hunks)
  • ember-stereo/src/helpers/pause-sound.js (1 hunks)
  • ember-stereo/src/helpers/play-sound.js (2 hunks)
  • ember-stereo/src/helpers/rewind-sound.js (1 hunks)
  • ember-stereo/src/helpers/seek-sound.js (1 hunks)
  • ember-stereo/src/helpers/sound-duration.js (1 hunks)
  • ember-stereo/src/helpers/sound-error-details.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-blocked.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-errored.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-fastforwardable.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-loaded.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-loading.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-playing.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-rewindable.js (1 hunks)
  • ember-stereo/src/helpers/sound-is-seekable.js (1 hunks)
  • ember-stereo/src/helpers/sound-position.js (1 hunks)
  • ember-stereo/src/helpers/stereo-volume.js (1 hunks)
  • ember-stereo/src/helpers/stop-sound.js (1 hunks)
  • ember-stereo/src/helpers/toggle-play-sound.js (2 hunks)
Files skipped from review due to trivial changes (42)
  • .gitignore
  • docs/.editorconfig
  • docs/.eslintignore
  • docs/.gitignore
  • docs/.prettierrc.js
  • docs/app/components/docs/service-errors-try-catch.js
  • docs/app/index.html
  • docs/app/templates/not-found.hbs
  • docs/config/targets.js
  • ember-stereo/.eslintignore
  • ember-stereo/.gitignore
  • ember-stereo/.npmignore
  • ember-stereo/.prettierrc.js
  • ember-stereo/.template-lintrc.js
  • ember-stereo/config/environment.js
  • ember-stereo/src/-private/helpers/action-helper.js
  • ember-stereo/src/-private/utils/error-cache.js
  • ember-stereo/src/-private/utils/evented.js
  • ember-stereo/src/-private/utils/has-equal-identifiers.js
  • ember-stereo/src/-private/utils/metadata-cache.js
  • ember-stereo/src/-private/utils/mime-types.js
  • ember-stereo/src/-private/utils/object-cache.js
  • ember-stereo/src/-private/utils/untracked-object-cache.js
  • ember-stereo/src/-private/utils/url-cache.js
  • ember-stereo/src/helpers/fastforward-sound.js
  • ember-stereo/src/helpers/find-sound.js
  • ember-stereo/src/helpers/pause-sound.js
  • ember-stereo/src/helpers/rewind-sound.js
  • ember-stereo/src/helpers/seek-sound.js
  • ember-stereo/src/helpers/sound-duration.js
  • ember-stereo/src/helpers/sound-error-details.js
  • ember-stereo/src/helpers/sound-is-blocked.js
  • ember-stereo/src/helpers/sound-is-errored.js
  • ember-stereo/src/helpers/sound-is-fastforwardable.js
  • ember-stereo/src/helpers/sound-is-loaded.js
  • ember-stereo/src/helpers/sound-is-loading.js
  • ember-stereo/src/helpers/sound-is-playing.js
  • ember-stereo/src/helpers/sound-is-rewindable.js
  • ember-stereo/src/helpers/sound-is-seekable.js
  • ember-stereo/src/helpers/sound-position.js
  • ember-stereo/src/helpers/stereo-volume.js
  • ember-stereo/src/helpers/stop-sound.js
Additional comments: 78
docs/app/templates/docs/waiting-for-sounds.md (1)
  • 1-1: The component <Docs::ProxyExample /> is correctly used here. Ensure that this component is properly documented and tested, especially if it's newly introduced or has undergone significant changes.
docs/app/templates/application.hbs (1)
  • 1-2: The use of {{outlet}} and <DocsKeyboardShortcuts /> is appropriate and follows Ember's conventions for templates. Ensure that the DocsKeyboardShortcuts component is well-documented and accessible to users of all abilities.
docs/app/templates/docs/debugging.md (1)
  • 1-5: The structure of this document, with headings followed by component examples (<Docs::ProxyExample/> and <Docs::Queued/>), is clear and follows good documentation practices. Ensure these components are well-documented and tested, especially if they are newly introduced or have undergone significant changes.
ember-stereo/addon-main.js (1)
  • 1-5: The use of @embroider/addon-shim and the addonV1Shim function is appropriate for making the addon compatible with Embroider. This change aligns with modern Ember.js development practices.
docs/app/templates/docs/advanced.md (1)
  • 1-5: The additions to the advanced documentation, including the use of <Docs::CustomPositionControl /> and <Docs::ProxyExample />, are well-structured and follow good documentation practices. Ensure these components are well-documented and tested, especially if they are newly introduced or have undergone significant changes.
docs/app/routes/diagnostic/sync.js (1)
  • 1-2: The update to the import path for testSounds reflects the project's reorganization and is correctly implemented. Ensure that the testSounds utility is well-documented and tested, especially after the change in its location.
docs/app/routes/diagnostic.js (1)
  • 1-2: The update to the import path for testSounds and the use of the stereo service in the Diagnostic route are well-implemented. These changes reflect the project's reorganization and its focus on enhancing diagnostic capabilities. Ensure that the testSounds utility and the stereo service are well-documented and tested.
ember-stereo/src/-private/utils/has-equal-urls.js (1)
  • 1-2: The update to the import path for StereoUrl and its use in the hasEqualUrls function are correctly implemented. This change reflects the project's reorganization of utility modules and enhances the functionality for comparing URLs. Ensure that the StereoUrl class and the hasEqualUrls function are well-documented and tested.
docs/config/addon-docs.js (1)
  • 6-6: The updated URL in the comment ensures users are directed to the latest version of the documentation. This is a good practice for maintainability and user guidance.
.github/actions/pnpm/action.yml (1)
  • 1-14: The GitHub Action for setting up Node.js and pnpm is well-defined, using specific versions for actions and leveraging caching. Ensure the pnpm install command works as expected in your CI environment.
docs/app/app.js (1)
  • 4-4: The update to the import path for the config variable aligns with the project's restructuring. Ensure thorough testing is conducted to verify that the new configuration path functions correctly within the application.
.github/actions/download-built-package/action.yml (1)
  • 1-13: The GitHub Action for downloading a built package and installing dependencies with pnpm is correctly set up. Verify the pnpm install command's effectiveness, especially in the context of using downloaded artifacts.
docs/app/components/docs/proxy-example.js (1)
  • 6-11: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-10]

The ProxyExample component is well-implemented, using modern Ember component design patterns such as @tracked and @service. The removal of the constructor method simplifies the component while relying on Ember's default initialization behavior.

docs/tests/test-helper.js (1)
  • 1-13: The test setup for the documentation app is correctly configured, leveraging QUnit and sinon for a consistent testing environment. Ensure that all tests pass with this new setup to verify its effectiveness.
.github/workflows/push-dist.yml (1)
  • 1-20: The workflow for pushing the distribution package is well-defined, using a custom action for setting up pnpm and dynamically specifying the branch for the dist package. Verify the workflow's effectiveness in your CI environment, especially the dynamic branch specification.
.github/workflows/release.yml (1)
  • 4-23: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-20]

The workflow for generating new releases is well-defined, leveraging actions/checkout@v3 and a custom pnpm action for setup. Ensure to verify the release process in your CI environment, paying close attention to the custom pnpm action and the specified working directory.

docs/app/components/docs/queued.hbs (1)
  • 1-19: LGTM! The Handlebars template follows Ember.js conventions and correctly demonstrates the usage of a sound queue with play and stop functionality.
ember-stereo/src/-private/utils/normalize-identifier.js (1)
  • 2-2: LGTM! The updated relative import path for BaseSound is correct and improves the modularity of the code.
CONTRIBUTING.md (2)
  • 7-7: The switch to pnpm install aligns with the PR's objective of adopting efficient dependency management. Good update!
  • 4-10: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [25-25]

Consider capitalizing "ember-cli" as "Ember-CLI" for consistency with official naming conventions.

docs/testem.js (1)
  • 1-23: LGTM! The Testem configuration is standard for Ember.js projects and correctly sets up browser settings for CI and development environments.
.github/workflows/deploy-docs.yml (1)
  • 1-23: LGTM! The GitHub Actions workflow is well-structured and enhances the automation and consistency of the documentation deployment process.
docs/app/templates/docs/volume.md (1)
  • 12-12: The addition of <Docs::StereoVolumeElementExample /> enhances the documentation by providing a practical example of volume control. Good update!
docs/app/components/docs/stereo-volume-example.hbs (1)
  • 1-8: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [4-23]

LGTM! The updates to the template structure and snippet reference improve clarity and maintainability. The template correctly demonstrates stereo volume control following Ember.js conventions.

docs/app/templates/docs/metadata.md (2)
  • 13-13: The addition of <Docs::CustomMetadata /> provides a clear example of handling custom metadata in a "Now Playing" display. Good update!
  • 10-16: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [3-3]

Consider adding a comma after "load helpers" for improved readability.

docs/app/templates/docs/index.md (1)
  • 5-5: The addition of a space after Docs::AttentionGetter is a minor change that likely improves readability or conforms to a style guide. Looks good!
docs/app/router.js (2)
  • 2-2: The update to the import path for config reflects a reorganization of the project structure. Please ensure that the config file exists at the new location.
  • 25-27: The modifications to route names, including the replacement of 'custom-position-controls' with 'advanced' and the addition of a new route 'debugging', likely reflect updates to the documentation structure or new features. Please ensure these changes are consistent with the project's documentation and navigation strategy.
Verification successful

The modifications to route names, including the replacement of 'custom-position-controls' with 'advanced' and the addition of a new route 'debugging', are consistent with the project's documentation structure, as evidenced by the corresponding markdown files in the docs/app/templates/docs/ directory. This confirms that the changes likely reflect updates to the documentation structure or new features.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify consistency of route names with documentation structure
grep -R 'route:' docs/app/templates/docs/

Length of output: 41



Script:

#!/bin/bash
# Verify the existence and content of the specified directory
ls -l docs/app/templates/docs/

# Broaden the search for route names across the project to understand their definition and usage
grep -R 'this.route' docs/

Length of output: 1855

docs/app/components/sound-properties.hbs (1)
  • 10-14: The addition of new properties isLive, isSeekable, and currentTime to the sound-properties component likely enhances its functionality. Please ensure these properties are supported by the underlying sound object and are correctly documented.
Verification successful

The corrected search has successfully identified references to isLive, isSeekable, and currentTime within the ember-stereo/src/ directory. These properties are utilized across various files, indicating that the addition of these properties to the sound-properties component in the documentation is consistent with their support and usage within the ember-stereo project. This confirms that the review comment is accurate and the properties are indeed supported by the underlying sound object, as well as being correctly documented in the context of the changes made.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify the support of new properties in the sound object
grep -R 'isLive|isSeekable|currentTime' ember-stereo/src/

Length of output: 59



Script:

#!/bin/bash
# Correct the grep command to properly search for the properties using extended regular expressions
grep -RE 'isLive|isSeekable|currentTime' ember-stereo/src/

Length of output: 3330

ember-stereo/src/helpers/play-sound.js (2)
  • 1-2: The updates to the import path for StereoBaseActionHelper and the addition of didCancel from 'ember-concurrency' are good practices that reflect project reorganization and improve the robustness of the helper.
  • 26-33: The modifications to the performAction method, including the use of stereo.playTask.perform and error handling with didCancel, improve error handling and resilience to cancellations. Please ensure that playTask is correctly implemented on stereo and that error handling is properly tested.
Verification successful

The modifications to the performAction method, including the use of stereo.playTask.perform and error handling with didCancel, are supported by the script output. The presence of playTask in services/stereo.js and its usage across the codebase confirm its correct implementation on stereo. The error handling approach, indicated by the use of .catch((e) => {, aligns with the intended improvements in error handling and resilience to cancellations. It's advisable to ensure comprehensive testing around these functionalities for robustness.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify the implementation of playTask and error handling
grep -R 'playTask' ember-stereo/src/

Length of output: 781

ember-stereo/src/helpers/toggle-play-sound.js (2)
  • 1-2: The import of didCancel from 'ember-concurrency' enhances the robustness of the togglePlaySound helper by allowing for better cancellation handling in asynchronous operations.
  • 29-33: The modifications to the performAction method, including the use of playTask instead of play for playing sounds and handling cancellation with didCancel, improve error handling and resilience. Please ensure that playTask is correctly implemented and that error handling is properly tested.
Verification successful

The grep output confirms the usage of playTask across several files, including its definition in services/stereo.js and its usage in helpers/toggle-play-sound.js, aligning with the review comment. To further verify the correctness of playTask's implementation and its error handling, particularly the use of didCancel, additional information is needed.


The provided script outputs confirm the implementation of playTask within the Stereo service in ember-stereo/src/services/stereo.js, as well as the usage of didCancel for error handling in various parts of the codebase, including the Stereo service and several helpers. The playTask method is designed to handle playing sounds, with error handling that checks for cancellation errors using didCancel. This aligns with the modifications mentioned in the review comment, indicating that the changes have been correctly implemented to improve error handling and resilience.

Given the evidence from the script outputs, it's clear that playTask is a valid method implemented within the Stereo service, and didCancel is used appropriately for error handling across the codebase. Therefore, the modifications to the performAction method, including the use of playTask for playing sounds and handling cancellation with didCancel, are verified to improve error handling and resilience as intended.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify the implementation of playTask and error handling
grep -R 'playTask' ember-stereo/src/

Length of output: 781



Script:

#!/bin/bash
# Verify the implementation of playTask in services/stereo.js
cat ember-stereo/src/services/stereo.js

# Verify the implementation of didCancel
grep -R 'didCancel' ember-stereo/src/

Length of output: 33754

docs/.github/workflows/ci.yml (1)
  • 1-47: The CI workflow configuration is well-structured and follows best practices, including the use of Node.js version 14.x and caching dependencies with Yarn. Consider updating to a newer Node.js version if compatible with the project's requirements for potential performance improvements and access to newer features.
ember-stereo/src/helpers/load-sound.js (2)
  • 3-3: The updates to the import path for prepareOptions and the addition of the xhr parameter for xhr options enhance the flexibility and functionality of the load-sound helper. Good improvement!
  • 31-37: The addition of a try-catch block for handling exceptions, including cancellations with didCancel, improves the robustness of the load-sound helper. Please ensure that error handling is correctly implemented and thoroughly tested.
docs/app/templates/docs.hbs (1)
  • 1-32: The changes to the documentation template are well-structured and follow Ember.js best practices. The use of block components with as |alias| syntax enhances readability and maintainability.
docs/tests/index.html (1)
  • 1-39: The HTML template for the test suite is correctly structured, including all necessary elements for running tests. The use of {{rootURL}} for asset paths ensures compatibility across different deployment environments.
ember-stereo/src/-private/helpers/is-helper.js (1)
  • 32-32: The update to the sound retrieval logic in StereoBaseIsHelper improves robustness by ensuring that a sound object is returned only if soundProxy actually contains a sound. This is a sensible enhancement.
docs/.eslintrc.js (1)
  • 1-58: The ESLint configuration is well-structured and aligns with best practices for linting Ember.js projects. The inclusion of appropriate plugins, rules, and overrides contributes to maintaining code quality across the project.
docs/config/environment.js (1)
  • 5-5: Updating the modulePrefix value from 'dummy' to 'docs' is a necessary change following the separation of the documentation app. This correctly reflects the new context of the app within the Ember.js ecosystem.
docs/app/components/strategy-breakdown.js (1)
  • 39-39: Using the nullish coalescing operator (results ?? []) for handling nullish values in the results array is a precise improvement. It ensures that an empty array is used only if results is null or undefined, aligning with likely intended behavior.
docs/tailwind.js (2)
  • 9-9: Adjusting the purge path in the Tailwind CSS configuration is a sensible correction that ensures the correct files are targeted for purging unused styles. This contributes to optimizing the final CSS bundle size.
  • 66-66: Updating the themes path to use a different file location in the Tailwind CSS configuration reflects a sensible reorganization of the project structure. This change likely aligns with the objectives of improving the project's structure and maintainability.
ember-stereo/src/-private/utils/strategy.js (1)
  • 11-11: The addition of erroredSound as a tracked property aligns with the class's management of sound states. Ensure its usage is effectively integrated into the class's functionality or by its consumers.
.github/actions/assert-build/action.yml (1)
  • 8-50: The GitHub Action for building the package and asserting file existence is well-defined, using pnpm build and covering a comprehensive list of files. Ensure the assertion list is complete and verify the successful execution of the build process.
docs/app/components/service-display.hbs (1)
  • 1-57: The template for displaying stereo service information is well-structured, using components and helpers effectively. Ensure all components and helpers are up-to-date and correctly integrated.
docs/app/templates/docs/playing-sounds.md (1)
  • 31-31: The minor formatting change improves readability and is consistent with HTML/XML standards. Consider reviewing the entire document for any additional formatting or clarity improvements.
docs/app/templates/docs/audio-format.md (1)
  • 17-17: The update in component invocation syntax from angle-bracket to curly-brace improves consistency with Ember's standards. Ensure uniformity in component invocation syntax across all documentation.
docs/app/templates/docs/event-monitoring.md (1)
  • 30-35: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-73]

The removal of a redundant line likely improves the document's layout without affecting the content's integrity. Consider reviewing the entire document for any additional formatting or clarity improvements.

ember-stereo/src/-private/utils/shared-audio-access.js (1)
  • 11-15: The comment questioning the necessity of using a single audio element for shared access highlights an important point for reevaluation. Consider engaging in a broader discussion about the relevance of this approach and exploring potential alternatives that may simplify the codebase.
docs/ember-cli-build.js (1)
  • 1-73: The Ember CLI build configuration is comprehensive and aligns with modern web development practices. Ensure that all plugins and dependencies are up-to-date and compatible with the latest Ember CLI versions.
ember-stereo/rollup.config.js (1)
  • 1-67: The Rollup configuration is well-structured and effectively utilizes various plugins and utilities to manage the project's build process. It correctly specifies public entry points, handles app reexports, and manages assets and cleanup. This setup should serve the project well, ensuring a smooth build and development experience.
ember-stereo/src/-private/utils/sound-cache.js (2)
  • 4-4: The update to the import path for BaseSound improves the modularity and maintainability of the code. Using relative paths for imports within the same module or package is a good practice.
  • 11-13: The SoundCache class is well-implemented, following Ember's conventions for reactive properties and service management. It provides a clear and efficient way to cache sound objects based on URLs, contributing to the project's overall functionality and user experience.
ember-stereo/src/blueprints/stereo-connection/files/__root__/stereo-connections/__name__.js (2)
  • 2-2: The update to import assert from @ember/debug aligns with modern Ember best practices, promoting modularity and enabling better tree shaking. This is a positive change for maintainability and performance.
  • 1-5: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [2-96]

The Sound class provides a well-structured template for creating sound connections, with clear instructions and assert statements to ensure that subclasses implement the necessary functionality. This approach enhances the project's modularity and ensures consistency across different sound connection implementations.

ember-stereo/src/-private/utils/sound-proxy.js (2)
  • 4-6: The refactoring to use identifier instead of url for sound identification increases the flexibility and generality of the sound management system. This change allows for a broader range of sound identifiers, enhancing the project's capability to handle different sound sources.
  • 23-55: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [41-111]

The implementation of the SoundProxy class, including the use of Ember Concurrency tasks and tracked properties, is well-done. It effectively manages asynchronous state and tasks, such as resolving identifiers and waiting for sound loads, providing a robust and declarative approach to handling concurrency and cancellation.

ember-stereo/src/-private/utils/strategizer.js (3)
  • 3-3: The update to import StereoUrl from a new path aligns with the goal of improving modularity and maintainability through the use of relative imports. This change is a positive step towards a more organized and modular codebase.
  • 23-32: The addition of logic to handle xhr options when building a strategy is a valuable enhancement, providing more control over XMLHttpRequests used in sound loading. This allows for customization of requests based on specific needs, improving the flexibility and capability of the sound loading process.
  • 20-35: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [3-103]

The Strategizer class is well-designed and implemented, offering a flexible and extensible approach to determining the best strategy for loading sounds. The use of tracked properties and cached getters ensures that the class is reactive and efficient, contributing to the project's overall functionality and user experience.

docs/app/styles/app.css (3)
  • 1-3: The inclusion of Tailwind CSS directives is correctly implemented, setting a solid foundation for utility-first styling throughout the project. This approach facilitates rapid development and ensures consistency in design.
  • 7-12: The use of custom CSS variables, such as --brand-primary, is a good practice for enhancing theming and consistency across the application. This allows for easier maintenance and updates to the application's color scheme.
  • 14-129: The custom styles for components and elements are well-defined, making effective use of Tailwind's @apply directive for maintainability and readability. These styles contribute to a cohesive and visually appealing user interface.
.github/workflows/ci.yml (2)
  • 9-9: The addition of the beta branch trigger is a positive change, expanding the workflow's applicability and ensuring that CI processes run on important development branches.
  • 20-156: The workflow configuration is comprehensive and well-organized, covering key CI/CD practices such as linting, building, testing, and deploying. The use of matrix configurations for testing across different paths and Ember versions ensures thorough compatibility checks. The deployment conditions and dispatch for release are correctly configured, aligning with common release workflows.
docs/app/components/diagnostic-controls.hbs (1)
  • 8-8: The change from this.identifier to this.url in the play-sound function call seems appropriate and aligns with the PR's objectives of enhancing URL handling. Ensure that this.url is always correctly set and represents the expected value for play-sound, especially in edge cases or when the form is initially loaded.
README.md (1)
  • 11-13: The updates to the compatibility section clearly outline the minimum required versions for Ember.js, Ember CLI, and Node.js, which is helpful for users to ensure they meet the project's requirements.
CHANGELOG.md (8)
  • 14-14: The entry mentions the addition of a feature allowing multiple identifiers in the metadata cache to support fallback URLs. This is a significant enhancement for flexibility and reliability.
  • 20-20: The update to slider and progress modifiers for better handling URL changes is a practical improvement for user experience, ensuring UI components reflect the current state accurately.
  • 26-26: Fixing the invalid super call in the sound-position-slider modifier is crucial for maintaining the integrity of the inheritance chain and preventing runtime errors.
  • 32-32: Removing console.log statements is a good practice for cleaner, production-ready code. It helps in avoiding unnecessary output in the console, which can be distracting or misleading during debugging.
  • 36-36: The chore of updating to Ember 4.8 and modifying release settings indicates a significant step towards modernizing the project and ensuring compatibility with newer versions of Ember.
  • 40-40: Dropping support for Ember versions below 3.28 is a breaking change that necessitates careful consideration and communication with the project's users to ensure they are prepared for the upgrade.
  • 46-46: Updating the import statement for Ember 4.x compatibility is a minor but necessary change to ensure the project's codebase remains up-to-date with the latest Ember conventions.
  • 52-52: Setting cross-origin to anonymous on audio elements is an important security measure for enabling audio analysis with the Web Audio API without running into CORS issues.


### Interactive docs at [ember-stereo.com](https://ember-stereo.com/docs)!

##### Upgrading from `ember-hifi`? Read the [upgrade guide](https://jkeen.github.com/ember-stereo)
Copy link

Choose a reason for hiding this comment

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

The upgrade guide link is broken due to a typo in the URL. It should use .io instead of .com for GitHub Pages.

- https://jkeen.github.com/ember-stereo
+ https://jkeen.github.io/ember-stereo

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
##### Upgrading from `ember-hifi`? Read the [upgrade guide](https://jkeen.github.com/ember-stereo)
##### Upgrading from `ember-hifi`? Read the [upgrade guide](https://jkeen.github.io/ember-stereo)


#### Service API

`stereo` plays one sound at a time. Multiple sounds can be loaded and ready to go, but only one sound plays at a time. The currently playing sound is set to `currentSound` on the service, and most methods and properties on the service simply proxy to that sound.
Copy link

Choose a reason for hiding this comment

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

Consider starting the sentence with an uppercase letter for consistency.

- `stereo` plays one sound at a time. Multiple sounds can be loaded and ready to go, but only one sound plays at a time. The currently playing sound is set to `currentSound` on the service, and most methods and properties on the service simply proxy to that sound.
+ `Stereo` plays one sound at a time. Multiple sounds can be loaded and ready to go, but only one sound plays at a time. The currently playing sound is set to `currentSound` on the service, and most methods and properties on the service simply proxy to that sound.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
`stereo` plays one sound at a time. Multiple sounds can be loaded and ready to go, but only one sound plays at a time. The currently playing sound is set to `currentSound` on the service, and most methods and properties on the service simply proxy to that sound.
`Stereo` plays one sound at a time. Multiple sounds can be loaded and ready to go, but only one sound plays at a time. The currently playing sound is set to `currentSound` on the service, and most methods and properties on the service simply proxy to that sound.

1. `HLS` - Uses HLS.js for playing HLS streams on the desktop.
1. `Howler` - Uses [howler](http://howlerjs.com) to play audio

`stereo` will take a list of urls and find the first connection/url combo that works. For desktop browsers, we'll try each url on each connection in the order the urls were specified.
Copy link

Choose a reason for hiding this comment

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

Consider starting the sentence with an uppercase letter and using "URLs" instead of "urls" for consistency and correctness.

- `stereo` will take a list of urls and find the first connection/url combo that works. For desktop browsers, we'll try each url on each connection in the order the urls were specified.
+ `Stereo` will take a list of URLs and find the first connection/URL combo that works. For desktop browsers, we'll try each URL on each connection in the order the URLs were specified.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
`stereo` will take a list of urls and find the first connection/url combo that works. For desktop browsers, we'll try each url on each connection in the order the urls were specified.
`Stereo` will take a list of URLs and find the first connection/URL combo that works. For desktop browsers, we'll try each URL on each connection in the order the URLs were specified.

# docs

This README outlines the details of collaborating on this Ember application.
A short introduction of this app could easily go here.
Copy link

Choose a reason for hiding this comment

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

Consider using "brief" instead of "short" for the introduction to strengthen the wording.

- A short introduction of this app could easily go here.
+ A brief introduction of this app could easily go here.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
A short introduction of this app could easily go here.
A brief introduction of this app could easily go here.

Comment on lines +22 to +31
/* .docs-bg-white,
body > .ember-view {
background-color: rgba(var(--color-background), 1);
}
.docs-bg-grey-lightest {
background-color: rgba(var(--color-surface), 1);
}
.docs-text-grey-darker {
color: rgba(var(--color-on-surface), 1);
} */
Copy link

Choose a reason for hiding this comment

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

Consider removing the commented-out code if it is no longer needed. Keeping the stylesheet clean and focused on current styles enhances maintainability and readability.

- /* .docs-bg-white,
- body > .ember-view {
-   background-color: rgba(var(--color-background), 1);
- }
- .docs-bg-grey-lightest {
-   background-color: rgba(var(--color-surface), 1);
- }
- .docs-text-grey-darker {
-   color: rgba(var(--color-on-surface), 1);
- } */

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
/* .docs-bg-white,
body > .ember-view {
background-color: rgba(var(--color-background), 1);
}
.docs-bg-grey-lightest {
background-color: rgba(var(--color-surface), 1);
}
.docs-text-grey-darker {
color: rgba(var(--color-on-surface), 1);
} */

Comment on lines 2 to 8

<span class="text-xl">is an addon that makes it easy to reactively handle all sorts of audio files in your ember octane app.</span>

<Docs::AttentionGetter/>
<Docs::AttentionGetter />

# Install

Copy link

Choose a reason for hiding this comment

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

📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [15-15]

Consider using "open-source" as a hyphenated compound adjective to modify "audio library" for clarity.

- an open source audio library
+ an open-source audio library

📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [15-15]

The term "web sites" is more commonly written as one word, "websites".

- most of NY Public Radio's web sites
+ most of NY Public Radio's websites

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.

Review Status

Actionable comments generated: 8

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 024d51b and c4227be.
Files selected for processing (1)
  • ember-stereo/CHANGELOG.md (1 hunks)


### Bug Fixes

* revert previous change, fix the actual problem ([364720e](https://github.com/jkeen/ember-stereo/commit/364720eb2f8eb88ee322aedfd6a2811a2e30dee2))
Copy link

Choose a reason for hiding this comment

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

Consider using more formal wording for bug fixes to enhance the professionalism of the changelog.

- * revert previous change, fix the actual problem
+ * Revert previous change, address the actual problem

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
* revert previous change, fix the actual problem ([364720e](https://github.com/jkeen/ember-stereo/commit/364720eb2f8eb88ee322aedfd6a2811a2e30dee2))
* Revert previous change, address the actual problem ([364720e](https://github.com/jkeen/ember-stereo/commit/364720eb2f8eb88ee322aedfd6a2811a2e30dee2))

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.

Review Status

Actionable comments generated: 5

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between c4227be and af7a45e.
Files selected for processing (2)
  • CHANGELOG.md (1 hunks)
  • docs/app/components/docs/stereo-volume-element-example.hbs (1 hunks)
Additional comments: 7
docs/app/components/docs/stereo-volume-element-example.hbs (3)
  • 6-11: The {{stereo-volume}} helper is used both as an attribute and within the {{style}} helper for dynamic width calculation. Ensure that the stereo-volume helper returns a value suitable for both uses, particularly a numeric value for the width calculation. If it returns complex data, consider refactoring for clarity and maintainability.
  • 18-18: The {{on 'click' (toggle-stereo-mute)}} action handler is correctly used to toggle the stereo's mute state on click. Ensure that the toggle-stereo-mute helper is implemented to handle the toggle logic effectively and that it properly updates the stereo-volume state.
  • 20-26: The conditional rendering based on {{stereo-volume}} is a good practice for showing different icons and labels based on the volume level. However, ensure that the gt helper is correctly imported and used, and that stereo-volume returns a numeric value for this comparison to work as expected.
CHANGELOG.md (4)
  • 61-61: The phrase "in order to" could be shortened to "to" for conciseness without losing meaning.

Consider simplifying "in order to support providing fallback urls into stereo" to "to support providing fallback URLs into stereo".

  • 56-102: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [110-110]

Consider simplifying "whether or not" to "whether" for conciseness.

Simplify "try to better detect whether or not audio source is a stream" to "try to better detect whether audio source is a stream".

  • 56-102: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [205-205]

The term "isMobileDevice" should be followed by a comma when introducing a reason.

Consider adding a comma for clarity: "make isMobileDevice a tracked variable, so volume-related logic works reliably".

  • 56-102: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [299-299]

The abbreviation "HLS" should be explained or defined at its first occurrence in the document for clarity.

Consider adding a brief explanation or definition of "HLS" at its first occurrence to ensure all readers understand the term.

<DocsDemo as |demo|>
<demo.example @name='stereo-volume-element.hbs'>
<div class='flex items-center w-full'>
{{! template-lint-disable require-input-label }}
Copy link

Choose a reason for hiding this comment

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

Consider adding an explicit input label for accessibility instead of disabling the lint rule with {{! template-lint-disable require-input-label }}. Improving accessibility is crucial for all users.

Comment on lines 56 to 102

# [4.1.0](https://github.com/jkeen/ember-stereo/compare/v4.0.3...v4.1.0) (2023-04-23)


### Features

* Accept multiple identifiers into metadata cache in order to support providing fallback urls into stereo ([7a8226b](https://github.com/jkeen/ember-stereo/commit/7a8226b495a59b673e3cf9692e69d34242d515ba))
- Accept multiple identifiers into metadata cache in order to support providing fallback urls into stereo ([7a8226b](https://github.com/jkeen/ember-stereo/commit/7a8226b495a59b673e3cf9692e69d34242d515ba))

## [4.0.3](https://github.com/jkeen/ember-stereo/compare/v4.0.2...v4.0.3) (2023-04-17)


### Bug Fixes

* update slider and progress modifiers to better handle changes when the url changes ([235d563](https://github.com/jkeen/ember-stereo/commit/235d5637419ddf419c07e4ce5897ee4fd27af0cc))
- update slider and progress modifiers to better handle changes when the url changes ([235d563](https://github.com/jkeen/ember-stereo/commit/235d5637419ddf419c07e4ce5897ee4fd27af0cc))

## [4.0.2](https://github.com/jkeen/ember-stereo/compare/v4.0.1...v4.0.2) (2022-12-24)


### Bug Fixes

* update ember-modifier, fix invalid super call on sound-position-slider modifier ([f68b01b](https://github.com/jkeen/ember-stereo/commit/f68b01b56f35e02233a58c9739839e7d99bd78b1))
- update ember-modifier, fix invalid super call on sound-position-slider modifier ([f68b01b](https://github.com/jkeen/ember-stereo/commit/f68b01b56f35e02233a58c9739839e7d99bd78b1))

## [4.0.1](https://github.com/jkeen/ember-stereo/compare/v4.0.0...v4.0.1) (2022-12-13)


### Bug Fixes

* remove console.log statement in volume modifier ([6ff4940](https://github.com/jkeen/ember-stereo/commit/6ff494048d3c591157adb587a736095de0183872))
- remove console.log statement in volume modifier ([6ff4940](https://github.com/jkeen/ember-stereo/commit/6ff494048d3c591157adb587a736095de0183872))

# [4.0.0](https://github.com/jkeen/ember-stereo/compare/v3.2.2...v4.0.0) (2022-12-13)


* chore!: update to Ember 4.8, modify release settings ([871c7e5](https://github.com/jkeen/ember-stereo/commit/871c7e534aee7a4dbfd46fb1cda3c7192909cd41))

- chore!: update to Ember 4.8, modify release settings ([871c7e5](https://github.com/jkeen/ember-stereo/commit/871c7e534aee7a4dbfd46fb1cda3c7192909cd41))

### BREAKING CHANGES

* drop support for Ember < 3.28
- drop support for Ember < 3.28

## [3.2.2](https://github.com/jkeen/ember-stereo/compare/v3.2.1...v3.2.2) (2022-09-02)


### Bug Fixes

* update import statement in setupStereoTest for Ember 4.x ([f53bd70](https://github.com/jkeen/ember-stereo/commit/f53bd7053e0d79b8a1242ec38bd9ec6833e2caa1))
- update import statement in setupStereoTest for Ember 4.x ([f53bd70](https://github.com/jkeen/ember-stereo/commit/f53bd7053e0d79b8a1242ec38bd9ec6833e2caa1))

## [3.2.1](https://github.com/jkeen/ember-stereo/compare/v3.2.0...v3.2.1) (2022-08-21)


### Bug Fixes

* Set cross-origin to anonymous on elements to allow for audio analysis using web audio api ([34022a4](https://github.com/jkeen/ember-stereo/commit/34022a45a8aa7510783d6cbcac8a0fbd9733f46b))
- Set cross-origin to anonymous on elements to allow for audio analysis using web audio api ([34022a4](https://github.com/jkeen/ember-stereo/commit/34022a45a8aa7510783d6cbcac8a0fbd9733f46b))

# [3.2.0](https://github.com/jkeen/ember-stereo/compare/v3.1.2...v3.2.0) (2022-07-14)

Copy link

Choose a reason for hiding this comment

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

📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [46-46]

The term "crossorigin" should be hyphenated as "cross-origin" for correctness.

- if crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin.
+ if cross-origin=anonymous fails on <audio> element, automatically try removing cross-origin.

📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [246-246]

The term "incase" should be written as two words: "in case".

- safely check systemStereoOptions incase it's not set and we're going full defaults
+ safely check systemStereoOptions in case it's not set and we're going full defaults

📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [199-199]

The term "etc." should be followed by a period to adhere to American English conventions.

- providing accurate now-playing info to iOS lock screens, etc
+ providing accurate now-playing info to iOS lock screens, etc.

### Bug Fixes

* Set cross-origin to anonymous on elements to allow for audio analysis using web audio api ([34022a4](https://github.com/jkeen/ember-stereo/commit/34022a45a8aa7510783d6cbcac8a0fbd9733f46b))
- Set cross-origin to anonymous on elements to allow for audio analysis using web audio api ([34022a4](https://github.com/jkeen/ember-stereo/commit/34022a45a8aa7510783d6cbcac8a0fbd9733f46b))
Copy link

Choose a reason for hiding this comment

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

The abbreviation "api" should be capitalized as "API" for consistency with standard abbreviations.

- Set cross-origin to anonymous on elements to allow for audio analysis using web audio api
+ Set cross-origin to anonymous on elements to allow for audio analysis using web audio API

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
- Set cross-origin to anonymous on elements to allow for audio analysis using web audio api ([34022a4](https://github.com/jkeen/ember-stereo/commit/34022a45a8aa7510783d6cbcac8a0fbd9733f46b))
- Set cross-origin to anonymous on elements to allow for audio analysis using web audio API ([34022a4](https://github.com/jkeen/ember-stereo/commit/34022a45a8aa7510783d6cbcac8a0fbd9733f46b))

@jkeen jkeen changed the title 5.x V2 Ember Addon Mar 18, 2024
# [5.0.0-beta.20](v5.0.0-beta.19...v5.0.0-beta.20) (2024-03-18)

### Bug Fixes

* if crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin. Resolves CORS issue ([3bbda22](3bbda22))
* Implement proper teardown on sound destruction ([f1d6355](f1d6355))
* only show durationWorkaroundTask error if the task wasn't cancelled ([c5f6b08](c5f6b08))
* Resolve issue introduced in last version when multiple sound position sliders on the same page ([a2dc4bd](a2dc4bd))
* resolve issue when trying to play a sound that is already playing. fixes [#23](#23) ([dc32ba3](dc32ba3))
* Resolve issue where sound-position-progress modifier would not work with howler since howler doesn't emit audio-position-changed events ([77408ff](77408ff))
* Resolve some more bugs with sound-position modifiers ([fb496c3](fb496c3))
* send pause event when releasing control of shared audio element ([f7fec45](f7fec45))

### Features

* Allow xhr option to be passed through to connections, so each connection can handle authenticated requests ([82fc6ad](82fc6ad))
* Fail native audio connection if xhr is passed, as native audio does not support that. ([93dea68](93dea68))
* improve firing resolution of audio-position-changed event. refs [#24](#24) ([0777253](0777253))
# [4.3.0](v4.2.3...v4.3.0) (2023-11-12)

### Features

* improve firing resolution of audio-position-changed event. refs [#24](#24) ([0777253](0777253))
## [4.3.1](v4.3.0...v4.3.1) (2024-03-18)

### Bug Fixes

* only show durationWorkaroundTask error if the task wasn't cancelled ([6b6410b](6b6410b))
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.

Review Status

Actionable comments generated: 5

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between af7a45e and 33b417f.
Files selected for processing (1)
  • ember-stereo/CHANGELOG.md (1 hunks)

@@ -0,0 +1,148 @@
ember-stereo changelog
Copy link

Choose a reason for hiding this comment

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

The changelog title should start with an uppercase letter for consistency and readability.

- ember-stereo changelog
+ Ember-Stereo Changelog

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
ember-stereo changelog
Ember-Stereo Changelog


### Bug Fixes

* if crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin. Resolves CORS issue ([3bbda22](https://github.com/jkeen/ember-stereo/commit/3bbda2277c7d5b74190c6a3adf2a971635053afe))
Copy link

Choose a reason for hiding this comment

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

Capitalize the first word of the sentence for consistency and readability.

- * if crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin. Resolves CORS issue ([3bbda22](https://github.com/jkeen/ember-stereo/commit/3bbda2277c7d5b74190c6a3adf2a971635053afe))
+ * If crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin. Resolves CORS issue ([3bbda22](https://github.com/jkeen/ember-stereo/commit/3bbda2277c7d5b74190c6a3adf2a971635053afe))

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
* if crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin. Resolves CORS issue ([3bbda22](https://github.com/jkeen/ember-stereo/commit/3bbda2277c7d5b74190c6a3adf2a971635053afe))
* If crossorigin=anonymous fails on <audio> element, automatically try removing crossorigin. Resolves CORS issue ([3bbda22](https://github.com/jkeen/ember-stereo/commit/3bbda2277c7d5b74190c6a3adf2a971635053afe))

* Implement proper teardown on sound destruction ([f1d6355](https://github.com/jkeen/ember-stereo/commit/f1d6355c845b43c8f10c93abde5782fe664be1b3))
* only show durationWorkaroundTask error if the task wasn't cancelled ([c5f6b08](https://github.com/jkeen/ember-stereo/commit/c5f6b080529f1e32af65dd9c8dc87f959b2da46f))
* Resolve issue introduced in last version when multiple sound position sliders on the same page ([a2dc4bd](https://github.com/jkeen/ember-stereo/commit/a2dc4bdb9f8313d72f98731f729c896b8e398b31))
* resolve issue when trying to play a sound that is already playing. fixes [#23](https://github.com/jkeen/ember-stereo/issues/23) ([dc32ba3](https://github.com/jkeen/ember-stereo/commit/dc32ba3aae8f751144430a28ff9567ca0c5e118a))
Copy link

Choose a reason for hiding this comment

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

Capitalize the first word of the sentence and the word "fixes" for consistency and readability.

- * resolve issue when trying to play a sound that is already playing. fixes [#23](https://github.com/jkeen/ember-stereo/issues/23) ([dc32ba3](https://github.com/jkeen/ember-stereo/commit/dc32ba3aae8f751144430a28ff9567ca0c5e118a))
+ * Resolve issue when trying to play a sound that is already playing. Fixes [#23](https://github.com/jkeen/ember-stereo/issues/23) ([dc32ba3](https://github.com/jkeen/ember-stereo/commit/dc32ba3aae8f751144430a28ff9567ca0c5e118a))

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
* resolve issue when trying to play a sound that is already playing. fixes [#23](https://github.com/jkeen/ember-stereo/issues/23) ([dc32ba3](https://github.com/jkeen/ember-stereo/commit/dc32ba3aae8f751144430a28ff9567ca0c5e118a))
* Resolve issue when trying to play a sound that is already playing. Fixes [#23](https://github.com/jkeen/ember-stereo/issues/23) ([dc32ba3](https://github.com/jkeen/ember-stereo/commit/dc32ba3aae8f751144430a28ff9567ca0c5e118a))


* Allow xhr option to be passed through to connections, so each connection can handle authenticated requests ([82fc6ad](https://github.com/jkeen/ember-stereo/commit/82fc6ad9d1cfec1a15cf80960a92d7d9c63f7c0c))
* Fail native audio connection if xhr is passed, as native audio does not support that. ([93dea68](https://github.com/jkeen/ember-stereo/commit/93dea688f8023013657c61953ec75f0f59835f5f))
* improve firing resolution of audio-position-changed event. refs [#24](https://github.com/jkeen/ember-stereo/issues/24) ([0777253](https://github.com/jkeen/ember-stereo/commit/0777253152bc6e65448a13fca9a71168cc3971c1))
Copy link

Choose a reason for hiding this comment

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

Capitalize the first word of the sentence and the word "refs" for consistency and readability.

- * improve firing resolution of audio-position-changed event. refs [#24](https://github.com/jkeen/ember-stereo/issues/24) ([0777253](https://github.com/jkeen/ember-stereo/commit/0777253152bc6e65448a13fca9a71168cc3971c1))
+ * Improve firing resolution of audio-position-changed event. Refs [#24](https://github.com/jkeen/ember-stereo/issues/24) ([0777253](https://github.com/jkeen/ember-stereo/commit/0777253152bc6e65448a13fca9a71168cc3971c1))

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
* improve firing resolution of audio-position-changed event. refs [#24](https://github.com/jkeen/ember-stereo/issues/24) ([0777253](https://github.com/jkeen/ember-stereo/commit/0777253152bc6e65448a13fca9a71168cc3971c1))
* Improve firing resolution of audio-position-changed event. Refs [#24](https://github.com/jkeen/ember-stereo/issues/24) ([0777253](https://github.com/jkeen/ember-stereo/commit/0777253152bc6e65448a13fca9a71168cc3971c1))


### Features

* adjust logic to allow for live streaming HLS files and allowing ([a633c17](https://github.com/jkeen/ember-stereo/commit/a633c17b8204d05a94ea1e98297ab8e20581d846))
Copy link

Choose a reason for hiding this comment

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

Consider using "live-streaming" for clarity and consistency in terminology.

- * adjust logic to allow for live streaming HLS files and allowing
+ * Adjust logic to allow for live-streaming HLS files and allowing

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
* adjust logic to allow for live streaming HLS files and allowing ([a633c17](https://github.com/jkeen/ember-stereo/commit/a633c17b8204d05a94ea1e98297ab8e20581d846))
* Adjust logic to allow for live-streaming HLS files and allowing ([a633c17](https://github.com/jkeen/ember-stereo/commit/a633c17b8204d05a94ea1e98297ab8e20581d846))

@jkeen jkeen merged commit 1fa07e1 into main Mar 18, 2024
13 of 25 checks passed
@jkeen
Copy link
Owner Author

jkeen commented Mar 18, 2024

🎉 This PR is included in version 5.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@jkeen jkeen added the released label Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants