Habitica: Greetings cards have a confusing notification when they are read by the recipient

Created on 1 Jan 2017  路  14Comments  路  Source: HabitRPG/habitica

When you read a Greeting Card, Birthday Card, Thank-You Card, or New Year's Card, you see a notification saying that it's been read but it uses the key for the notification rather than its user-friendly name. For example, "birthday has been read" or "nye has been read" (screenshot below).

~It should read "Birthday Card has been read" (and similar text for the other cards). Translatable of course.~

EDIT: The "... has been read" notification should not be shown.

nye

medium status in progress medium level coding

All 14 comments

Hi @Alys, I'll take this one as well!

@vincecampanale Thank you!

Another possibility: don't show the notification at all. It's not useful information to the user. They already know they read a card!

@SabreCat I would totally prefer that! I've been assuming that the less useful notifications we see had to be there because the API enforced it. I'll start making low priority issues to hide them when I find them.

@Alys They are provided by the API, but the client can choose not to display them with no ill effect. (We still want to show any _error_ that occurs, however.)

Is the cardType variable required to be one word/lowercase?

Unrelated, where would be a good place to add a function that translates cardType into a readable name: (e.g. 'nye' => New Year's Eve) before displaying it to the user? I'm thinking about adding a function like this if(cardType === 'nye'){ displayCardType = "New Year's Eve" } and so on for each cardType. Let me know what you think.

Thanks!

@vincecampanale Ah, I'm sorry, we should have updated the top post. The desired change now is that we don't show a notification to tell the user that they've read the card. See the above comments for details. I'll update the top post now.

@Alys @SabreCat Tangential but in case deserving of a note/issue per the discussion above, I find the the fact healers casting protective aura generating a notification weird. For me (as a healer currently) it's an additional thing I need to click to clear after casting the spell. In other words, I know I cast protective aura and it lists it in the party things done, so getting a notification and clicking to clear seem unnecessary to me. Seems similar sentiment to this.
(to be clear, I am not suggesting a dual fix in this issue but there seemed to be discussion above about making additional notes/issues if there could be further cleanup based around facts discovered here)

@joedragons I'm in two minds about that one. On the one hand, it does give feedback that the spell casting was successful, but on the other hand, it is a bit redundant. BTW, you know you don't have to click on those? They disappear by themselves.

@Alys Fair enough=) If there was a chance of spell failure (there may be for other spells?) or if there was no record in party then it makes more sense to me. But I see what you mean (I've definitely clicked the wrong thing before tho I think it was evident when I did).

And yeah, sorry, when I said click I was referring to the resultant notification in the header area (example attached) that you need to clear. That may continue to fill in even if the message window didn't appear and I was blindly hoping for two things at once=) I'll go back to lurking=)

habiticas1faded
habiticas2

@Alys @SabreCat
Hi guys! Sorry for the delay. Finally dedicating time to this and it _will_ get done. So it seems like several things need to be removed in order to fully remove this notification from the game. Please let me know if I'm missing something or if I have included something that must stay.

  • the entire readCard.js test in /test/common/ops
  • readCard on line 462 of userServices.js in /website/client-old/js/services
  • line 150 in subscriber.json
  • POST-user_read_card.test.js in /test/api/v3/integration/user/

There is also a file called limited.jade in /website/views/shared/modals which seems relevant.

@vincecampanale Hmm, no, taking all that out would entirely remove the functionality for marking a card as read. We do want users to be able to read cards and remove them from the queue, we just want to avoid displaying the little "nye has been read" growl.

Here's where that happens: https://github.com/HabitRPG/habitica/blob/ea24eeb0199a687115da0224b64b62c57629aea2/website/client-old/js/services/userServices.js#L159-L163 So either (a) we need a parameter on callOpsFunctionAndRequest that skips the client message even if received, or (b) this particular op should not return a client message on success.

Got it. That's very helpful feedback - good thing I didn't just start deleting! Thanks @SabreCat

Thanks team=)

Was this page helpful?
0 / 5 - 0 ratings