System: Kubuntu 7.04 x86_64
Java: 1.5.0_11-b03
The bugs themselves:
1) It is not possible to type the ~ and ^ characters in the client. The first is more serious, since it rather breaks the mud editor. The latter just makes the client's builtin
script editor useless for writing regexps.
2) The client does not seem to support inputting nordic letters. My system's default encoding is UTF8, which may have something to do with it.
3) The logging feature truncates the target file instead of appending to it. This is very bad.
3.5) Feature request: Logging state persists, like other tab settings. It is annoying to have to manually start the logging every time one starts the client.
4) clientGUI.printText() parameter useTriggers does not work. Triggers will be run even if it is set false. Test case - will freeze the client in an infinite loop unless
useTriggers works correctly - follows:
CODE
SCRIPT_NAME = "test_clientGUI_printText_useTriggers";
TRIG_NAME = "trig_" + SCRIPT_NAME;
void run() {
trig = triggerManager.newTrigger(
TRIG_NAME,
"foo",
"$" + SCRIPT_NAME + ".matched ",
false, false, false,
null, Font.PLAIN
);
clientGUI.printText("general", "foo", false);
triggerManager.removeTrigger(trig);
}
void matched() {
clientGUI.printText("general", "BUG: Matched 'foo' printed via clientGUI.printText when useTriggers is false", false);
}
5) A trigger like
CODE
triggerManager.newTrigger("lite_foo",
"foo",
"", false, false, true,
new Color[]{new Color(255, 255, 255)}, Font.PLAIN);
seems to send some input to the server. At least, whenever such a trigger is triggered when I'm in news-reader,
some news-reader command will be executed.
6) The trigger code in 5 should change to colour of any 'foo' in the input to bright white. However, it does not do so. Either the hiliteMatch parameter does not work, or it
does not work as one would expect based on it's name and context.
7) I've tried to find the cause of the array-related exceptions that keep popping up. What I have been able to determine so far is that they are related to a single channel tab
or just a single channel getting somehow corrupted. Visible symptom is that new messages to that particular channel stop being displayed by the client. One can confirm this by
comparing the output of 'channel last' with what is visible in the channel's tab. Every time a new message on that channel is received by the client, a new exception will be
thrown as the client tries to update the channel's tab.
Attached is a bunch of stack traces from a session where suomi channel got b0rked. Unfortunately, they're not timestamped (Feature request: Replace the default Java top-level exception
handler with one that does the same thing - just print the exception - but also prints the current time).