SAFE Network Dev Update - April 2, 2020

Yeah Snapp shows that CLI is installed. Although what’s strange in Snapp you get this message: Safe auth process not installed, install now (see image above) when i click install now CLI shows as installed.

Ubuntu 19.10

Cheers :stuck_out_tongue:

2 Likes

Thanks @19eddyjohn75

1 Like

I can’t login via the SNApp

but I can log in ok via the CLI

I can launch the browser OK from the SNApp though.

3 Likes

Seems I had to connect through the CLI first. I thought maybe the SAFE Network App would connect by itself.

2 Likes

It should. Definitely seems to be buggy from your reports and @Southside’s experience too.

thanks. will be taking a look at this in the coming days.

4 Likes

Note the order of the inputs, in SNApp first one is password, could that be the issue you are having?

3 Likes

@bochaco - you are a genius!!

I log out from CLI, I restart SNApp , with password first and passphrase second, I run safe auth stutus again and it works as it should. So its a GUI issue rather than a bug, @joshuef, @JimCollinson ?

4 Likes

@intrz - Try @bochaco’s solution, reverse the order of your inputs and see if that works.

1 Like

Fresh install to laptop with no SAFE history Linux Mint 19.3

Initial errors looking for ~/bin !?

I’m not sure where it was intending on this system atm /usr/local/bin /opt are looking like they would need sudo to create some user writable.

$ ./safe-network-app-v0.0.6-alpha.15-linux-x64.AppImage  
(node:10252) DeprecationWarning: file property is deprecated and will be removed in v5.
(node:10252) DeprecationWarning: file property is deprecated and will be removed in v5.
(node:10252) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:10252) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
find: ‘/home/davidpbrown/bin’: No such file or directory
18:04:23.928%c › {
  constructor: 'Error',
  status: 1,
  signal: null,
  output: [
    null,
    '',
    'find: ‘/home/davidpbrown/bin’: No such file or directory\n'
  ],
  pid: 10297,
  stdout: '',
  stderr: 'find: ‘/home/davidpbrown/bin’: No such file or directory\n',
  stack: "Error: Command failed: find /home/davidpbrown/bin -name 'safe-browser-v*alpha*'\n" +
    'find: ‘/home/davidpbrown/bin’: No such file or directory\n' +
    '\n' +
    '    at checkExecSyncError (child_process.js:634:11)\n' +
    '    at execSync (child_process.js:670:15)\n' +
    '    at Object (electron/js2c/asar.js:696:23)\n' +
    '    at getLocalLinuxAppImageName (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:1903:20)\n' +
    '    at getApplicationExecutable (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:1967:34)\n' +
    '    at getInstalledLocation (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:1992:33)\n' +
    '    at Object.checkAppsForUpdate (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4261:25)\n' +
    '    at forEach (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4414:24)\n' +
    '    at Array.forEach (<anonymous>)\n' +
    '    at setupIPCListeners (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4412:24)\n' +
    '    at App.<anonymous> (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4532:5)\n' +
    '    at App.emit (events.js:208:15)'
}
find: ‘/home/davidpbrown/bin’: No such file or directory
18:04:25.144%c › {
  constructor: 'Error',
  status: 1,
  signal: null,
  output: [
    null,
    '',
    'find: ‘/home/davidpbrown/bin’: No such file or directory\n'
  ],
  pid: 10331,
  stdout: '',
  stderr: 'find: ‘/home/davidpbrown/bin’: No such file or directory\n',
  stack: "Error: Command failed: find /home/davidpbrown/bin -name 'safe-browser-v*alpha*'\n" +
    'find: ‘/home/davidpbrown/bin’: No such file or directory\n' +
    '\n' +
    '    at checkExecSyncError (child_process.js:634:11)\n' +
    '    at execSync (child_process.js:670:15)\n' +
    '    at Object (electron/js2c/asar.js:696:23)\n' +
    '    at getLocalLinuxAppImageName (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:1903:20)\n' +
    '    at getLocalAppVersion (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:2017:26)\n' +
    '    at Object.checkAppsForUpdate (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4264:26)\n' +
    '    at forEach (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4414:24)\n' +
    '    at Array.forEach (<anonymous>)\n' +
    '    at setupIPCListeners (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4412:24)\n' +
    '    at App.<anonymous> (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4532:5)\n' +
    '    at App.emit (events.js:208:15)'
}
find: ‘/home/davidpbrown/bin’: No such file or directory
18:04:25.207%c › {
  constructor: 'Error',
  status: 1,
  signal: null,
  output: [
    null,
    '',
    'find: ‘/home/davidpbrown/bin’: No such file or directory\n'
  ],
  pid: 10333,
  stdout: '',
  stderr: 'find: ‘/home/davidpbrown/bin’: No such file or directory\n',
  stack: "Error: Command failed: find /home/davidpbrown/bin -name 'safe-cli-v*alpha*'\n" +
    'find: ‘/home/davidpbrown/bin’: No such file or directory\n' +
    '\n' +
    '    at checkExecSyncError (child_process.js:634:11)\n' +
    '    at execSync (child_process.js:670:15)\n' +
    '    at Object (electron/js2c/asar.js:696:23)\n' +
    '    at getLocalLinuxAppImageName (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:1903:20)\n' +
    '    at getLocalAppVersion (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:2017:26)\n' +
    '    at Object.checkAppsForUpdate (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4264:26)\n' +
    '    at forEach (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4414:24)\n' +
    '    at Array.forEach (<anonymous>)\n' +
    '    at setupIPCListeners (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4412:24)\n' +
    '    at App.<anonymous> (/tmp/.mount_safe-nX4pjvM/resources/app.asar/app/webpack:/app/main.prod.js:4532:5)\n' +
    '    at App.emit (events.js:208:15)'
}
(electron) 'setResizable function' is deprecated and will be removed. Please use 'resizable property' instead.
(electron) 'setMovable function' is deprecated and will be removed. Please use 'movable property' instead.

most of that above rapid, then a pause before the last two electron lines.

snapp Download progress

So, the [Safe Authenticator process not installed].[Install now] seemed to jump to install the CLI and then notionally thrid step was to install the browser.

The downloading clockwise wrap to the pause button, is a nice idea but it is of a kind that really should be a secondary indicator: the colour is not obvious enough… espcially if very little progress has been made; the CLI is relatively fast but the browser was slow; perhaps much larger… if that is the only indicator, user might well miss that it is doing its ting. So, I’d suggest ye olde numeric % that cannot be missed. At least make the colour wrap progressor bright.

snapp [Pin to Menu Bar] should be default off.

As above image shows, the position underlaps on auto hiding tool bar

[Create Account] is hidden to a new user

and they would be the one who needs it.

Snapp [SAFE CLI Alpha].[Open] doesn’t work to open a terminal.

There perhaps are different methods that need testing for desktop environment?
mate-terminal -e command
gnome-terminal -e command
xterm -e command
kconsole -e command
First one works for me because I have Mate not kde or other.

long paws

SAFE Browser does launch, after a long pause (on this 3.5GB older laptop) but too long really for being without an indication in the Snapp that it is trying to open.

Bigger issues with this install

getting stuck now - Snapp Create Account fails and stuck in a loop of trying.
Looking at what is different:

snapp CLI install sees ~/.bashrc is missing its export appended line

as
export PATH=$PATH:/home/davidpbrown/.safe/safe-cli
or similar.

So, associated problems as:
Snapp suggests CLI “Installed” but error on
$ safe --help
does work for new terminals, if the export line has been added.

?CLI install manually is to ~/.safe/cli and different from snapp.

Looking now I see that on my other SAFE environment I have oddly both ~/.safe/cli and ~/.safe/safe-cli whereas the new attempt from snapp only, has ~/.safe/safe-cli

Browser connected?

SAFE Browser doesn’t have an indicator that it is connected… is that deliberate or missing?.. without feedback to the terminal, it’s not obvious what is misfiring.

authd is not installed at ~/.safe/

Despite installing initially, authd is not obvious as .safe/authd/safe-authd
so, “No such file or directory” errors follow from the likes of safe auth start

So, stuck now for at least not having auth installed… and whatever else is required for Browser to make connection.

Now to tidy up!

this has created an unwanted at ~/bin for the browser only it seems
surely that should be at ~/.safe/

Hope that helps

5 Likes

Have you installed authd with safe auth install after you installed CLI?

Nothing CLI above… all snapp focused.

So, the initial prompt in snapp [Safe Authenticator process not installed].[Install now] was the first click made but seemed to jump to be installing the CLI … I read that as that auth was installed and then CLI necessarily followed… but nothing of auth found in the reality of normal locations like ~/.safe/

Edit: double checking, all I did was the non install at ~/.safe/safe-cli
trying to prompt auth into action

$ ./safe auth
Creating '/home/davidpbrown/.local/share/safe-cli' folder
Authorising CLI application...
Note you can use this CLI from another console to authorise it with 'auth allow' command. Alternativelly, you can also use '--self-auth' flag with 'auth login' command to automatically self authorise the CLI app.
Awaiting for authorising response from authd...
[2020-04-06T17:39:52Z ERROR safe] safe-cli error: Application authorisation failed: [Error] AuthdClientError - Failed to create client endpoint: [Error] ClientError - Failed to read certificate from '/home/davidpbrown/.config/safe-authd/cert.der': No such file or directory (os error 2)
$ ./safe auth login
Passphrase: 
Password: 
Sending login action request to authd...
[2020-04-06T17:40:09Z ERROR safe] safe-cli error: [Error] AuthdClientError - Failed to create client endpoint: [Error] ClientError - Failed to read certificate from '/home/davidpbrown/.config/safe-authd/cert.der': No such file or directory (os error 2)
$ ./safe auth start
[2020-04-06T17:40:44Z ERROR safe] safe-cli error: [Error] AuthdClientError - Failed to execute authd from '/home/davidpbrown/.safe/authd/safe-authd': No such file or directory (os error 2)
$ 
3 Likes

I think it may have been a genuine timeout because now I’m not able to reproduce the error.

I’m not sure it’s a GUI issue per se, as some inconsistency in our libs. It’s not the first time these two have been the wrong way round, but it is consistent with the nodejs impl at the mo.

I’ll have a look at see what’s going on.


edit: @Southside @bochaco just pointed out that it wasn’t the naming that was wrong, just that they are in a different order in SNAPP vs the CLI :+1: In which case, yeh, we’d need to keep those consistent ideally

3 Likes

yes my point was if they were referred to be somewhat more different names, then such understandable confusion could be greatly reduced.
I like @jlpell suggestion of login/passphrase - however we would need to ensure that folk would treat both secrets securely. You would need to guard your login phrase every bit as much as your passphrase - AIUI.

1 Like

It’s not obvious to me why one passphrase won’t do. But if two parts are necessary, how about “Secret 1” and “Secret 2”?

I think this is hard to do. It’s a lot easier to have the login be shorter and easier to remember as a classifier, but then require the passphrase to have 256bits of entropy or higher. Another way to look at it is that the login is essentially an arbitrary seed extension to a typical mnemonic seed. The user will likely need a simple way to manage the passphrase since it will be too hard to remember…

examples:

Login: southside-personal
Passphrase: “side figure middle ocean diagram found sock amused deposit web captain degree oil various twist glue ugly concert awesome genre fix afford nurse vendor”

Login: southside-work
Passphrase: “my super awesome password you will never guess and I will never remember… 8962831a26cad19ac5e1418a5f907a907d375c6d51be608281f5b733c248d7bd4008439af224f3d52df2e500f38e939e1bd46dd9371b2bdc7101b0efcb65634”

2 Likes

I always wondered why apps often ask you for a short password with annoying rules instead. It is much easier to remember a line of a song, than some combination of letters, numbers and symbols.

2 Likes

But much harder to come up with on the fly for most people. Tradeoffs, tradeoffs.

Use the first word of the line of a song you wont forget then do substitutions

F14g0ttpfA14g0t2C <-- long since retired but once did sterling service on a rather important bit of kit

For its a grand old team to play for,
And its a grand old team to see

Thank you for the heavy work team MaidSafe! I add the translation into Bulgarian in the first post :dragon:

7 Likes