Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with databrowser as deployed for testing on dev.inrupt.net #45

Open
timbl opened this issue Aug 6, 2019 · 24 comments
Open

Issues with databrowser as deployed for testing on dev.inrupt.net #45

timbl opened this issue Aug 6, 2019 · 24 comments

Comments

@timbl
Copy link
Contributor

timbl commented Aug 6, 2019

Here is a quick place to put bugs -- or improvements to the UX -- or ideas for teh moment in one issue, later to be fixed or created as speciic bugs in the repo(s) concerned

@timbl
Copy link
Contributor Author

timbl commented Aug 6, 2019

Synchronousing login UI across all panes

🐞 I had a nifty way of closing all the Log in/Sign up buttons --- they all had the same html class .. so I could get them all in one line findEElementsByClass. Then each one had a element.refresh() function which wiould be called to change the UI to (typically) enable input.
timbl:speech_balloon: 6:31 PM
I have seen it work, and then also see it niot work. Maybe a problem with JS scopes not being able to affect DOM made by other scopes? WHo knows. But each pane is designed to get its login status either locally or globally to the dom

@timbl
Copy link
Contributor Author

timbl commented Aug 6, 2019

User profile editor

🐞Give defaults (white, and black or Solid Lavender?) for colors.

🐞Fix form labels for highlight color as well as background color

🐞Bogus ⚠️ Your profile https://timbl.solid.community/profile/card is not editable, so we cannot do much here. It is editable!

@timbl
Copy link
Contributor Author

timbl commented Aug 6, 2019

Public profile pane does not work. No background colors etc.

@brownhoward
Copy link

Workflow 1 - Sign Up for Solid

  1. Created a new Pod (e.g., https://khoward5.dev.inrupt.net/)
  2. Goto the WebID for the new Pod (e.g., https://khoward5.dev.inrupt.net/)
  3. New Home Page is displayed.
  4. Click “Sign Up for Solid” button.
  5. Redirected to https://solid.github.io/solid-idps.
    • In the list of displayed servers, going to Solidtest.space looks like a hacked website.
    • Why not redirect to the registration page for the Pod Server you are on (e.g., https://dev.inrupt.net/register?)?

@brownhoward
Copy link

brownhoward commented Aug 6, 2019

Workflow 2 - Not Logged In

  1. Created a new Pod (e.g., https://khoward5.dev.inrupt.net/)
  2. Goto the WebID for the new Pod (e.g., https://khoward5.dev.inrupt.net/)
  3. New Home Page is displayed.
  4. Home Page is displayed.
    • “khoward5’s Pod” grouping of controls are center justified. Would have expected this to be left justified in the browser tab.
  5. Clicking on home page buttons left to right:
    • Dashboard:
      • More below.
    • Prefs:
      • Showed error:
        TypeError: Cannot read property 'doc' of null undefined TypeError: Cannot read property 'doc' of null undefined at Object.render (https://khoward5.dev.inrupt.net/mashlib.min.js:21:99611) undefined at https://khoward5.dev.inrupt.net/mashlib.min.js:21:33650 undefined at HTMLImageElement.<anonymous> (https://khoward5.dev.inrupt.net/mashlib.min.js:21:34122)
    • Contents:
      • The mouseover popup shows “Contents (8)”. What does the “(8)” relate to as there are only 7 visible items in the folder.
      • I can “add” a Dokieli doc. After typing in the name and clicking the tick/check mark, I see “Log in” and “Sign Up for Solid” buttons but no warning/error message saying I need to be logged in to create a document.
    • Slideshow:
      • Shows a fuzzy Solid logo, but not other information. Not sure how to proceed.
    • Data:
      • Mouseover popup displays “Data (60)”. What does the “(60)” refer to?
    • Source:
    • Data as N3:
      • Mouseover popup displays “Data (60) as N3”. What does the “(60)” refer to?
    • As RDF/XML:
      • Mouseover popup displays “As RDF/XML (60)”. What does the “(60)” refer to? For consistency with previous, should it say “Data (60) as RDF/XML”?
    • About:
      • Mouseover popup displays “about”. Should display “About” (capitalized).
    • Sharing:
    • Settings:
      • Mouseover popup displays “under the hood”. Should display “Under the hood” (capitalized).
        • User is presented with the option to delete the folder https://khoward5.dev.inrupt.net.
        • No-one should be given the option to delete this folder.
        • You can attempt to delete the folder (should not) but eventually get a sequence of 401 errors. Should just a warning message and the Login /. Sign Up buttons.

@brownhoward
Copy link

brownhoward commented Aug 7, 2019

Workflow 3 - Login

  1. Created a new Pod (e.g., https://khoward5.dev.inrupt.net/)
  2. Goto the WebID for the new Pod (e.g., https://khoward5.dev.inrupt.net/)
  3. New Home Page is displayed.
  4. Click the Login button.
  5. Log into the new WebID.
  6. Clicking on home page buttons left to right:
    • Dashboard:
      • More below.
    • Prefs:
      • Shows 2 checkboxes.
        • If I attempt to uncheck either, I get an error: Checkbox: Error updating store from false to true: Web error: 409 (Conflict) on PATCH of https://khoward5.dev.inrupt.net/profile/card
        • Also odd that the error message says it is trying to update from false to true, as the checkboxes are checked by default (i.e., true), and I would expect it to update from true to false.
    • Contents:
      • After clicking the green + button, 2 "Make new Notepad" icons are shown.
    • Slideshow:
      • Same issues as when not logged in.
    • Data:
      • Same issues as when not logged in.
    • Source:
      • Same issues as when not logged in.
    • Data as N3:
      • Same issues as when not logged in.
    • As RDF/XML:
      • Same issues as when not logged in.
    • About:
      • Same issues as when not logged in.
    • Sharing:
      • Two green + buttons shown at the bottom.
      • Sharing for folder and “Access to things within this folder” shows same Owner and email. Why doesn't the “Access to things within this folder” just inherit from the folder?

@brownhoward
Copy link

Workflow 4 - Login | Dashboard

  1. Created a new Pod (e.g., https://khoward5.dev.inrupt.net/)
  2. Goto the WebID for the new Pod (e.g., https://khoward5.dev.inrupt.net/)
  3. New Home Page is displayed.
  4. Click the Login button.
  5. Log into the new WebID.
  6. Click on Dashboard button on the home page:

@brownhoward
Copy link

brownhoward commented Aug 7, 2019

Workflow 5 - Login | Delete Root Folder

  1. Created a new Pod (e.g., https://khoward6.dev.inrupt.net/)
  2. Goto the WebID for the new Pod (e.g., https://khoward6.dev.inrupt.net/)
  3. New Home Page is displayed.
  4. Click “Login” button.
  5. Log in successfully.
  6. Click the "under the hood" button.
  7. Click "Remove this Folder" button.
  8. Click "Delete Folder" button.
  9. Folder https://khoward6.dev.inrupt.net/ is deleted (at least partially).
  10. Redisplay Dashboard.
  11. Lots of errors "Logged in but cannot load profile" are displayed.

Users should not be given the option to delete the root folder.

Update: User cannot delete the account. When entering the WebID in dev.inrupt.net/account/delete, an “account not found” error is displayed.

@timbl
Copy link
Contributor Author

timbl commented Aug 7, 2019

Agreed! Maybe should also protect profile folder and prefs folder

@megoth
Copy link
Contributor

megoth commented Aug 7, 2019

There are some panes that are making the current data browser more confusing than they are of help (in my opinion), so I suggest not including the following panes until we've had time to fix them up a bit:

  • microblog: This is just broken anyway, right?
  • scratchpad OR pad: They both use the same icon and name for their pane) - another solution is to do changes to one of them to make it more distinguishable from the other
  • longChat OR shortChat: Again, people will be confused about them - at some point we will probably merge their functionality into one pane, but I suggest we remove one of them from the interface, to lessen confussion

Also, I recommend removing the basicPreferences from the root, but keep it in the global dashboard.

@megoth
Copy link
Contributor

megoth commented Aug 7, 2019

Some thoughts when trying to add an index.html to your root:

  • You cannot drag-and-drop files to your root (returns 403 Forbidden), which means you cannot drag-and-drop an index.html file there
  • You can create an index.html file with Dokieli though, which gives people the opportunity to create their custom homepage somewhat easily
  • With index.html on the root, "Your storage" stops loading the folder pane, which makes it impossible to navigate your Pod
  • With index.html on the root, if you try to delete via "Under the hood", you'll be prompted to delete the root itself (this is something we should not allow users to do in general, like @timbl and @kevin-howard-jd has mentioned)

@megoth
Copy link
Contributor

megoth commented Aug 7, 2019

Navigating to the global panes from the user menu was broken - I've fixed it in the latest versions of dev

megoth added a commit to SolidOS/solid-panes that referenced this issue Aug 7, 2019
I think some panes are confusing as they are now, and suggest removing them from the current data browser

SolidOS/mashlib#45 (comment)
megoth added a commit to SolidOS/solid-panes that referenced this issue Aug 7, 2019
As it is now, people can easily delete resources that really should not be deleted.

This is very hacky, and should be rewritten into something smarter at some point

Based on the comment SolidOS/mashlib#45 (comment)
@megoth
Copy link
Contributor

megoth commented Aug 7, 2019

I've added some hacky functionality to "Under the hood" that "protects" certain URIs to be deleted via the data browser. Essentially it's a hard-coded list of resources where the delete button will not be available.

Still able to delete stuff other ways, of course, but limits the trouble some newcomers might get when starting to use the data browser.

@mikeadams1
Copy link

"You cannot drag-and-drop files to your root (returns 403 Forbidden), which means you cannot drag-and-drop an index.html file there"

@megoth Is it going to be possible to edit the root index.html using the data browser?

@mikeadams1
Copy link

Nice job on the dashboard, it's coming together just fine. It reminds me of Linkedin but, with Linkedin, once you visit user profiles a certain amount of times without being logged in, it asks you to either sign up, or sign in to view a users profile, is this something Solid is considering?

@megoth
Copy link
Contributor

megoth commented Aug 7, 2019

@megoth Is it going to be possible to edit the root index.html using the data browser?

That's a possibility yes.

@megoth
Copy link
Contributor

megoth commented Aug 8, 2019

FYI: We've updated dev.inrupt.net with latest version of https://github.com/solid/mashlib/tree/dev

@megoth
Copy link
Contributor

megoth commented Aug 8, 2019

Screen Shot 2019-08-08 at 15 08 19

Seems to be a bug when changing colors for profile "Edit your profile" in the global dashboard

@megoth
Copy link
Contributor

megoth commented Aug 8, 2019

Also noticing a bug where the storage tab(s) won't necessarily always load.

Example with bug:

image

Example without bug:

image

@brownhoward
Copy link

brownhoward commented Aug 8, 2019

Stop specific sharing for this folder

If I click the "Stop specific sharing for this folder" button for a specific folder, I get a "Error reading ACL. status 404: Found no ACL resource" error.

To Replicate

  1. Goto Pod on dev.inrupt.net.
  2. Login
  3. Display Folders.
  4. Display Sharing for a given folder.
  5. Click the "Stop specific sharing for this folder" button.

Expected Behaviour

  1. The bottom panel of the Sharing pane is closed and replaced with a message saying that "The sharing for this folder is now the default."

Actual Behaviour

  1. A message/error is displayed "The sharing for this folder is now the default.Error reading ACL. status 404: Found no ACL resource".
  2. No obvious way of resetting.

@brownhoward
Copy link

Display Public Profile for WebID

If I navigate to someone elses WebID, there is no obvious way of displaying their Profile.

To Replicate

  1. Navigate to a WebID (e.g., https://khoward7.dev.inrupt.net/).
  2. Dashboard is displayed showing an options to view Khoward7's Files.

Notes

I would have expected Khoward7's Public Profile to be displayed. I can click on any Khoward7 link to view the Profile but that is not obvious to the End User. Display the Profile by default seems a more logical thing to do than start viewing files.

@brownhoward
Copy link

Cannot Drag-Drop Files into Root Folder

I get a 403 error when trying to drag-and-drop a file onto the green + button in the root folder.

To Replicate

  1. Create a new Pod in https://dev.inrupt.net.
  2. Log into the new Pod.
  3. Display the Folders.
  4. Drag-and-drop a file onto the green +.
  5. A dialog is displayed stating "Are you sure you want to drop this file here? (Cancel opens it in a new tab)". Click OK.

Expected Behaviour

  1. The file is uploaded to the server, and displayed in the list of Folder files.

Actual Behaviour

  1. An 403 error message is displayed "Upload: FAIL https://khoward8.dev.inrupt.net//{filename}, Error: Error: Web error: 403 (Forbidden) on PUT of https://khoward8.dev.inrupt.net//{filename}

@brownhoward
Copy link

Goto Newly Created Address Book Error

If I create a new Address Book, I am presented with a link to "Go to new address book". When I click the link, I see a message "Can't find file requested: [object Object]".

To Replicate

  1. Navigate to WebID on https://dev.inrupt.net
  2. Login.
  3. Display Folders.
  4. Click green + button and select Address Book.
  5. Enter the name for the new Address Book, and click green tick/check.
  6. A message is shown saying the "Your new address book is ready. Go to new address book".
  7. Click either of the links in the message.

Expected Behaviour

  1. The new address book is displayed.

Actual Behaviour

  1. A new page is displayed with text message "Can't find file requested: [object Object]".

Dev Notes

  1. The new address was created successfully as you can navigate to it. It just seems as if the page redirect should goto https://{WebID}/{New Address Book Name}/index.ttl#this rather than just https://{WebID}/{New Address Book Name}/index.ttl.

@brownhoward
Copy link

No Validation on new Folder Names

There does not seem to be any validation on the entered name for a new folder which can cause the Pod to be corrupted.

To Replicate

  1. Navigate to a WebID on dev.inrupt.net.
  2. Login.
  3. Click Contents button to display Files/Folders.
  4. Add a new Folder
  5. Enter the new Folder name as the current WebID Profile (e.g., https://{WebID}/profile/card#me).
  6. Click green tick/check.

Expected Behaviour

  1. Warning message stating the Folder name is not valid.

Actual Behaviour

  1. A new Folder "me" appears to have been created and inserted into the list of Files/Folder.
  2. Refreshing the page shows error:
    Error: NamedNode IRI "/" must be absolute. undefined Error: NamedNode IRI "/" must be absolute. undefined at new t (https://khoward7.dev.inrupt.net/mashlib.min.js:15:748) undefined at t.value (https://khoward7.dev.inrupt.net/mashlib.min.js:15:1101) undefined at l (https://khoward7.dev.inrupt.net/mashlib.min.js:27:313368) undefined at Array.filter (<anonymous>) undefined at p (https://khoward7.dev.inrupt.net/mashlib.min.js:27:313921) undefined at Object.render (https://khoward7.dev.inrupt.net/mashlib.min.js:27:314334) undefined at https://khoward7.dev.inrupt.net/mashlib.min.js:21:34501 undefined at HTMLImageElement.<anonymous> (https://khoward7.dev.inrupt.net/mashlib.min.js:21:34973)

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

No branches or pull requests

4 participants