Closed Alys closed 8 years ago
Thank you very much for creating this issue!
My two cents about what I'd consider the best solution (though, really, it's not that important to me how the post order can be switched - the main thing is that it can be switched somehow!):
I'd use the feature in such a way that I'd read new posts in guilds where there are only one or two new ones, and have them read to me by screen reader in guilds where there are lots of new ones (because of lots of activity, or because I haven't looked into the guild for a long time, or because I've just joined the guild and want to catch up on all the chat). So I'd probably change the order rather often. If the switch was in the Settings, I'd just not bother though, and scroll down to read new posts instead. It would really be ok either way as long as there's any way to get the chat oldest-post-first.
I've been wishing and begging and whining for this feature (I hope I didn't annoy anyone too much!), and I will:
Thanks a lot for planning to implement this - I'm really looking forward to using this feature!
I'd really like to take this on. Clearly it's too early to actually do anything, since it should have more discussion and a conclusive directive about where to put it, and I won't be able to give it any time to speak of until the end of the week anyhow.
That said, at first look, it seems to me the place to put a button in the Tavern/guilds/party would be along the line that already has the buttons, "send chat" and "fetch recent messages." I would propose moving both of those over to the left a bit and adding "reverse message order" to the right of them. But that's my first thought. Also, a site setting would require a db change, wouldn't it?
@carolstone Thank you! It would be great if you could give this a go.
New preference options can be added to website/src/models/user.js and the database will pick them up automatically (but if it's ever necessary to adjust the database, we can do that).
I'm surprised there wasn't more discussion about this. I'll update my local setup tomorrow and start getting my brain around the nuts and bolds of this. @Alys That's a really neat way to be able to handle preferences.
@lemoness @AnitaYCheng Do have any opinions about how we should handle the preference settings for this, before @carolstone starts coding?
My preference would be to put it under Settings.
Well, that's been miserable. I can't seem to get my vagrant box to work. I'm going to be posting in an appropriate thread and come back so I can work on this.
Thanks to Alys, my vagrant box appears to be working. I've named my preference sortChat. Tell me if you prefer I name it differently!
@carolstone If you submit a Pull Request, Alys and others will be able to review it. Then, they can make suggestions on name changes, etc. Let me know if you need any help.
Waiting... uhhh... patiently? fidgets Must - not - give - up - hope! :}
I'm taking a look at this... right now I'm unsure what I'm doing wrong (for those playing from home I'm looking at chat-message.jade line 3) but I can't reverse the sort order, so I'm going to brush up my Angular and start on it again.
@tobyfee, I'm not sure from your comment - are you working on this? If you're not, I'd like to take a look at it :)
@GeorgeSG Please feel free to take this on, I'm a bit absorbed in some other accessibility issues and it will take me several days to get back to this.
@tobyfee, Thanks! I'll give it a go :)
Where is it where is it? Will it take a few more days until the merged code goes live? I don't see it in Habitica yet.
Yes, I'm afraid it might take a few more days. We're deploying some other code that needs careful monitoring in use in production to see if it behaves as required, and we might need to revert, modify, and redeploy it a couple of times. While that's happening, we don't want to have new features being deployed, because they'd need to be reverted along with the other code, and it would look dodgy if the features appeared then disappeared.
This will definitely go live though as soon as it can.
Thanks! That's fine. Just wanted to know. And good luck with the other code!
Or, it's live now. So there you go. :)
@GeorgeSG You can claim the bounty at bountysource. Thank you!
Glad to see it live :balloon: @Alys, yeah I claimed it :) Thanks!
Oh! Oh! It's live! It works marvellously! I just had a whole guild chat (of a guild I'm more or less expected to read) read to me while doing dishes and cooking, instead of sitting at my desk wasting time that way. That's so great! @GeorgeSG , I'll gift-send you the 20 gems I promised right away, and I'll also make the "Screen Reader Hero" challenge for you in the Aspiring Coders guild. Thank you so much!
Thanks @habitrpguser, I appreciate it! :) I'm happy the solution is useful for you :)
Thanks for that @GeorgeSG ^^ Very handy :)
As described in the Accessibility Settings Trello card, in recent comments from habitrpguser and Alice Harris, it is desirable to be able to reverse the order of chat messages so that the oldest are at the top. This would allow you to use a screen reader to read the messages to you in chronological order.
This should apply to the Tavern, guilds, and your party.
This is not just for visually impaired people but also for players with good vision who want to have chats read to them while they are commuting, doing housework, etc. It's a productivity setting as well as an accessibility one.
We should decide whether this option is controlled by a preference checkbox under Settings -> Site, or by a button on the Tavern/guild/party page (e.g., next to the "Send Chat" and "Fetch Recent Messages" buttons), or both. Points to consider are:
An alternative would be to have a Settings -> Site preference checkbox, and if it is set to on, then display a button on the chat page for toggling the sort order. That would give a quick-change option for those who wanted it while not cluttering up the chat interface for other players. I think that's my favourite alternative.
Comments are welcome from people who would use this feature.
There is a $10 open bounty on this issue. Add to the bounty at Bountysource.