fission-codes / dashboard

The account dashboard for the Fission platform
https://dashboard.fission.codes
GNU Affero General Public License v3.0
8 stars 0 forks source link

Error in initialization #19

Open jeffgca opened 3 years ago

jeffgca commented 3 years ago

Summary

I get an error trying to access the dashboard

Problem

I tried to get access to the dashboard at https://dashboard.fission.codes/ and instead got this error:

image

The error from the devtools web console is:

Error in webnative initialisation Error: Could not parse a valid private tree using the given key
    fromInfo PrivateTree.ts:91
    h bundle.min.js:1
    f bundle.min.js:1
    j bundle.min.js:1
    j bundle.min.js:1
    fromInfo PrivateTree.ts:89
    fromBareNameFilter PrivateTree.ts:76
    h bundle.min.js:1
    f bundle.min.js:1
    f bundle.min.js:1
    promise callback*c bundle.min.js:1
    j bundle.min.js:1
    j bundle.min.js:1
    fromBareNameFilter PrivateTree.ts:74
    SC tree.ts:321
    h bundle.min.js:1
    f bundle.min.js:1
    f bundle.min.js:1
    promise callback*c bundle.min.js:1
    j bundle.min.js:1
    j bundle.min.js:1
    SC tree.ts:308
    promise callback*SC/< tree.ts:308
    SC tree.ts:307
    fromCID tree.ts:126
    h bundle.min.js:1
    f bundle.min.js:1
    f bundle.min.js:1
    promise callback*c bundle.min.js:1
    f bundle.min.js:1
    promise callback*c bundle.min.js:1
    f bundle.min.js:1
    promise callback*c bundle.min.js:1
    f bundle.min.js:1
    promise callback*c bundle.min.js:1
    f bundle.min.js:1
    promise callback*c bundle.min.js:1
    j bundle.min.js:1
    j bundle.min.js:1
    fromCID tree.ts:102
    fromCID filesystem.ts:152
    h bundle.min.js:1
    f bundle.min.js:1
    j bundle.min.js:1
    j bundle.min.js:1
    fromCID filesystem.ts:150
    um filesystem.ts:74
index.ts:231:12
    <anonymous> index.ts:231
    (Async: promise callback)
    <anonymous> index.ts:230
    <anonymous> index.ts:503
matheus23 commented 3 years ago

Do other apps work? Can you e.g. log out of and back into drive? What account does this happen in? If you run webnative.leave() in the console, and navigate back to https://dashboard.fission.codes, does the issue persist?

jeffgca commented 3 years ago

Do other apps work? Can you e.g. log out of and back into drive?

Drive works as normal.

What account does this happen in?

therealjeffg

If you run webnative.leave() in the console, and navigate back to https://dashboard.fission.codes, does the issue persist?

Nope, that fixes it.

I dug into this a bit more and think I found the culprit maybe. I make heavy use of container tabs in Firefox. This is a firefox-specific extension and platform api and set of extensions that keeps separate cookie jars according to hueristics, for example a popular extension called Facebook Containers automatically puts all Facebook related sites into their own 'container'.

I can do more testing but I think what it looks liks is, if I use container A for fission stuff and then try to log in in container B, things get surprisingly far but then fail hard at the linking stage.

I don't know how much effort we want to put into this right now but worth noting that Facebook Containers has 1.7M users and The more power-user oriented multi-account-containers add-on has over 250k users.

matheus23 commented 3 years ago

I can do more testing but I think what it looks liks is, if I use container A for fission stuff and then try to log in in container B, things get surprisingly far but then fail hard at the linking stage.

Very interesting.

I don't know how much effort we want to put into this right now but worth noting that Facebook Containers has 1.7M users and The more power-user oriented multi-account-containers add-on has over 250k users.

Also worth to be noted: This will be an issue for all fission apps, not only the dashboard. So very much worth discussing. I wonder what's actually going wrong though. Is there a reason you're opening the auth lobby in container A and then switch to container B for opening the dashboard? Did that switch happen automatically? I think ideally we'd just detect that weirdness and not authenticate at all. I don't know how it's possible that it gets so far.