Needed - Mac users for help with simple app test

I am running into a problem where my app works on linux and linux subsytem for windows but not on linux for Mac.

The app is a command-line tool to move things between your local desktop and a pod or between pods. All you need to test is a fairly recent (>15) nodejs and an account on solidcommunity.net. At any point you get an error, please screenshot it and private message me here with the screenshot.

  1. Set https://solid-node-client as a trustedApp on your pod by
    • a. manually editing your profile
    • b. OR go to the root of your pod in the databrowser e.g. https://you.solidcommunity.net/; click on the preference tab; scroll to the bottom of the trusted apps list and add https://solid-node-client
  2. Go to the command line and issue this command : npx solid-shell shell
  3. When you get a shell prompt, enter login
  4. Supply login details like so (notice no trailing slashes)
idp? https://solidcommunity.net
username? YOU
password? ***********
remote base? https://YOU.solidcommunity.net
  1. If your login is successful, try to get a private resource, for example get /settings/

Let me know if it works!

Thanks much!

1 Like

I’m using a macbook pro with an Apple M2 Pro chip. Running macOS Ventura 13.3

I didn’t get past the install command:

➜  ~ node -v
v18.19.1
➜  ~ npx solid-shell@2.0.12 shell
Need to install the following packages:
solid-shell@2.0.12
Ok to proceed? (y) y
npm WARN deprecated readdir-scoped-modules@1.1.0: This functionality has been moved to @npmcli/fs
npm WARN deprecated debuglog@1.0.1: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
npm WARN deprecated @types/form-urlencoded@4.4.0: This is a stub types definition. form-urlencoded provides its own type definitions, so you do not need this installed.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated jose@1.28.2: this version is no longer supported
/Users/tim/.npm/_npx/70fe1450426eba35/node_modules/solid-shell/src/sol.run.js:10
const fc = new FC(client)
           ^

TypeError: FC is not a constructor
    at Object.<anonymous> (/Users/tim/.npm/_npx/70fe1450426eba35/node_modules/solid-shell/src/sol.run.js:10:12)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Module.require (node:internal/modules/cjs/loader:1225:19)
    at require (node:internal/modules/helpers:177:18)
    at Object.<anonymous> (/Users/tim/.npm/_npx/70fe1450426eba35/node_modules/solid-shell/sol:3:17)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)

Node.js v18.19.1
➜  ~
1 Like

Darn,try 2.0.13

And many thanks!

Oh gosh, I forgot - you need to add https://solid-node-client as a trusted app. You can do that in the databrowser with the preferences tab or manually edit the profile.

Cool that got me to the shell. Failed at command 3.

I am 90% sure my password was correct.

------------------------------------------------------------------------------
Solid Shell - a command line, batch processor, & interactive shell for Solid
------------------------------------------------------------------------------
       Document Management  put, get, head, copy, move, delete, zip, unzip
  Testing/Batch Processing  run, exists, notExists, matchText
              Connectivity  login, base
         Interactive Shell  help, quit
------------------------------------------------------------------------------

> login
  logging in ...
idp? https://solidcommunity.net
username? timtestpod
password? *****************
remote base? https://timtestpod.solidcommunity.net
/Users/tim/.npm/_npx/240a7ceb1d2ca8e2/node_modules/solid-auth-fetcher/dist/obtainAuthHeaders.js:30
            throw new Error(`Please make sure the cookie is valid, and add "${appOrigin}" as a trusted app!`);
                  ^

Error: Please make sure the cookie is valid, and add "https://solid-node-client" as a trusted app!
    at getAuthFetcher (/Users/tim/.npm/_npx/240a7ceb1d2ca8e2/node_modules/solid-auth-fetcher/dist/obtainAuthHeaders.js:30:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v18.19.1
➜  ~
1 Like

I am an idiot, sorry. I forgot step 0.

  1. Set https://solid-node-client as a trustedApp on your pod by
    a. manually editing your profile
    b. go to the root of your pod in the databrowser e.g. https://you.solidcommunity.net/; click on the preference tab; scroll to the bottom of the trusted apps list and add https://solid-node-client
1 Like

Added solid-node-client. Let me try again.

1 Like

Ok it seems I was able to login (it took a while though, for a minute I thought it froze). If I follow, all the steps I get this response:

------------------------------------------------------------------------------
Solid Shell - a command line, batch processor, & interactive shell for Solid
------------------------------------------------------------------------------
       Document Management  put, get, head, copy, move, delete, zip, unzip
  Testing/Batch Processing  run, exists, notExists, matchText
              Connectivity  login, base
         Interactive Shell  help, quit
------------------------------------------------------------------------------

> login
  logging in ...
idp? https://solidcommunity.net
username? timtestpod
password? *****************
remote base? https://timtestpod.solidcommunity.net
  logged in as <https://timtestpod.solidcommunity.net/profile/card#me>

> get /settings/
  undefined get undefined/settings/

>

Thanks, that’s some progress. Do you have a /settings/ folder? Please try some other gets of public and private stuff.

It looks like your remote base didn’t get set. I’ll look into that.

could you try with a full url e.g. get https://timtestpod.solidcommunity.net/settings/

I do. Solid Community shows a prefs.ttl, a privateTypeIndex.ttl a publicTypeIndex.ttl, and a serverSide.ttl.inactive all inside the settings container.

1 Like

The full URL got me a more expected output:

------------------------------------------------------------------------------
Solid Shell - a command line, batch processor, & interactive shell for Solid
------------------------------------------------------------------------------
       Document Management  put, get, head, copy, move, delete, zip, unzip
  Testing/Batch Processing  run, exists, notExists, matchText
              Connectivity  login, base
         Interactive Shell  help, quit
------------------------------------------------------------------------------

> login
  logging in ...
idp? https://solidcommunity.net
username? timtestpod
password? *****************
remote base? https://timtestpod.solidcommunity.net
  logged in as <https://timtestpod.solidcommunity.net/profile/card#me>

> get https://timtestpod.solidcommunity.net/settings/

Files: prefs.ttl privateTypeIndex.ttl publicTypeIndex.ttl serverSide.ttl.inactive

>
1 Like

Sweet, so only thing broken is remote-base. Zip doesn’t work either. But every thing else should.

1 Like

This looks like a cool tool. Thanks for putting it together!

Sure thing. Checkout the scripts.

1 Like

And check it out with local files. You can do get, put, patch, etc. against your local file system.

1 Like

Oh, important question> What OS and version are you on?

I’m using a macbook pro with an Apple M2 Pro chip. Running macOS Ventura 13.3

1 Like