GithubHelp home page GithubHelp logo

mainflux / ui Goto Github PK

View Code? Open in Web Editor NEW
87.0 20.0 62.0 11.53 MB

UI for Mainflux IoT platform

License: MIT License

Makefile 0.53% Dockerfile 0.14% JavaScript 2.22% TypeScript 68.90% HTML 20.84% Shell 3.37% SCSS 3.98% HCL 0.03%
mainflux iot iiot admin gateway lora opc-ua angular8 nebular4 ui

ui's Introduction

Mainflux IoT Admin UI based on Angular 8+ and Nebular

Prerequisites

The following are needed to run the UI:

Install

For a quick setup, pre-built images from Docker Hub can be used.

First, make sure that docker and docker-compose are installed. Also, stop existing Mainflux containers if any.

Then, use the following instructions:

git clone https://github.com/mainflux/ui.git
cd ui
make run

UI should be now up and running at http://localhost/.

(Note that http://localhost:3000/ is for internal use only, and is not intended to be used by the end-user.)

More configuration (port numbers, etc.) can be done by editing the .env file before make run.

Usage

A developer build from the source can be achieved using the following command:

make ui

Then, to start the Mainflux UI as well as other Mainflux services:

make run

For more developer tools, run angular-cli:

cd ui
npm install
npm start

Uninstall

To remove the installed containers and volumes, run:

make clean

Behind a proxy

When using authentication with proxy like Oauth2-proxy we dont need a login form. UI only needs to check if there is authenticated session by accessing /tokens endpoint. Request to /tokens endpoint in this use case is also handled by proxy. When UI receieves token it can be assumed that authentication is successfull, requests to backend will be authenticated by the means of authenticated session on proxy so token is not needed to authenticate requests but it may be used for restricting access to some endpoints (e.g. based on a role in token) To use UI in this mode where backend is behind authentication proxy you need to set envs in .env.

  • MF_PROXY_AUTH=true
  • MF_PROXY_LOGOUT_URL=/logout (this may be optional depending on the proxy being used)

Preview

dashboard

things

details

ui's People

Contributors

blokovi avatar darkodraskovic avatar dependabot[bot] avatar drasko avatar isamba avatar m2-farzan avatar manuio avatar mteodor avatar nmarcetic avatar pricelessrabbit avatar thebuh avatar tomyalmaarif avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar

ui's Issues

When adding gateway with existing mac address there is no error message

Try to add gateway with error message if successful you will see two green notifications
Gateway successfully added and Gateway successfully bootstraped
However if you add gateway with existing MAC address only first notification will appear and it is not clear that overall process is not successful

Gateway creation error

When creating a gateway configuration if you quickly go to gateway details after creating gateway sometimes bootstraping doesnt get done proper.

In addition to mentioned above if you try delete gateway that wasnt properly created and than create one with same name and MAC it will fail.

Steps:
Create gateway and quickly click on the details for the gateway ( before notification "Gateway succsefully bootstraped" ). Notice there is no BS Config ID.
Delete the created gateway noting name and MAC
Create gateway with same name and MAC, click on details, no bs config id

Add support for reading images being sent from connected devices, UI should display images.

Some devices could send images over MQTT, HTTP...
If the images are being sent over MQTT, HTTP image payload must be base64 encoded.
Here is the example how image can be sent:

cat image.png | base64plain > image.b64.png
BYTE=`cat image.b64.png `
BYTE=[{\"bn\":\"text\",\"vs\":\"$BYTE\"}]
echo $BYTE > payload
mosquitto_pub -d -u $TH -P $KEY  -t channels/$CH/messages/images -h localhost -p 1883 -f payload

Example code where message sent over MQTT is receieved in UI over WS.

src/app/pages/services/gateways/details/xterm/gateways.xterm.component.html

<div #terminal></div>
<div>
    <img [src]="image"/>
  </div>
<div #terminal id="terminal"></div>
.... 
src/app/pages/services/gateways/details/xterm/gateways.xterm.component.ts
export class GatewaysXtermComponent implements AfterViewInit, OnChanges, OnDestr
   subscriptions: Subscription[] = new Array();
   uuid: string;
   connected: boolean;
    image = '';
 
      const imgTopic = `${this.createTopic(this.gateway.metadata.ctrl_channel_id)}/images/#`;
      this.chanSub = this.mqttService.observe(imgTopic).subscribe(
        (message: IMqttMessage) => {
          let res: string;
          const pl = message.payload.toString();
          res = JSON.parse(pl);
          const msg = <SenMLRec>(<any>res[0]);
          this.image = `data:image/png;base64,` + msg.vs;
        });
      this.notificationsService.success(`Subscribed to channel ${imgTopic}`, '');
  }

Add nats_url when provisioning gateway

Bootstrap config must contain nats_url

    ....
        "7bb022b1-b9af-4360-a611-76d8c2821180",
        "1f3ec02d-b783-4ff1-bb57-bc2b91d26dfd"
    ],
    "content": "{\"nats_url\":\"nats://nats:4222\",\"log_level\":\"debug\", \"http_port\":\"9000\", \"mqtt_url\":\"tcp://84.201.171.65:1883\",\"edgex_url\":\"http://localhost:48090/api/v1/\" }"
}```

Remove redundant space from table fields and downsize buttons

We need a more elegant, minimalistic UI. Currently, there is too much margin and padding space around items. Also, buttons are too big and take too much real estate. This is not in accord with the possible huge number of list items as well as with the lean philosophy.

make ui error

make ui

docker build --tag=mainflux/ui -f docker/Dockerfile .
Sending build context to Docker daemon  3.444MB
Step 1/9 : FROM node:13.1.0 as node
 ---> a76ab9b9033f
Step 2/9 : WORKDIR /app
 ---> Using cache
 ---> 3c15a7b2169e
Step 3/9 : COPY package.json /app/
 ---> 5b2b0c6ae206
Step 4/9 : RUN npm install
 ---> Running in 56bbf21aadad
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: We have renamed the @ckeditor package. New versions are available under the @ckeditor4 name.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
^@npm WARN deprecated [email protected]: NOTICE: ts-simple-ast has been renamed to ts-morph and version reset to 1.0.0. Switch at your leisure...
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: The package has been renamed to `open`
npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated [email protected]: this library is no longer supported
^@npm WARN deprecated [email protected]: Please use the native JSON object instead of JSON 3
npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
^@^@
> [email protected] install /app/node_modules/husky
> node ./bin/install.js

husky
setting up hooks
Can't find .git directory, skipping Git hooks installation

> [email protected] install /app/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/linux-x64-79_binding.node
Download complete
Binary saved to /app/node_modules/node-sass/vendor/linux-x64-79/binding.node
Caching binary to /root/.npm/node-sass/4.14.1/linux-x64-79_binding.node

> [email protected] postinstall /app/node_modules/@angular-devkit/build-angular/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> @angular/[email protected] postinstall /app/node_modules/@angular/cli
> node ./bin/postinstall/script.js


> @compodoc/[email protected] postinstall /app/node_modules/@compodoc/compodoc
> opencollective-postinstall || exit 0

Thank you for using @compodoc/compodoc!
If you rely on this package, please consider supporting our open collective:
> https://opencollective.com/compodoc/donate


> @fortawesome/[email protected] postinstall /app/node_modules/@fortawesome/fontawesome-free
> node attribution.js

Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)


> [email protected] postinstall /app/node_modules/ngx-mqtt
> node postinstall


> [email protected] postinstall /app/node_modules/node-sass
> node scripts/build.js

Binary found at /app/node_modules/node-sass/vendor/linux-x64-79/binding.node
Testing binary
Binary is fine
npm WARN lifecycle [email protected]~postinstall: cannot run in wd [email protected] ngcc --properties es2015 es5 browser module main --first-only --create-ivy-entry-points (wd=/app)
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"0.10 || 0.12 || 4 || 5 || 6 || 7 || 8"} (current: {"node":"13.1.0","npm":"6.12.1"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"0.10 || 0.12 || 4 || 5 || 6"} (current: {"node":"13.1.0","npm":"6.12.1"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"} (current: {"node":"13.1.0","npm":"6.12.1"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/rollup/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"<8.10.0"} (current: {"node":"13.1.0","npm":"6.12.1"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/watchpack-chokidar2/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/webpack-dev-server/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/live-server/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/karma/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN [email protected] requires a peer of [email protected] - 3 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of popper.js@^1.14.7 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/core@^10.0.4 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/forms@^10.0.4 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/common@^10.0.4 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of ng2-completer@^9.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/common@^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/core@^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/forms@^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself.
npm WARN @angular-devkit/[email protected] requires a peer of @angular/compiler-cli@^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular-devkit/[email protected] requires a peer of @angular/localize@^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular-devkit/[email protected] requires a peer of ng-packagr@^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular-devkit/[email protected] requires a peer of typescript@>=3.9 < 4.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of typescript@>= 2.3.1 < 3 but none is installed. You must install peer dependencies yourself.
npm WARN @ngtools/[email protected] requires a peer of @angular/compiler-cli@^10.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @ngtools/[email protected] requires a peer of typescript@>=3.9 < 4.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of fibers@>= 3.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of html-webpack-plugin@^2.21.0 || ~3 || >=4.0.0-alpha.2 <5 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] No description

added 2264 packages from 1354 contributors and audited 2273 packages in 139.14s
found 28 vulnerabilities (15 low, 13 high)
  run `npm audit fix` to fix them, or `npm audit` for details
^@Removing intermediate container 56bbf21aadad
 ---> d7943ea0141a
Step 5/9 : COPY ./ /app/
 ---> cded58beac67
Step 6/9 : RUN npm run build -- --prod --aot
 ---> Running in c72d982a312d

> [email protected] build /app
> ng build "--prod" "--aot"

An unhandled exception occurred: Package exports for '/app/node_modules/terser' do not define a valid './package.json' target
See "/tmp/ng-VuvWId/angular-errors.log" for further details.
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! [email protected] build: `ng build "--prod" "--aot"`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-10-21T04_02_03_941Z-debug.log
The command '/bin/sh -c npm run build -- --prod --aot' returned a non-zero code: 1
make: *** [ui] Error 1

Fix entity (thing, channel) add bar

When adding things or channels

  • remove grayed out option to add an ID (it's confusing otherwise),
  • enable the user to enter type, i.e. de-gray an option or remove it (it's confusing otherwise),
  • remove completely redundant undefined field bellow the magnifier.
  • fix the broken type field

Deprecated dependency

Using ubuntu 18.04 and npm, some of dependencies is deprecated

npm WARN deprecated @angular/[email protected]: Package no longer supported. Use @angular/common instead, see https://angular.io/guide/deprecations#angularhttp

npm WARN deprecated [email protected]: We have renamed the @ckeditor package. New versions are available under the @ckeditor4 name.

npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.

npm WARN deprecated [email protected]: request has been deprecated, see request/request#3142

npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.

npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated

npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated

npm WARN deprecated [email protected]: NOTICE: ts-simple-ast has been renamed to ts-morph and version reset to 1.0.0. Switch at your leisure...

npm WARN deprecated [email protected]: The package has been renamed to open

npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.

npm WARN deprecated [email protected]: Please use the native JSON object instead of JSON 3

npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.

npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor.

Also unmet peer dependencies for:
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├─┬ UNMET PEER DEPENDENCY @nebular/[email protected]
├── UNMET PEER DEPENDENCY [email protected] - 3
├── UNMET PEER DEPENDENCY popper.js@^1.14.7
├── UNMET PEER DEPENDENCY [email protected]

and some of dependencies is not compatible with my OS:
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
npm WARN optional Skipping failed optional dependency /@compodoc/compodoc/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
npm WARN optional Skipping failed optional dependency /karma/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]

Implement bulk upload and save

Currently in Devices and Channels pages there are UPLOAD and SAVE buttons that do nothing. Use them to implement bulk upload and save.

Make Admin pages URLs configurable

Tracing, Grafana and Lora Server pages are currently using the URLs defined in environment.ts.
Make this URLs also configurable from the UI to avoid having to rebuild the UI in order to set new URLs.

Improve thing provision and communication when using mTLS

  • In the UI when thing is a created, after the creation there should be a button to issue a certificate, for example in additional column. That certificate can be downloaded and can be used for mqtts communication on sensor/gateway device.
  • Additionaly, when UI wants to communicate with mqtts on behalf of thing, it will issue another certificate with short TTL, if the mqtts communication needs to last longer then TTL, UI would renew certificate being used just before end of TTL.

Fix current state attributes update

Current state can have attributes that correspond to channels with and without subtopics. When an attribute is built with channel + subtopic, it gets updated as expected in the current state card on twin info page. However, an attribute built without subtopic picks up subtopic messages also.

Check appID mapping before to create LoRa Devices

Currently when we create a LoRa Device we create a channel mapped to the LoRa appID field. If the appID was already mapped to a channel the mapping will be overwritten.

We have to add a check and use any existent mapping before to create lora devices in order to don't break existent appID/channelID mappings.

Error 200 - OK and Can't login

I use UI version 0.10.0 and 0.11.0 run on rancher/k8s

  1. I can't login after register account
  2. Login IP:port/ then error on below
    image
    image

The information mainlux which I installed on Rancher
image

Please help me.

Fix proxy-state-with-subtopic requests

When fetching states with attributes with subtopics we get this error in console:

[HPM] Error occurred while trying to proxy request /states/407785ab-5e49-4059-8704-24856c514759?offset=0&limit=10 from localhost:4200 to http://localhost:9201 (ECONNREFUSED) (https://nodejs
.org/api/errors.html#errors_common_system_errors)

Make ChartComponent multi-axis

Currently the ChartComponent is displaying all messages input to create a chart. Improve this component to display charts dependinng on the SenML message name.

UI+Lora configuration

Please, give me example nginx and ui configuration with Mainflux+Lora+UI
How to configure nginx in main mainflux project for proxing and url rewriting additional microservices (reader, writer, bootstrap and so on) for manage lora GW and devices over UI.
I successfully manage non-lora devices, but I have many troubles with lora GW and devices.
With my config I have many errors in browser console and in HTTP req logs.

       location ~ ^/(reader) {
            include snippets/proxy-headers.conf;
            rewrite /reader/(.*) /$1 break;
            proxy_pass http://mainflux.example.com:8905;
        }

        location ~ ^/(writer) {
            include snippets/proxy-headers.conf;
            rewrite /writer/(.*) /$1 break;
            proxy_pass http://mainflux.example.com:8900;
        }

        location ~ ^/(config) {
            include snippets/proxy-headers.conf;
            rewrite /config/(.*) /things/configs/$1 break;
            proxy_pass http://mainflux.example.com:8202;
        }

        location ~ ^/(bootstrap) {
            include snippets/proxy-headers.conf;
            rewrite /bootstrap/(.*) /things/bootstrap/$1 break;
            proxy_pass http://mainflux.example.com:8202;
        }

UI run, create user fail

hello,I have some questions and need your help

git clone https://github.com/mainflux/ui.git
cd ui
make run

1:
~$ ./mainflux-cli users token [email protected] 12345678
failed to create entity : 400 Bad Request

DockerLog:
mainflux-users | {"level":"warn","message":"Method login for user [email protected] took 75.804202ms to complete with error: non-existent user : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 127.0.0.1:8181: connect: connection refused".","ts":"2021-01-04T14:20:43.031733633Z"}

2:
~$ ./mainflux-cli users create [email protected] 12345678
ok

DockerLog:
mainflux-users | {"level":"info","message":"Method register for user [email protected] took 76.595137ms to complete without errors.","ts":"2021-01-04T14:22:18.521393154Z"}

3:
~$ ./mainflux-cli users token [email protected] 12345678
failed to create entity : 400 Bad Request

DockerLog:
mainflux-users | {"level":"warn","message":"Method login for user [email protected] took 76.659355ms to complete with error: non-existent user : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 127.0.0.1:8181: connect: connection refused".","ts":"2021-01-04T14:22:33.533178126Z"}

Add CI script

Add Continuous Integration script to automatically generate docker images

Implement messages widget

Implement a component with JSON, table and chart modes to display messages.
Add date, publisher and value filters.

Improve the Things and Channel connection Component

Currently in Things and Channels details there is a component that allow users to connect a Thing to multiple Channels and a Channel to multiple Things. We can improve this components to connect multiple Things to multiple Channels.

We should also pre-check in the select-lists Things and Channels already connected.

URLs not configurable by enviroment variables

See ./src/environments/environment.prod.ts
When we use UI in docker container in /mainflux/docker/docker-compose.yml we can't change LoRa Server url and other by /mainflux/.env file or global enviroments variables, defined in .bashrc or other place. Docker images always use lora.mainflux.io

  jaegerHome: 'http://localhost:16686/search',
  loraServer: 'http://lora.mainflux.io/#/',
  nodeRedHome: 'http://localhost:1880',

I'm use 0.9 version for tests

Not able to delete Thing/Device from UI, 500 Internal Server Error

  • What were you trying to achieve?
        Delete Thing from mainflux UI
    
  • What are the expected results?
        Thing should be able to get deleted from mainflux
    
  • What are the received results?
         Failed to delete Thing Error:500 Internal server error
    
  • What are the steps to reproduce the issue?
        Using docker and docker compose
        1. git clone https://github.com/mainflux/ui.git
        2. cd ui
        3. docker-compose -f docker/docker-compose.yml up
        4. http://localhost //UI is up // logs are running in the background
        5. Register/Sign In with emailId and Password.
        6. Go to Things --> Devices --> Click Under Actions "+" Button.
        7. New Row is added here we can give only Name rest other fields ie [Type , ID] are NOT editable
        8. Give some name say "Device1" and click save ie "Tick" button
        9. Now try to delete the Device1 , UI will prompt you for deletion press Submit
       10. In UI added row disappears and also it prompts at Right bottom of the screen as **"Failed to delete Thing Error:500 Internal server error"**
    
         From Backend logs :
         mainflux-things | {"level":"warn","message":"Method remove_thing for token  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTQyNTcxNzIsImlhdCI6MTU5NDIyMTE3MiwiaXNzIjoibWFpbmZsdXguYXV0aG4iLCJzdWIiOiJrbm93bG9raUBnbWFpbC5jb20iLCJ0eXBlIjowfQ.lpsQXA0Yx5L77x0CpVnVnqHGheQItRDMFXj1GjWR-h8 and thing ea3b9e5c-06a0-46cd-944a-2fcce37c8040 took 1.717998ms to complete with error: remove thing failed : remove thing from redis cache error : redis: nil.","ts":"2020-07-08T15:22:31.428751005Z"}
    
  • In what environment did you encounter the issue?
        DigitalOcean droplet - Ubuntu Docker 5:19.03.1~3 on 18.04 
    

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.