Giter Site home page Giter Site logo

magistrala-ui's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

magistrala-ui's Issues

Group menu items into related groups

We should group the navbar items into related groups and also improve/streamline the naming/workflow of the UI. We can have something similar to what is being implemented in Losant

[FEATURE] Modify Chart modals

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

Modify chart modals to sync with the individual chart requirements

Describe the feature you are requesting, as well as the possible use case(s) for it.

We need to be able to fetch data from Magistrala and be able to populate the charts with this data

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

Implement Send Message and Read Message feature relocation

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No response

Describe the feature you are requesting, as well as the possible use case(s) for it.

Figure out the ideal location to implement the send message feature on the UI and implement it. Also, relocate the read message feature to be in the same location as the send message feature to make it easier to move to that page without having to copy the channel ID and thing Key.

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Improve table component

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

Currently, if my page request already has query parameters such as http://localhost:9095/messages?thingID=abxbx, when I try to go to the next page on the table on that page, the current query parameters will be removed and replaced with the page and limit query parameters

Describe the feature you are requesting, as well as the possible use case(s) for it.

I would like that instead of replacing the query parameters, I should just add on the query parameters present if any

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Add table filtering based on status for entities

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

Currently, I cannot be able to enable any entities that have been disabled, since the UI does not provision for viewing these entities

Describe the feature you are requesting, as well as the possible use case(s) for it.

We have filtering on the UI for filtering the data on the entities lists on tables to enable a user to see enabled, disabled, and all entities. This will enable them to be able to see disabled entities and be able to enable the entity if they want to

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[BUG] Unable to fetch Channel or Thing

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I'm trying to fetch Thing and Channel details.

What are the expected results?

I expect to be able to see a Thing and Channel page when I click on Thing or Channel in the table:
image

I am using entity fetch URLs in the form of http://localhost:9095/things/<thing_id>.

What are the received results?

I receive the error page (with insufficient error data):
image

Steps To Reproduce

Log in with the domain (an all the necessary steps before), create a Thing, and try to access it.

In what environment did you encounter the issue?

The latest build of both UI and core services as of the time of this issue.
Docker Compose version 2.23.3, Docker version 24.0.7, Brave browser 120.1.61.104.

Additional information you deem important

No response

Proper handling of validation errors

Since most transport errors are a result of user input errors, I would suggest that these errors be encoded as status codes, and handled on the client side. The client-side would use the javascript fetch function to interrupt the default form submission.
Lets take createUser as an example:
Create an HTTP request using the fetch, then handle the response based on the various status codes you expect.

Scenarios

  1. Successful creation of user
  • In the endpoints.go file we return uiRes with status code 201 (StatusCreated)

`func createUserEndpoint(svc ui.Service) endpoint.Endpoint {
return func(_ context.Context, request interface{}) (interface{}, error) {
req := request.(createUserReq)

	if err := req.validate(); err != nil {
		return nil, err
	}
	if err := svc.CreateUsers(req.token, req.User); err != nil {
		return nil, err
	}

	return uiRes{
		code:    http.StatusCreated,
	}, nil
}

}`

  • In the submitUserForm javascript function we would handle the case response.status===201 and return a banner for successful user creation before reloading the page window.location.reload();
  1. User already exists in the database
  • In the endpoints.go file the function would return nil, err since we would have conflict error.
  • In transport.go file encodeError function, you encode the error with 409 (StatusConflict)
  • In the javascript functionn you handle response.status===409 and return a error message for conflict error
  1. User input data is incorrect (eg invalid email or password)
  • In requests.go file we will validate the struct values and return specific errors based on the validation error. These errors will be handled in the encodeError function in transport.go and return statuscodes (e.g 400 (bad request) or 403(Forbiden)), and include a custom header in the response that conveys the particular validation error.
  • In the javascript function we handle the status code and fetch the error header from the body of the status code. This error is what we display to the user.

[FEATURE] Add Invitations page

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No

Describe the feature you are requesting, as well as the possible use case(s) for it.

Add Invitations page for user to be able to view and accept their invitation to domains.
We should also change the flow of the UI allowing a user to be able to view the dashboard without having to join an organization. They can then accept an invitation and join an organization or create an organization if they do not have any invitations. This means we should have an organizations management page on the dashboard

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Move logger from the Magistrala logger to the default slog package

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

no

Describe the feature you are requesting, as well as the possible use case(s) for it.

We should move to using the default slog package in golang

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Add edit role feature

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No

Describe the feature you are requesting, as well as the possible use case(s) for it.

we should provision for the super Admin to be able to edit the role of a user in the UI

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[BUG] Superfluous response header writes

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I'm listing Things by Channel (with Auth error).

What are the expected results?

I expect to receive the error page.

What are the received results?

I received the correct result, but I also see the following warning:

2023/12/25 15:06:09 http: superfluous response.WriteHeader call from github.com/absmach/magistrala-ui/ui/api.encodeError (transport.go:2361)

Steps To Reproduce

Login in with the domain, create the channel, and click on the connect button.

In what environment did you encounter the issue?

Latest images of Magistrala and UI, with Docker 24.0.7 and Compose version 2.23.3.

Additional information you deem important

No response

[FEATURE] Update Breadcrumbs

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

Current breadcrumbs extend only to the second page. But we have more inner pages.

Describe the feature you are requesting, as well as the possible use case(s) for it.

Improve the breadcrumbs to be able to accommodate more inner pages

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

Responsive - Make header and domain page responsive

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No response

Describe the feature you are requesting, as well as the possible use case(s) for it.

  • Make the header responsive by remove the documentation button for small screens or make it smaller
  • Make the organization page responsive

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Dashboards Technologies Research

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No

Describe the feature you are requesting, as well as the possible use case(s) for it.

We would like to implement dashboards in our UI. This issue is for researching dashboard implementation, the technologies used, the most efficient approach, etc.

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[BUG] - Adding channel with the parent fails silently

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I am trying to add a new Channel with a specified parent.

What are the expected results?

I expect the operation to succeed.

What are the received results?

No visible results. The channel is created successfully (and correctly), but I can't see it on the UI.

Steps To Reproduce

Use the latest Magistrala and UI docker images, with Docker v24.0.0. Create a Channel and try to create another one with the previous Channel as a parent.

In what environment did you encounter the issue?

The latest (main branch) versions of MG and MG-UI running in Docker v24.0.0.

Additional information you deem important

No response

[FEATURE] Update UI/UX

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No problem

Describe the feature you are requesting, as well as the possible use case(s) for it.

We need to improve the UI/UX feel of our UI

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[BUG] Login form reset when successfully submitted

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I'm trying to log in with the correct credentials.

What are the expected results?

I expect to seamlessly switch to the dashboard.

What are the received results?

I log in successfully, but for a split second, I see a screen with the login form reset (as if I was redirected to the login form again) before moving to the dashboard.

Steps To Reproduce

Start the composition with all the latest images, register the user, and try to log in.

In what environment did you encounter the issue?

The latest build of both UI and core services as of the time of this issue.
Docker Compose version 2.23.3, Docker version 24.0.7, Brave browser 120.1.61.104.

Additional information you deem important

No response

[BUG] Fix permissions for domain editing

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I should not be able to click on the update button for domain members who do not have edit permission over the domain.
I should not be able to add members to a domain without the necessary permission

What are the expected results?

The edit icon should be disabled
The add member icon should be disabled

What are the received results?

The icons are clickable and when I try to perform the actions I get an error

Steps To Reproduce

No response

In what environment did you encounter the issue?

Magistrala UI

Additional information you deem important

For this to be solved we need to be able to ListDomainPermissions a user has over a domain in Magistrala

[BUG] Resizing not working properly

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

The resizing action of the widget doesn't work well during the dashboard creation. This may result in widgets overlapping.
image

What are the expected results?

I expect as I resize a widget, the other adjacent widgets adjust their position with the widget resizing

What are the received results?

The adjacent widgets are not readjusting their positions as shown above

Steps To Reproduce

  1. In the Magistrala UI dashboard branch
  2. Login to the UI
  3. go to the dashboard page
  4. create a new canvas
  5. add multiple widgets
  6. try adjust the size of one of the widgets

In what environment did you encounter the issue?

Magistrala-UI dashboards branch

Additional information you deem important

No response

[FEATURE] Group related features together

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

NO

Describe the feature you are requesting, as well as the possible use case(s) for it.

Group related features such as users and groups together for better UX

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[BUG] Channel name does not pass validation check

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I'm trying to create a Channel.

What are the expected results?

I expect to succeed once I enter valid data into the form.

What are the received results?

Validation assumes the Name is empty even if it is not.

Steps To Reproduce

  1. Run Magistrala's latest Docker compose
  2. Run UI
  3. Register user
  4. Login
  5. Create a domain
  6. Log in with the domain
  7. Go to Channels
  8. Try adding a new channel

In what environment did you encounter the issue?

Docker V24.0.7, Compose 2.23.3, the latest version of core services, and the latest version of UI.

Additional information you deem important

image

[BUG] Super admins should not be visible in Users screen

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

When using UI for a particular domain, in users section I see super admins.

What are the expected results?

I expect to see only users who accepted invitations or who are explicitly added by super admins.

What are the received results?

I see all the users who have access.

Steps To Reproduce

Run Magistrala's latest Docker compose, run UI, register user, login, create a domain, log in with domain, and go to users screen.

In what environment did you encounter the issue?

Docker V24.0.7, Compose 2.23.3, the latest version of core services, and the latest version of UI.

Additional information you deem important

image

[BUG] Creating a channel with a parent channel is not possible

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

Creating a channel with a parent channel when the logged-in user is not a super user

What are the expected results?

To be able to create the channel and view it. The channel has been created but I am not able to view it

What are the received results?

Logs from the UI container

{"level":"warn","message":"Method create_channel took 21.193399ms to complete with error: unexpected end of JSON input : failed to create entity.","ts":"2023-12-18T09:32:16.815958391Z"}
{"level":"info","message":"Method ErrorPage took 3.013488ms to complete without errors.","ts":"2023-12-18T09:32:16.820148485Z"}
{"level":"info","message":"Method list_channels took 19.365223ms to complete without errors.","ts":"2023-12-18T09:32:16.850040967Z"}
{"level":"info","message":"Method get_entities took 3.068194ms to complete without errors.","ts":"2023-12-18T09:32:16.885943613Z"}
{"level":"info","message":"Method list_channels took 21.045913ms to complete without errors.","ts":"2023-12-18T09:32:31.849564301Z"}
{"level":"info","message":"Method get_entities took 3.849686ms to complete without errors.","ts":"2023-12-18T09:32:31.916560383Z"}
{"level":"warn","message":"Method create_channel took 4.537105ms to complete with error: entity already exists : failed to create entity.","ts":"2023-12-18T09:32:39.045759572Z"}
{"level":"warn","message":"Method create_channel took 12.582125ms to complete with error: unexpected end of JSON input : failed to create entity.","ts":"2023-12-18T09:32:45.037177828Z"}
{"level":"info","message":"Method ErrorPage took 5.676889ms to complete without errors.","ts":"2023-12-18T09:32:45.044085156Z"}
{"level":"info","message":"Method list_channels took 21.722683ms to complete without errors.","ts":"2023-12-18T09:32:45.07634593Z"}
{"level":"info","message":"Method get_entities took 3.028468ms to complete without errors.","ts":"2023-12-18T09:32:45.108747336Z"}

Logs from the things container

{"level":"warn","message":"Method create_group for  new_channel  with id  using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 20.492753ms to complete with error: rpc error: code = InvalidArgument desc = failed to add policies : malformed entity specification : unable to satisfy write precondition `operation:OPERATION_MUST_MATCH filter:{resource_type:\"group\" optional_resource_id:\"ad574820-f6d9-48e8-b947-a5af66691f40\" optional_relation:\"domain\" optional_subject_filter:{subject_type:\"domain\" optional_subject_id:\"194ce330-0429-47aa-91bd-1054a8b3eec8\"}}`.","ts":"2023-12-18T09:32:16.815592944Z"}
{"level":"info","message":"Method list_groups 1 groups using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 15.895261ms to complete without errors.","ts":"2023-12-18T09:32:16.846798116Z"}
{"level":"info","message":"Method list_groups 1 groups using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 2.72494ms to complete without errors.","ts":"2023-12-18T09:32:16.885771471Z"}
{"level":"warn","message":"failed to send Mainflux telemetry data with error: unsuccessful sending telemetry data with code 400 and error: <nil>","ts":"2023-12-18T09:32:18.712957299Z"}
{"level":"warn","message":"failed to send Mainflux telemetry data with error: unsuccessful sending telemetry data with code 400 and error: <nil>","ts":"2023-12-18T09:32:29.287097663Z"}
{"level":"info","message":"Method list_groups 1 groups using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 4.293854ms to complete without errors.","ts":"2023-12-18T09:32:31.83299253Z"}
{"level":"info","message":"Method list_groups 1 groups using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 3.41787ms to complete without errors.","ts":"2023-12-18T09:32:31.916342772Z"}
{"level":"warn","message":"Method create_group for  new_channel  with id  using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 4.025736ms to complete with error: entity already exists : ERROR: duplicate key value violates unique constraint \"groups_owner_id_name_key\" (SQLSTATE 23505).","ts":"2023-12-18T09:32:39.045549887Z"}
{"level":"warn","message":"failed to send Mainflux telemetry data with error: unsuccessful sending telemetry data with code 400 and error: <nil>","ts":"2023-12-18T09:32:39.868427462Z"}
{"level":"warn","message":"Method create_group for  new_channel  with id  using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 12.189375ms to complete with error: rpc error: code = InvalidArgument desc = failed to add policies : malformed entity specification : unable to satisfy write precondition `operation:OPERATION_MUST_MATCH filter:{resource_type:\"group\" optional_resource_id:\"733a33c5-c673-4a81-bf7b-7d8194c953d7\" optional_relation:\"domain\" optional_subject_filter:{subject_type:\"domain\" optional_subject_id:\"194ce330-0429-47aa-91bd-1054a8b3eec8\"}}`.","ts":"2023-12-18T09:32:45.036987309Z"}
{"level":"info","message":"Method list_groups 1 groups using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 17.892665ms to complete without errors.","ts":"2023-12-18T09:32:45.072728985Z"}
{"level":"info","message":"Method list_groups 1 groups using token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJkb21haW4iOiIxOTRjZTMzMC0wNDI5LTQ3YWEtOTFiZC0xMDU0YThiM2VlYzgiLCJleHAiOjE3MDI4OTUyNzgsImlhdCI6MTcwMjg5MTY3OCwiaXNzIjoibWFnaXN0cmFsYS5hdXRoIiwic3ViIjoiMTk0Y2UzMzAtMDQyOS00N2FhLTkxYmQtMTA1NGE4YjNlZWM4X2I2NzgxN2FhLWI3ZGItNGY0My04ZDU5LThmNDliNzFjOGE4MyIsInR5cGUiOjAsInVzZXIiOiJiNjc4MTdhYS1iN2RiLTRmNDMtOGQ1OS04ZjQ5YjcxYzhhODMifQ.E_3afzddv2aafFdz4MP4YXc82Fu5XAF5xUY2OIibUPHDbC19pZfg05JZByS487acUDEX6_Ukyx91NMaa0SrJig took 2.681076ms to complete without errors.","ts":"2023-12-18T09:32:45.108552549Z"}

Steps To Reproduce

  1. Login as normal users
  2. Create Channel 1
  3. Using channel 1 as the parent create channel 2
  4. Try to view channels

In what environment did you encounter the issue?

Git commit - b40e562
Docker Compose version 2.23.3
Docker version

Client:
Version: 24.0.7
API version: 1.43
OS/Arch: linux/amd64

Server:
Engine:
Version: 24.0.7
API version: 1.43 (minimum version 1.12)

Additional information you deem important

For this issue, when I log in as an admin to the same domain where the channels were created, I can see the channels.

image-1

[BUG] Failure to decode channel with `parentID`

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

View a channel that has a parentID.

What are the expected results?

To be able to view the channel and possibly the parentID

What are the received results?

image-2

{"level":"info","message":"Method list_channels took 9.069263ms to complete without errors.","ts":"2023-12-18T09:39:44.955237986Z"}
{"level":"info","message":"Method get_entities took 5.670268ms to complete without errors.","ts":"2023-12-18T09:39:45.02150105Z"}
{"level":"warn","message":"Method view_channel for channel 5a281255-536d-4263-bfb1-59882d1aae6c took 2.443387ms to complete with error: unexpected end of JSON input : failed to retrieve entity.","ts":"2023-12-18T09:39:46.239980389Z"}
{"level":"info","message":"Method ErrorPage took 4.183833ms to complete without errors.","ts":"2023-12-18T09:39:46.250487103Z"}

Steps To Reproduce

  1. Login in as super user
  2. Create channel 1
  3. Create channel 2 with channel 1 as parentID
  4. Try to view channel2

In what environment did you encounter the issue?

Git commit - b40e562
Docker Compose version 2.23.3
Docker version

Client:
Version: 24.0.7
API version: 1.43
OS/Arch: linux/amd64

Server:
Engine:
Version: 24.0.7
API version: 1.43 (minimum version 1.12)

Additional information you deem important

No response

[BUG] Unnecessary horizontal scroll

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I'm trying to see a Thing.

What are the expected results?

I expect to see a Thing page without unnecessary vertical scroll.

What are the received results?

The thing table shows a scroll bar where it is not needed.

Steps To Reproduce

Register, login, create a domain, log in with the domain, create a thing, and go to that thing page.

In what environment did you encounter the issue?

Latest images of Magistrala and UI, Docker 24.0.7, Compose 2.23.3.

Additional information you deem important

image

[BUG] Returning to Login page is possible after logging in

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

I'm trying to access the login page while logged in.

What are the expected results?

I expect to be redirected to the dashboard.

What are the received results?

If I go directly to the login page - I get an error page - see additional information.
If I go back in history, I access the login form.

Steps To Reproduce

Register, login, try to access login again 1) by typing the address in the address bar or 2) going back in hisotry.

In what environment did you encounter the issue?

The latest build of both UI and core services as of the time of this issue.
Docker Compose version 2.23.3, Docker version 24.0.7, Brave browser 120.1.61.104.

Additional information you deem important

When I directly access:
image

When I go back:
image

[FEATURE] Replace organization with Domain

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No

Describe the feature you are requesting, as well as the possible use case(s) for it.

Replace Organization with Domain for Magistrala

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Entities Event page Design and Implementation

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

we currently don't have an entity event page.

Describe the feature you are requesting, as well as the possible use case(s) for it.

We need to design and implement an events page for an entity, where an admin can be able to view all the events that have been done on an entity, e.g. who has updated the entity, when was it updated, etc.

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

Update Login page JavaScript

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No

Describe the feature you are requesting, as well as the possible use case(s) for it.

Update login page javascript to use the common javascript files

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Add breadcrumbs

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No

Describe the feature you are requesting, as well as the possible use case(s) for it.

Addition of breadcrumbs to the UI pages for easier management of pages and make it easier for use to go back to previous pages

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

Scripts Management

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No response

Describe the feature you are requesting, as well as the possible use case(s) for it.

Update the script we use to reduce repetition. Some scripts are reused in a number of html files.

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

Add Tests

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No response

Describe the feature you are requesting, as well as the possible use case(s) for it.

Add tests to the UI code

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[BUG] Inner tables metadata field not updated

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

View the tables for pages such as thing-channels, thing-users, e.t.c

What are the expected results?

The metadata field should be updated to the latest changes. They should look as below:
image

What are the received results?

The metadata field of the inner tables was not updated, it is still as it was before.
image

Steps To Reproduce

  1. log into magistrala
  2. enter a domain
  3. click on thing
  4. click on connect

In what environment did you encounter the issue?

Magistrala UI

Additional information you deem important

No response

CSV download links

Is there an existing issue for this?

  • I have searched the existing issues

What were you trying to achieve?

Download csv file samples for users, things, channels and groups bulk creation

What are the expected results?

Redirect to Magistrala Repo

What are the received results?

Redirects to Mainflux Ultraviolet repo

Steps To Reproduce

No response

In what environment did you encounter the issue?

Magistrala UI

Additional information you deem important

No response

[FEATURE] List Abstraction on Update

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

List entry on update is still as a slice. It should be abstracted as in #32

Describe the feature you are requesting, as well as the possible use case(s) for it.

Abstract underlying data structure on user entry for update method

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Update metadata styling

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

no

Describe the feature you are requesting, as well as the possible use case(s) for it.

Update metadata formatting on the UI especially where we edit the metadata for better UX experience

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Remove member from a domain

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

I cannot be able to remove a member from a domain once they are added to the domain

Describe the feature you are requesting, as well as the possible use case(s) for it.

A domain admin should be able to remove members from a domain. Provision for this allows only the domain admin to be able to remove a user from a domain.

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Resizing of widget and chart

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

When we resize the widget the chart size does not change

Describe the feature you are requesting, as well as the possible use case(s) for it.

When a user resizes a widget they need to be able to resize the chart inside the widget as well

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Streaming of messages using WebSockets

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No

Describe the feature you are requesting, as well as the possible use case(s) for it.

We should provision for streaming of messages as they are sent on a channel using WebSockets

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Add Token Expiration time to token cookies

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

No response

Describe the feature you are requesting, as well as the possible use case(s) for it.

We add expiration time to tokens as we add them to browser cookies

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

[FEATURE] Display group `parentID`

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

I'm not able to see the parentID of groups I have created

Describe the feature you are requesting, as well as the possible use case(s) for it.

To be able to view the parentID of a group

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

curl -iX GET -H "Authorization: Bearer $USER_TOKEN" "http://localhost:9002/groups/$GROUP_ID"

HTTP/1.1 200 OK
Content-Type: application/json
Date: Mon, 18 Dec 2023 09:44:02 GMT
Content-Length: 257

{"id":"36c1c3ac-9828-45b2-9887-391698447785","owner_id":"194ce330-0429-47aa-91bd-1054a8b3eec8","parent_id":"cd495d8d-2e9d-4dc1-87a5-33e43e0ed86b","name":"G3","created_at":"2023-12-18T09:30:37.639803Z","updated_at":"0001-01-01T00:00:00Z","status":"enabled"}

image-3

[FEATURE] Test and update Bootstrap service

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem? Please describe.

The bootstrap service has not been updated in a while.

Describe the feature you are requesting, as well as the possible use case(s) for it.

Carry out testing of the bootstrap service on the UI to ensure it is running correctly and update any outdated features. Also, fix any bugs that may be encountered during testing.

Indicate the importance of this feature to you.

  • Must-have
  • Should-have
  • Nice-to-have

Anything else?

No response

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.