« Previous - Version 323/354 (diff) - Next » - Current version
Adrian Georgescu, 08/02/2009 11:37 am


<acronym title="gui_progress, depth=3">TOC</acronym>

= Audio =

1. '''Mute''' microphone when pressing the mute button
1. Make the alert panel grey/white
1. Rename menu item Session with Sessions
1. Play the disconnect tone if the session fails to establish (or is cancelled)
1. New incoming sessions, alert window shrinks in size after a few clicks or cancels from remote (still not solved)
1. Do not open automatically the drawer when the interface is collapsed. Expand also the main interface when View show drawer
1. Display '''Ringing...''' in audio session status when getting ring indication from the remote party
1. Call '''set_audio_devices()''' when changing the audio device or tail_length in global Preferences
1. Calls that do not resolve in DNS do not end, try using bonjour and dial abcd
1. Closing many active sessions cause many tones to be played back. Throttle tones playback
1. Add functionality to display the previous sessions in the session drawer, most recent on top
1. When dial a second call while in another call, if the user clicks on the previous call before the new session is established the session info is broken
1. Add a '''triangle button''' to expand vertically the audio session frame with extra room for audio session information
1. Add a '''record button''' left to Hold button. When pressed toggle recording the audio session

= Chat =

1. Replace Connect/Close buttons with a single button that accurately displays the connection status
1. Cannot connect again after the chat session is disconnected
1. Print each message into its own time-stamped frame, do not append message to the previous timestamp
1. Not all printed timestamp are using the local timezone
1. Mark undelivered messages with a reddish color background
1. After keeping windows open for awhile the messages arrive very late on the other side
1. When connected print system message: '''MSRP chat session established''' (without username@domain)
1. When disconnected by remote user print system message: '''MSRP chat session terminated by remote party'''
1. When cancelling an outgoing session print system message: '''MSRP chat session cancelled'''
1. When disconnected by local user print system message: '''MSRP chat session terminated'''
1. When MSRP stream fails print system message: '''MSRP chat session failed (reason)'''
1. '''Auto-accept''' chat only sessions when the caller is in the contacts list (tricky because of aliases). Use the SIP URI user@domain of the From header of the incoming INVITE to match the contact in the buddy list
1. Sent/received alert sounds are now played with a delay, immediately play sounds if queue is empty
1. Display the number of '''un-read messages''' in non-active tabs within a red circle over the tab name
1. To close a chat tab add a '''small x button''' to it
1. When click on the Audio button, use add_stream to append an audio stream to existing chat session
1. If an audio stream exists part of the session, add the audio control buttons '''Record|Hold|Terminate'''
1. Use the '''same look and feel''' for the toolbar buttons as the main interface (greyish buttons)
1. Display '''is-composing''' payload (not yet available in middleware)
1. When dragging a recipient tab outside '''spawn a new chat window''' and move the session into it
1. When dragging a recipient tab on the contact list bring up the '''Add contact dialog'''
1. Add functionality to '''search history'''
1. Add file transfer function (pop up a file selection dialong and establish a separate SIP session per file). On incoming be prepared to receive offer with multiple files per SIP session.

= Main interface =

1. The pressed icon of the mute microfone is too red, the microphone is not visible 
1. '''Bonjour account''' does not show/hide when activate/deactivate in preferences
1. If dragging window size when collapsed, it does not resize correctly the same collapsed position
1. When selecting bonjour as account, empty the main buddy list. The idea with bonjour is that other clients on the local LAN will show up in the list
1. Show only error messages in the log drawer with red font
1. Auto withdraw the log drawer after 5 seconds

= Contacts =

1. Add the following per contact settings and fields in the '''Add/edit contact window''':
     * Double click starts: Radio buttons: Audio session, Chat session
     * Subscribe to Presence (boolean, default true)
1. '''Delete the Contact''' when pressing delete
1. Add right click menu to contacts:
1. Start Audio session
1. Start Chat session
1. Edit contact
1. When pressing delete on a Group, prompt the user to either delete all associated contacts or move them to another existing group
1. When double click on a contact use the action saved with the contact (e.g. chat session instead of audio session)
1. Append domain part if missing. E.g. when adding abcd@chatserver we must still append the domain name after chatserver
1. Rename menu item Contact with Contacts
1. Add Edit Contact in the Contacts menu
1. Add Edit Group in the Contacts menu
1. Add Delete Group in the Contacts menu
1. Allow drag of contact from one group to another
1. If search when gui is collapsed and then expand then the Add contact button overlaps with other text in the window

= Preferences =

1. Add Display name field to account creation dialog 
1. Properly '''align''' horizontally the Advanced settings
1. Audio device must also list 'Default system input ' and 'Default system output' (or is it a middleware setting?)
1. Do not allow dragging of the window size
1. '''bonjour account''' must have only Display name as main property
1. No control available to set the volume level of the wav files
1. Hide the minus button for Bonjour, it cannot be deleted
1. When the password field is changed, re-Register the account
1. When Register flag is toggled for account, (de)Register the account accordingly
1. Display SIP registration state in '''account.advanced.registration''' section
1. Codec lists must be an ordered list with at least one active codec
1. '''Stun server''' addresses cannot be set, they seem to inherit the results found in DNS
1. '''general.rtp.local_ip''': Can't set option local_ip illegal local IP address value: auto
1. '''general.rtp.port_range''': (AttributeError: 'PortRangeOption' object has no attribute 'save')
1. '''general.sip.transports''' cannot be saved
1. '''general.audio.codec_list''' cannot be saved and displays duplicate codecs
1. '''account.audio.codec_list''' cannot be saved and displays duplicate codecs
1. '''account.msrp.relay''' cannot be set: global name 'MSRPRelayAddres' is not defined
1. For '''account.ringtone''' advanced setting, the default setting must be inherited from '''general.ringtone.inbound'''
1. Check if the selected wav file is in the right format supported by PJSIP before saving the settings related to ringtones
1. Check if the TLS options set by the user are valid before saving them (by loading them outside the engine using gnutls library)

= Presence bar =

1. Show '''Display name''' next to the photo on top row. When edit the name save account.display_name setting
1. Put own photo in a white rounded frame like Adium
1. Show '''Presence activity''' next to name on top row. Activities:
1. Available
1. Away (automatically set it if keyboard/mouse idle)
1. Appointment (automatically set it if keyboard/mouse is idle and the system calendar has an entry)
1. On the phone (automatically set it when and audio session starts)
1. Working
1. Busy
1. Meeting
1. Presentation
1. Meal
1. Dinner
1. Travel
1. Permanent absence (brings up a pop-up dialog with text note and an end date selection)
1. Show '''Presence activity note''' on the second row, editable text with white background and a blueish text color
1. Acquire photo from webcam and save it

= Debug =

1. Add colors to the SIP trace content
1. Rename Enable SIP Trace to '''SIP trace'''
1. Filter SIP trace by first line (add a checkbox called SIP Methods and Answers only)
1. Rename Enable MSRP Trace (Header Only) to '''MSRP headers'''
1. Rename Enable MSRP Trace Body to '''MSRP content'''
1. Rename Enable XCAP Trace (Header Only) to '''XCAP headers'''
1. Rename Enable XCAP Trace (Body) to '''XCAP content'''
1. Print DNS lookups and results in the SIP trace window formated like in sip_audio_session script
1. Delete the PJSIP and Notifications tabs

= Other =

1. Show in General debug window other registered contacts from the response for Register
1. Save position of '''contact groups''' - colapsed/expanded and their order
1. Save position of Debug window and its checkbos settings
1. Set SIP User Agent name to '''blink-&lt;version&gt;'''