Post AaX3oOpYIzP5X5JH9s by thisismissem@hachyderm.io
(DIR) More posts by thisismissem@hachyderm.io
(DIR) Post #AaWdTag2T2K3NuHEWm by noeldemartin@noeldemartin.social
2023-10-07T11:31:24Z
0 likes, 0 repeats
I just posted a video showing what you can do with the framework I'm working on, Aerogel. Check it out! https://www.youtube.com/watch?v=JXyCH_S9efk
(DIR) Post #AaWocTeh2g3Ni25Uv2 by thisismissem@hachyderm.io
2023-10-07T13:36:17Z
0 likes, 0 repeats
@noeldemartin that's looking really cool!I think my only concern is probably the authn events.. because if you're backing to Inrupt's SDK for authn, it doesn't correctly expose state which means your application loads in an unknown state, which causes a lot of issues to say the least.
(DIR) Post #AaX2gZn3ZcBvFjqeki by noeldemartin@noeldemartin.social
2023-10-07T16:13:55Z
0 likes, 0 repeats
@thisismissem Hey thanks :D.It does use Inrupt's library for authentication, although it can be configured to use something else (Inrupt's library is the one used by default).What do you mean that it doesn't correctly expose the state, can you elaborate?
(DIR) Post #AaX3oOpYIzP5X5JH9s by thisismissem@hachyderm.io
2023-10-07T16:26:32Z
0 likes, 0 repeats
@noeldemartin basically authn initialises in an unknown state, and that's not exposed, this is what made PodBrowser have a bunch of issues, compounded by the react-SDK that didn't bind to the correct events.That is, authn should be a finite state machine, but it's actually not.
(DIR) Post #AaX4UiBuiGpbk0wfg0 by noeldemartin@noeldemartin.social
2023-10-07T16:34:12Z
0 likes, 0 repeats
@thisismissem Hm I'm not sure I understand what you mean, but the authentication information is exposed through the $solid service. You can check if you're logged in with $solid.loggedIn, for example. And by default it initializes logged out, but you can configure it to auto reconnect on start up.I guess you could say it is a state machine with the following states:- Logged out- Logging in- Logged inMaybe I could improve that and make it more explicit, is that what you mean?
(DIR) Post #AaX4qE4xLluCijwx2O by thisismissem@hachyderm.io
2023-10-07T16:38:04Z
0 likes, 0 repeats
@noeldemartin right, so when you do "restore session" you're not initially in a logged in not logged out state, nor logging in, you're in a fourth state that's a loading state.Where the silent authentication takes place & the redirect flow happens. It's a bit hard for me to explain these days (haven't touched Solid in. ~6 months)
(DIR) Post #AaX5TDeIslJqgI4oCG by noeldemartin@noeldemartin.social
2023-10-07T16:45:08Z
0 likes, 0 repeats
@thisismissem Hm I see what you mean, but I think that's not an issue in my case. There is no "restoring session" state because the $solid service is not ready until the session has been restored (or failed restoring). So by the time the app has booted, you're either "logged in" or "logged out". Services have this concept of "booted", and until they are fully booted the app doesn't even render anything on the screen.
(DIR) Post #AaX6kn3MbTT1MWjyd6 by thisismissem@hachyderm.io
2023-10-07T16:59:30Z
0 likes, 0 repeats
@noeldemartin ah, okay! so you've perhaps side-stepped that issue nicely then.
(DIR) Post #AaX78yVXfRgdq0S9AG by noeldemartin@noeldemartin.social
2023-10-07T17:03:53Z
0 likes, 0 repeats
@thisismissem Well it's not super nice because the UI is blocked longer than it should, which is a problem I'm aware of. But it's a trade-off I'm willing to live with for now.Thanks for your feedback, I'll keep it in mind when I work further on this :).