Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

web 1.2 issues revisited #1853

Closed
18 of 22 tasks
markus2330 opened this issue Mar 24, 2018 · 15 comments
Closed
18 of 22 tasks

web 1.2 issues revisited #1853

markus2330 opened this issue Mar 24, 2018 · 15 comments
Assignees
Labels

Comments

@markus2330
Copy link
Contributor

markus2330 commented Mar 24, 2018

👍 thanks for the build/run scripts
👍 logo

The CMake installation did not work for me. There were many other easily visible problems, sometimes severe. Please test more.

From the features, however, it now seems quite complete.

Some problems I found in a quick try run:

  • cmake install:
    • no docu how to run the web-ui installed via cmake?
    • scripts not installed? ("run.sh", "stop.sh")
    • build.sh not invoked during installation?
  • how to set INSTANCES with visibility? (what about user@...)
  • two column layout of "instances" does not look good on wide screens as long as there only one instance (too much space in between name* and host*).
  • order of namespaces, it should (always) be: spec, dir, user, system (we can leave proc support for now)
  • for too long error messages, there is no way to hide them (the button to accept them is not visible)
  • after creating instance: already open it (do not collapse it) so that user can immediately press "configure". Or even better: give a way to configure it even in collapsed mode.
  • the visiblities should be prefixed with ">=" or "also" to make clear that, e.g., "important" also includes "critical"
  • it is not clear if the "save" button is clickable
  • tab marks things which are not useful? (e.g. the link in the very upper left)
  • tab marks "configure" twice in "instance" view
  • when creating a new key "test" with the value "test" a key without value "test" is created (as checked with kdb get)
  • and after reload (F5) it is completely gone. Is this a visibility problem? New keys obviously should have a visibility so that the user itself can see them. (or at least have a chance to do so)
  • there should be a way to create keys without any metadata, sometimes "check/type" "any" is added (there is no way other than pressing "done" on the Metadata screen and it makes a difference if you click on type/visibility)
  • better solution for this large disclaimer "Changing the type might result in loss of data". Simply warn if the user actually does a change that will result in loss.

Tasks from old issue:

  • doesn't work on firefox: readOnly confusing: you get red sign, but it does not say the reason when clicking -> not possible: https://stackoverflow.com/a/3100395
  • Floating point: range has strange behaviour

The biggest problem is that web-ui sometimes creates wrong keys (e.g. without values, unexpected meta data...) and easily gives up showing some keys, e.g., after pressing F5 sometimes all keys in a namespace are gone. Such problems are really no-gos.

Otherwise it is fun to work with the tool.

Cannot reproduce:

  • multiple namespaces do not work together, if I already have many keys in user and system, only those in system are shown?
  • after collapsing and reopening a subtree, the tree is not as it was before.
  • duplicating keys with the same name causes the next duplication to insert two new keys (partly leftover of Elektra-web 1.2 tasks #1845)
@omnidan
Copy link
Contributor

omnidan commented Mar 24, 2018

@markus2330 can you please send me an export of your kdb database so I can reproduce these issues? I really didn't run into any of these "really bad" issues (not showing namespaces, no values) while testing the app with my setup (which is probably quite simple compared to yours, though). I will also make sure to test with Firefox ESR more (I only tested Quantum because ESR is quite slow on my machine compared to Quantum, Chrome and Safari).

BTW: also let me know the commands you're using for cmake and what you expected to happen/what happened. The scripts were copied over to the build/ folder for me and I re-used most code from marvin's cmake config.

@omnidan
Copy link
Contributor

omnidan commented Mar 24, 2018

multiple namespaces do not work together, if I already have many keys in user and system, only those in system are shown?

what does that mean? I have keys in user and system too, both namespaces and keys show up fine for me.

it is not clear if the "save" button is clickable

it is marked as disabled (greyed out) until the required fields (name and host) are filled in

@omnidan omnidan mentioned this issue Mar 24, 2018
34 tasks
@markus2330
Copy link
Contributor Author

can you please send me an export of your kdb database so I can reproduce these issues?

Yeah, it is a good idea that we should have a "real-world" Elektra config that contains the configuration settings that may be present. I created #1858

In the current state of web-ui, however, it is hardly necessary: It was very easy to produce these problems. Actually even with a completely empty key database (after kdb stash) navigating into system/elektra/globalplugins caused KDBErrors.

Adding any key and pressing F5 (reload page) also caused problems.

Creating a key with a value, caused problems, too (it was without value).

also let me know the commands you're using for cmake

I expect that after sudo make install it is possible to run the web UI without any further downloads or compilation steps.

test with Firefox ESR more

yes please!

what does that mean? I have keys in user and system too, both namespaces and keys show up fine for me.

It might be caused by the "F5" (reload) problem.

it is marked as disabled (greyed out) until the required fields (name and host) are filled in

Yes but if nothing is changed it could be gray, too.

Btw. see also #1857

@omnidan
Copy link
Contributor

omnidan commented Mar 26, 2018

@markus2330 I do not have the system/elektra/globalplugins path and after kdb stash everything still works fine for me, maybe one of your elektra plugins is causing these issues? With which flags/plugins did you compile your elektra?

@omnidan
Copy link
Contributor

omnidan commented Mar 26, 2018

I managed to reproduce most issues and am working on fixing them now. There were a couple issues that I could not reproduce, including the "F5 problem" (reloading works fine for me in both chrome and firefox esr, even after creating a key)

Creating a key with a value, caused problems, too (it was without value).

This was a race condition with the debouncing mechanism, it is fixed now.

after collapsing and reopening a subtree, the tree is not as it was before.

I cannot reproduce this, what do you mean it is not as it was before? How does it look? For me even in Firefox ESR it looks the same after collapsing/uncollapsing.

duplicating keys with the same name causes the next duplication to insert two new keys

Duplicating keys with the same name is not even possible anymore. When I try to do this I'm getting Cannot duplicate to the same key name! or Cannot duplicate to a path that already exists! - how are you duplicating those keys?

multiple namespaces do not work together, if I already have many keys in user and system, only those in system are shown?

I do not have this problem either, the user and system namespaces display and work fine for me (except that some keys in system/ cannot be changed because of permissions). Or do you mean some kind of interaction between the namespaces doesn't work? How do I reproduce this?

@omnidan
Copy link
Contributor

omnidan commented Mar 26, 2018

Yes but if nothing is changed it could be gray, too.

Actually, it wasn't greyed out at all for existing instances. I updated it so that when you remove the name or host from an existing instance, the save button also gets greyed out so that it is not possible to save without entering the required values.

@omnidan
Copy link
Contributor

omnidan commented Mar 26, 2018

I think I figured out the reloading issue 😁 It happens when the host (e.g. in single instance mode) has a tailing slash, because then it makes a request to //kdb which doesn't work. I also improved the host validation when creating an instance.

@omnidan
Copy link
Contributor

omnidan commented Mar 26, 2018

Unfortunately the "click on disabled" is not possible at all on Firefox :/

Firefox doesn't propagate events up to container elements when the input field is disabled: https://stackoverflow.com/a/3100395

@omnidan
Copy link
Contributor

omnidan commented Mar 26, 2018

@markus2330 for the cmake integration, how can I check if a certain plugin is available in the same elektra installation? The yajl plugin is required for elektra-web to work

@sanssecours
Copy link
Member

…how can I check if a certain plugin is available in the same elektra installation?

You can check if yajl is part of the list REMOVED_PLUGINS:

list (FIND REMOVED_PLUGINS "yajl" yajl_index)
if (yajl_index EQUAL -1)
    message ("YAJL plugin is available")
endif (yajl_index EQUAL -1)

.

@omnidan
Copy link
Contributor

omnidan commented Mar 27, 2018

Thank you @sanssecours ! I added the check.

@markus2330
Copy link
Contributor Author

I cannot reproduce this, what do you mean it is not as it was before? How does it look? For me even in Firefox ESR it looks the same after collapsing/uncollapsing.

So it does remember which parts of a tree I collapsed?

Duplicating keys with the same name is not even possible anymore. When I try to do this I'm getting Cannot duplicate to the same key name! or Cannot duplicate to a path that already exists! - how are you duplicating those keys?

Yes, I also get this error message. But if I duplicate it again with a different name there seems to be some wrong state. (It duplicates the key twice.)

I do not have this problem either, the user and system namespaces display and work fine for me (except that some keys in system/ cannot be changed because of permissions). Or do you mean some kind of interaction between the namespaces doesn't work? How do I reproduce this?

I think it is/was the refresh (F5) problem.

@omnidan
Copy link
Contributor

omnidan commented Mar 28, 2018

So it does remember which parts of a tree I collapsed?

Ah, I misunderstood. I implemented this now.

Yes, I also get this error message. But if I duplicate it again with a different name there seems to be some wrong state. (It duplicates the key twice.)

I tried the following:

  • duplicate a key to the same name, I get the error
  • duplicate it again, to testCopy
  • duplicate it again, to testCopy, I get the error again

It seems to work as expected. I am cleaning up the state when the dialog is closed. The path is also checked exactly before the duplicate event is dispatched.

@markus2330
Copy link
Contributor Author

I tried the following

I think you have to duplicate it twice successfully. But once webd works again for me I can try to reproduce it.

@markus2330
Copy link
Contributor Author

Looks much better now, thank you for the many fixes!

I moved some remaining ones to #1865

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants