Commit Graph

160 Commits

Author SHA1 Message Date
Michael Bayne 2ec9d50b6f Dispatch tell failures via a TellFeedbackMessage so that we can easily route
them to the appropriate ChatDisplay when we're doing chat in IM-style
individual windows.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4663 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-16 21:42:18 +00:00
Ray Greenwell 5ed85d4967 A marker interface that can be implemented by components other than normal
texty-input components that wish to have the chat system leave their focus
alone.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4626 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-03-13 18:47:29 +00:00
Michael Bayne 09f0bee0f3 Yet more header patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-24 00:39:27 +00:00
Michael Bayne ebc99935d5 If we're going to do this, I guess we're going to do it properly. Nixed the
notion of a global group (though we implicitly define one in InvocationCodes)
added a mechanism for directors (which generally handle the client side of
invocation services) to register their interest in bootstrap service groups so
that the whole goddamned complex business can happen magically behind the
scenes.

If you instantiate a director, it will automatically register interest in the
service group it needs and everything will work. If you don't use the director
code, you don't get the services and you can safely exclude all of that code
from your client even though the services are still in use on the server (and
presumably used by some other types of clients).

This is going to break all the builds, which I'll soon fix. Then I'll go write
all this in ActionScript. Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4552 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-11 01:17:30 +00:00
Ray Greenwell f65729f635 Have messages know their own formatting string.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4496 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-02 22:51:51 +00:00
Ray Greenwell dca9072595 Changed the TellFeedbackMessage to be a special kind of UserMessage.
It was always a little special, since it's dispatched from the client, but
I want it to be handled like other messages so that we can recolor
different parts of the message as I do in metasoy.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4495 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-02 21:58:40 +00:00
Michael Bayne 679030dc2c Widened. Allow the chat mogrification to be turned off.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4494 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-23 19:33:18 +00:00
Michael Bayne 7cea2a7088 Added XLATE_MODES for the default modes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4493 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-22 02:45:05 +00:00
Ray Greenwell 509f61c83e Cruft removal.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4473 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-07 02:58:39 +00:00
Michael Bayne 5ae9307636 Factored the curse filter out into a reusable class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4446 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-11-09 00:24:22 +00:00
Michael Bayne 20d1e1d024 Allow chat displays to register themselves in a known order and to report to
one another whether they've already displayed a chat message.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4421 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-10-10 21:48:27 +00:00
Michael Bayne 20c0f0ff3d Regenerated with updated Marshaller and Dispatcher templates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4398 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-10-04 18:13:34 +00:00
Ray Greenwell 1ae508f3aa Removed the pointless InvocationCodes.SUCCESS, moved it to ChatCodes,
which was the only child class that used it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4328 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-08-16 18:38:39 +00:00
Mike Thomas e8cd7631fd Allow a message to specify the name to display for a user separate from the canonical username passed in the message as the speaker variable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4313 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-08-09 22:26:38 +00:00
Michael Bayne 8df1c91699 Changed the weird-ass argument ordering for the UserMessage constructors. I'd
like to change the ordering for ChatMessage and its other derivations (the
bundle should precede the message) but that's more dangerous as the constructor
signature would not change.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4253 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:35:11 +00:00
Michael Bayne a3c86ec1d4 Make it easy to create a UserMessage for tells.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4252 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:27:44 +00:00
Michael Bayne 05cef39f63 Revamped chat handling a bit:
- the ChatProvider is now a proper singleton rather than providing static
methods for everything (it is accessed through CrowdServer.chatprov)
- it can now be extended to create a custom UserMessage for tells (which can
contain avatar information on systems that want to show an avatar on the
receipt of a tell)
- the ChatProvider API was tidied up a bit as some methods had been addded over
time that were not sufficiently general purpose so their callers will be
changed to use the general purpose APIs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4251 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:22:12 +00:00
Michael Bayne 6be44f5a65 Finished up the basic peer system and wired up the tell forwarding. In theory
it all works, now to test it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 22:48:32 +00:00
Michael Bayne bdadd2377e Behold, TAPOAFTSM! The Awesome Power Of A Fully Type-Safe Mothership.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4246 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:56:16 +00:00
Michael Bayne 0a5953bf17 Chipping away at proper type safety for all of the Narya code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 17:46:36 +00:00
Ray Greenwell 79c6427c21 StringBuffer -> StringBuilder.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4191 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-13 22:42:20 +00:00
Ray Greenwell 26c928fc45 Use the valueOf factory methods pretty much everywhere.
These are the preferred way to get instances of Boolean, Byte,
Short, Character, Integer, Long, Float, and Double object.
It's always made sense for Boolean objects, and with 1.5 these factory
methods were blessed as the proper way to get instances unless one
absolutely needed a distinct object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-24 01:24:24 +00:00
Ray Greenwell 461e109462 Fixed error in the SpeakHandler that mdb checked in: the service
should not be propogated. If someone chooses crew chat but then enters
a /speak command, it indicates that they want to break out of the crew
chat channel.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4068 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-27 01:53:40 +00:00
Ray Greenwell e1c9d4bc53 Better fix for parsing error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4065 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-26 21:37:28 +00:00
Mark Johnson 6436dc704c If there is no message component then just leave it null instead of
having substring throw an exception.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4062 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-26 20:46:02 +00:00
Ray Greenwell 177f996427 Tidied up the tell handler a bit:
- fixed quoted name parsing to not choke if the first token is just a quote.
- also fixed to not choke if the user types the message using some
  non-space whitespace characters.
- fixed history mistell erasing for multi-word usernames.
- use quotes in the history line only if the user used quotes.
- added hooks for easy subclassing


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4047 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 23:25:58 +00:00
Michael Bayne 00a84fb80a Mogrify broadcasts like other chat.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4042 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 08:11:30 +00:00
Michael Bayne 69e84fa9fb Added broadcast handler. Fixed bug in tell handler. Wired both up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4041 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 07:55:30 +00:00
Michael Bayne 11412c9602 Implemented a standard /tell handler.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4040 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 07:43:38 +00:00
Michael Bayne 1a705e2b55 Type safety.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4011 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-11 22:04:10 +00:00
Ray Greenwell ccb77db4fa Removed unused cruft.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3946 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-15 00:31:22 +00:00
Ray Greenwell 852620bea4 Regenerated marshallers with new response-tracking code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3793 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-21 02:12:57 +00:00
Ray Greenwell 23087de145 Added a shutdown() method that removes us as a ChatFilter.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-06 00:54:02 +00:00
Ray Greenwell dc3cf4aa28 Added a new type of chat message: a UserSystemMessage is a system message
triggered by the activity of another user. The other username is provided
so that the message can be muted if desired.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3770 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-29 19:33:04 +00:00
Michael Bayne 176329e1ed Various updates to allow a system where a user's visible name is not the same
as their authentication name (which we leave in BodyObject.username). This
turns out to be simpler than the system we adopted for Yohoho wherein we
replace the player's user object after they select a character, but converting
to this sort of system is way more work than would be worth it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-10 23:18:58 +00:00
Michael Bayne 596d2a4708 blank() -> isBlank().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-09 04:00:16 +00:00
Elizabeth Fong eada0b7f50 r58@sally: elizabeth | 2005-10-25 03:59:59 -0700
Changed things around a bit to have the cheesy JabberChat run out of the box:
 * ChatDirector no longer freaks out when given null message bundles/managers.
 * MiCasa's ChatPanel is marked with a TODO item to stop passing in null
   messagebundles and messagemanagers to ChatDirector.
 * JabberApp and JabberClient have been adjusted to allow the user to specify
   which chatroom to join from the command line; I plan to implement this using
   BootstrapData when time permits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3741 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-25 11:13:51 +00:00
Michael Bayne dd2468b140 Javadoc tidying up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-08 22:21:19 +00:00
Ray Greenwell d5ec5675d7 Added a comment about possible return values.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3692 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-29 21:42:11 +00:00
Michael Bayne ca04c00c44 Big chat revamp to migrate various useful things from Yohoho like /command
handling, chat history support and chat mogrification into the base
framework.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3690 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-24 21:59:50 +00:00
Ray Greenwell 3f438188dc Always report something to the user when they try to mute/unmute someone,
report success always when muting, even if nothing changed, but report
that the person wasn't there if an umute fails.
We get bug reports from people who unmute the person but they still can't
hear them and the only thing I can think of is that they are mistyping
the name.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3579 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-27 21:35:07 +00:00
Ray Greenwell fa2ad0fa6c Fixed two bugs with the messages related to shunned players.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3460 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-07 02:19:07 +00:00
Ray Greenwell 5290ab7c1d Pass the mode to the speaker validator.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3429 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-27 20:16:59 +00:00
Andrzej Kapolka 730234b5a5 Made dispatchMessage public.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3395 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-10 22:29:05 +00:00
Michael Bayne c2e2661e66 Further refinement of the permissions system. Eliminated the
CommunicationAuthorizer and rolled that into the BodyObject-based
permissions system. A victory for consolidation and elegance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3380 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-03 04:47:57 +00:00
Michael Bayne 01592d2593 Reorganized basic permissions handling to be more cleanly extensible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3375 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-02 03:22:27 +00:00
Michael Bayne 44f2a29f4f Regenerated with updated copyright information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3365 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-22 18:56:52 +00:00
Michael Bayne afabea71ad Big fat Bernie javadoc cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3310 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-24 23:08:21 +00:00
Ray Greenwell ecd8e2e8b6 Clear all mappings of oid->chat type when the user logs off.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3262 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-04 00:02:14 +00:00
Ray Greenwell feb7355804 Go back to defaultly broadcasting to game objects, in case someone ever
creates a traditional lobby->room server with narya, and instead allow
a broadcast object to be registered with the ChatProvider to which all
broadcasts will be sent.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-03 23:47:19 +00:00