WORKING ON NOW
------------------------------
docs




CRITICAL BUGS
------------------------------

If there were any, you probably wouldn't be reading this, we'd be fixing them.



ANNOYING BUGS
------------------------------

!printwho format needs to be normalized.

need a public ChangeLog; current one is really for developers

***** must rewrite docs before public release to include new features *****
	and when doing so, include details:
	on when idle time is kept and not [incl. the new trueidle pref]
	and when buffer's cleared and when not (whisper-to'd one leaves)
	and !timer/!alarm
	and timestamps, hourly chimes
	and arguments to give to each command

guest timeout length?
	     FORUM: at 11:33:
     FORUM: A guest named hot_body (from neep.shadowlands.org) requests entry.
jeremy to hot_body: yargh
     FORUM: During login, 'hot_body' has timed out at 11:35.

	
     clark: Who said condolennces?
            It showed up under my name.
    jeremy: weird...
            others?  how does it lok on your screen?  clark, ar
            e you using the telnet client installed in the
            clusters?
     clark: Then a bunch of blank lines showed up with my name.
            Yes.
    jeremy: hmmmmm.
            what's its name again?  i've got to figre out a
            workaround for that bug.
            (it's a telnet bug, not a chat buG)
     clark: SimpTerm version 0.9.4 for Win32
    jeremy: 'k
            thanks
     FORUM: It's now Thu Nov 11 19:22:01 1999

Can't remove a specific thing from listen or ban lists, need to reset 'em and
add everything else :P

ALL_MESSAGES_TIMESTAMP might not add a timestamp to a whispered message
sent via !to <user> <message>.



DEFINITE GOOD IDEAS -- Most of these will make it into 2.0.
------------------------------

way to turn off auto-msgchk sytemwide

- user-visible ideas:

cmdline flag to turn off authlocal's auto-authenticate

for 2.0.0, i want a global config file.  With a really simple syntax or XML.

The current commandline syntax is irregular and annoying to parse.

allow !timer to have public before _or_ after time argument

for 2.0.0, need a way to specify accounts which aren't auto-logged-in from
	localhost (e.g., daemon)...

When a command that allows multiple arguments (ex. !beep) is given multiple
users for one argument, duplicate usernames should be removed. (ex. to prevent
the annoyance of !beep jeremy jeremy jeremy jeremy jeremy -> 5 beeps)

When receiving a message sent to many, it should say to many:, not to you:

For 2.0: Newly done (20000503) impl. of a message with both hintbits and
	ignoreflags is backwards: it sets hintbit first, and then checks
	ignorebits, but it should check ignorebits first and then only set
	the hintbit if they saw the message. (i.e., wasn't ignored.)

8-bit support still not working: need to mod telnet negotiation options...
	this could also be why !local still not quite right.
	Currently we have basic support for telnet options, but they don't
	really handle them, they're just ignored, and they're only called from
	HandleFindDupl, not the initial-connect-from-remote state.

tcp_wrappers support

     death: NEW FEATURE REQUEST
    jeremy: k :)
     death: when in %to mode
            %beep sends a beep to the person in question
    jeremy: good idea :)
     FORUM: It's now Fri Jun  9 11:53:48 200

allow !who-type things to specify 1 user, get that user's info in detail

can we fiddle w/ local telnet echo?  would get rid of perceived lag...

smart tab-completion of {} parameters (for set, [un]ignore)

a way to change the login banner file from run to run (config or parameter)
	... and same for prefs files location

should eat the keyboard esc sequences ~[A etc instead of displaying them

on startup, look for open entries in wtmp, close them, in case
slforum crashed... cmdline option for this?

matted: add banners to standard dist.

option to auto-%away after long inactivity

log things to syslog (    syslog(LOG_INFO, "user %s logged in", user); )

port to BSD or other unices


- devel ideas:

When compiling with PAM support, shouldn't need -lcrypt

if we use localtime-strftime instead of ctime, we get a lot more flexiblity
in format, can use 12- instead of 24-hour time, and it's not so cryptic
(chopping up ctime strings, needing them writable, etc.) and we'd get rid of
leading zeros on hours, which just look dumb.

yegads, there's a big nest of Send/broadCast/uWrite/etc, both for system
and user messages... any way to clean all that up?

prefs should be saved less often; need to do so only when exiting
	or when about to load the same user into another slot

make listenListMatch more efficient (no strdup-and-strstr)?

are there any other .cc files that could be made .c ?  This saved 39%
(19k bytes) in the .o file for slforum.cc->slforumutil.c

need message format standards written out, so bots/gui clients can work
(or, alternately, have a !set wrapcli that puts it in a more parse-friendly
 format...)

API: some getters start with Get and some with get; fix? :)

parsed cmd args should have a "type" field, so you can have optional arguments
of different types (string or integer, for example; this would allow us to put
"public" as either the first or second argument of !alarm).

     from matted: the global size, USERAWAYSIZ should be called
                  something like LINEWIDTH since I am using it for the
                  new stuff I am coding, simply bc it gives the correct
                  line length

api: should have a sendSys method w/ optional typeflags, not just send
	w/ certain params.  Also, we curr. have room::BroadCast and
	room::Announce, this is not proper.  In fact, yegads, there's a big
	nest of Send/broadCast/uWrite/etc, both for system and user messages...
	any way to clean all that up?

make buffer a separate class?  this would keep it simpler to tell if it's
a command being typed, which would make the tab-completion stuff easier

separate a user from their login (buffer, away message, state, etc)
	this would make it easier to tell when two logins are the same user

make a ChatGroup class for easier specifying of folks



POTENTIAL GOOD IDEAS
---------------------

idle time based on last public thing _or_ last thing said privately (jon)
       from jon: like right now my idle time for gartog would be whatever my
                 idle time currently is since I have said nothing publicly
                 but if you were to look at idle times, mine would 0 because
                 I am talking to you
                 true lurk
 
change chime from something to %ignore to a per-user pref that sets the
ignoreflag for you, making c_[un]ignore's help message simpler; we should
probably do something similar with audible beeps.

aliases (short names) for usernames and groups of users;
	alias "public" and "all" for completeness' sake

aliases for commands

hilight in bold requested usernames (mike)

%flag?
      mike: what we need for chat is some sort of flag.
     death: yeah? say more
      mike: like if I were to type %flag AOE 30 min
            it would be like away, only id be there until I typed %unflag
      adep: niftyosity.
      mike: and if anybody wanted to join me, they'd type: %flag mike
            and we'd both say AOE 30 min

multi-line %away?

phoenix to jeremy: feature on capsichat: <> System messages are
                   suppressed for users idle for more than 1hr.
     FORUM: It's now Mon Jul 26 14:36:51 1999

when someone is logged in multiple times, and leaves, perhaps indicate they're
still logged in, and how idle?

have it autocomplete usernames (as in, type them FOR the user)
	have this be turn-off-able

  rjhawkin: damn
            my command char is / thats why I want to have the command char
            ignored after the first 3 or 4 chars, or have that option setable
 



POTENTIAL FEATURES
------------------------------
macro key bindings?
      iman: I wonder if it would be possible to implement key binding to the 
            chat server ???
    jeremy: ehh?
            details
            :-)
   gharial: like bind a key to enter"%to (name)"?
      iman: eg bind ctrl+b %away ill be right back"
    jeremy: ah.  Well....
   gharial: that would be client side, I think
    jeremy: it can be, but...
            windows telnet client is a targeted client
            and it can't do that.
   gharial: easier,anyway
      iman: actually he's right
    jeremy: so:
            for version 2, I'll add that.
      iman: mhhh
    jeremy: Right now I'm finishing up v1.6, and its port to solaris.
   gharial: your could keep a list of commands in a notepad or text window 
            and copy/paste as you neeed
    jeremy: yeah.  There'll be a %bind command soon.
      iman: what about an rc file that executes on startup??
    jeremy: <nod> that too
   gharial: and I think you can use applescript to bind phrases or commands 
    jeremy: that will come in v2.0
   gharial: to a hotkey
   SLFORUM: It's now Sat May 22 16:11:12 1999

more on macros:
     paras: can u make ^1 a function
    jeremy: wich does..
            oh, that
     paras: oct 11th
    keough: hmm 'possibilities' is not a word in ms words dictionary
    jeremy: in what lang?
            wait
     paras: a smiliey ofcourse
    jeremy: raising something to 1st power?
            ah
    keough: eng
    jeremy: smiley.
     paras: yes
            ^1 == smiliey, ^2 == frown, ^3 == tounge smiliey
    jeremy: sounds like macros to me
            slforum v2.0.
     FORUM: It's now Fri Sep 17 13:00:27 1999
     paras: when its only a keystroka away
            instead of having to open notepad, finding it, and copying it...
            i can invision macro wars
    jeremy: heh
            but they can only be 1 line long
     paras: oh
            then its not so bad
    jeremy: <nod>


requested NT port:
	(It's now Mon Jun  5 21:40:29 2000          )

     karp: Ah.  Question:  Could you get this chat program to run on NT?
    jeremy: was on NJ shore.
      karp: That's cool.
    jeremy: _this_ one... well, 2 things that will be done by v2.
            - virtual users
            - NT support
            so..by end of summer, most definitely.
            for now.. it probably would be able to run on NT if someone
      karp: Because we'd be interested in liscensing it from you and offering
    jeremy: bothered to compile it...
      karp: it as a service to our clients.  But it has to run on NT.
    jeremy: *nod*
            using NT usernames/pws?
            or just guest logins?
      karp: Hmm...
            Well, what I was thinking was that we could put on our servers,m
      karp: and throw a telnet link on the pages we design, and companies
      karp: would be able to use it as a discussion forum.
    jeremy: sounds cool...
      karp: Would that work?
    jeremy: well, we could tell it to autoaccept guests, or figure a way to
            let anyone use any username or somethin'
            or, NT login/pw's.
            what sounds reasonable?
      karp: Well, if they wanted to keep it as a private forum, we would have
            to make up un/pw listes...
            Or have it autoaccept guests, and make it a public forum.
    jeremy: either of those sounds doable... :)
      karp: Well, something to think about anyway... If you could get it to
            use NT logins/pw, you could market it and sell it for companies
            to use on their intranets.
    jeremy: <nod> i can take a look at it this weekend
            and get back to ya.
      karp: Thank you.
    jeremy: :)



    jeremy: heh
            if only we could do !kick *
            ooh, or !kick . for current guest
            (most recently mentioned)
    jeremy: hmm, and then we could have !to .
    FORUM: It's now Sat Nov 13 10:36:43 1999
 


an interactive arena for settling disputes?
      mike: make %arena
            so we can settle differences
            :)
            and everybody can watch
            :)
  courtney: and throw popcorn!
            And those little reeses thingies!
  rjhawkin: and pnk lemonade
  courtney: LOL.
      mike: set it up so the numpad is the attack or block
      adep: pink lemonade?
  courtney: I'm not sitting in front of you now.
      mike: 7,4,1 blocks
            high, medium, low
            no wait
  rjhawkin: give your children mental blocks for christmas
  courtney: hehe
      mike: no...yeah
      adep: :(
    jeremy: yeah..no?
  rjhawkin: ut no?
      mike: then 8,5,2 are jump stand crouch
            9,6,3 are attack high med low
     death: umm guys I'll be programming a mud
      adep: what ever happened to the classic side-scrollers?
      mike: and depending on your hieght
    jeremy: duke nukem 2!
  rjhawkin:  an 0 is for suicide


      karp: Yeah, but making it use Novell/NT logons would change how it
            works a lot, wouldn't it?
    jeremy: not much at all
     FORUM: You have old mail waiting.
      karp: No?  Hmm...
            Then have it run, docked to the top or bottom of the screen like
            the AllAdvantage bar...  Good office tool.
    jeremy: that would be cool.
     FORUM: It's now Fri Jun 23 15:39:17 2000
    jeremy>

