General Info
The Tavern is a guild, apparently. It appears in the guild list and if you go to Challenges and click Tavern from a challenge, it goes to that guild. All messages in the Tavern and that guild are the same, as far as I can tell.
Link to guild: https://habitica.com/#/options/groups/guilds/00000000-0000-4000-A000-000000000000
_edit by Alys 2017-05-07:_
The desired solution is to adjust the API so that the call for https://habitica.com/api/v3/groups (Get groups for a user) when used with type=guilds or type=publicGuilds doesn't return the Tavern / habitrpg entries.
@froggily thanks for the report but this is actually the expected behavior. The Tavern is a guild, just a special one :)
Comment from Lemoness in the Tavern: "@froggily Heh, yes, I am secretly the power behind the throne leader of the Tavern, but it shouldn't be displaying. Can you file a GH ticket if it isn't already there?"
It is actually expected behaviour at the moment, just as paglias says, but it looks like we should change it. :)
I think that having the Tavern display as a Guild will lead to a lot of confusion, even though that's how it works behind the scenes!
Yeah, especially since it shows a Join button, which makes it look like you've been kicked out of the Tavern for some reason! :fearful:
This is also the case on iOS
As well as the "Tavern" entry in the guilds list, which points to the Tavern's https://habitica.com/#/options/groups/guilds/00000000-0000-4000-A000-000000000000 URL, there's also a "HabitRPG" entry, which point's to the Tavern's https://habitica.com/#/options/groups/guilds/habitrpg URL. Neither should appear in the guilds list.
Is this ready to be picked up? Looking for something simple to get started with.
@cmcarthur, yes, this can be worked on, thank you!
If one of the ideas behind this was that no one should make a guild named "Tavern" or "HabitRPG" - should there also be a (hopefully hidden) guild "Habitica" in the future? (Then again, that doesn't make sense - there were public guilds with duplicate names before if I remember correctly, so I guess it wouldn't stop anyone from creating such guilds.)
@habitrpguser the confusion, I believe, is that the tavern gets returned in the public guild list when it shouldn't.
@crookedneighbor Yes I understand that - I just wondered why there are guilds "Tavern" and "HabitRPG" in the first place. "Tavern" I could understand because the Tavern exists and is technically a guild - but "HabitRPG"? Then again, both the URLs https://habitica.com/#/options/groups/guilds/tavern and https://habitica.com/#/options/groups/guilds/habitrpg redirect to the Tavern, whereas https://habitica.com/#/options/groups/guilds/habitica doesn't, but leads to a _"Group not found or you don't have access"_ message instead. So, uh, please forget my first theory - apparently it doesn't have anything to do with guild names but with those URLs that redirect to the Tavern. (New question is probably: Does Habitica staff still want the URL ".../habitrpg" to redirect to the Tavern? Does staff want the URL ".../habitica" to redirect to the Tavern, too?)
Besides, and just out of curiosity, I just made a normal public guild as a test, and tried to call it "Tavern", "HabitRPG", and "Habitica". All three worked. (Don't worry, now it's called "This is a test guild and will be deleted now.", and already scheduled for deletion.)
habitrpg was the id of the original Tavern. After we transitioned to v3, we required all groups to have a valid uuid, and habitrpg is not that. So we created a special uuid for it. We keep habitrpg for legacy compatibility, we don't need a redirect for a guild with the id habitica.
I don't think we're worried about naming conventions. Any concerns we have can be brought up by moderators with the creator of the guild, we don't need code to enforce naming things.
I'm increasing the priority of this issue because Il Mago Rosso has pointed out that it's causing crashes:
"I have found a guild called 'HabitRPG' in the list of public guilds, with link https://habitica.com/#/options/groups/guilds/habitrpg, it's impossible to subscribe to it (it says 'User already in the group' but count 0 members) and opening it bring to the Tavern chat. On the phone it's impossible any interaction and made the iOS app crash."
I think the ideal solution would be to adjust the API so that the call for https://habitica.com/api/v3/groups (Get groups for a user) when used with type=guilds or type=publicGuilds doesn't return the Tavern / habitrpg entries.
If there's no disagreements in a couple of days, I'll update the top post to state that to make this issue easier for a contributor to work on.
I'm putting this on hold because we're most of the way through a project to change the website's front-end code and this might no longer happen afterwards, or if it does, there'll be new code that will need to be modified to fix it.
Should this still be on hold?
I don't believe this is an issue anymore, but we can reopen it if it is!
The API part of it does still happen, although the effects aren't apparent on the website as far as I can tell.
If you use the api/v3/groups route to get a list of guilds, for example like this:
curl -s -X GET -H "x-api-user: $HRPG_USER_USERID" -H "x-api-key: $HRPG_USER_APITOKEN" https://habitica.com/api/v3/groups"?type=publicGuilds&paginate=false"
then the returned list includes all appropriate guilds but also these two entries:
{"_id":"00000000-0000-4000-A000-000000000000","leader":"7bde7864-ebc5-4ee2-a4b7-1070d464cdb0","name":"Tavern","type":"guild","balance":0,"memberCount":1224,"privacy":"public","categories":[],"description":null}
{"_id":"habitrpg","leader":"9","name":"HabitRPG","type":"guild","memberCount":0,"privacy":"public","description":null}
The first one is the actual Tavern. Should we let it be returned by the API in the list of guilds since it behaves mostly like a public guild?
The second one is from this document in the groups collection in the database:
{
"_id" : "habitrpg",
"leader" : "9",
"name" : "HabitRPG",
"type" : "guild",
"quest" : {
"progress" : {
"collect" : {
}
},
"active" : false
},
"challenges" : [ ],
"challengeCount" : 0,
"memberCount" : 0,
"leaderOnly" : {
"challenges" : false
},
"chat" : [ ],
"privacy" : "public",
"invites" : [ ],
"members" : [ ],
"__v" : 0,
"description" : null
}
I think we should stop that being returned by the API or delete it from the database if it doesn't need to be there.
@paglias what do you think?
I think the second can be deleted and I'd add an exception to the api so the tavern is not returned
I've split this into two issues https://github.com/HabitRPG/habitica/issues/12407 and https://github.com/HabitRPG/habitica/issues/12408 so I'm closing this one.
Most helpful comment
I think that having the Tavern display as a Guild will lead to a lot of confusion, even though that's how it works behind the scenes!