Expected behaviour
When you type
/command
/command
it should be just 1 entry in the history.
Behaviour
All the entries were saved.
Behaviour is changed by introducing check. Before adding to history,
entry now is compared to the last history entry.
Let's just define some basic terminology.
In many sections of the /help we actually use these terms.
This should help new users understand what they mean.
The goal should be that users can make a more informed decision about
which encryption they actually want to use.
We can also use this to document usage details of implementation quirks,
if any.
Under certain circumstances setting plain_str[len] to 0 might lead to crash
and it does not follow the best practices as well.
This change allows better handling of buffer copying and prevents crash.
Let's set this to NULL.
Someone was using `picaur` and got an error about potential
uninitialization. Even though the code is fine let's set this to NULL to
make the compiler happy.
The strange thing was that building manually on the same system worked.
Related to 2e43b0ae62.
If custom client is not set and include_os is true,
stanzas might be released without initializiting.
This commit fixes it by introducing an additional check
on usage of custom client.
Related to commit e52ca2fbaa
While testing https://github.com/profanity-im/profanity/pull/1817
we found that:
```
/statusbar show name (I have this off by default
/msg someone where I chose someone in my roster that has a nick assigned
/statusbar chat jid
```
Will only take effect upon creation or redraw of that tab.
Reason is that we do this in create_tab to limit building this
dynamically.
Let's leave it like it is but add a note to users.
Not worth build that string all the time.
- Fixes statusbar tabs.
Bug: Statusbar used nickname if it was set in roster,
irrelevant to /statusbar chat setting.
Expected behaviour would be using this setting set as "user" to show nickname,
and to show jid with "jid" setting.
Other solution is to give a user control over it with another settings.
- _status_bar_draw_maintext cleaned up, no changes to behaviour
Before this change, only nickname or JID (if no nickname set) is shown in the titlebar.
Change allows to alter nickname/JID preference
using already implemented /titlebar show jid|name setting.
If both are set to "show", then it is displayed in "nickname <JID>" format.
The existing way how active tabs are displayed didn't allow showing more
than 10 tabs. This patch adds a mode where the statusbar shows a
comma-separated list of tabs which were active since the last time viewed.
This view is inspired by how `irssi` shows the active tabs, therefore
it is also called `actlist`.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
It is possible, that a server sends a form with a field as follows, which
has no (default) value assigned.
```
<field label="foo" type="list-single" var="bar">
<option label="a"><value>a</value></option>
<option label="b"><value>b</value></option>
<option label="c"><value>c</value></option>
</field>
```
This patch fixes profanity to show that list. Before this patch
profanity showed nothing.
I stumbled over this while running the `/room config` command inside
a newly created muc on the `sure.im` XMPP server.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
Before this change the same hashtable was re-created each time one used the
auto-completion feature.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This makes all the related errors in the log files go away:
...
prof: ERR: Color: bad color name black_bold_default
prof: ERR: Unable to load colour theme
...
Fixes https://github.com/profanity-im/profanity/issues/1810
* Fix typos.
* Add words that are not typos to codespell's ignore words list and
ignore regex.
* Make codespell ignore URIs.
* Make `make doublecheck` throw no error.
Signed-off-by: Daniel Santos <dacs.git@brilhante.top>
Sometimes after a reconnect the current window would get cleared. This
was a deliberate change to fix the profanity window looking all garbled
up after providing the passphrase for a gpg key using pinentry-curses.
Fixes https://github.com/profanity-im/profanity/issues/1556