Code Monkey home page Code Monkey logo

c-flo's Introduction

c-flo Build Status Greenkeeper badge

MsgFlo setup for rewiring the c-base space station.

Hack weekend: Reprogramming the hackerspace hack weekend was held at c-base, July 7-9 2017. Read about it.

Introduction

c-base is a crashed space station under Berlin that also happens to be one of the oldest hackerspaces. The station has lots of information systems and devices connected using the c-beam MQTT system. c-flo uses MsgFlo and Flowhub to make those devices and the connections between them visible. It also allows new connections between devices to be made, either directly, or using simple Python components to convert data in-between.

The aim of c-flo is to make all systems at c-base visible in a single graph, and to foster creativity in how these systems and devices interact.

Parts of the system

  • c-beam information transmission system over MQTT
  • c-flo, the MsgFlo coordinator setup for c-base
  • Raspberry Pi 3 running c-flo
  • Flowhub IDE for viewing and reprogramming the c-flo network

Access

The c-flo system is available in c-base crew network. You can open the graph with the following URL:

http://app.flowhub.io#runtime/endpoint?protocol%3Dwebsocket%26address%3Dws%3A%2F%2Fc-flo.cbrp3.c-base.org%3A3569%26id%3Da9dca883-c07f-4cd7-b369-180fa9b52b68

This will download the Flowhub app to your browser and connect directly with the c-flo coordinator.

Connecting Systems

Each system or device at c-base can be programmed to appear as a node in the c-flo graph by making it a MsgFlo participant. The design principles and how to make systems visible to c-flo are documented below.

Design Principles

All devices and systems at c-base should interface with the c-beam MQTT network. Optimally this means receiving their input from a MQTT topic, and sending their status or output to another MQTT topic.

To maximize interoperability, systems should use their own MQTT topics and not be "hardcoded" to speak with a particular other system. artifact-name/functionality is a good naming scheme. For example display/open_url for a topic where a screen receives URLs to show, and display/opened for a topic where it sends what it is currently displaying.

The MQTT topic names should be made so that there can be multiple instances of same system running. So you might have display1/open and display_downstairs/open.

Connections between systems should be made visually using c-flo.

When needed, Python components can be written as "glue" to convert data from one system to the format wanted by another.

Modifications made to the c-flo network should be committed to this repository.

Existing Participants

When the c-flo effort started, c-base already had several artifacts communicating over the MQTT network. These are represented in MsgFlo-land as "foreign participants" loaded from YAML definitions in the components/ folder.

To document any missing artifacts, please amend the definitions there. See participant discovery for format documentation.

For example, here is how the Echelon network monitoring system was made to appear in c-flo:

component: c-flo/echelon
label: station network traffic monitoring
icon: wifi
inports: {}
outports:
  traffic:
    queue: system/echelon/traffic
    type: object

The foreign participant mechanism is fine for making existing systems appear in c-flo. However, any new artifacts should be made to announce themselves.

Self-announcing Participants

If you're building a new system that interfaces over c-beam, it is quite easy to make it self-announce itself on c-flo. This is done by periodically sending a MsgFlo discovery message on the fbp MQTT topic.

The discovery messages are formatted as JSON and contain the following information:

  • Component name (typically the GitHub project name, like c-base/ingress-table). There can be multiple devices running the same component
  • Role, the name of the node in the c-flo graph. This is used to distinguish different instances of same system, so siri and he1 can run same software component but are different devices
  • Inports, listing the topics the system listens to
  • Outports, listing the topics the system writes to

For example, here is the discovery message sent by farbgeber:

{
  "command": "participant",
    "protocol": "discovery",
    "payload": {
      "component": "c-base/farbgeber",
      "inports": [
      {
        "queue": "farbgeber.IN",
        "type": "bang",
        "id": "in"
      }
      ],
      "label": "Produce pleasing color palettes",
      "outports": [
      {
        "queue": "farbgeber.PALETTE",
        "type": "object",
        "id": "palette"
      }
      ],
      "role": "farbgeber",
      "id": "farbgeber92490",
      "icon": "tint"
    }
}

These discovery messages should be sent when the system starts up and connects to the c-base bot network. In addition it should be re-sent roughly once per minute.

There are MsgFlo libraries available for various programming languages to handle the discovery flow automatically.

Some examples of self-announcing participants:

Dynamic Participants

Dynamic participants are started by c-flo itself on-demand. These are typically msgflo-python components used as glue to convert data between other systems or to add dynamic logic to the network.

Some examples of dynamic participants:

  • NetworkBars converts current c-base network traffic to a DMX light visualization
  • DetectABBA tells whether a currently playing song is by ABBA
  • VisualPaging shows current spoken announcements as web pages on connected displays

Testing Participants

Dynamic participants included in this repository can be included in our test automation setup. Tests are written in fbp-spec format and stored as .yaml files in the spec/ folder. For example, here is how we can test the ABBA detector:

name: 'Detecting ABBA'
topic: c-flo/DetectABBA
fixture:
  type: 'fbp'
  data: |
    INPORT=detect.SONG:IN
    OUTPORT=detect.OUT:OUT
    detect(c-flo/DetectABBA)
cases:
-
  name: 'currently playing AC/DC'
  assertion: 'should return false'
  inputs:
    in:
      artist: 'AC/DC'
  expect:
    out:
      -
        equals: false
-
  name: 'currently playing ABBA'
  assertion: 'should return true'
  inputs:
    in:
      artist: 'ABBA'
  expect:
    out:
      -
        equals: true

Running locally

  • Install and start a Mosquitto message broker
  • Install the Node.js dependencies of this project with npm install
  • Install the Python dependencies of this project with pip install -r requirements.pip
  • Start the MsgFlo broker with MSGFLO_BROKER=mqtt://localhost npm start

Running with Docker

  • Ensure you have a running Docker daemon
  • Start the project with docker-compose up (use docker-compose-raspberrypi3.yml file if you want to run on RPi3)

Note: by default the MsgFlo coordinator and MQTT ports are only available on localhost. Edit the ports declarations in docker-compose.yml if you want to open them to the outside.

create Markup for WIKI

Command grunt createMarkup will generate a table from the participants folder that can be copied and inserted into the mqtt wiki page (https://wiki.c-base.org/dokuwiki/projects:mqtt).

  • TODO: automate the process, so the wiki is always up to date
  • TODO: add support for FontAwesome to wiki.

c-flo's People

Contributors

akendo avatar bergie avatar cannonerd avatar cascha42 avatar cmile avatar coon42 avatar dazz avatar dubst3pg4m3r avatar ethanwashere avatar greenkeeper[bot] avatar greenkeeperio-bot avatar igbc avatar jaseg avatar jonnor avatar uwekamper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c-flo's Issues

An in-range update of fbp-spec is breaking the build 🚨

Version 0.2.2 of fbp-spec just got published.

Branch Build failing 🚨
Dependency fbp-spec
Current Version 0.2.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As fbp-spec is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 25 commits.

  • 3268a1e Bump
  • 4545d7f Remove component.json
  • b8f1243 Merge pull request #123 from flowbased/retry-connection
  • ebf5373 subprocess: Timeout faster
  • a4b622a fbp-protocol-client: Require 0.1.12, fixes hang on connection error
  • 812e605 Prefer using connection retrying to handle starttimeout
  • 7df0344 runner: Retry runtime connection
  • 31a9d8d Merge pull request #115 from flowbased/greenkeeper/mocha-3.5.0
  • b418882 fix(package): update mocha to version 3.5.0
  • f049992 Merge pull request #113 from flowbased/greenkeeper/chai-4.1.0
  • a722147 fix(package): update chai to version 4.1.0
  • 2d80ce3 Merge pull request #109 from flowbased/greenkeeper/chai-4.0.1
  • ad83c8c fix(package): update chai to version 4.0.1
  • 89763b0 Merge pull request #106 from flowbased/greenkeeper/mocha-3.4.1
  • 1d4facb fix(package): update mocha to version 3.4.1

There are 25 commits in total.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of mocha is breaking the build 🚨

Version 4.1.0 of mocha was just published.

Branch Build failing 🚨
Dependency mocha
Current Version 4.0.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v4.1.0

4.1.0 / 2017-12-28

This is mainly a "housekeeping" release.

Welcome @Bamieh and @xxczaki to the team!

🐛: Fixes

  • #2661: progress reporter now accepts reporter options (@canoztokmak)
  • #3142: xit in bdd interface now properly returns its Test object (@Bamieh)
  • #3075: Diffs now computed eagerly to avoid misinformation when reported (@abrady0)
  • #2745: --help will now help you even if you have a mocha.opts (@Zarel)

🎉 Enhancements

  • #2514: The --no-diff flag will completely disable diff output (@CapacitorSet)
  • #3058: All "setters" in Mocha's API are now also "getters" if called without arguments (@makepanic)

📖 Documentation

🔩 Other

Commits

The new version differs by 409 commits.

  • 6b9ddc6 Release v4.1.0
  • 3c4b116 update CHANGELOG for v4.1.0
  • 5be22b2 options.reporterOptions are used for progress reporter
  • ea96b18 add .fossaignore [ci skip]
  • adc67fd Revert "[ImgBot] optimizes images (#3175)"
  • ae3712c [ImgBot] optimizes images (#3175)
  • 33db6b1 Use x64 node on appveyor
  • 4a6e095 Run appveyor tests on x64 platform. Might enable sharp installation
  • 3abed9b Lint netlify-headers script
  • 119543e Add preconnect for doubleclick domain that google analytics results in contacting
  • bd5109e Remove crossorigin='anonymous' from preconnect hints. Only needed for fonts, xhr and es module loads
  • 123ee4f Handle the case where all avatars are already loaded at the time when the script exexecutes
  • 64deadc Specific value for inlining htmlimages to guarantee logo is inlined
  • 8f1ded4 https urls where possible
  • d5a5125 Be explicit about styling of screenshot images

There are 250 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Raspberry pi census

Use for example nmap to scan hourly(?) the crew network for raspberry Pi (by Mac address) and publish the total amount of rpis that are online as sensor value

An in-range update of grunt is breaking the build 🚨

Version 1.0.2 of grunt was just published.

Branch Build failing 🚨
Dependency grunt
Current Version 1.0.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

grunt is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 27 commits.

  • ccc3163 v1.0.2
  • e7795dc Remove iojs from test matrix (#1622)
  • a6a133b Remove deprecation warning for coffeescript (#1621) r=@vladikoff
  • 06b377e https links to webchat.freenode.net and gruntjs.com (#1610)
  • 7c5242f Use node executable for local grunt bin for Windows support
  • f6cbb63 Oh right, Windows isnt bash
  • a9a20da Try and debug why appveyor is failing on npm
  • 48bba6c Move to the test script to avoid npm was unexpected at this time.
  • 6b97ac0 Try to fix appveyor script
  • 19003ba For appveyor, check node version to decide whether to install npm@3
  • 3fcf921 Install npm@3 if npm version is npm 1 or 2
  • 77fc157 Use the local version of grunt to run tests
  • 400601a Updating devDependencies
  • 6592ad1 Update travis/appveyor to node versions we support
  • b63aeec Dont manually install npm, use the version each node version corresponds with

There are 27 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Power saving on station shutdown

As discussed separately with @berlincount and @kristall, we should implement a way to centrally manage power usage of all non-essential parts of the c-base IoT network:

  • Shut devices down (or enter power-saving mode) at station shutdown
  • Start up again when station opens (could be automatic, could be manual)

Optimally this would happen via a specific "shutdown" message on MQTT, triggered from the c-leuse shield switch, but pending that we could add a separate NodeMCU-powered button next to the shield console for sending this message.

So far the communication has been that there is no desire to broadcast a "station open" state outside of c-base, but we could still provide it on the crew network for IoT devices to start up. Assuming the sensors are running, there are of course some proxies for this information like door open/closed state, lights, motion.

Info screens

Two options to consider:

  • Shut down the Raspberry Pi cleanly (but then the problem is starting it up again, since RPis don't support Wake-on-LAN)
  • Keep RPi on, but disable HDMI

Either way, the screens themselves are the bigger power user than the RPi, and stopping the HDMI link should make them go to power-saving mode.

Sensor modules

The NodeMCUs consume 35mA on average on running (source). Since the sensor data is useful also for times when station is shut down, I'd recommend just keeping them running.

If this usage is a problem, we can make them go to deep sleep for some intervals when in shutdown mode and do WiFi connection and sensor reads only infrequently.

Other artefacts

The shutdown message could also be useful for some other artefacts, like:

  • Siri: turn off display like other info screens, maybe turn off the lights?
  • Ingress Table: turn off the lights
  • Mate Light: turn off the lights

etc.

cc/ @uwekamper @ij0n

An in-range update of fbp-spec is breaking the build 🚨

Version 0.5.1 of fbp-spec was just published.

Branch Build failing 🚨
Dependency fbp-spec
Current Version 0.5.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

fbp-spec is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 3 commits.

  • 6f4477b Bump
  • 7c77125 Merge pull request #142 from flowbased/no-setup-skipped
  • 6ee5350 runner: Don't setup suites with no tests to be ran

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

integrate the last 10sec of motion-sensor into float

take the last 10 seconds of boolean data from the motion sensors, convert all the boolean values to integers, calculate the average of the integer-list and output as float.
use this data to draw graph in openmct.

this makes it look more like an "activity" sensor, because it gives out a float between 0 and 1 and not a boolean. also small jittery false-positives only show as a very small bump, while actual activity will look more like a constant 1

An in-range update of mocha is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 5.0.2 of mocha was just published.

Branch Build failing 🚨
Dependency mocha
Current Version 5.0.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v5.0.2

5.0.2 / 2018-03-05

This release fixes a class of tests which report as false positives. Certain tests will now break, though they would have previously been reported as passing. Details below. Sorry for the inconvenience!

🐛 Fixes

  • #3226: Do not swallow errors that are thrown asynchronously from passing tests (@boneskull). Example:

    it('should actually fail, sorry!', function (done) {
      // passing assertion
      assert(true === true);
    

    // test complete & is marked as passing
    done();

    // ...but something evil lurks within
    setTimeout(() => {
    throw new Error('chaos!');
    }, 100);
    });

    Previously to this version, Mocha would have silently swallowed the chaos! exception, and you wouldn't know. Well, now you know. Mocha cannot recover from this gracefully, so it will exit with a nonzero code.

    Maintainers of external reporters: If a test of this class is encountered, the Runner instance will emit the end event twice; you may need to change your reporter to use runner.once('end') intead of runner.on('end').

  • #3093: Fix stack trace reformatting problem (@outsideris)

:nut_and_bolt Other

Commits

The new version differs by 13 commits.

  • f2ee53c Release v5.0.2
  • ff1bd9e update package-lock.json
  • 6a796cb prepare CHANGELOG for v5.0.2 [ci skip]
  • 0542c40 update README.md; closes #3191 [ci skip]
  • afcd08f add MAINTAINERS.md to .fossaignore [ci skip]
  • 3792bef add opencollective header image to assets/
  • 5078fc5 persist paths in stack trace which have cwd as infix
  • 2c720a3 do not eat exceptions thrown asynchronously from passed tests; closes #3226
  • 3537061 Update to correctly licensed browser-stdout version
  • ec8901a remove unused functionality in utils module
  • f71f347 rename wallaby.js -> .wallaby.js
  • c4ef568 fix PR url
  • 73d55ac fix typos in changelog [ci skip]

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Malformed Discovery Message causes c-flo to stop

A previous version of cdmmpqtt.py (https://github.com/c-base/cdmmpqtt) did publish a discovery message that did not include the "inports"-list. This caused c-flo to stop working. Here is the error message:

May 14 03:31:26 c-flo node[3134]: Participant discovery failed: Discovery message missing .inports
May 14 03:31:26 c-flo node[3134]:  Error: Discovery message missing .inports
May 14 03:31:26 c-flo node[3134]:     at Coordinator.participantDiscovered (/opt/c-flo/node_modules/msgflo/src/coordinator.coffee:168:11)
May 14 03:31:26 c-flo node[3134]:     at Coordinator.handleFbpMessage (/opt/c-flo/node_modules/msgflo/src/coordinator.coffee:160:8)
May 14 03:31:26 c-flo node[3134]:     at /opt/c-flo/node_modules/msgflo/src/coordinator.coffee:135:14
May 14 03:31:26 c-flo node[3134]:     at MessageBroker.Client._onMessage (/opt/c-flo/node_modules/msgflo-nodejs/lib/mqtt.js:165:22)
May 14 03:31:26 c-flo node[3134]:     at MqttClient.<anonymous> (/opt/c-flo/node_modules/msgflo-nodejs/lib/mqtt.js:58:26)
May 14 03:31:26 c-flo node[3134]:     at emitThree (events.js:116:13)
May 14 03:31:26 c-flo node[3134]:     at MqttClient.emit (events.js:197:7)
May 14 03:31:26 c-flo node[3134]:     at MqttClient._handlePublish (/opt/c-flo/node_modules/mqtt/lib/client.js:816:12)
May 14 03:31:26 c-flo node[3134]:     at MqttClient._handlePacket (/opt/c-flo/node_modules/mqtt/lib/client.js:286:12)
May 14 03:31:26 c-flo node[3134]:     at process (/opt/c-flo/node_modules/mqtt/lib/client.js:242:12)
May 14 03:31:26 c-flo node[3134]:     at Writable.writable._write (/opt/c-flo/node_modules/mqtt/lib/client.js:252:5)
May 14 03:31:26 c-flo node[3134]:     at doWrite (/opt/c-flo/node_modules/mqtt/node_modules/readable-stream/lib/_stream_writable.js:338:64)
May 14 03:31:26 c-flo node[3134]:     at writeOrBuffer (/opt/c-flo/node_modules/mqtt/node_modules/readable-stream/lib/_stream_writable.js:327:5)
May 14 03:31:26 c-flo node[3134]:     at Writable.write (/opt/c-flo/node_modules/mqtt/node_modules/readable-stream/lib/_stream_writable.js:264:11)
May 14 03:31:26 c-flo node[3134]:     at Socket.ondata (_stream_readable.js:555:20)
May 14 03:31:26 c-flo node[3134]:     at emitOne (events.js:96:13)
May 14 03:31:26 c-flo node[3134]:     at Socket.emit (events.js:191:7)
May 14 03:31:26 c-flo node[3134]:     at readableAddChunk (_stream_readable.js:176:18)
May 14 03:31:26 c-flo node[3134]:     at Socket.Readable.push (_stream_readable.js:134:10)
May 14 03:31:26 c-flo node[3134]:     at TCP.onread (net.js:563:20)
May 14 03:31:26 c-flo node[3134]:
May 14 03:31:26 c-flo node[3134]:  {"command":"participant","protocol":"discovery","payload":{"component":"c-base/music-player","label":"Show URL on a public screen.","outports":[{"queue":"megablast/current_song","type":"object","description":"JSON object of the current song being played.","id":"current_song"}],"role":"megablast","id":"cdmmpqtt83779605327991","icon":"television"}}

Restarting the c-flo.service using systemctl would then result in the following error.

May 14 04:04:22 c-flo node[3854]: --forever enabled
May 14 04:05:03 c-flo node[3854]: /opt/c-flo/node_modules/msgflo/src/msgflo.coffee:31
May 14 04:05:03 c-flo node[3854]:         throw err;
May 14 04:05:03 c-flo node[3854]:         ^
May 14 04:05:03 c-flo node[3854]: Error: Waiting for participant nerdctrl-display timed out
May 14 04:05:03 c-flo node[3854]:     at Timeout._onTimeout (/opt/c-flo/node_modules/msgflo/src/coordinator.coffee:74:21)
May 14 04:05:03 c-flo node[3854]:     at ontimeout (timers.js:380:14)
May 14 04:05:03 c-flo systemd[1]: c-flo.service: Main process exited, code=exited, status=1/FAILURE
May 14 04:05:03 c-flo systemd[1]: c-flo.service: Unit entered failed state.
May 14 04:05:03 c-flo systemd[1]: c-flo.service: Failed with result 'exit-code'.

Stopping c-flo, reverting graphs/c-base.json to the last working version and then restart c-flo resolved the issue.

To reproduce the issue one can create a discovery message like this:

discovery_message = {
        "command": "participant",
        "protocol": "discovery",
        "payload": {
            "component": "c-base/music-player",
            "label": "Show URL on a public screen.",
            # "inports": [], ### inports missing ###
            "outports": [
                {
                    "queue": "%s/current_song" % mqtt_client_name,
                    "type": "object",
                    "description": "JSON object of the current song being played.",
                    "id": "current_song",
                }
            ],
            "role": "%s" % mqtt_client_name,
            "id": mqtt_client_id,
            "icon": "television"
        },
    }

Nightly reset to git version

We should make c-flo reset to git master periodically, for instance once per day.

Proposed flow:

  • Send a warning via announce_en some minutes before so people know to save their work
  • git stash all local modifications to participants and the graph
  • git reset --hard && git pull
  • Restart c-flo coordinator

This way we can make incentivize people to commit their changes via Flowhub to this repo, and make sure the system recovers automatically in case of programmer errors.

An in-range update of mocha is breaking the build 🚨

Version 5.2.0 of mocha was just published.

Branch Build failing 🚨
Dependency mocha
Current Version 5.1.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v5.2.0

5.2.0 / 2018-05-18

🎉 Enhancements

🐛 Fixes

📖 Documentation

🔩 Other

Commits

The new version differs by 30 commits.

  • 5bd33a0 Release v5.2.0
  • 0a5604f reformat missed files
  • 7c8f551 ensure scripts/*.js gets prettiered
  • d8ea2ba update CHANGELOG.md for v5.2.0 [ci skip]
  • 7203ed7 update all dependencies
  • fb5393b migrate Mocha's tests to Unexpected assertion library (#3343)
  • fae9af2 docs(docs/index.md): Update "mocha.opts" documentation
  • 9d9e6c6 feat(bin/options.js): Add support for comment lines in "mocha.opts"
  • e0306ff fix busted lint-staged config
  • f2be6d4 Annotate when exceptions are caught but ignored; closes #3354 (#3356)
  • 889e681 remove dead code in bin/_mocha
  • 8712b95 fix(ocd): re-order Node.js tests in .travis.yml (descending)
  • 3ab0e7e fix to exit correctly when using bail flag
  • d87b12e add Node.js v10 to build; fix win32 issues (#3350)
  • b392af5 update package-lock.json for npm@6 [ci skip]

There are 30 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Set up unit tests

Currently the testing setup utilizes legacy NoFlo components we're no longer running.

Instead, we should set up fbp-spec test runner for testing the actual participants we have in the system.

An in-range update of mocha is breaking the build 🚨

The devDependency mocha was updated from 6.0.2 to 6.1.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v6.1.0

6.1.0 / 2019-04-07

🔒 Security Fixes

  • #3845: Update dependency "js-yaml" to v3.13.0 per npm security advisory (@plroebuck)

🎉 Enhancements

  • #3766: Make reporter constructor support optional options parameter (@plroebuck)
  • #3760: Add support for config files with .jsonc extension (@sstephant)

📠 Deprecations

These are soft-deprecated, and will emit a warning upon use. Support will be removed in (likely) the next major version of Mocha:

🐛 Fixes

  • #3829: Use cwd-relative pathname to load config file (@plroebuck)
  • #3745: Fix async calls of this.skip() in "before each" hooks (@juergba)
  • #3669: Enable --allow-uncaught for uncaught exceptions thrown inside hooks (@givanse)

and some regressions:

📖 Documentation

🔩 Other

  • #3830: Replace dependency "findup-sync" with "find-up" for faster startup (@cspotcode)
  • #3799: Update devDependencies to fix many npm vulnerabilities (@XhmikosR)
Commits

The new version differs by 28 commits.

  • f4fc95a Release v6.1.0
  • bd29dbd update CHANGELOG for v6.1.0 [ci skip]
  • aaf2b72 Use cwd-relative pathname to load config file (#3829)
  • b079d24 upgrade deps as per npm audit fix; closes #3854
  • e87c689 Deprecate this.skip() for "after all" hooks (#3719)
  • 81cfa90 Copy Suite property "root" when cloning; closes #3847 (#3848)
  • 8aa2fc4 Fix issue 3714, hide pound icon showing on hover header on docs page (#3850)
  • 586bf78 Update JS-YAML to address security issue (#3845)
  • d1024a3 Update doc examples "tests.html" (#3811)
  • 1d570e0 Delete "/docs/example/chai.js"
  • ade8b90 runner.js: "self.test" undefined in Browser (#3835)
  • 0098147 Replace findup-sync with find-up for faster startup (#3830)
  • d5ba121 Remove "package" flag from sample config file because it can only be passes as CLI arg (#3793)
  • a3089ad update package-lock
  • 75430ec Upgrade yargs-parser dependency to avoid loading 2 copies of yargs

There are 28 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of mocha is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 5.0.5 of mocha was just published.

Branch Build failing 🚨
Dependency mocha
Current Version 5.0.4
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v5.0.5

5.0.5 / 2018-03-22

Welcome @outsideris to the team!

🐛 Fixes

📖 Documentation

🔩 Other

Commits

The new version differs by 18 commits.

  • c11e1e2 Release v5.0.5
  • b5a556e add changes for v5.0.5 [ci skip]
  • 424ef84 increase default timeout for browser unit tests
  • 19104e3 fix debug msg in Runnable#slow; closes #2952
  • f4275b6 extract checking AMD bundle as own test
  • 19b764d Addressed feedback
  • 2c19503 Fixed linting
  • ab84f02 chore(docs): rewording pending tests
  • 6383916 fix to bail option works properly with hooks (#3278)
  • 0060884 keep hierarchy for skipped suites w/o a callback
  • 39df783 docs: Fix typo in an emoji
  • 27af2cf fix(changelog): update links to some PRs
  • d76f490 chore(ci): Remove PHANTOMJS_CDNURL, nit
  • 86af6bb fix my carelessness in e19e879
  • e19e879 ensure lib/mocha.js is not ignored by ESLint

There are 18 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of grunt is breaking the build 🚨

Version 1.0.3 of grunt was just published.

Branch Build failing 🚨
Dependency grunt
Current Version 1.0.2
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

grunt is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 10 commits.

  • 9ba3a99 1.0.3
  • eee4c33 Changelog v1.0.3
  • 46da7f2 Merge pull request #1636 from gruntjs/upt
  • 00f4d8a Drop support for Node 0.10 and 0.12
  • e852727 util update
  • 56d702e Update deps
  • 0105524 Fix race condition with file.mkdir and make it operate more similarily to mkdir -p (#1627) r=@vladikoff
  • 303d445 https links (#1629)
  • d969132 Merge pull request #1624 from gruntjs/rm-bump-deps
  • 289ff91 Remove old bump task and deps

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml
  • The new Node.js version is in-range for the engines in 1 of your package.json files, so that was left alone

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

"on air"-button in workshop should pause MPD player

When the workshop is on-air, the system should automatically pause the MPD and c_out player for the workshop and should resume normal operation when the on-air status is removed by another press of the button.

this seems to be two independent tasks. MPD-interface and c-out-player interface.

An in-range update of coffeescript is breaking the build 🚨

The dependency coffeescript was updated from 2.3.2 to 2.4.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

coffeescript is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 11 commits.

  • e6f6aa8 Version bump in lockfile
  • c09d8fb Release 2.4.0 (#5182)
  • f6d6377 ES module version of compiler for use in browsers; dynamic import() docs; revised Stage 3 policy (#5177)
  • 41b31c7 Fix repl.rli deprecation (#5178)
  • ec034e2 Fix tests (#5176)
  • ff24e5c Dynamic import (#5169)
  • ca275c2 Fix #5128: parens around default param (#5167)
  • 63ffe0a Fix 5085 (#5145)
  • 247b511 Remove extra word in comment in src/nodes.coffee (#5158)
  • 2f82b75 implement coffeescript.registerCompiled method (#5130)
  • 294bb47 Fix #5112: A string of ', ' in an array should not be detected as an elision (#5113)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of coffee-script is breaking the build 🚨

Version 1.12.8 of coffee-script was just published.

Branch Build failing 🚨
Dependency coffee-script
Current Version 1.12.7
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

coffee-script is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Commits

The new version differs by 11 commits ahead by 11, behind by 7.

  • 943579a 1.12.8 (#4801)
  • 8bb89d8 Backport #4783, fix for export default followed by an implicit object (#4800)
  • f301b04 [CS1] Add postinstall message for direct installs of ‘coffee-script’ (#4759)
  • c5f4314 [CS1] Travis CI for 1.x (#4797)
  • 1ad9c61 Revise v1 docs to reflect that v2 is out; update paths to reflect that the v2 docs are now the primary docs, and the v1 docs only live under /v1/
  • 249cc59 Remove v2 docs
  • e7073bc Update CS2 docs per #4688
  • 458440e 2.0.0-beta5 docs
  • 6cea181 [CS1] fix #4260 and #1349: splat error with soak properties or expressions (#4643)
  • e3c2c03 2.0.0-beta4 docs
  • 27f21a3 1.12.7 (#4617)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of adds is breaking the build 🚨

The dependency adds was updated from 1.2.7 to 1.2.8.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

adds is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v1.2.8
  • Update test script in package.json bef121b
  • Update dependencies and switch from yarn.lock -> package-lock.json 160b435
  • Ignore yarn-error.log 9fe32a8
  • v1.2.7 469f437
  • update dependencies ddf4d6f

v1.2.6...v1.2.8

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of noflo is breaking the build 🚨

Version 1.1.0 of noflo was just published.

Branch Build failing 🚨
Dependency noflo
Current Version 1.0.3
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

noflo is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 51 commits.

  • 145c9f3 Release 1.1.0
  • 39a2dbf Merge pull request #591 from noflo/introspection
  • acaee45 Document ES5 limitation with default values
  • a9334d7 Provide example for wrapping built-in functions
  • bed1933 Explain why we skip
  • c8f357f Usage example in JavaScript
  • ff2adab Skip default value test in browser
  • f8fde39 Basic interface documentation
  • b2d6a5b Add support for params with default values
  • 3775783 Only attach ports that have input going to them to make defaults work
  • cd89107 Set up bracket forwarding
  • 80ae859 Test with a native function
  • 6cbd4f5 Add support for zero-parameter functions
  • 5a1111c Add support for Node.js style async functions
  • 2f1697c Move skip one level down

There are 51 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of noflo is breaking the build 🚨

Version 1.0.2 of noflo was just published.

Branch Build failing 🚨
Dependency noflo
Current Version 1.0.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

noflo is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Commits

The new version differs by 2 commits.

  • 18b26ca Bump
  • 4b92de5 Fix sub-subgraph identification in network events

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.