The Client
Vha.Chat is a new standalone Anarchy Online chat client that aims to replace AORC as the primary chat client.
I hope to achieve this by creating a solid and much more feature complete implementation of Anarchy Online's chat.
Already has Vha.Chat matched many of AORC's features and includes several AORC doesn't.
The main difference between AORC and this client:
- Significant effort has been made to display AOML and Info Windows just like Anarchy Online does.
- Full support for encoded messages (displays the tower and org msg. channel correctly)
- Full support for system messages (offline tells, inbox full, /cc commands)
- Completely open source with active development and a public roadmap
- Popup windows for a single channel or private conversation
The chat library
The library (Vha.Net) is a heavily cleaned and fixed version of VhaBot's AoLib.
Most notable is the addition of full support for remote private channels and system messages.
Additionally many shutdown/disconnect related bugs have been fixed.
Developers
Vha.Chat wouldn't be the state it is in today without the help of the community.
Are you a developer and feel like helping out?
Simply grab a copy of the source from svn and make some enhancements.
Patch files can be submitted here:
http://forums.vhabot.net/index.php/board,72.0.html
Alpha testers
But even as a user you too can help out. With Vha.Chat growing bigger we've increased our need for testers.
Among the links there is a link to a list of alpha builds (top one is the latest).
We'd be most grateful if you're willing to take the risk of taking these for a spin instead of the stable builds.
You can report bugs here on the forum, by PM or even on IRC (#coders @ irc.funcom.com).
Currently, Vha.Chat won't work on Mono, despite the best of my effort.
Several attempts have been made to obtain Mono compatibility, but all of them were halted by bugs in Mono.
Most of these bugs have been known for over a year, but simply are not being fixed by Novell.
Implementation
Vha.Chat relies on System.Windows.Forms.WebBrowser for rendering it's output.
It's currently the only control available in .NET 2.0 that is sufficiently rich to support all my formatting needs.
System.Windows.Forms.RichTextBox lacks support for custom links which makes it unsuitable for Vha.Chat.
Bugs
WebBrowser.DocumentText
Not properly implemented on Mono and using it triggers an HtmlElement.OuterHtml related exception.
https://bugzilla.novell.com/show_bug.cgi?id=499758 (2009-04-30)
WebBrowser.DocumentStream
Not properly implemented on Mono and using it triggers a segfault.
HtmlDocument.Write
Doesn't throw any errors, but also doesn't result in any visual changes.
HtmlDocument.InvokeScript
Lacks input sanitation on string arguments (on several levels in code).
Lacks support for bool arguments.
Silently fails on large arguments.
Returned output is incorrect/broken.
https://bugzilla.novell.com/show_bug.cgi?id=509337 (2009-06-03)
HtmlElement.OuterHtml
Not properly implemented on Mono and using it triggers an exception
HtmlElement.InnerHtml
Doesn't throw any errors, but also doesn't result in any visual changes.
https://bugzilla.novell.com/show_bug.cgi?id=456352 (2008-12-04)
Conclusion
I need to dynamically generate and modify html inside the WebBrowser control.
Unfortunately, Mono's implementation is so severely bugged that I've exhausted pretty much all options in achieving this goal.
Until at least one of the bugs listed above is fixed, I have no way of making Vha.Chat work on Mono.
Use this thread for discussion regarding this subject
Wine is not officially supported by Vha.Chat and never will.
Vha.Chat may or may not work under Wine and possibly break between releases.
Even if Vha.Chat does work, certain features may not work.
Bug reports related to Wine will only be handled if the fix is easy to apply and doesn't conflict with Windows functionality
Status
Vha.Chat version 1.3 and later is capable of running on Linux using Wine.
The application relies on Microsoft .NET 2.0 and Internet Explorer to run, you can install both of these using winetricks.
Some functionality like 'relocating the side panel' is known to be broken and is related to bugs in Wine itself.
Howto
Issues and workarounds
Chat output box remains blank
If the output box remains completely white and doesn't fill with chat, it's possibly one of the initialization modes for this box is not supported by your wine version.
A possible workaround is to try different modes. Since 1.3.0.281 you can change this by modifying
<OuputMode> in
Configuration.xml