2009-05-22  Vivek Dasmohapatra  <vivek@etla.org>

	* elisp/elim.el (elim-data-to-proto): binary data protocol serialiser
	(elim-atom-to-proto): detect and serialise binary data (contains NULs)

	* elisp/garak.el (garak-maybe-remove-account): new acct menu command
	(garak-account-list-node-command): new account menu command handled
	(garak-buddy-list-node-widget)   : implement new gui command

2009-05-20  Vivek Dasmohapatra  <vivek@etla.org>

	* elisp/garak.el (garak-error-handler): try to show async errors to user

	* elisp/elim.el (elim-debug): no undo info in debug buffer
	(elim-default-fail-handler): errors to default fail handler if available
	(elim-call-client-handler) : ibid

	* ui_ops/eventloop_ui_ops.c: remove input_get_error, harmful ui op defun

2009-05-19  Vivek Dasmohapatra  <vivek@etla.org>

	* Makefile (OLD_GLIB): more old glib version detect-and-kludge work

	* elim-glibcompat.h: define macros for pre-2.14 glib support.

	* elim-glibcompat.c (elim_g_queue_init)
	(elim_g_hash_table_get_keys): pre-2.14 glib substitute functions

	* elim-client.c (main): use macro in case we're on a pre-2.14 glib

	* handlers/set_prefs.c (_h_elim_set_prefs): ditto

2009-05-18  Vivek Dasmohapatra  <vivek@etla.org>

	* elisp/garak.el (garak-account-list-node-widget): use fallback icon
	(garak): pass in app name when starting elim

	* ui_ops/core_ui_ops.c (_elim_get_ui_info): set app name and version
	(_elim_quit): free up ui info (app name and version) on exit.

2009-05-17  Vivek Dasmohapatra  <vivek@etla.org>

	* handlers/init.c (_h_elim_init): user can set debug on init
	                                  set plugin path to include user dir

	* elisp/garak.el (garak-buddy-list-node-widget): prefer alias in blist

	* signals/file_transfers.c (XSIG, _elim_signal_ft): show ft event origin

	* elisp/garak.el: 
	(garak-ui-ft-update-progress)  : set ft status here too
	(garak-ui-ft-update-display)   : check for done w byte count as well
	(garak-buddy-list-node-command): ui menu send file op done
	(garak-cmd-send-file)          : cli send file function
	(garak-command-handlers, garak-command-match)
	(garak-command-completers)     : ditto 

	* elisp/elim.el: 
	(elim-request-field-string): distinguish file/string/dir
	(elim-request-item)        : ditto
	(elim-send-file)           : initiate file transfer

2009-05-16  Vivek Dasmohapatra  <vivek@etla.org>

	* handlers/send_file.c (_h_elim_send_file): support sending files

	* signals/file_transfers.c (_elim_ft_ui_op_create): allocate unique uid
	(_elim_ft_ui_op_destroy): emit transfer-status call
	(_elim_ft_ui_op_add)    : emit transfer-status call
	(_elim_ft_ui_op_cancel) : emit transfer-status call
	(_elim_ft_ui_op_update) : emit transfer-progress call

	* elisp/garak.el: handle file transfer status calls and provide
	                  file transfer tracking UI.

	* elisp/elim.el : handle new file transfer calls

2009-05-15  Vivek Dasmohapatra  <vivek@etla.org>

	* make/elim-func-handlers-c.sh: echo -n not portable (OSX, maybe others)

	* ui_ops/notify_ui_ops.c:
	(_elim_notify_track_images, _elim_close_notify): 64 bit size warning.

	* elisp/elim.el:
	(elim-update-process-data): abstracted out process data alist faff.
	(elim-request-item)       : label buttons correctly for file request.
	                            improve widget layout/info for file request.
	
	* elisp/garak.el (garak-cmd-prefs): /prefs command
	
	* Makefile                : build/link new signals directory

	* signals/file_transfers.c: 
	(elim_ft_signals_init) : file transfer signals handled.
	(_elim_ft_ui_op_update): file transfer progress support.
	(_elim_signal_ft_file) : file transfer meta data to client on signals.

	* elim-rpc.h (AL_NUM): protocol float alist member helper macro.

	* xnode/xnode.c (xnode_alist_item_number): protocol float support.

2009-05-14  Vivek Dasmohapatra  <vivek@etla.org>

	* elisp/garak.el        : Fetch and display buddy info data, including
	                          support for markup and images.

	* elisp/elim.el         : interpret more markup (bold, italic, newline)
	                          fetch image data by ID (synchronous call)

	* handlers/image.c      : fetch image data by imgstore ID

	* ui_ops/notify_ui_ops.c: track image id refs in _elim_notify_userinfo
	                          and _elim_close_notify.

	* xnode/xnode.c (xnode_alist_item_data): base64 data type support.

2009-05-12  Vivek Dasmohapatra  <vivek@etla.org>

	* ui_ops/notify_ui_ops.c: implement server side of notify-userinfo

	* elisp/garak.el: handle notify types: email, message, formatted, uri
	                  still underway: emails, search, userinfo

	* ui_ops/notify_ui_ops.c: rename _elim_notify_search_rows -> …_more

2009-05-11  Vivek Dasmohapatra  <vivek@etla.org>

	* Makefile: target to generate tarballs (signed or non)

	* handlers/account_menu.c       : generate dynamic extended account menu

	* handlers/account_menu_action.c: execute account menu action

	* elisp/garak.el                : extended account menu items 
	                                  configure account menu item

	* elisp/elim.el                 : fetch extended account menu

	* ui_ops/request_ui_ops.c       : callbacks passed into us may be NULL.
	                                  check for this.

2009-05-10  Vivek Dasmohapatra  <vivek@etla.org>

	* doc                 : added copyright and GFDL notices, and GFDL

	* elisp/garak.el      : finish prefs browse/edit/save functionality

	* handlers/set_prefs.c: implement setting preferences.

	* elisp/elim.el       : implement setting preferences.
	                        provide alist -> proto alist function

	* handlers/get_prefs.c: add some more 'choice' metadata for prefs

2009-05-08  Vivek Dasmohapatra  <vivek@etla.org>

	* elisp   : re-use old dead garak buffers on restart (M-x garak)
	* handlers: fetch preferences tree
	* elisp   : display editable preferences widget (M-x garak-prefs)

2009-05-07  Vivek Dasmohapatra  <vivek@etla.org>

	* CHANGES : initial change log entry
	* elisp   : handle elim process dying (update account statuses;
	            put warning message in all live garak buffers)
	* handlers: provide buddy-menu and buddy-menu-action handlers
	* elisp   : implement (dynamic) extended buddy menu handling

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without warranty of any kind.
