pidgin/pidgin

facebook: Store sent message id in lastmid, to deduplicate echoed messages

This is crappy and error prone, just like the rest of the duplicate
message handling code. It works, but it's going to get some echoes now
and then, particularly in quick moving groupchats.

I'm pretty sure this is a bug in the server, but the official clients
have much more elaborate deduplication built-in, so they won't notice.
syntax: glob
.*.swp
clang_output_*
pidgin-*
.dirstamp
syntax: regexp
(.*/)?TAGS$
(.*/)?\.svn
.*.swp
.*/?.*\.pc$
.*/?Makefile(\.in)?$
.*/?Makefile\.am\.mingw$
.*/perl/common/[^/]+\.c$
.*/perl/common/blib.*
.*/perl/common/pm_to_blib$
.*/perl/common/MYMETA\.(json|yml)
.*~$
.*\.a$
.*\.asc$
.*\.bak$
.*\.bs$
.*\.def$
\.deps
.*\.dll$
.*\.exe$
.*\.g?mo$
.*\.gir$
.*\.la$
\.libs
.*\.lo$
.*\.loT$
.*\.o$
.*\.orig$
.*\.pyc$
.*\.pyo$
.*\.rej$
.*\.so$
.*\.typelib$
.*\.moc$
VERSION$
aclocal.m4
autogen.args
autom4te.*\.cache
^build\/
compile
config.cache
config.guess
config.h$
config.h.in
config.log
config.status
config.sub
configure$
depcomp
doc/finch.1$
doc/html
doc/pidgin.1$
doc/reference/.*/.*\.args
doc/reference/.*/.*\.hierarchy
doc/reference/.*/.*\.interfaces
doc/reference/.*/.*\.prerequisites
doc/reference/.*/.*\.signals
doc/reference/.*/.*\.stamp
doc/reference/.*/.*\.txt
doc/reference/.*/.*\.types
doc/reference/.*/html/.*
doc/reference/.*/xml/.*
doc/reference/.*/version.xml
finch/finch$
finch/libgnt/gntmarshal.[ch]
gtk-doc.make
install-sh
intltool-.*
libpurple/dbus-bindings.c
libpurple/dbus-signals.c
libpurple/dbus-types.[ch]
libpurple/enums.[ch]
libpurple/example/nullclient
libpurple/data/purple-url-handler.desktop$
libpurple/data/purple-url-handler.desktop.in$
libpurple/marshallers.[ch]
libpurple/plugins/dbus-example-bindings.c
libpurple/plugins/perl/common/Makefile.PL$
libpurple/plugins/perl/common/Makefile.old
libpurple/plugins/perl/common/const-c.inc
libpurple/plugins/perl/common/const-xs.inc
libpurple/plugins/perl/common/lib
libpurple/protocols/facebook/marshal.[ch]
libpurple/purple-client-bindings.[ch]
libpurple/purple-client-example
libpurple/purple.h$
libpurple/tests/core
libpurple/tests/check_libpurple
libpurple/tests/libpurple..
^libpurple/tests/test-suite\.log$
libpurple/version.h$
libpurple/win32/libpurplerc.rc$
libtool
local.mak
ltmain.sh
m4macros/gtk-doc.m4
m4macros/intltool.m4
m4macros/ltoptions.m4
m4macros/ltsugar.m4
m4macros/ltversion.m4
m4macros/lt~obsolete.m4
missing
mkinstalldirs
package_revision.h
package_revision_raw.txt
pidgin-*.*.*-dbgsym$
pidgin-*.*.*-dbgsym.zip$
pidgin-*.*.*-win32-bin.zip$
pidgin-*.*.*-win32bin$
pidgin-.*.tar.bz2
pidgin-.*.tar.gz
pidgin-[0-9a-z.-]+/
pidgin.apspec$
pidgin/.*\.html\.h$
pidgin/pidgin$
pidgin/data/pidgin.appdata.xml$
pidgin/data/pidgin.desktop$
pidgin/data/pidgin.desktop.in$
pidgin/pixmaps/emotes/default/24/theme
pidgin/pixmaps/emotes/none/theme
pidgin/pixmaps/emotes/small/16/theme
pidgin/plugins/musicmessaging/music-messaging-bindings.c
pidgin/plugins/perl/common/Makefile.PL$
pidgin/plugins/perl/common/Makefile.old
pidgin/win32/nsis/gtk-runtime-*.*.*.*.zip
pidgin/win32/nsis/gtk_runtime_stage$
pidgin/win32/nsis/cacert.pem
pidgin/win32/nsis/langmacros.nsh
pidgin/win32/nsis/nsis_translations.desktop
pidgin/win32/nsis/pidgin-spellcheck-preselect.nsh
pidgin/win32/nsis/pidgin-spellcheck.nsh
pidgin/win32/nsis/pidgin-translations.nsh$
pidgin/win32/nsis/translations
pidgin/win32/nsis/wget.log
pidgin/win32/pidgin_dll_rc.rc$
pidgin/win32/pidgin_exe_rc.rc$
finch/finch_winres.rc$
finch/libfinch_winres.rc$
finch/libgnt/libgnt_winres.rc$
po/Makefile.in.in
po/POTFILES$
po/missing
po/notexist
po/pidgin.pot
po/stamp-it
stamp-h1
test-driver
win32-install-dir(\.release)?
share/ca-certs/cacert.pem
share/ca-certs/certdata.txt
subinclude:libpurple/protocols/jabber/tests/.hgignore
subinclude:libpurple/protocols/oscar/tests/.hgignore
subinclude:libpurple/protocols/yahoo/tests/.hgignore
subinclude:libpurple/tests/.hgignore