Application:WIRC

From WebOS Internals
Revision as of 23:42, 17 November 2009 by PuffTheMagic (talk | contribs)
Jump to navigation Jump to search
« Go Back to the Communications application list
Wirc.png

wIRC - Version: Beta 0.0.4


Summary

Icon WebOSInternals wIRC.png

wIRC and wIRCd (its service)

wIRC is a Mojo IRC client. The WebOS-Internals team uses IRC as its primary communications channel, and Palm staff participate in IRC as well. wIRC provides a way for us to stay connected to the team while away from our desktops.

Note that wIRC is Beta 0.0.4 It is rapidly changing and subject to failure at any time.

Do not bet your life on this stuff.

On the other hand, it seems to work for us.

If you have reports about issues or bugs or wants or design please contact oil, PufftheMagic, or egaudet on freenode.net irc in the #wirc or #webos-internals channel.


Usage

  • Nick Auto Complete:
    • After typing some of the nick, hold the gesture area, and press the orange button.
    • If not the right nick, keep holding the gesture area, and press the orange button again.


  • Supported Commands:
    • /away
    • /join, /j
    • /kick
    • /list (0.0.4)
    • /me
    • /mode
    • /nick
    • /part, /leave
    • /ping
    • /query, /msg
    • /quit
    • /topic
    • /whois (0.0.4)


Debugging with luna-send

You can debug wIRCd with luna-send. In one terminal subscribe to the 'client_connect' method (by using the -i param). Every message returned by this subscription will have a 'sessionToken' which you need to use/pass to subsequent commands. Also note, spaces need to be escaped.


Terminal-1

luna-send -P -i palm://us.ryanhope.wIRCd/client_connect {\"server\":\"irc.freenode.net\",\"nick\":\"WiZ\",\"user\":\"wIRCer\",\"server_password\":\"mypassword\",\"port\":\"7070\",\"interface\":\"ppp0\"}


Terminal-2

luna-send -P -n 1 palm://us.ryanhope.wIRCd/client_cmd_join {\"sessionToken\":\"1.22.2\",\"channel\":\"#wirc\"}

luna-send -P -n 1 palm://us.ryanhope.wIRCd/client_cmd_msg {\"sessionToken\":\"1.22.2\",\"nch\":\"#wirc\",\"text\":\"this\ is\ a\ test\ message\"}

luna-send -P -n 1 palm://us.ryanhope.wIRCd/client_cmd_me {\"sessionToken\":\"1.22.2\",\"nch\":\"#wirc\",\"text\":\"is\ testing\ wIRCd\ with\ luna-send\"}


Testing

Come to #wirc on freenode for help, don't ask for help in #webos-internals

Please put any random observations, requests, issues etc... on the talk page: http://www.webos-internals.org/wiki/Application_talk:WIRC


Development

Current TODO List / Feature Requests

[SERVICE & GUI]

  • Detect when GUI has crashed/disconnected while session is active, so that session can be destroyed. (e.g. restarting LunaSysMgr)
  • Stagger connections to servers or increase select() timeout based on the number of servers trying to connect at once, (eg. lots of retrys from service when connecting to 8 servers at once)

[SERVICE]

  • Add SSL support
  • Finish code cleanup from rewrite
  • Add function to get ipaddy of a session
  • Live-or-die thread causes segfault when it tries to to remove a session that has already been freed

[GUI]

0.0.5 Todo's
  • show connected interface/ip in server list
  • Bookmark favorite channels in list.
  • auto-away response support (with toggle)
  • show topic change messages in channel
  • fix /query & /raw support
  • add /notice support
For Future Releases
  • All RegExp's should get moved to a common file outside of methods so that they can be resused.
  • Channel logs (Probably use /media/internal/)
  • Replace invite with whois/finger when nick in nicklist is tapped
  • Multi-page preferences
  • Color profiles per palm theme
  • Better color schemes for random nick colors
  • Figure out why sometimes the app doesnt' close after swiping all cards
  • Be able to abort connecting
  • Need a way back to the server scene from channel/query scenes.
  • Reconnect gracefully after disconnects
  • Lag meter
  • Make auto-identify stuff do something
  • Highlight custom words
  • landscape mode
  • Allow for certain message types to be omitted in server.js connectionHandler, based on preferences. Examples are join/part messages, kick, notice, info, status, etc - each individually selectable to be omitted.
  • Should make gesture+2 to bring back previous commands in history

Completed List

  • Implement PING command (DONE PuffTheMagic 07:24, 5 November 2009 (UTC))
  • Implement AWAY command (DONE PuffTheMagic 07:24, 5 November 2009 (UTC))
  • make passing ports work (Service) (DONE PuffTheMagic 18:41, 2 November 2009 (UTC))
  • Real Name field doesnt allow spaces, fix it (DONE PuffTheMagic 18:41, 2 November 2009 (UTC))
  • channel modes in channel header (DONE PuffTheMagic 15:49, 31 October 2009 (UTC))
  • fix NOTICE messages (DONE PuffTheMagic 01:17, 2 November 2009 (UTC))
  • show nick list (DONE PuffTheMagic 17:55, 1 November 2009 (UTC))
  • querys (DONE PuffTheMagic 17:55, 1 November 2009 (UTC))
  • add "perform on connect" support (DONE --oil 10:01, 2 November 2009 (UTC))
  • tab complete (DONE PuffTheMagic 01:17, 2 November 2009 (UTC))
  • auto nick hilighting (DONE PuffTheMagic 16:35, 2 November 2009 (UTC))
  • add support for numbers and hyphens in nicks (DONE PuffTheMagic 14:35, 1 November 2009 (UTC))
  • escape quotes in params when service sends it to client (DONE PuffTheMagic 06:42, 1 November 2009 (UTC))
  • Add "updateInterval: 0.2," to font size slider widget in message section of preferences (DONE --oil 01:41, 4 November 2009 (UTC))
  • Add messages for when people quit the server (QUIT event) (DONE --Egaudet 01:56, 4 November 2009 (UTC))
  • Disconnecting while in a channel and then reconnecting will not actually rejoin the channel, but will spawn the card (DONE --Egaudet 01:56, 4 November 2009 (UTC))
  • Don't auto-scroll to bottom on new messages when viewing backlog (DONE --oil 05:42, 4 November 2009 (UTC))
  • Tap on channel title drops down drawer with topic/etc in it (DONE --oil 08:42, 4 November 2009 (UTC))
  • ListSelector for all/nick/message/"single word" for selected highlight style ((DONE PuffTheMagic 21:13, 4 November 2009 (UTC))
  • Parse URLs into click-able links (in messages model) (DONE --oil 08:18, 5 November 2009 (UTC))
  • Add banner/dashboard for channel-chat messages on nick mention, but not for all messages (DONE --oil 08:18, 5 November 2009 (UTC))
  • Fix connection params like user/pass/port work completly, expample: no port causes segfault (DONE PuffTheMagic 19:55, 5 November 2009 (UTC))
  • (bug) KICK event isn't necessarily you being kicked. Kick someone and the gui kicks you. (DONE-fixed --Egaudet 20:47, 5 November 2009 (UTC))
  • (bug) When user list icon is tapped from channel window, the topic drawer also comes out. (DONE-fixed --oil 21:08, 5 November 2009 (UTC))
  • Notification sound options for mention/query/whatever else spawns a banner notification (DONE --oil 02:10, 6 November 2009 (UTC))
  • Add loose focus marker in channel scene & query/msg scene (DONE --oil 08:40, 6 November 2009 (UTC))
  • Text entry area keep focus (DONE --oil 08:45, 7 November 2009 (UTC))
  • Fix MODE messages; should show user who is getting the mode applied, not the user who set the mode (DONE --oil 08:46, 7 November 2009 (UTC))
  • Add spinner to server list scene to show "connecting" action after connect is pressed before changing the button to disconnect. (DONE --oil 07:09, 8 November 2009 (UTC))
  • #webos doesn't work in WIRC only shows there is one user in channel. (DONE PuffTheMagic 21:55, 9 November 2009 (UTC))
  • Make EVDO/1x connections reliable, fix immediate returnValue:0 error. (POTENTIAL-WORKAROUND PuffTheMagic 07:31, 3 November 2009 (UTC))
  • Actually use secondary and tertiary nicks if told the primary is taken (DONE PuffTheMagic 21:59, 9 November 2009 (UTC))
  • Color scheme options
    • Action, Channel message, Command message, Server message, Error message, Timestamp, Highlight foreground, Highlight background, Markerline, Background (DONE PuffTheMagic 21:59, 9 November 2009 (UTC))
  • OnConnect works sporadically (DONE, moved channel card open to JOIN event --Egaudet 17:48, 10 November 2009 (UTC))
    • No card spawned on channel joins (DONE I believe change above fixed it --Egaudet 18:52, 10 November 2009 (UTC))
  • Connect, Disconnect, Connect again = Does not rejoin channels. (DONE, token needed to reset on disconnect --Egaudet 18:52, 10 November 2009 (UTC))
    • Connect, Disconnect, Connect, Disconnect again = Does not disconnect. In fact, the spinner just spins. The server status shows "Disconnecting..." then backswiping to the server list will cause the Connect/Disconnect button to be blank and tapable. (DONE, same underlying bug as above --Egaudet 18:52, 10 November 2009 (UTC))
  • Add single nick text field to server info scene and server table in database (DONE PuffTheMagic 07:21, 12 November 2009 (UTC))
    • If left empty, use nick from identity scene in the cookie on connect (the "hint" text for the server nick field should explain this in a few words.) (DONE PuffTheMagic 07:21, 12 November 2009 (UTC))
  • Make use-fallback false do something (DONE PuffTheMagic 07:21, 12 November 2009 (UTC))
  • move highlight color to color scheme group and break it into fg/bg (DONE PuffTheMagic 17:46, 12 November 2009 (UTC))
  • add toggle to disable auto-nick coloring (DONE PuffTheMagic 19:09, 12 November 2009 (UTC))
  • Try alternate nicks when default nick is in use (DONE PuffTheMagic 00:37, 13 November 2009 (UTC))
  • Highlight all nicks in identity list (DONE --oil 02:38, 15 November 2009 (UTC))
  • Lostfocus maker could be smarter, line shouldnt disappear if the card is zoomed out then returned to (DONE --oil 02:46, 15 November 2009 (UTC))
  • Add Pre and Pixi specific CFLAGS to build (DONE PuffTheMagic 23:42, 17 November 2009 (UTC))