
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
@noirdoor/client
Advanced tools
Chords music streaming web app
Lead Maintainer: Seth Holladay
Kanban Board | Release Notes | Roadmap
We aim to fix the music economy, by paying artists fairly and empowering fans to choose who gets their money. We want everyone to enjoy a happy, productive life creating and listening to music.
The Chords frontend app provides a beautiful experience for uploading and streaming music. It is the user interface for dev.chords.io, where all of the music lives, and where you can go to support your favorite artist.
git clone git@github.com:noirdoor/client.git &&
cd client &&
npm install
npm run build
/app in your browser
chords --open=app
Note that the server uses a client version from npm in production and your local client during development. Changes to the server itself require restarting the server, however changes to the client only require rebuilding the client.
To make development and debugging easier, we support the React DevTools extension (for Chrome and Firefox) and the Redux DevTools extension (for Chrome and Firefox).
File an issue if there are other tools you think we should use or support!
The client's programmatic API is designed to help the server locate the resources it needs to serve the app.
const client = require('@noirdoor/client');
console.log('Build path:', client.appPath);
Type: object
Constants to locate builds of the client, which the server uses to serve the client correctly.
Absolute path to the app's main entry point. Use path.join(appPath, '..') to get its parent directory or path.basename(appPath) to get its filename.
You should test the code frequently to catch mistakes early.
npm test
If necessary, you can instead run the individual commands (e.g. xo to lint the code), in which case you should install the relevant tools globally.
We highly recommend integrating the linter in your code editor to help you while writing code.
All commits, including pull requests, are tested by Travis CI.
We don't yet have automatic deployment, but the app on dev.chords.io is updated within a few minutes of bumping the client dependency in the server.
See the latest CI results at: https://travis-ci.com/noirdoor/client
We support recent versions of modern, auto-updating browsers on Windows 10 and macOS 10.13 or newer. Generally, the latest two browser versions are supported, except when major breaking changes are released, in which case it may take some time for us to support the new version.
| IE | Edge | Chrome | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| X | X | √ | √ | TBD | X |
Mobile and tablet support is not planned at this time. However, iPad support may be a low priority stretch goal for late 2018.
These humans are the primary caretakers of @noirdoor/client.
![]() | ![]() |
|---|---|
| Seth Holladay | Ilias Aboubeker |
See our contributing guidelines for more details.
git checkout -b my-new-featuregit commit -am 'Add some feature'git push origin my-new-featureCopyright © 2017 Noirdoor. All rights reserved.
FAQs
Chords music streaming web app
We found that @noirdoor/client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.