R1tschY / harbour-determinant

A Sailfish OS Matrix Client
GNU General Public License v3.0
9 stars 2 forks source link

Logins which function with element don't function with determinant #34

Closed poetaster closed 3 years ago

poetaster commented 3 years ago

I have a homesever reachable at https://matrix.netzpolitik.org:8448

I've tried using full addresses: @demo1:matrix.netzpolitik.org as users, but no go. demo1/demo1 is active....

What am I doing wrong? With element I just enter the homeserver adress and demo1 password (demo1)

R1tschY commented 3 years ago
  1. That error message is shown in the app?
  2. Can you please start determinant from the terminal and add the output here after you tried it again?
poetaster commented 3 years ago

Now that's odd. Starting from the terminal just get's me in. err. wtf?

Login 'just works somehow'.

If I enter a group chat I created with another client I see a bunch of: 'Unsupported event: m.room.power_levels' 'Unsupported even ....' About a dozen times.

evnt:m.room.encyrypted comes up several times but the actual text of the 'only' message is shown.

There is a picture attached (gif) which is not shown, but if I click it, it is.

Hmmmm. All very interesting.

poetaster commented 3 years ago

Now, exiting, starting the app without the terminal 'just works'.

I'm not happy about 'how' it works. It just 'assumes' log in to the last know login? That's very, very naive behaviour.

I want a prompt and who said 'save' my password?

This is REALLY UNSAFE.

R1tschY commented 3 years ago

Please reconsider your tone and avoid all caps.

I will close the ticket because the login worked. For everything else please create a new issue or use the public chat room.

poetaster commented 3 years ago

The login does not work. Having logged out, it is no longer possible to login. The reason, I believe, is that the port is not being used correctly.

Your app attempts to GET /.well-known ... without the port (8448). that fails.

Return to the terminal app. One gets a message stating the login failed.

The output on the terminal is always the same, Sent GET https://matrix.netzpolitik.org/.well-known. .... That address that I specified contains a port number.

Close the terminal. Open the app. Find oneself in the chat. Ok, so how did that 'work'?

In any case, I think my concern for the safety of users, myself and my staff included warrants all caps. I work for netzpolitik.org where we are currently testing matrix (again) and it is of no small import if we can rely on the login behaviour of an app.

Sure, you could say this is a work in progress that is not safe to use in production but have not done so, or? Perhaps I've missed something?

If you believe that our security is not your concern, I am very sorry to have offended you.

What do you mean with 'For everything else.... use the public chat room?' You don't want tickets?

R1tschY commented 3 years ago

I'm using libQuotient for the matrix connection. Please try to use Quaternion or spectral, because both also use libQuotient. When it also fails then there is little I can do in determinant. It then has to be fixed in libQuotient.

R1tschY commented 3 years ago

What do you mean with 'For everything else.... use the public chat room?'

I want a new issue for this to separate the two different issues you have. The public chat room is just an alternative I offer.

poetaster commented 3 years ago

I tried using Quaternion (flatpak install, ubuntu 18/20) but it died. I'll try spectral an see if that's the issue.

poetaster commented 3 years ago

Spectral 'just works' (tm).

quotient.jobs.sync: Sent GET https://matrix.netzpolitik.org:8448/_matrix/client/r0/sync quotient.jobs: Sent GET https://matrix.netzpolitik.org:8448/_matrix/client/r0/capabilities quotient.jobs: Sent POST https://matrix.netzpolitik.org:8448/_matrix/client/r0/keys/upload quotient.jobs: Sent POST https://matrix.netzpolitik.org:8448/_matrix/client/r0/keys/upload quotient.jobs: Sent POST https://matrix.netzpolitik.org:8448/_matrix/client/r0/keys/upload

In the case of determinant the GETs are all to the host without the PORT.

R1tschY commented 3 years ago

Okay, than it is a problem on my side. I will have a look.

Offtopic: If you're evaluating it for netzpolitik.org, you very definitely want to use E2EE (end-to-end encryption). Determinant doesn't offer that so far. As far as I know, there is no alternative for Sailfish OS that supports E2EE. Konheko seems to support it soon.

R1tschY commented 3 years ago

I looked at the libQuotient code and your user id should be @USER:matrix.netzpolitik.org:8448. Because the last part must be the home server and the port is required when it is not the default 443 port. So please try it again with the :8448 appended.

That the full user id is required as user name is a bug on my side and will be fixed.

poetaster commented 3 years ago

That results (after numerous attempts) in an Invalid password message. It's not the password. Parallel tests work witth a normal (tm) user (@demo1:matrix.netzpolitik.org for instance. no port).

E2EE is not planned?

R1tschY commented 3 years ago

From my point of view you have two options:

Using @USER:matrix.netzpolitik.org (without the port) will confuse clients because they expect the matrix server to run on port 443.

E2EE is not planned to be implemented soon. At first E2EE has to be implemented in libQuotient.

poetaster commented 3 years ago

Ok, since E2EE is not planned, I'll move along. I'll be happy to help when I can.

As for the name resolution, I would fix that to accord with the variables set by the user. There is no way to know what ports should be used. 443 is a convention used by webservers. For xmpp I use SRV records which do the port forwarding.

Thanks for the help!