Commit graph

440 commits

Author SHA1 Message Date
Kim Alvefur
9ba50cb7ed Include the JID blocked instead of "Contact"
It's useful to see what JID you blocked.
Any JID can be blocked, so "Contact" isn't always accurate.
2017-10-23 18:53:44 +01:00
Emmanuel Gil Peyrot
af73b413eb Check whether curses.A_ITALIC exists, fixes a traceback on <em/> on Python < 3.7. 2017-10-18 15:26:06 +01:00
mathieui
9844f288de
Always refresh the MUC when setting or unsetting a user color
Fixes #3213
2017-10-15 14:09:40 +02:00
mathieui
db69afc171
Fix #3316 (normal private messages in MUC do not open a private tab) 2017-10-14 22:07:17 +02:00
mathieui
74ba7a85e6
Fix a traceback when creating a conversation tab 2017-10-14 21:42:44 +02:00
Emmanuel Gil Peyrot
16bdfdfe81 Add support for italic on ^Ci.
Fixes #2722.
2017-10-14 18:43:26 +01:00
Emmanuel Gil Peyrot
256119a574 Add an option to disable CSS parsing.
Fixes #3340.
2017-10-14 18:26:58 +01:00
mathieui
8af1a39d7e Add a refresh wrapper on the methods for scrolling the userlist 2017-10-14 16:45:31 +02:00
mathieui
fc6f2f2bf7 Use _ for unused arguments in tuple assignment 2017-10-14 16:38:07 +02:00
mathieui
1c43683275 Fix a bad indentation 2017-10-14 16:34:50 +02:00
mathieui
514434f446 Make remaining log.error/debug lazy 2017-10-14 16:33:24 +02:00
mathieui
9d261c902f Remove use of deprecated base64.encodestring method 2017-10-14 16:30:54 +02:00
mathieui
e7d8d2aaf5 Do not call poezio commands when we can call methods 2017-10-14 16:13:53 +02:00
mathieui
426dd35b94 Split the muctab recolor code 2017-10-14 16:13:42 +02:00
mathieui
7a0fcf855e Split command_topic in muctab 2017-10-14 16:01:53 +02:00
mathieui
67b850096e Split command_info in muctab 2017-10-14 15:55:53 +02:00
mathieui
a2440a8b21 Fix error presence handling 2017-10-14 15:45:36 +02:00
mathieui
9eb4b29d24 Refactor nick and affiliation changes
(and fix some small bugs that went unnoticed for years)
2017-10-14 15:45:36 +02:00
mathieui
6012bca6d0 Reformat muctab 2017-10-14 13:30:48 +02:00
mathieui
c2e0bcf735 Remove unused is_muc property 2017-10-14 13:09:35 +02:00
mathieui
225f300ef3 Remove some unused imports 2017-10-14 13:00:42 +02:00
mathieui
3b5e396469 Split command declaration from init in muctab
Make it slightly more declarative and readable (and longer), and put
it at the end of the file.
2017-10-14 12:54:49 +02:00
mathieui
cee802b6ef Fix the last pylint error (do not set the roster contact filter to None) 2017-10-13 23:15:03 +02:00
mathieui
858e333279 Clean the presence buffer whenever we leave the room 2017-10-13 19:04:19 +02:00
mathieui
bacbd835eb Fix more pylint errors 2017-10-13 01:18:22 +02:00
mathieui
69f29969ad Improve some bare or redundant excepts 2017-10-13 00:47:21 +02:00
mathieui
bbfb834827 Stop /win at the first tab found 2017-10-13 00:39:13 +02:00
6626208983 Change tab search behavior to select first matching tab, and cycle back the list. 2017-10-13 00:07:06 +02:00
mathieui
3317604c65 Fix some excepts (bare, useless, unused) 2017-10-12 01:23:40 +02:00
mathieui
b29b70da0f Set a default (noop) callback for Input.on_input instead of None 2017-10-12 01:09:45 +02:00
mathieui
39319d4937 Actually fix what the previous commit should have fixed 2017-10-12 00:07:01 +02:00
mathieui
621b966528 Fix a pylint complaint 2017-10-12 00:01:41 +02:00
mathieui
dd8037faa5 Rename the self-command function to self_ and keep language semantics
Sorry Link Mauve
2017-10-11 23:47:57 +02:00
mathieui
2b0062a279 Handle PresenceError correctly 2017-10-11 23:47:10 +02:00
mathieui
38a0e614d4 Narrow the scope of a try/except 2017-10-11 23:41:32 +02:00
mathieui
9a7c2c2136 Fix #3338 (cycle tabs with /w foo instead of picking the first) 2017-10-11 23:34:32 +02:00
mathieui
88903095c7 Fix #3339 (pure python poopt fails on multiline messages) 2017-10-11 23:07:17 +02:00
mathieui
bde9b31184 Set enable_avatars to false until the colors issue is fixed 2017-10-11 00:14:45 +02:00
mathieui
f61d46b061 Avoid an exception when we receive a presence from unknown nicks
add a log because it should not happen
2017-10-10 23:29:17 +02:00
mathieui
ef84a109e8 Fix #3190 (TOFU the SPKI hash and not the whole cert)
Makes letsencrypt renewals more pleasant.
Thanks jonasw and aioxmpp for the ASN.1 wizardry
2017-10-10 00:52:44 +02:00
mathieui
dcdc970acd Micro-optimize MUC presence handling
Keep all presence before status code=110 in a buffer, then batch-process
them when receiving our initial join.
2017-10-10 00:22:09 +02:00
Emmanuel Gil Peyrot
68e3cdcd49 Fix resize in some unknown condition, thanks eijebong. 2017-10-09 17:09:15 +01:00
Georg Lukas
88ae8a68a2 Properly use ellipsis in #3293 2017-10-09 08:06:45 +01:00
mathieui
3b5ea1a961 Fix #3322 (send a beep when we get disconnected) 2017-10-09 01:06:53 +02:00
mathieui
156cfb5546 Fix #3056 (send inactive chatstate when leaving a tab) 2017-10-08 21:30:11 +02:00
Emmanuel Gil Peyrot
46487bed32 rostertab: Increase the size of the contact_info and avatar. 2017-10-08 19:40:25 +01:00
mathieui
f59fcc12ef Fix #3257 (print cert hashes after validating the dialog) 2017-10-08 20:33:54 +02:00
mathieui
ff0095b44f Fix #3336 (be clearer on "unbound" meaning) 2017-10-08 20:05:53 +02:00
mathieui
d70988b151 Fix #3293 (provide detailed presence in status line)
Less eye travel for short statuses.
(patch from Ge0rG)
2017-10-08 19:57:07 +02:00
mathieui
83ced76bb1 Fix #3281 (alias /subject to /topic) 2017-10-08 19:53:39 +02:00
Emmanuel Gil Peyrot
c2fad0d7dc Don’t put the vCard/0084 tracebacks in the error log. 2017-10-08 16:09:00 +01:00
Emmanuel Gil Peyrot
f1b94534a4 Change all “not … in …” into “… not in …”. 2017-10-08 15:38:06 +01:00
Emmanuel Gil Peyrot
b2b6442672 Add a cache for 0084 avatars. 2017-10-08 15:23:51 +01:00
Emmanuel Gil Peyrot
ae7d2b4f9d Add a cache for vCard avatars. 2017-10-08 15:09:49 +01:00
Emmanuel Gil Peyrot
e8e1e1bbd1 ImageWin: Remove some Python 3.6+ syntax. 2017-10-07 19:05:23 +01:00
Emmanuel Gil Peyrot
62344cb725 Fix vCard avatars, and increase retrieve timeout to one minute. 2017-10-07 18:53:05 +01:00
Emmanuel Gil Peyrot
554ff650bf Display contact avatar in the roster.
Implements XEP-0084 and XEP-0153.
2017-10-07 18:11:33 +01:00
Emmanuel Gil Peyrot
232ef11630 windows: Add an ImageWin.
This adds an optional dependency on PIL.
2017-10-07 18:08:11 +01:00
Emmanuel Gil Peyrot
30b324cec4 windows: Remove useless __init__ overrides. 2017-10-07 16:34:39 +01:00
Emmanuel Gil Peyrot
b219c3dab7 rostertab: Import shell_split globally. 2017-10-07 14:05:11 +01:00
Emmanuel Gil Peyrot
27d2157c74 contact: Remove now-unused alias of presence to show. 2017-10-07 12:30:24 +01:00
Emmanuel Gil Peyrot
8eb7f73bef user: Fix typo. 2017-10-07 12:30:02 +01:00
Emmanuel Gil Peyrot
4691f840c3 xhtml: Mark private functions with a leading underscore. 2017-10-07 12:29:41 +01:00
Emmanuel Gil Peyrot
82eb89c2e1 xhtml: Split parse_css_color out of parse_css. 2017-10-07 12:29:06 +01:00
mathieui
d19fef5e70 asyncio.async() is deprecated since python 3.5 2017-10-07 01:00:35 +02:00
mathieui
a8680cc86b Fix #3334 (error when a service includes only the actor nick in a ban) 2017-10-07 00:56:48 +02:00
mathieui
d603126f9b Fix #3332 (showing a join for a type="unavailable" presence)
When a user isn't in a room, but due to a component bug we receive a
unavailable presence, we were showing a join.
2017-10-07 00:10:38 +02:00
mathieui
9f1c0c3d54 Rename parse_message_line to parse_log_line 2017-09-28 00:59:45 +02:00
mathieui
d886c4d3dc Add line start/end markers on the regex 2017-09-28 00:57:54 +02:00
mathieui
9f7041f65e Use match groups instead of re.split because we don't want that 2017-09-28 00:32:10 +02:00
c88459c507 Add a no-op command 2017-09-11 17:41:31 +02:00
mathieui
0f10803c4d Remove reconnect_max_attemps (unused) 2017-08-27 16:20:01 +02:00
Georg Lukas
c57bbe256e Fix Logging - revert NARROW NO-BREAK SPACE (U+202F) to NO-BREAK SPACE (U+A0) 2017-08-13 14:35:16 +02:00
louiz’
ef22b509df Fix reception of private messages (variable used but not defined) 2017-08-07 19:21:15 +02:00
Emmanuel Gil Peyrot
51b908348e Simplify double negation. 2017-07-21 16:29:07 +01:00
mathieui
93129fb064 Fix message correction 2017-07-21 15:27:22 +02:00
mathieui
90f43e2bb5 Simplify /cycle as well 2017-07-20 23:54:28 +02:00
mathieui
360b1350b6 Fix /server_cycle weirdness
exit the rooms properly, call functions instead of full-blown commands,
do not randomly focus stabs, etc
2017-07-20 23:50:37 +02:00
Emmanuel Gil Peyrot
12136b48a5 handlers: Stop appending <replace/> elements on incoming messages.
Fixes #3186.
2017-07-18 00:04:38 +01:00
Eijebong
a07c87bcbe Fix the resource duplication when reconnecting while auto_reconnect is true.
The problem is that core.legitimate_disconnect is set to True in the
on_connecting callback which is called before the session_end for some
reasons. on_connecting sets core.legitimate_disconnect back to False so
session_end thinks we've been disconnected and connects automagically
adding a resource and thus duplicating everything.

Moving the reset of legitimate_disconnect to the on_connected callback
fixes the problem.
2017-06-27 20:41:03 +02:00
mathieui
bc08858b8a Do not end log lines with a space
… it's about time I fixed this
2017-06-27 20:36:56 +02:00
mathieui
ffb8bbe63f Remove extra colon
It creates a syntax error
2017-05-16 09:11:32 +02:00
Emmanuel Gil Peyrot
83e28a2be8 Add /add in conversation tabs.
This is a quick shortcut to add someone to your roster when talking
with them.

Fixes #3313.

Also fixes typos.
2017-05-15 23:09:27 +01:00
Emmanuel Gil Peyrot
c66c5a6e27 Replace '/' with '-' in base64 hashes before saving an image.
Fixes #3312.
2017-05-15 22:47:19 +01:00
Emmanuel Gil Peyrot
2419e82143 Send a <gone/> chatstate on /close.
Fixes #3296.
2017-05-15 22:43:57 +01:00
Emmanuel Gil Peyrot
a3dfd55e04 Merge /unquery and /close into OneToOneTab. 2017-05-15 22:41:18 +01:00
Emmanuel Gil Peyrot
9dc23d422b Fix XHTML-IM, broken in the previous commit. 2017-05-03 16:08:47 +01:00
Emmanuel Gil Peyrot
7228c9cf6d Avoid some deprecation warnings when casting raw XML into bool. (thanks pypy3) 2017-05-03 16:07:11 +01:00
mathieui
e0f9de6d2f Fix #3307 (add nickname to /join bookmark completion) 2017-04-09 21:29:47 +02:00
mathieui
f2a0caafaf Fix #3149 (wipe xmltab messages for real with /clear) 2017-04-09 21:20:27 +02:00
mathieui
fa3e91aa6b Fix ssl warning tab
It wasn’t blocking because the asyncio api slightly changed in december
which prevent us from running another event loop while a first one was
already running. This bypasses asyncio completely, thus avoiding future
problems (hopefully the select() API won’t change soon)
2017-04-09 20:26:51 +02:00
mathieui
f154dcbc82 Fix inline muc images 2017-04-06 23:26:59 +02:00
Emmanuel Gil Peyrot
2406204d1c Add a pure-Python alternative to pooptmodule, for pypy3. 2017-04-01 19:10:33 +01:00
Emmanuel Gil Peyrot
d99558b9b8 Fix some typos in pooptmodule. 2017-04-01 19:09:53 +01:00
Georg Lukas
c8ee85cca7 self-ping: consider 'feature-not-implemented' a valid ping response 2017-03-28 10:50:46 +02:00
mathieui
e9a96470ba Fix #3299 (/message <muc> is buggy)
Make /message <muc-bare-jid> send the message to the room instead of
failing.
2017-03-26 00:58:21 +01:00
mathieui
edd9b499e1 Force xmlns when parsing self-generated xhtml-im (Fix #3274) 2017-02-24 19:23:04 +01:00
Emmanuel Gil Peyrot
23927711c1 Stop using SHA-1 for generated filenames. 2017-02-24 17:05:29 +00:00
mathieui
5ef524d3b1 Don't override "id" and "type" builtins 2017-02-13 19:50:02 +01:00
mathieui
747529845e Remove a useless lambda 2017-02-13 19:45:28 +01:00
mathieui
5e40b63031 Don't require parameters for the ignored args wrapper 2017-02-13 19:21:16 +01:00
mathieui
66f3cf630c Prepare for next version 2017-01-31 00:22:19 +01:00
mathieui
49b785d5be Poezio 0.11 release 2017-01-31 00:17:32 +01:00
mathieui
806485dbe0 Fix a crash when using XEP-0380
(which nobody uses yet)
2017-01-08 12:58:34 +01:00
mathieui
fdb61cda27 Add missing message types (fix #3271)
Which were being filtered by the information popup filter
2016-12-26 16:01:35 +01:00
Emmanuel Gil Peyrot
efc2ebe2c4 XHTML-IM: Check for the existence of elements manually.
This fixes part of #3186, slixmpp was previously adding a new XHTML-IM
payload whenever we just wanted to check for its presence.  Also makes
the code abort faster in the common case where no XHTML-IM element is
present.
2016-11-26 17:57:51 +00:00
Emmanuel Gil Peyrot
76445a6867 Add support for XEP-0380: Explicit Message Encryption
Both for displaying incoming messages, and sending OTR and legacy
OpenPGP.
2016-11-26 16:34:58 +00:00
mathieui
474966c5f7 Merge branch 'popup_filters' of https://github.com/LukeMarlin/poezio 2016-11-06 18:54:45 +01:00
Emmanuel Gil Peyrot
0556f85870 Optimise /win a bit, and make sure we always keep the previous tab. 2016-11-01 02:36:30 +00:00
Luke Marlin
3c894ea558 Added information_popup_type_filter that allow to
filter an entire type of messages such as 'roster'
'error' 'information' or 'debug'
2016-10-23 16:25:44 +02:00
mathieui
8549da0348 IOError == OSError since python 3.3 2016-10-21 01:52:41 +02:00
mathieui
0bb67982b0 pyflake fixes
unused variables, imports, name shadowing
2016-10-21 00:20:41 +02:00
mathieui
ab84756b45 Fill __all__ for tabs/ and windows/ 2016-10-21 00:12:55 +02:00
louiz’
abb41d5750 Rename /reset to /filter_reset in XML tab, for consistency 2016-10-14 11:01:43 +02:00
mathieui
b026bb190d Update sources for the next version 2016-10-09 18:23:10 +02:00
Emmanuel Gil Peyrot
f8d5fa9b1c Remove the resource option from the configuration.
It’s considered bad practice nowadays to force a specific resource, it
can lead to presence leaks or reconnection loops so should be avoided.

Moreover this was already possible in the jid option, by setting it to
user@domain/resource, setting it would append it a second time in that
case.
2016-10-09 17:06:33 +02:00
mathieui
3a608c191f Add a raw parameter to all data form windows
Otherwise it will obviously traceback when calling it with that
parameter
2016-10-08 23:06:40 +02:00
Emmanuel Gil Peyrot
1252f21e10 Replace sendPresence() with send_presence(), fix adding a contact. 2016-10-07 01:14:01 +01:00
mathieui
3c9eac5dc9 Add monkeypatching hack on the event loop
Previously inside slixmpp, it’s cleaner to do it only in poezio.
2016-10-05 20:20:46 +02:00
mathieui
eacc5a6fb1 Fix #3100 (Allow pasting in a data form) 2016-10-05 19:37:34 +02:00
mathieui
9dd5f0b4de "information" is already plural, fix wording 2016-10-04 00:54:57 +02:00
Emmanuel Gil Peyrot
c5e80b9688 Don’t put the cursor at the top-left if a move() failed. 2016-10-02 16:14:52 +01:00
mathieui
8f9e14dcb6 Display status changes in one to one chats
Make hide_status_change work there as well, with per-jid configuration
2016-09-29 23:47:54 +02:00
mathieui
b035d9f2cf Make enable_xhtml_im tab-specific 2016-09-29 01:01:34 +02:00
Emmanuel Gil Peyrot
91ced4d391 Normalise the user-facing name of MUC from chatroom to room everywhere. 2016-09-25 07:37:58 +02:00
Emmanuel Gil Peyrot
0ed8923459 Fix wrong quit char color when someone leaves a MUC. 2016-09-25 07:36:47 +02:00
Emmanuel Gil Peyrot
661ee90ea2 MUC: Fix a traceback on room configuration. 2016-09-21 23:45:03 +09:00
mathieui
5a55552b67 Next version is 0.10 2016-09-20 20:46:27 +02:00
Emmanuel Gil Peyrot
77d0a7a46d multiuserchat: Use newer MUC plugin from slixmpp. 2016-09-21 01:29:30 +09:00
Eijebong
3199e05e33 Add a PgUp/PgDown keybind to /bookmarks.
Fixes #3231
2016-09-20 16:58:42 +09:00
Emmanuel Gil Peyrot
5a5c1fe992 Stop using deprecated aliases from slixmpp. 2016-09-20 16:52:11 +09:00
mathieui
f252f66b50 Fix a possible traceback in /win with some tabs open 2016-09-13 20:03:51 +02:00
mathieui
2886d10ea9 Fix a traceback in the kick/ban handler 2016-09-13 19:40:29 +02:00
mathieui
859dc90d51 Fix coloring of messages in the privatetab 2016-08-29 20:36:36 +02:00
Emmanuel Gil Peyrot
8eb7daad3a Remove an except block targetting Python 3.1. 2016-08-29 09:21:49 +01:00
Emmanuel Gil Peyrot
680a3e8d44 daemon: Remove outdated mention of Python 3.3. 2016-08-29 09:18:08 +01:00
mathieui
29b95f1820 Really fix that traceback 2016-08-28 20:58:22 +02:00
mathieui
a9fa0ee377 Fix a traceback introduced in the last commit 2016-08-28 20:44:19 +02:00
mathieui
2252f2779c Fix some type inconsistencies
(pylint)
2016-08-28 16:51:24 +02:00
mathieui
50d6edc30b Fix a traceback on malformed logs 2016-08-28 16:17:51 +02:00
mathieui
50610a0684 Remove useless debug from the /rawxml command 2016-08-27 16:40:52 +02:00
mathieui
b83c113575 Fix #3194 (don’t highlight on embedded XHTML image)
Remove the link, which wasn’t really useful anyway
2016-08-26 22:44:07 +02:00
mathieui
8495492c75 Fix #3193 (report PM errors in PM tab) 2016-08-26 22:34:32 +02:00
mathieui
a6c4db6c2f decorators: fix the case where there is no argument
can’t believe we didn’t hit that before
2016-08-26 21:56:30 +02:00
mathieui
ad7b724690 Fix #3179 (/join completion broken) 2016-08-26 19:26:14 +02:00
mathieui
d36ecbd7b4 Remove walls of text from the main body of core.handlers
It’s not pleasant to read
2016-08-26 19:12:49 +02:00
mathieui
b7c23313b6 Fix #3217 (allow /groupadd "group" with selected row in the roster) 2016-08-25 20:22:01 +02:00
mathieui
e8aa89687f Fix #3223 (close privatetab logfiles properly)
It wasn’t applying the transformation jid→filename used in log_message
2016-08-25 20:11:12 +02:00
mathieui
4f942bd48f Make log parsing a little better
Separate log items in two different classes instead of just trying the
length of a tuple
2016-08-24 23:14:34 +02:00
mathieui
ec04070611 Don’t traceback in theming if called without poezio installed
If we just want to see the color list, we shouldn’t need to be able to
import poezio.config
2016-08-24 23:13:21 +02:00
mathieui
3ed31ed282 Don’t use camelcase for accessing data forms
(except with getXML that will need more work)
2016-08-22 20:23:27 +02:00
mathieui
ca682cf23d Muctab: Only search for matching colors on user join
this call is actually quite expensive, so it will help in specific cases
where we receive a lot of presence stanzas (e.g. a netsplit in an irc
gateway, or a +vvvvvvvvvvvvvvvvvvvvvvvvv, etc) that are not joins
2016-08-22 19:55:17 +02:00
mathieui
84e59b05ff Don’t call input completion() functions inside completion methods
Use a placeholder object that can run it afterwards, so that we don’t
have side effects inside those functions.
2016-08-21 15:39:30 +02:00
mathieui
11b193fb36 Fix #3219, Fix #3220 (no connection loops on some stream errors)
Do not reconnect if the stream error is a conflict or an host-unknown;
also add a sleep(1) in order to not DoS the server if it loops on other
conditions.
2016-08-20 13:13:23 +02:00
mathieui
04939cc6c3 Fix a typo in the httpauth dialog 2016-08-20 00:56:40 +02:00
mathieui
9cd8788400 Implement XEP-0070 using the confirmtab 2016-08-20 00:12:59 +02:00
mathieui
9230126a89 Remove unused leftover imports 2016-08-19 01:15:32 +02:00
mathieui
0c21af12b0 Use the confirmtab for TLS cert validation
And wipe the YesNoInput from the codebase
2016-08-19 01:04:43 +02:00
mathieui
82d00d495b Add a "confirm" tab type
This tab will be used when an external events prompts a boolean choice
to a user, like a new ssl cert, or a XEP (e.g. 0070) that needs an
answer, and for which a command-line interface with an info message
would be a pain.
2016-08-19 01:00:06 +02:00
Eijebong
c94df86b2c Use conversation.get_nick() instead of conversation.nick when adding a
message to a conversation tab.

When you rename one of your contact and have a conversation opened, the
nickname wasn't updated when you received new messages.
2016-08-18 21:21:08 +02:00
Luke Marlin
ec077496ba fixes #3147 (/message auto-complete misses offline users) by adding every jids to the completion list 2016-08-13 19:40:49 +02:00
mathieui
d7ffaa44a2 Fix /help 2016-08-11 22:38:00 +02:00
Emmanuel Gil Peyrot
ae51999a6f Disable unused logging levels, makes logging.debug about 25 times faster. 2016-07-30 12:59:58 +01:00
Emmanuel Gil Peyrot
aed82a0e3b Advertise us as a console client, not as a pc one. 2016-07-29 23:18:06 +01:00
louiz’
15bef8d752 Make sure the color values are integers, in xhtml.py 2016-07-26 11:12:37 +02:00
mathieui
8634b5ea66 Fix a bug with the _close_tab shortcut
on_close wasn’t used correctly everywhere.
Also make the "close" commands for each tab specific to themselves,
rather than taking the current tab for closure.
2016-07-22 19:56:07 +02:00
mathieui
89194356ee Fix /list 2016-07-22 19:44:25 +02:00
mathieui
0a3738fd66 Improve the topic display
More colors, show an indicator if we changed it
2016-07-14 14:33:27 +02:00
mathieui
4b3dde2a27 Improve /topic display 2016-07-14 12:29:42 +02:00
mathieui
275a67864d Fix a bug in multiline colored text
if the first, attribute color was negative, the color wasn’t passed on
to the next line.
2016-07-14 12:26:31 +02:00
Eijebong
c702fb147b Fix daemon.py shebang. 2016-07-13 18:51:08 +02:00
mathieui
a548e2ff6d Improve refresh performance in big rooms
going through a list with more than 1000 elements, one at a time, can be
a bit tedious. Especially if you go through it every time you receive
one of those elements.
2016-07-12 21:05:46 +02:00
Emmanuel Gil Peyrot
d19f53c3e9 Remove unused SizeManager argument, and simplify its import. 2016-07-07 21:34:10 +01:00
mathieui
968ed665f6 Fix the configure and bookmark tab 2016-07-07 20:09:37 +02:00
mathieui
dae641412e Fix a circular import introduced in 409b1513
It breaks python 3.4 which is touchy about them, https://bugs.python.org/issue17636
2016-07-07 19:51:53 +02:00
louiz’
3dcb04992d Don't use a list (that we modify) as a default argument 2016-07-06 10:08:23 +02:00
louiz’
96a9fb699f Refactor a little thing in /version code 2016-07-06 10:01:07 +02:00
louiz’
059799bb2d Remove some unused things 2016-07-06 09:52:19 +02:00
louiz’
e397f38b47 Merge remote-tracking branch 'linkmauve/big-performances-improvement' 2016-07-06 09:26:03 +02:00
Emmanuel Gil Peyrot
69b4480e9e Make UserList.refresh_if_possible not hyper dumb.
This function was actually calling refresh for every single item that
was different from the cached version.
2016-07-06 04:32:23 +01:00
Emmanuel Gil Peyrot
a47e18e873 Cache results in poezio.theming.to_curses_attr.
This increases performances a *lot* compared to the previous uncached
version.
2016-07-06 04:32:15 +01:00
Emmanuel Gil Peyrot
409b1513ce Move Win._tab_win into poezio.windows.TAB_WIN. 2016-07-06 00:25:13 +01:00
Emmanuel Gil Peyrot
4ffe32ac64 Always use the same argument name in Input.do_command. 2016-07-06 00:25:12 +01:00
Emmanuel Gil Peyrot
14aec23206 Rename a private method with an underscore. 2016-07-06 00:25:12 +01:00
Emmanuel Gil Peyrot
84ee9c7afb Add missing return values in boolean functions. 2016-07-06 00:25:12 +01:00
Emmanuel Gil Peyrot
521159c599 Always import Win from base_wins. 2016-07-06 00:25:12 +01:00
mathieui
43d7b029f8 Refactor the /join command
Fix subtle bugs hopefully without introducing new ones
2016-07-04 22:03:37 +02:00
louiz’
64647e3fe8 Correctly set the MucListTab name to a string and not a JID
Fix a traceback on /w, and many other places, when a MucListTab is open
2016-07-04 14:16:39 +02:00
mathieui
d039da7b2c RIP gmail.com
If by change a user manages to connect to gmail, they won’t be able to
join another server that has MUCs, so that code is useless.
2016-07-03 02:27:21 +02:00
mathieui
7607140b71 Fix plugin loading when installed 2016-07-03 02:22:55 +02:00
mathieui
2e988af4d8 Fix launch.sh
We want to be able to run "python -m poezio" AND have a poezio entry
point.
2016-07-03 02:13:24 +02:00
mathieui
401048aba1 Make the entry point a function
otherwise it breaks the generated entry point loader, which will work
but display a traceback on exit
2016-07-03 01:59:05 +02:00
Emmanuel Gil Peyrot
b685df501a Remove every now-useless usage of the Singleton function. 2016-06-30 23:29:51 +01:00
mathieui
d636d57df4 Fix dynamic/static conversation tab 2016-07-01 00:24:15 +02:00
mathieui
3e2839f74e Only import "Command" instead of "core" when possible 2016-06-30 23:58:42 +02:00
mathieui
8383f77341 Use a "core" parameter for each tab object instead of a singleton
fixes the circular import issue
2016-06-30 23:57:12 +02:00
mathieui
8f7be37a70 Absolute imports everywhere 2016-06-30 23:36:25 +02:00
mathieui
ab86e79918 Use absolute imports instead of relative ones
All this crap is very brittle due to circular deps and python handling
them badly. This appears to be fixing some stuff, at the very least.

This is sed, so cleanup of imports (which can now be grouped together)
is not done yet.
2016-06-30 22:56:24 +02:00
mathieui
5680d1584c Fix /nick 2016-06-28 21:01:04 +02:00
Emmanuel Gil Peyrot
15cb47d18c Simplify Tab.core to remove class variables. 2016-06-28 00:48:42 +01:00
Emmanuel Gil Peyrot
29ac9ec597 Import Singleton instead of its module, and remove unused imports. 2016-06-28 00:25:01 +01:00
Emmanuel Gil Peyrot
36377f78ba Add missing import in __main__ module. 2016-06-28 00:21:59 +01:00
Emmanuel Gil Peyrot
a210303b01 Fix a typo. 2016-06-27 23:55:51 +01:00
Emmanuel Gil Peyrot
6a1bd5f9b9 Make all relative imports explicit. 2016-06-27 23:54:50 +01:00
Emmanuel Gil Peyrot
7e51947f47 Launch poezio as a module package. 2016-06-27 23:54:50 +01:00
mathieui
0447188eac Limit 0184 receipts to one-to-one tabs
Instead of chat tabs, which include MUC which doesn’t implement that.
2016-06-24 21:17:29 +02:00
mathieui
158bb8c3f3 Fix #3198 (no highlight in corrections)
broken since bc6ee8d due to using timestamps
2016-06-24 20:20:36 +02:00
mathieui
3c90ac838f Always send a presence-unavailable on command /part
(even if we thought we were already disconnected)
2016-06-24 19:41:59 +02:00
mathieui
76a890acc7 Fix #3203 (indent contact and resources in the roster) 2016-06-24 19:34:23 +02:00
mathieui
db47dbbc46 Fix a traceback on adhoc 2016-06-22 01:16:03 +02:00
mathieui
ce915a86c1 Increase ping timeout delays (now that the ping actually works) 2016-06-12 21:46:46 +02:00
mathieui
aa79acb7d9 Disable smacks by default 2016-06-12 21:45:04 +02:00
mathieui
3de3dbd7fc Add back the entrypoint
It’s needed for proper installation
2016-06-12 17:00:54 +02:00
Emmanuel Gil Peyrot
ed5f7b18bd Remove the global Win._win_core, instead pass core to the two *GlobalInfoBar. 2016-06-12 15:31:15 +01:00
Emmanuel Gil Peyrot
b08688c701 Remove unused properties in SizeManager. 2016-06-12 15:31:15 +01:00
Emmanuel Gil Peyrot
367d4599c8 Small xml_tab fix. 2016-06-12 15:31:15 +01:00
Emmanuel Gil Peyrot
fba820e879 Convert some genexprs into regular list comprehension. 2016-06-12 15:31:15 +01:00
Emmanuel Gil Peyrot
293d2637d1 Improve core typability. 2016-06-12 14:34:44 +01:00
Emmanuel Gil Peyrot
6d2bb1eab8 Fix core handlers, broken in the previous commit. 2016-06-12 14:34:44 +01:00
Emmanuel Gil Peyrot
34d110e643 Split core handlers into its own (broken) class. 2016-06-12 14:33:39 +01:00
Emmanuel Gil Peyrot
c1be52847b Fix core commands, broken in the previous commit. 2016-06-12 14:33:39 +01:00
Emmanuel Gil Peyrot
37cd7d1924 Split core commands into its own (broken) class. 2016-06-12 14:33:37 +01:00
Emmanuel Gil Peyrot
815cd46be9 Fix core completion, broken in the previous commit. 2016-06-12 13:25:45 +01:00
Emmanuel Gil Peyrot
86794bb0fd Split core completion into its own class.
This commit is non-functional, it only changes indentation to make
other changes more apparent, I’m sorry if you come from the future and
are bisecting, it was the only way to make it look proper. :(
2016-06-11 21:47:35 +01:00
Emmanuel Gil Peyrot
8fc8446e8a Make poezio.logger more Cython-friendly.
Also don’t handle logger fds outside of Logger, and mark private
objects and methods.
2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
fb4ceb232c Remove unused imports in poezio.timed_events. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
08baecfc5a Make poezio.events more Cython-friendly. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
840ad7433f Make poezio.common more Cython-friendly.
Also remove support for OLD_PYTHON (before 3.3), some unused constants,
mark private functions with a leading underscore, and clean up some
pep8 violations.
2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
bfb02d64a8 Make poezio.core.struct more Cython-friendly.
Status and Command are now slotted classes instead of namedtuples,
which led to a few changes to access them with their named parameters
instead of as a tuple.

“short” being a C type, I renamed Command.short into
Command.short_desc, which is more explicit anyway.

I also renamed possible_show into POSSIBLE_SHOW, as it is a
module-level constant dict.
2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
721756c5c1 Make poezio.windows.funcs more Cython-friendly. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
140065b580 Make poezio.poezio_shlex more Cython-friendly. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
d0df65ba7b Make poezio.text_buffer more Cython-friendly. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
0f066ab1ff add_message_to_text_buffer was never used with its time and history arguments. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
bfe7a3100e Move Line where it should be. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
275128963b Remove some unused globals. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
739793e9bc Prefer '\0' to None or an empty string for single characters. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
58d66ad03b Replace the namedtuple Message with a slotted class and merge TextBuffer.make_message in it. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
41f6604ee4 Replace Line namedtuple with a slotted class.
This will be useful to give Cython a way to optimise the storage in
that class.
2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
d4003d1d26 Replace two lists of characters with strings. 2016-06-11 20:49:46 +01:00
Emmanuel Gil Peyrot
332a5c2553 Move the src directory to poezio, for better cython compatibility. 2016-06-11 20:49:43 +01:00