Author Topic: Discord protocol  (Read 58235 times)

0 Members and 1 Guest are viewing this topic.

Offline ghazan

Re: Discord protocol
« Reply #60 on: 27 07 2020, 15:13:13 »
TioDrakul,
thanks. my hypothesis was that one of the servers fails
now we know that it's not true ???
 

Offline phatmr

Re: Discord protocol
« Reply #61 on: 28 07 2020, 08:05:22 »
Hi ghazan,

as TioDrakul said, the same error happens with the last nightly build.
As a precaution, I will send you a current log as a PM.
Maybe Discord now has changed the authentication check? (no rechapter needed on website)

regards
 

Offline ghazan

Re: Discord protocol
« Reply #62 on: 28 07 2020, 09:48:56 »
TioDrakul, phatmr,
so the only question now is: does the stable version work or not for you? has it the same problem?
 

Offline phatmr

Re: Discord protocol
« Reply #63 on: 29 07 2020, 10:41:24 »
Hi ghazan,

i have tested it.
The actual stable 32bit version has the same problem.
 

Offline ghazan

Re: Discord protocol
« Reply #64 on: 29 07 2020, 10:47:59 »
phatmr,
excellent, thanks.
so I can make new stable regardless of this problem :) no degradation is present
 

Offline thosrtanner

  • Jr. Member
  • **
  • Posts: 56
Re: Discord protocol
« Reply #65 on: 08 08 2020, 06:47:44 »
Still randomly working/not working.

Getting a 404 when connecting to  gateway.discord.gg

Interestingly relogging in multiple times didn't work, but when I restarted miranda I logged in fine.
« Last Edit: 08 08 2020, 06:53:23 by thosrtanner »
 

Offline ultramage

  • Newbie
  • *
  • Posts: 18
Re: Discord protocol
« Reply #66 on: 25 09 2020, 11:54:24 »
Hi, I have some feedback on the current version, after trying it out for a bit. I wouldn't mind helping to test things further since the official discord clients are too cpu/ram intensive to run.

The module on startup seems to download a portion of the messages in every chatroom on every server, as fast as cloudflare's throttling will permit. This can take 1 minute or more. I think that's a huge red flag and should not be done. Or at least, I assume the official client doesn't do this, and just gets a quick overview of which rooms/servers to highlight.

When I change messaging options and hit apply, I believe all chat windows are emptied and the module proceeds to re-download everything from scratch. Might not be ideal.

If the protocol loses connection, the list of chatroom users is emptied. When it then reconnects, the list does not come back until the tab is closed and re-opened.

I assume I'm supposed to use the Ignore functionality to prune out chatrooms that I'm not interested in seeing.

Everything appears as a group tree under a top-level Discord node. However, 'Chat rooms' also gets filled with the individual servers. I assume this is due to a limitation of the UI and is there to allow joining/leaving servers. Might be more convenient to have it all under the Discord node.

The protocol uses odd terminology, 'Join Guild' and 'Leave Guild'. Took me a moment to realize what this was. Discord calls them 'servers', unless I'm mistaken. Might be better to use the official naming?

When viewing chatrooms as tabbed group chats (tabsrmm I think?), if I try to rearrange them, the tabs do not respond to the drag&drop gesture. I also don't see any way to reorder them, there's only "save tab position", which I assume allows irssi-style binding.

If I accidentally doubleclick on a tab while switching chatrooms, the gesture is interpreted as a 'close tab' command. I really don't want this. I looked really hard, but couldn't find any option that could disable this behavior.

When I doubleclicked on a person to quote them, it prepared a classic irc-style highlight (user: ) instead of discord-style (@user). I sent a message like that just for the heck of it, and saw that my message echoed back as "user: : text". The double colon worries me. I have not tried using a second client to view how others saw my message, but I assume it didn't come out right.

One possible improvement to make the chat look closer to how Discord looks would be to apply color-coding based on serverside role configuration, and showing display names instead of the internal names in the chat.

The github ticket for discord mentions that message editing is implemented (followed by a question mark). How is it done?

Is there a way to affect scrollback? Discord allows scrolling up to load more chat history from the server.
« Last Edit: 25 09 2020, 14:19:51 by ultramage »
 

Offline dartraiden

Re: Discord protocol
« Reply #67 on: 25 09 2020, 21:24:43 »
Quote
The github ticket for discord mentions that message editing is implemented (followed by a question mark). How is it done?
Miranda can receive edited messages.

No one chat log plugin (embedded logs, IEView, H++) cannot edit messages, but this is not protocol problem.
 

Offline ultramage

  • Newbie
  • *
  • Posts: 18
Re: Discord protocol
« Reply #68 on: 26 09 2020, 08:33:43 »
Another oddity: when I open a discord chatroom, clear log and then right-click on the room and do 'Load server history', and I use the setting "Message session -> Message log -> Load history events -> Load number of previous events: 100", it loads the first (oldest) 100 events in the chatroom's history. If it's supposed to that, that sort of feature has very limited utility.

Also, it doesn't seem like I can refresh the chatroom contents once I 'clear log'. Even closing the tab and re-opening it doesn't help, the chat is empty.

Message deletion is not indicated in the chat log.

Highlighting/mentioning a person really doesn't work right:
"User#id: text" comes out as "User : text", correctly highlighted and parsed, but there's a stray colon there.
"User#id text" comes out as "User#id text", not highlighted or parsed.
"@User#id text" comes out as "@User#id text", not highlighted or parsed.
« Last Edit: 26 09 2020, 08:59:41 by ultramage »
 

Offline ultramage

  • Newbie
  • *
  • Posts: 18
Re: Discord protocol
« Reply #69 on: 28 09 2020, 06:26:18 »
Following up on that "Load number of previous events: 100" thing, in addition to not being able to manually load a room's history properly: when my network disconnects and I re-join discord, room content is not updated with the messages I missed while I was offline - neither for already open tabs nor for new rooms.

Should I start submitting all these observations as individual github tickets? Some of these are quite major and interfere with even basic usage.
 

Offline ghazan

Re: Discord protocol
« Reply #70 on: 28 09 2020, 08:17:22 »
ultramage,
in addition to not being able to manually load a room's history properly
yes, in Miranda group chats do not store the history in a database, so you can't manage histories properly
 

Offline dartraiden

Re: Discord protocol
« Reply #71 on: 28 09 2020, 15:38:56 »
Quote
The protocol uses odd terminology, 'Join Guild' and 'Leave Guild'. Took me a moment to realize what this was. Discord calls them 'servers', unless I'm mistaken. Might be better to use the official naming?
@ghazan hates "servers" :D

Quote
Everything appears as a group tree under a top-level Discord node. However, 'Chat rooms' also gets filled with the individual servers. I assume this is due to a limitation of the UI and is there to allow joining/leaving servers. Might be more convenient to have it all under the Discord node.
This is standard Miranda behavior, IRC protocol do the same.

Quote
When I change messaging options and hit apply, I believe all chat windows are emptied and the module proceeds to re-download everything from scratch. Might not be ideal.
Not possible until we implement database chat history storing.

Quote
If the protocol loses connection, the list of chatroom users is emptied. When it then reconnects, the list does not come back until the tab is closed and re-opened.
Ticket created
https://github.com/miranda-ng/miranda-ng/issues/2577

Quote
When viewing chatrooms as tabbed group chats (tabsrmm I think?), if I try to rearrange them, the tabs do not respond to the drag&drop gesture. I also don't see any way to reorder them, there's only "save tab position", which I assume allows irssi-style binding.
All message plugins (StdMsg, TabSRMM, Scriver) supports tabbed interface, look at your Version Info
Not a Discord problem.

Quote
If I accidentally doubleclick on a tab while switching chatrooms, the gesture is interpreted as a 'close tab' command. I really don't want this. I looked really hard, but couldn't find any option that could disable this behavior.
Also not a Discord problem. You should tweak message plugin setting.

Quote
When I doubleclicked on a person to quote them, it prepared a classic irc-style highlight (user: ) instead of discord-style (@user). I sent a message like that just for the heck of it, and saw that my message echoed back as "user: : text". The double colon worries me. I have not tried using a second client to view how others saw my message, but I assume it didn't come out right.
Message plugins cannot use different types of quotes for different protocols
See our wiki for Discord user mentioning
https://wiki.miranda-ng.org/index.php?title=Plugin:Discord/en

Quote
Another oddity: when I open a discord chatroom, clear log and then right-click on the room and do 'Load server history', and I use the setting "Message session -> Message log -> Load history events -> Load number of previous events: 100", it loads the first (oldest) 100 events in the chatroom's history. If it's supposed to that, that sort of feature has very limited utility.
This has not been intended for group chats, only for privates

Quote
Message deletion is not indicated in the chat log.
https://github.com/miranda-ng/miranda-ng/issues/2578


everything else has almost no chance of being realized
« Last Edit: 28 09 2020, 15:54:55 by dartraiden »
 

Offline dartraiden

Re: Discord protocol
« Reply #72 on: 28 09 2020, 15:53:47 »
Should I start submitting all these observations as individual github tickets?
Yes, because otherwise I have to do it :D
 

Offline ultramage

  • Newbie
  • *
  • Posts: 18
Re: Discord protocol
« Reply #73 on: 27 10 2020, 03:44:30 »
I am noticing that a bunch of chatrooms across all the Discord servers I'm on are locally renamed, prefixed with the server's name. So instead of #room, it's Server#room. On one server, almost every room is affected. On another, it's only one or two. And I believe this happens over time, maybe when on a bad network with frequent reconnects? I first noticed this on 4.10. when one of my always-open tabs suddenly had its title changed like that.
 

Offline ghazan

Re: Discord protocol
« Reply #74 on: 27 10 2020, 15:44:28 »
ultramage,
It depends on an option "Use subgroups for server's channels". If this option is disabled, Miranda has to append the server's name to a channels to avoid dups