{"action":"created","issue":{"url":"https://api.github.com/repos/Mudlet/Mudlet/issues/1745","repository_url":"https://api.github.com/repos/Mudlet/Mudlet","labels_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/1745/labels{/name}","comments_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/1745/comments","events_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/1745/events","html_url":"https://github.com/Mudlet/Mudlet/issues/1745","id":330460769,"node_id":"MDU6SXNzdWUzMzA0NjA3Njk=","number":1745,"title":"Handle GMCP events and dispatch lines to Trigger engine in the order they were received","user":{"login":"basooza","id":31736040,"node_id":"MDQ6VXNlcjMxNzM2MDQw","avatar_url":"https://avatars1.githubusercontent.com/u/31736040?v=4","gravatar_id":"","url":"https://api.github.com/users/basooza","html_url":"https://github.com/basooza","followers_url":"https://api.github.com/users/basooza/followers","following_url":"https://api.github.com/users/basooza/following{/other_user}","gists_url":"https://api.github.com/users/basooza/gists{/gist_id}","starred_url":"https://api.github.com/users/basooza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basooza/subscriptions","organizations_url":"https://api.github.com/users/basooza/orgs","repos_url":"https://api.github.com/users/basooza/repos","events_url":"https://api.github.com/users/basooza/events{/privacy}","received_events_url":"https://api.github.com/users/basooza/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-07T22:41:51Z","updated_at":"2018-06-07T22:52:03Z","closed_at":null,"author_association":"NONE","body":"Currently Mudlet appears to handle all GMCP events before dispatching lines to the trigger engine, regardless of order.  I'm unsure what the unit of communication in this instance is.  This is an issue because IRE games use GMCP updates to annotate blocks of text.\r\n\r\nFor example, channel communication is sent like so:\r\nComm.Channel.Start\r\n(Newbie): Alice says, \"Hi, my name is Alice.\"\r\nComm.Channel.End\r\n\r\nHowever, this is more difficult to use than it should be, because from a Mudlet user's perspective, it happens in a different order:\r\nComm.Channel.Start\r\nComm.Channel.End\r\n(Newbie): Alice says, \"Hi, my name is Alice.\"\r\n\r\nThis makes the 'end' tags useless and in general makes life difficult because the Start tag is no more than an indication that the given text is going to hit before the next prompt, but that's all you know.  However, this is a trivial example because channels aren't that tricky. Handling this correctly would be very useful is for IRE.Display.Ohmap, used to denote wilderness, seafaring, and other fixed-width maps.   The input from the game can look wildly different, with a myriad of symbols and colors, all of which would be extremely easy to capture using GMCP events if they properly wrapped the overhead map.\r\n\r\nAnother user encountered the same issue: https://forums.mudlet.org/viewtopic.php?t=22517\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Mudlet/Mudlet/issues/comments/395590489","html_url":"https://github.com/Mudlet/Mudlet/issues/1745#issuecomment-395590489","issue_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/1745","id":395590489,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NTU5MDQ4OQ==","user":{"login":"vadi2","id":110988,"node_id":"MDQ6VXNlcjExMDk4OA==","avatar_url":"https://avatars1.githubusercontent.com/u/110988?v=4","gravatar_id":"","url":"https://api.github.com/users/vadi2","html_url":"https://github.com/vadi2","followers_url":"https://api.github.com/users/vadi2/followers","following_url":"https://api.github.com/users/vadi2/following{/other_user}","gists_url":"https://api.github.com/users/vadi2/gists{/gist_id}","starred_url":"https://api.github.com/users/vadi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vadi2/subscriptions","organizations_url":"https://api.github.com/users/vadi2/orgs","repos_url":"https://api.github.com/users/vadi2/repos","events_url":"https://api.github.com/users/vadi2/events{/privacy}","received_events_url":"https://api.github.com/users/vadi2/received_events","type":"User","site_admin":false},"created_at":"2018-06-07T22:52:02Z","updated_at":"2018-06-07T22:52:02Z","author_association":"MEMBER","body":"I'd be glad to see this happen but when we defined the GMCP spec, the order of processing was never mentioned and something that's out of band shouldn't really control what is in-band like this."}}
{"actor":{"display_login":"vadi2"}}