Age | Commit message (Collapse) | Author |
|
With a few specific behaviours: When manually opening a conversation with a
bare jid, we open a normal conversation that follows the XEP (locked and
unlocked accordingly). If the user manually opens a conversation with a
fulljid (by selecting a specific resource in the roster, or by specifying a
fulljid to the /message command), we open a special tab that doesn’t follow
the XEP (it is always locked to the same resource, and cannot be unlocked).
When a message is received, unless a special tab has been manually opened by
the other with that specific resource, we always send the messages to a uniq
normal tab, unlocking or locking it according to the XEP.
This means that only one tab can be opened with a given contact, unless the
user specifically chooses to open a special tab for a specific resource.
fixes #2159
|
|
|
|
|
|
|
|
- remove the decline command that is not in the trunk (and mediated
declines are supported nowhere anyway)
- change a bit xhtml-im support
- change the bookmarks management a bit
- Add a verification to avoid crashing when poezio will be launched the
next time
- Fix the (unrelated) bug when setting a jid affiliation
|
|
|
|
TODO: change the plugin API to take advantage of this
This change is backwards-compatible (as in “should not break anything”)
|
|
|
|
(thanks, jappix)
|
|
(the name show is not intuitive, so I used status and status_message)
- The status is send when connecting, and is the same used when joining
rooms
- save_status is true by default, and will make poezio save the status
whenever it changes
- status and status_message are empty by default
|
|
|
|
#2189 wasn’t crashing, but well.
Also fix a crash with the separator and /correct
|
|
Show headline messages in the info buffer, and show error messages (or
other errors) with a special style.
|
|
|
|
|
|
/server_cycle now takes a suffix and will match all the rooms with this
same suffix. It also means that /server_cycle room@domain.tld will now only
cycle root@domain.tld instead of all the rooms of domain.tld.
|
|
(only the left part)
|
|
Also use the passwords on start, and automatically use a password with
/join if there is one.
|
|
and let the user have a better chance to read the question entirely
|
|
|
|
fix #2185
|
|
fix #2184
|
|
This makes it possible to read the ctrl+arrows keys with python3.3, assign
ctrl+left/right to next/previous tab, in the default config.
|
|
|
|
This avoid some garbage on the screen when we set an option that changes the
behaviour of the UI.
|
|
|
|
|
|
the <history/> element had a xmlns="" instead of the proper namespace.
|
|
|
|
Plugins do not need to escape the command arguments or remove the line
breaks and care about how the will get parsed anymore, they just need to
pass a list of args.
Do not spawn an additional shell, for more clarity, simplicity and possibly
security.
|
|
|
|
|
|
|
|
|
|
|
|
(and fix one more issue with the refresh in the roster)
|
|
|
|
- Also make Core.focus_tab_named take an optional type, and return a boolean
|
|
|
|
|
|
|
|
If we try to send that, we get disconnected…
|
|
|
|
|
|
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
|
|
|
|
|
|
And break it down into understandable functions
|
|
- 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)
|
|
previously, the change wasn’t saved
|