impossible to add server when server experiment on but group experiment off #248

Closed
opened 2021-11-15 10:24:31 +00:00 by icwtch · 8 comments

Hi, using cwtch 1.4 on MacOS Big Sur.
Have been reading latest Discreet Log and tried to test out server creation.
Followed instructions.
Managed to create one, but when pasting its keys in the prompt for new contact in the profile i want to use it with, I'm getting :

invalid import string

I tried both leaving the

server:

part and deleting it, but gives me same error...

=> edit : i wasn't planning to host groups on the server, just one2one chats, so i have groups disabled in my settings. Are groups maybe a prerequisite in order to be able to host a server ?
=> edit 2 : activated the groups setting and now the server address is accepted. You might want to precise this in the docs though.

Questions

  1. will the server automatically run in the background and fetch offline messages ? I mean, there don't seem to be any visual changes in the chat window with individual chats showing me the server is running.
  2. For the contact, he simply continues to write to my individual address as before ?
  3. why not allowing for one2one chats on a server ? I don't need group chats, which seems to be a prerequisite for running a server.
Hi, using cwtch 1.4 on MacOS Big Sur. Have been reading latest Discreet Log and tried to test out server creation. Followed instructions. Managed to create one, but when pasting its keys in the prompt for new contact in the profile i want to use it with, I'm getting : > invalid import string I tried both leaving the > server: part and deleting it, but gives me same error... => edit : i wasn't planning to host groups on the server, just one2one chats, so i have groups disabled in my settings. Are groups maybe a prerequisite in order to be able to host a server ? => edit 2 : activated the groups setting and now the server address is accepted. You might want to precise this in the docs though. Questions 1. will the server automatically run in the background and fetch offline messages ? I mean, there don't seem to be any visual changes in the chat window with individual chats showing me the server is running. 2. For the contact, he simply continues to write to my individual address as before ? 3. why not allowing for one2one chats on a server ? I don't need group chats, which seems to be a prerequisite for running a server.
sarah added the
bug
label 2021-11-15 20:55:10 +00:00

I believe that a 'group' that you create where you only invite one other person ultimately functions as a one2one chat. As long as the server is up it will cache messages on your machine. The party that isn't hosting the server can retrieve those messages anytime. So a server is best hosted on a desktop machine which can stay 'up' most of the time - except for necessary maintenance etc. Maybe a cheap old Mac Mini? Been thinking about doing that myself.

I believe that a 'group' that you create where you only invite one other person ultimately functions as a one2one chat. As long as the server is up it will cache messages on your machine. The party that isn't hosting the server can retrieve those messages anytime. So a server is best hosted on a desktop machine which can stay 'up' most of the time - except for necessary maintenance etc. Maybe a cheap old Mac Mini? Been thinking about doing that myself.

I guess I should have said "...a group that you create on a server that you host where you only invite one other person..."

I guess I should have said "...a group that you create *on a server that you host* where you only invite one other person..."
Author

thx for the feedback. I have to admit I'm still not understanding the required setup frankly.
So yes, the main goal of the server would be the ability of caching messages for a bunch of one2one chats, but apparently this user case hasn't been considered and I'm obliged to activate group chat anyways...
This being said, while running the server at setup, linked to the address i wish to be the host for it, with group chats activated, I'm getting the same error as when doing just a one2one chat with a contact without servers involved, namely that i can't send him any messages, as he is offline, which kinda defeats the purpose of hosting the server !
So maybe one of the devs can clear things up here cause there's really not much documentation nor troubleshooting out there...
Does the other contact need to activate the group chat option too ?

thx for the feedback. I have to admit I'm still not understanding the required setup frankly. So yes, the main goal of the server would be the ability of caching messages for a bunch of one2one chats, but apparently this user case hasn't been considered and I'm obliged to activate group chat anyways... This being said, while running the server at setup, linked to the address i wish to be the host for it, with group chats activated, I'm getting the same error as when doing just a one2one chat with a contact without servers involved, namely that i can't send him any messages, as he is offline, which kinda defeats the purpose of hosting the server ! So maybe one of the devs can clear things up here cause there's really not much documentation nor troubleshooting out there... Does the other contact need to activate the group chat option too ?

Yes, your other contact has to have group chat enabled. You may have already figured this out so forgive me if I'm being totally redundant here ;)
Each of your one2one chats would have to be on a separate server dedicated to that chat. You'll have a list of servers and a list of one2one chats in your conversations. One for each contact.
'Hybrid groups' (coming soon) will offer another approach. See: https://openprivacy.ca/discreet-log/20-cwtch-servers-experiment/ and: https://openprivacy.ca/discreet-log/19-cwtch-roadmap/
As for set up, this is what worked for me (finally, after quite a few failed attempts which I won't go into):
Create a server. Copy the key bundle.
Go to your conversations list for the profile you want to use (you won't need more than one profile really). Click the 'add' button. Click on 'add a new contact or conversation' - you'll see your Cwtch profile's address is there by default. Use that address. Paste the key bundle in the field below. Hit return. You'll see a brief notification at the bottom of your conversation list that you've successfully created a server in that profile. (I know you got this far)
Next, click on the 'add' button again in your conversation list. This time click on 'create group'. Name it (probably with the name of the contact you want to have a one2one chat 'group' with). When you click 'create' that group will appear in your conversation list. Then, in your existing conversation with your contact, send an invite to the group (providing that you're both online of course). They accept and the 'group' will be added to their conversations and you're away to the races! Start using that 'group' for your conversation. :)
Keep the server up and running. If your using a laptop, you'll have to restart occasionally in order to claw back some memory but in my testing, as long as you have the server set to auto start on application launch it'll come up when you login to Cwtch. If you're offline for a little while, your contact will see that (the group will show a message that the server is offline). If they're offline you can leave messages for them and those messages will be there when they login.
Keep in mind that a group of two on a server you host will only exist on your machine. Have a look in ~Library>ApplicationSupport>Cwtch> and you'll see a folder named Servers with all your servers and the messages and the config etc. for each one (although the file 'serverMonitorReport.txt' isn't reporting CPU or Memory correctly yet according to Dan). The long and the short of it is that 'groups' in this case exist only on your system. You have all the metadata.
Hope this helps.
Mark

Yes, your other contact has to have group chat enabled. You may have already figured this out so forgive me if I'm being totally redundant here ;) Each of your one2one chats would have to be on a separate server dedicated to that chat. You'll have a list of servers and a list of one2one chats in your conversations. One for each contact. 'Hybrid groups' (coming soon) will offer another approach. See: https://openprivacy.ca/discreet-log/20-cwtch-servers-experiment/ and: https://openprivacy.ca/discreet-log/19-cwtch-roadmap/ As for set up, this is what worked for me (finally, after quite a few failed attempts which I won't go into): Create a server. Copy the key bundle. Go to your conversations list for the profile you want to use (you won't need more than one profile really). Click the 'add' button. Click on 'add a new contact or conversation' - you'll see your Cwtch profile's address is there by default. Use that address. Paste the key bundle in the field below. Hit return. You'll see a brief notification at the bottom of your conversation list that you've successfully created a server in that profile. (I know you got this far) Next, click on the 'add' button again in your conversation list. This time click on 'create group'. Name it (probably with the name of the contact you want to have a one2one chat 'group' with). When you click 'create' that group will appear in your conversation list. Then, in your existing conversation with your contact, send an invite to the group (providing that you're both online of course). They accept and the 'group' will be added to their conversations and you're away to the races! Start using that 'group' for your conversation. :) Keep the server up and running. If your using a laptop, you'll have to restart occasionally in order to claw back some memory but in my testing, as long as you have the server set to auto start on application launch it'll come up when you login to Cwtch. If you're offline for a little while, your contact will see that (the group will show a message that the server is offline). If they're offline you can leave messages for them and those messages will be there when they login. Keep in mind that a group of two on a server you host will only exist on your machine. Have a look in ~Library>ApplicationSupport>Cwtch> and you'll see a folder named Servers with all your servers and the messages and the config etc. for each one (although the file 'serverMonitorReport.txt' isn't reporting CPU or Memory correctly yet according to Dan). The long and the short of it is that 'groups' in this case exist only on your system. You have *all* the metadata. Hope this helps. Mark
dan self-assigned this 2021-11-23 19:44:00 +00:00
dan added this to the Cwtch Beta 1.5 project 2021-11-23 19:44:05 +00:00
Owner

not quite, 1 server can host as many groups as you want. groups can have 0-infinity ppl, so for 1:1 chats with offline ability, make a group with you and 1 other person. person to person chat is otherwise purely peer to peer (over tor) so doesn't have offline delivery. obviously if you make the server in your same cwtch app that server's and any groups on it ability to do "offline delivery" will be tied to the uptime of the app/computer and be teh same as your profile, but would at least mean you could message at ppl and the group would deliver it to them when they come on.

hence why in some cases it still may make more sense to run a stand alone server on other hardware.

it depends on the use case you're looking to solve.

  • thanks for the bug report about server import not working if groups experiment is off, will look into making that a bit clearer
  • i also have a whole profile side server info pane PR up and ready just waiting on some prior storage engine refactor work to get merged first. hopeing it will hit the nightlies end of week or early next week.
not quite, 1 server can host as many groups as you want. groups can have 0-infinity ppl, so for 1:1 chats with offline ability, make a group with you and 1 other person. person to person chat is otherwise purely peer to peer (over tor) so doesn't have offline delivery. obviously if you make the server in your same cwtch app that server's and any groups on it ability to do "offline delivery" will be tied to the uptime of the app/computer and be teh same as your profile, but would at least mean you could message at ppl and the group would deliver it to them when they come on. hence why in some cases it still may make more sense to run a stand alone server on other hardware. it depends on the use case you're looking to solve. - thanks for the bug report about server import not working if groups experiment is off, will look into making that a bit clearer - i also have a whole profile side server info pane PR up and ready just waiting on some prior storage engine refactor work to get merged first. hopeing it will hit the nightlies end of week or early next week.
dan changed title from impossible to add server to impossible to add server when server experiment on but group experiment off 2021-11-23 19:45:18 +00:00

Thanks for the clarification on multiple groups on one server Dan. I foolishly overcomplicated that part. Sigh...

Thanks for the clarification on multiple groups on one server Dan. I foolishly overcomplicated that part. Sigh...
Author

thx quartermarsh2 for all the feedback and Dan for straightening things out. It would have been surprising for me not being able to do 1:1 chats on a server so hopefully this will be possible on 1.5.

thx quartermarsh2 for all the feedback and Dan for straightening things out. It would have been surprising for me not being able to do 1:1 chats on a server so hopefully this will be possible on 1.5.
Owner

might want to test the latest nightly, we just refactoeed the import code and I think this should be fixed?

might want to test the latest nightly, we just refactoeed the import code and I think this should be fixed?
sarah added the
in-nightly
cwtch-beta-1.5
labels 2021-12-20 23:25:39 +00:00
sarah closed this issue 2021-12-20 23:25:45 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cwtch.im/cwtch-ui#248
No description provided.