-
Notifications
You must be signed in to change notification settings - Fork 0
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
2025-04 dev log #13
Comments
-> before that, continue from #12 (comment) |
I should set up the redirects for sites like prejournal.org so I can let them expire |
|
Hm, I can use https://empty-solid-app.pondersource.com/ to access http://localhost:3000/asdf/ and hand-edit But if I refresh the page, the client ID rotates:
I'm also not sure how to specify this client ID in the ACR. Presumably these client ID's are given out by solidcommunity.net over which I have no control. I'll try using http://localhost:3000 as the IDP so I can see the client ID's getting minted, hopefully. |
|
|
|
I wonder whether this is something I messed up or whether this is an incompatibility between empty-solid-app and CSS-ACP. |
OK, testing with Penny now, that's much more convenient. This works:
|
After log-out-and-back-in at Penny, I need to edit it to |
OK, so let's work with the assumption that these rotating client ID's are a good thing, and that the launcher app should edit ACRs each time a Solid app is opened in a new browser window. |
How would this work? The user could:
Maybe the launcher is not a launcher but an Authorization Server in this case. Downside would be that the user first have to go app -> IDP -> app to give their identity, and then separately app -> AS -> app to give access to folders. The other option would be static client ID's which Penny supports (see Matrix), and then the launcher would work as originally intended. maybe that's better. |
OK, now testing the following:
|
You can remove
|
Ah, it looks pretty simple, seems I can just add a parameter |
Let's see if I can use https://github.com/pdsinterop/launcher-exploration |
Transferred this devlog repo from https://github.com/tubsproject/devlog to https://github.com/michielbdejong/devlog because I realised maybe even TUBS can not be an umbrella for all my work. I did initially put it under TUBS on purpose, to emphasise that Unhosted, Prejournal, Ponder Source, Solid, data portability, Federated Bookkeeping and even post-capitalism should all be glued together into TUBS, and maybe I'll move it back some day, but I did realise two things:
2)I might want to work on topics that are not post-capitalist data portability, and still weave that activity into my (personal) devlog. The relation between the arrow of time, information theory, and computational complexity is one. Music production is another. There may be others in years to come. ToS;DR is also unrelated. |
|
Trying to |
Fixed the |
Maybe i can fix this with a fresh |
Hm, build error again:
According to https://stackoverflow.com/questions/59269208/errorrootcode-for-hash-md5-was-not-found-when-using-any-hg-mercurial-command it may be a problem with the link between python@2 and openssl. Sigh. I'll try on GitPod. |
On GitPod the build fails with:
|
Maybe I should |
OK that helps a lot, but still getting:
|
The |
I need to make poddit compatible with pivot |
I'll remove the solid-auth-client dependency and see what that breaks. Maybe also remove the popup.html but that does mean I have to introduce some new UI elements to replace it. |
OK, michielbdejong/poddit@9fe4cd0 |
I'm using this but not sure if it's idiomatic:
|
https://react.dev/learn#updating-the-screen suggests yes so I'll use it for the other hooks too then, for consistency. |
I should define useSession instead of useWebId |
ah no, this is not necessary because @inrupt/solid-client-authn-js stores the session and exposes it |
OK, this is annoying, I moved the session state up into the app so that I could pass it down to elements. |
In https://dev.to/chaituknag/renderprops-vs-custom-hooks-which-one-to-use-5a0 I'm seeing the pattern of returning just the value from the custom hook, makes sense. |
I wonder about reuse of |
Added a warning to pivot since we want Pivot to run on solidcommunity.net and can't easily switch that server to ACP. One of my hopes with the migration is that we could demo that we finally have an MVP of Solid working, but turns out it's not enough. |
I think I understand custom hooks now, although handleIncomingRedirect is getting called like 20 times. I wonder how other Solid - React apps solve that. and then on to:
|
solidBookmarker has the useEffect in the app component, uses |
I think I should pass session.fetch to rdflib like this |
Ah, that helps! Next issue: I should add https://github.com/CommunitySolidServer/CommunitySolidServer/blob/main/templates/pod/acp/profile/card.acr to my pod on pivot |
I don't see a pod getting created in /root/pivot/data/michielbdejong on pivot.pondersource.com. |
OK, so the default config works properly. Making this config change and restarting: diff --git a/config/prod.json b/config/prod.json
index 87be263..87a262e 100644
--- a/config/prod.json
+++ b/config/prod.json
@@ -20,7 +20,7 @@
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/ldp/authentication/dpop-bearer.json",
- "css:config/ldp/authorization/webacl.json",
+ "css:config/ldp/authorization/acp.json",
"css:config/ldp/handler/default.json",
"css:config/ldp/metadata-parser/default.json",
"css:config/ldp/metadata-writer/default.json",
@@ -29,7 +29,7 @@
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/pod.json",
"pivot:config/storage/middleware/default.json",
- "css:config/util/auxiliary/acl.json",
+ "css:config/util/auxiliary/acr.json",
"css:config/util/identifiers/subdomain.json",
"css:config/util/logging/winston.json",
"css:config/util/representation-conversion/default.json", rm -rf data/
mkdir -p data
cp -r www data/
vim config/prod.json
npx community-solid-server -c ./config/prod.json ./custom-config.json -f ./data --httpsKey /etc/letsencrypt/live/pivot.pondersource.com/privkey.pem --httpsCert /etc/letsencrypt/live/pivot.pondersource.com/fullchain.pem -p 443 -b https://pivot.pondersource.com -m . |
First thing I notice is that data/www/index.html is not showing. Instead I'm seeing mashlib on https://pivot.pondersource.com. I got into an infinite redirect because I was still logged in, but I found a trick for removing my cookie: I visit https://pivot.pondersource.com/.well-known/openid-configuration, and then I can go to the icon in my browser addressbar that lets me remove the cookie. After that, the infinite redirect no longer happens. |
Ah, I see the error:
That should be fixable with |
Ah no, of course, it's because css-mashlib has no acp templates. I have to update the config to use |
trying with SolidOS/css-mashlib#12 now |
Adding; :manualAddition
a solid:TypeRegistration;
solid:forClass bookmark:Bookmark;
solid:instanceContainer </public/bookmarks/>. copied from https://michielbdejong.solidcommunity.net/settings/publicTypeIndex.ttl |
It's now creating https://asdf.pivot.pondersource.com/public/bookmarks.ttl but not putting any bookmarks into it yet |
It feels very close to working now
Bigger picture for basically all of January: #15 Moving TUBS work to February. |
4 bookmarks in store reported - continue debugging from here tomorrow: |
I'm noting that Poddit is now getting full access to my pod, but that's something I'll fix later. I will need to add a client ID doc for the launcher on https://pivot.pondersource.com/ and whitelist that, alongside with mashlib, penny for instance, see SolidOS/css-mashlib#12 (comment) |
-> https://gitlab.com/vincenttunru/poddit/-/merge_requests/2 |
Continuing in #14 |
(edited to remove TUBS work that I previously/naively thought I would get to this week)
The text was updated successfully, but these errors were encountered: