Comments (6)
It's not missing really. Looking at your output you can see that the line that is 'incomplete' is an identical prefix to the line below. This is because all the data is not sent in one continuous stream, rather it's truncated.
This testserver doesn't send IAC,GA commands so we have to guess if we have a prompt or not. When we're not certain, we guess that it's a prompt but keep the contents in buffer, just in case there is more data to get.
So what you are seeing is the received chunk followed by a guess at a prompt. We then instantly receive more data and prepend it with what we thought was a prompt on the last line. So data isn't lost. It's just a visual artifact.
If you have more info on how to correctly guess what's a prompt I'd love to hear it because I have no clue what else to do if we don't get a IAC,GA command.
from blightmud.
I have one solution after some testing that helps a tad. If we peek the stream before assuming we have a prompt to make sure there isn't more data coming then we get more accurate guessing. It's not perfect but it solves this particular case. Not sure how it would perform in other instances.
from blightmud.
Ignore my "potential" solution I mentioned above. It's not a solid option at all.
from blightmud.
Ah, I'm not very observant I guess!
MOOs don't have a prompt, so could we just say: /set prompt=off ?
Then there's no need to guess what's a prompt because it's 100% certain that there isn't one. Or uh. I guess /set is global, so maybe a Lua toggle? (A bit sleep deprived here, thinking is hard work.)
from blightmud.
Not any easy problem. We have modes for "UnterminatedPrompt" eg. no IAC,GA, "TerminatedPrompt" eg. sends IAC,GA guess we could try to capture a 3:rd option "EmptyPrompt". But I don't want the user to have to bother about this crap. I want it to just work out of the box. Shouldn't be too hard to guess. But we really do need to avoid false positives.
I'll leave this one up for discussion.
from blightmud.
I've implemented a third "telnet mode" for the client which is the "NoPrompt" mode. This should provide nicer behavior on MOO's and remove the artifact mentioned in this issue. Should be in shortly.
from blightmud.
Related Issues (20)
- DEB Release versions
- Warn users when Blightmud not compiled with TTS and using TTS HOT 2
- Checksum Error when upgrading from 3.6.2 to 5.0.0 HOT 8
- Improperly formatted Core.Hello message
- Create input prompt highlighting capabilities HOT 2
- Introduce a spellchecker in rust and implement lua bindings for it
- Implement a spellchecker HOT 3
- feat request: Lua API for prompt cursor position HOT 2
- Re-think the CTRL-C exit cycle HOT 1
- Setting to hide_bottombar (status_area) HOT 1
- Offset with the scrolling split when hide_topbar is enabled.
- Failing to start up in mac osx big sur 11.7.4 HOT 12
- TTYPE is triggering a TTS warning when blightmud is compiled without TTS
- Blightmud immediately disconnecting when connecting to TLS mud HOT 18
- hunspell-rs dependency fails to link on MacOS HOT 11
- Replace or remove actions-rs dependency in rust.yml CI action HOT 1
- Remove `lua_` prefix from helpfiles that have it.
- Add more error context to panic handler message
- crash: Inappropriate ioctl for device HOT 9
- The settings helpfile is missing/messed up
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blightmud.