Commit graph

1303 commits

Author SHA1 Message Date
mathieui
61bf29db8e Fixes #2380 (traceback on /invite) 2012-10-13 15:06:06 +02:00
Florent Le Coz
c9be8cbe7a Correctly rebuild the messages when we corrected one. And avoid code duplicates 2012-10-12 15:43:51 +00:00
Emmanuel Gil Peyrot
88da6869b4 When a message is corrected, display it correctly in place of the previous one. 2012-10-12 15:29:45 +00:00
Emmanuel Gil Peyrot
2e8fc00f8b Implement message correction. 2012-10-12 15:28:41 +00:00
Florent Le Coz
a6699a1404 Transform a char (\xf1) into what we meant (Ctrl+/, apparently).
If we try to send that, we get disconnected…
2012-10-09 06:07:28 +00:00
Florent Le Coz
b50acaae0b Send a real \t when pasting a text containing tabs. 2012-10-09 06:00:43 +00:00
Florent Le Coz
c9a244ceb0 Refresh less often when entering text. 2012-10-09 05:05:06 +00:00
Florent Le Coz
653695498a Separate special keys from normal chars when receving a batch of chars.
In case of lags or paste of text, the input can yield a list of chars
instead of just one char. In case of lags, keyboard special keys
(KEY_BACKSPACE, ^W, etc) are mixed with other “normal” chars ('a', 'b', 'D',
' ' etc). Instead of handling that whole batch in one go (which requires us
to ignore all the special keys, otherwise they would be displayed in the
input, which are both bad ways to handle that), we separate special keys
from the normal ones, and we handle that big batch as one or more smaller
batches.  This should make the input behave correctly in case of lag AND in
case of paste of huge text (only one refresh per batch, respond instantly,
no key lost or ignored, etc)

fixed #2365
2012-10-09 04:35:02 +00:00
Florent Le Coz
844eb18378 Revert "Add a tab-specific “ignore_changes” option"
This reverts commit c66ec81c45.
2012-10-02 13:18:19 +02:00
mathieui
c66ec81c45 Add a tab-specific “ignore_changes” option
- The documentation is included in the commit
2012-09-30 15:03:54 +02:00
mathieui
e480d8418a Prevent special keys to appear in the input when lagging 2012-09-27 19:48:28 +02:00
mathieui
020e6478e3 Fix the bug of Alt-e (go to important room) 2012-09-27 19:08:59 +02:00
mathieui
7ba3075516 Add a /move_tab command
And break it down into understandable functions
2012-09-26 02:20:21 +02:00
mathieui
09ff076bc4 Rewrite the tab number handling
- Now the tab number is computed instead of assigned and fixed
- Added tabs.GapTab to keep the old behaviour
- Added a create_gaps option, defaults to true (may change in the
  future)
- If there are gaps before using /set to change the option to false,
  they will be removed.
(this is a preparation for the move_tab command)
2012-09-26 01:54:20 +02:00
mathieui
0bd55a27f2 Fix TBs when the system is not in utf-8 by default
(force every file opening to be with the utf-8 encoding)
2012-09-13 09:50:48 +02:00
mathieui
c2828cdd29 Make the toggle left pane permanent
previously, the change wasn’t saved
2012-09-13 09:50:48 +02:00
Florent Le Coz
ea96c40f66 An history_length of 0 was ignored (and the default length would be received) 2012-09-02 14:18:11 +02:00
Johannes Krude
affdcb07b4 added muc_history_length support 2012-09-02 14:06:04 +02:00
Florent Le Coz
bf29554121 Add a <body xmlns='http://www.w3.org/1999/xhtml'/> element on /xhtml command
Because not having that element is not allowed by the xhtml-im XEP, poezio
should put that by default.
2012-09-01 08:47:41 +02:00
mathieui
e2a62bbbe7 Give an empty name to a group if it hasn’t got one 2012-08-31 23:06:46 +02:00
mathieui
84887d17af Fix a traceback when a group has no name and a crash when dns gets interrupted
- http://pastebin.archlinux.fr/449676
2012-08-31 22:41:36 +02:00
mathieui
9fec124250 Fix yet another bunch of potential tracebacks
(notably, the /message one)
All JID calls in poezio’s code were already covered, but sleekxmpp does
that, too, so each jid given to sleek must be validated, otherwise an
unwanted exception may occur.
2012-08-08 23:59:00 +02:00
mathieui
e8dce570ea Take care of the race condition "node@groupchat_server is now online/offline"
- get rid of the ugly blacklist thing that didn’t work sometimes
2012-08-07 11:05:28 +02:00
mathieui
7a485ef4d0 Add a common.safeJID function, and use it everywhere 2012-08-06 15:38:09 +02:00
mathieui
a14141bcec Make optparse work 2012-08-06 15:07:38 +02:00
mathieui
100994df28 Add a fallback to optparse if argparse is not found 2012-08-06 15:01:39 +02:00
mathieui
5692a0278b Should fix most tracebacks due to the new sleek version
(sleekxmpp added JID validation, which means that JID(something) now
raises an exception if the jid is invalid, instead of failing silently and
having JID('') as a default)
2012-08-05 21:06:13 +02:00
mathieui
8c0b3f8ae5 Add a filter_info_messages option
- This option takes a list of words separated by colons
- All the messages containing those words will not be shown
2012-08-05 13:08:06 +02:00
mathieui
ec5bb3b213 Use the revision/date for the poezio version if a .git is found 2012-08-05 02:04:52 +02:00
mathieui
d723cec5eb Move from optparse (deprecated) to argparse 2012-08-05 01:50:05 +02:00
mathieui
7826511abb Do not set last activity when sending a stanza because it makes no sense 2012-08-03 17:34:39 +02:00
mathieui
0b8211fe28 Fix a traceback due to a missing '%' 2012-08-02 16:32:59 +02:00
mathieui
3897d131c1 Implement XEP-0012 (last activity) ; Fixes #1870
- Add a /activity command
- Load xep_0012 on start
- Add a 'l' shortcut in the roster to get the last activity
- Using "/activity" in a direct conversation will add a message in the
  conversation, and not in the info buffer.
2012-08-02 16:24:10 +02:00
mathieui
18074c3c23 Add simple communication blocking (Fixes #1837)
- Add /block, /unblock, and /list_blocks commands
- Enable the commands only if the server advertises the feature
- http://xmpp.org/extensions/xep-0191.html#example-9 was not tested, but
  should work (could not find a server to test with)
- Add documentation for the commands
2012-08-02 01:09:10 +02:00
mathieui
0cb39b32a4 Do not generate invalid jids (e.g. localpart@domainpart/)
This is in prevision of a sleekxmpp update with JID validation.
Also, comment the “server” option in the config file a bit better.
2012-08-01 20:10:00 +02:00
mathieui
f76e80c5fa Sort resources from highest priority to lowest
- Previously it was from lowest to highest
- Add the “Priority:” info to the “i” key in the roster
2012-08-01 15:45:10 +02:00
mathieui
9905646184 Various changes to the roster sorting
- Change the separator from _ to :
- Move the functions away in another module to avoir cluttering the
  roster code
- Add a case-sensitive sort (“sname”)
2012-08-01 14:42:02 +02:00
mathieui
c890fefbc4 Add an "online" contact sorting method
- put the online contacts at the beginning of the list
- allows, e.g. jid_reverse_online_reverse, to put offline contacts at
  the start of the group, in alphabetical order
2012-08-01 01:36:18 +02:00
mathieui
47c593ddaf Sort the unavailable contacts at the end of the contact list 2012-08-01 01:24:42 +02:00
mathieui
71f813af28 Add a roster_group_sort option, which works like roster_sort
- defaults to "name" (sort by group name)
- document it
- also, micro-optimize get_nb_connected_contacts()
2012-08-01 01:06:57 +02:00
mathieui
1625a4f41f Add a roster_sort option to sort the contacts inside the roster groups
- defaults to jid_show (which means that they are sorted into sub-groups
  by show and are sorted by JID inside those)
- See the default config file or the documentation for details
2012-07-31 23:40:53 +02:00
mathieui
4096e7f427 Also sort the contacts alphabetically
Contacts are first sorted alphabetically, and then sorted again
depending on their show; since the python sorts are stable, the order
will remain and the sub-groups (corresponding to one show type) will be
sorted alphabetically too.
2012-07-31 21:12:59 +02:00
mathieui
4a7f6c5eaf Sort the contacts in the roster groups by show (xa/away/…) 2012-07-31 20:51:18 +02:00
mathieui
ee97ba6b6c Make the autorejoin option work with bans, too, and fix the documentation 2012-07-31 13:38:53 +02:00
mathieui
88d32a7bc4 Add an autorejoin_delay option
- document it
- works in per-tab config too
2012-07-30 19:05:20 +02:00
mathieui
ec7dd75012 /bind with only one argument now resets the binding 2012-07-29 19:45:46 +02:00
Florent Le Coz
21eeef5c7b Implement the sending of underlined text in xhtml-im messages (C-c u).
Note that a portion of text can NOT have a color AND be underlined at the
same time, but it's not really tragic (see comment in source code).
2012-07-29 03:36:05 +02:00
Florent Le Coz
c9ea00b963 Fix get_conversation_by_jid when a string is passed. 2012-07-27 16:07:27 +02:00
mathieui
8a0a100bf5 Add a /self command 2012-07-26 14:15:11 +02:00
mathieui
1c29b39a6e Add a /runkey command
This allows the user to run the action defined on a key without having
to press that key. The completion completes all the available keys that
will have an effect.
2012-07-26 12:57:42 +02:00