Files
weave-scope/client
Roland Schilter 21a0093c08 Keep topology nav visible if selected
If the scope-app API unexpectedly restarts, it has no report
at hand (until it gets one from the probe) and sends node
count 0 to the frontend for all topologies. Once the report
arrives, it will send the proper count.

What happened was the frontend did hide Processes for a short
time till the node count recovered. This moved the topology
selection to the always visible Containers (hide_if_empty == false)
while keeping the graph as is.

Once the node count recovers, Processes comes back but the
selection is still at Containers.

We now keep the selected topology visible at all time even if
the API returns a node count of 0. This recovers nicely when
the correct node counts come in. Once the user selects a different
topology while and a backend response arrives, it disappears.

Fixes #2646
2017-07-12 17:12:43 +02:00
..
2017-07-12 17:12:43 +02:00
2017-03-08 10:54:56 -08:00
2015-05-20 10:45:35 +00:00
2015-05-19 10:02:02 +00:00
2017-01-24 13:36:39 -08:00

Scope UI

Getting Started (using local node)

  • You need at least Node.js 6.9.0 and a running weavescope container
  • Get Yarn: npm install -g yarn
  • Setup: yarn install
  • Develop: BACKEND_HOST=<dockerhost-ip> yarn start and then open http://localhost:4042/

This will start a webpack-dev-server that serves the UI and proxies API requests to the container.

Getting Started (using node in a container)

  • You need a running weavescope container
  • Develop: make WEBPACK_SERVER_HOST=<dockerhost-ip> client-start and then open http://<dockerhost-ip>:4042/

This will start a webpack-dev-server that serves the UI from the UI build container and proxies API requests to the weavescope container.

Test Production Bundles Locally

  • Build: yarn run build, output will be in build/
  • Serve files from build/: BACKEND_HOST=<dockerhost-ip> yarn run start-production and then open http://localhost:4042/

Coding

This directory has a .eslintrc, make sure your editor supports linter hints. To run a linter, you also run yarn run lint.

Logging

To enable logging in the console, activate it via localStorage in the dev tools console:

localStorage["debug"] = "scope:*"

The Scope UI uses debug for logging, e.g.,:

const debug = require('debug')('scope:app-store');
debug('Store log message');

Gotchas

Got a blank screen when loading http://localhost:4042?

Make sure you are accessing the right machine: If you're running yarn start on a virtual machine with IP 10.0.0.8, you need to point your browser to http://10.0.0.8:4042. Also, you may need to manually configure the virtual machine to expose ports 4041 (webpack-dev-server) and 4042 (express proxy).