From b04a68462c1818e3f0e423ec909f5d11e9facb96 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 29 Mar 2022 12:13:24 +0200 Subject: [PATCH 01/53] Update Changelog for 0.12.0 --- CHANGELOG | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index c78c8f13..e7fb70c4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,62 @@ +0.12.0 (2022-03-29) +===== + +Eight months and 203 commits after 0.11.0 we are happy to release 0.12.0. + +16 people contributed code to it: @sjaeckel, @MarcoPolo-PasTonMolo, @paulfertser, +@DebXWoody, @trofi, @nandesu-utils, @carlocab, @binex-dsk, @nlfx, @JurajMlich, +@wstrm, @arya-pratap-singh, @a02c1175-5220-4e75-b7a1-18e20548305f, +@mdosch, @jugendhacker and @jubalh. + +Thanks a lot to our sponsors: @mdosch, @wstrm, @LeSpocky and @jamesponddotco +If you want to support us too: https://profanity-im.github.io/donate.html + +Changes: +- Fix format string for ncurses 6.3 (#1597) +- Remove `/python sourcepath` command (#1598) +- Add option to install plugins from global plugin installation directory (#945) +- Fix wrong timestamp display in MUC history (#1423) +- Add in-band account registration (XEP-0077) (#1574) +- New theme: snikket (#1604) +- Allow more UI indicator signs to be UTF-8 characters (#1607) +- Add /correct-editor command (#1596) +- Fix message encryption for sender devices (#1609) +- Deprecate libmesode. We require libstrophe >= 0.11.0 (#1608) +- Fix OMEMO /sendfile on non-glibc systems (#1478) +- Cleanup plugins code (#1616) +- Make readline check more portable (#1617) +- Fix carbons criteria (#1614, #1618) +- Add support for User Mood (XEP 0107) (#1605) +- Use wildcard for man pages in Makefile.am (#1622) +- Fix inserting messages to chat logs if archive_id is empty (#1589, #1625) +- Implement RFC 6120 see-other-host during login (#1628, #1631, #1632, #1633, #1637) +- Guard against invalid input in presence stanza (#1630) +- Do not check for OMEMO device id for JIDs banned of a MUC (#1594) +- Minor cleanups (#1635, #1653) +- Cleanup build files (#1641, #1642, #1657, #1659) +- Improve documentation for new developers (#1640) +- Set libstrophe log verbosity to fix jump on unconditional value (e55f6d) +- Add DOAP file (XEP-0453) (bd8c32) +- Add `/subject editor` command +- Improve OX user experience (#1644) +- Add hotkey for sending readline text to editor (#1645, #1648) +- Fix breaking autocompletion with nicknames containing '/' (#1474) +- Add autocompletion for `/cmd` (#1650) +- Add easy quoting (#1651) + When typing `>` you can now use TAB to cycle through the messages in the chat + window to quote those messages easily. +- Make sendfile work with self signed certificates (#1624) +- Reset URL autocompletion after usage (#1654) +- Use EDITOR environment variable and only use vim if this is unset (#1658) + +Tips: +- You can press alt+c to open an external editor. This is handy for multiline editing + Like replies, editing MUC subjects, long texts or copying texts from various files. +- Use `>` to quote messages from the main window. Combine this with alt+c for + multiline editing. +- We also want to highlight alt+a from an earlier release to switch between windows + with new activity. + 0.11.1 (2021-09-28) ===== From 3ee3d78af58f62d3dd2587190992c9465b9b416e Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 29 Mar 2022 12:20:10 +0200 Subject: [PATCH 02/53] changelog: add build requirements info --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index e7fb70c4..9cad6b03 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,9 @@ Eight months and 203 commits after 0.11.0 we are happy to release 0.12.0. Thanks a lot to our sponsors: @mdosch, @wstrm, @LeSpocky and @jamesponddotco If you want to support us too: https://profanity-im.github.io/donate.html +This release depends on libstrophe >= 0.11.0, libsignal-protocol-c >= 2.3.2 and glib >= 2.62.0. +libmesode was deprecated, all functionality was merged into libstrophe. + Changes: - Fix format string for ncurses 6.3 (#1597) - Remove `/python sourcepath` command (#1598) From 1e81eea8990ca1e2370cde591a23e87c866d8000 Mon Sep 17 00:00:00 2001 From: Paul Fertser Date: Tue, 29 Mar 2022 13:38:02 +0300 Subject: [PATCH 03/53] Input window: handle invalid multibyte MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The current code enters an infinite loop if the input string happens to get an invalid utf-8 sequence somehow. For me it was reproducible by running profanity in a Screen session and pressing Alt-т (cyrillic letter). Fix it the way borrowed from 0501e49623f68aa39508e4e622924c1dd8147588 where mbrlen is used for the same purposes. --- src/ui/inputwin.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c index d19d8719..ac7cf817 100644 --- a/src/ui/inputwin.c +++ b/src/ui/inputwin.c @@ -373,6 +373,10 @@ _inp_offset_to_col(char* str, int offset) while (i < offset && str[i] != '\0') { gunichar uni = g_utf8_get_char(&str[i]); size_t ch_len = mbrlen(&str[i], MB_CUR_MAX, NULL); + if ((ch_len == (size_t)-2) || (ch_len == (size_t)-1)) { + i++; + continue; + } i += ch_len; col++; if (g_unichar_iswide(uni)) { From 9214b0a10a6935ec46d052fc2b08490f4b188736 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Wed, 30 Mar 2022 12:49:07 +0200 Subject: [PATCH 04/53] Release 0.12.0 --- CHANGELOG | 5 +- configure.ac | 2 +- docs/profanity-about.1 | 12 + docs/profanity-account.1 | 353 +++++++++++++++++++++ docs/profanity-affiliation.1 | 43 +++ docs/profanity-alias.1 | 52 +++ docs/profanity-autoaway.1 | 93 ++++++ docs/profanity-autoconnect.1 | 35 ++ docs/profanity-autoping.1 | 27 ++ docs/profanity-avatar.1 | 35 ++ docs/profanity-ban.1 | 24 ++ docs/profanity-beep.1 | 19 ++ docs/profanity-blocked.1 | 57 ++++ docs/profanity-bookmark.1 | 124 ++++++++ docs/profanity-caps.1 | 38 +++ docs/profanity-carbons.1 | 19 ++ docs/profanity-changepassword.1 | 12 + docs/profanity-charset.1 | 12 + docs/profanity-clear.1 | 33 ++ docs/profanity-close.1 | 75 +++++ docs/profanity-cmd.1 | 35 ++ docs/profanity-color.1 | 41 +++ docs/profanity-connect.1 | 87 +++++ docs/profanity-console.1 | 70 ++++ docs/profanity-correct-editor.1 | 12 + docs/profanity-correct.1 | 19 ++ docs/profanity-correction.1 | 27 ++ docs/profanity-disco.1 | 41 +++ docs/profanity-disconnect.1 | 12 + docs/profanity-editor.1 | 12 + docs/profanity-executable.1 | 82 +++++ docs/profanity-export.1 | 27 ++ docs/profanity-flash.1 | 19 ++ docs/profanity-form.1 | 43 +++ docs/profanity-gone.1 | 19 ++ docs/profanity-help.1 | 48 +++ docs/profanity-history.1 | 19 ++ docs/profanity-info.1 | 35 ++ docs/profanity-inpblock.1 | 27 ++ docs/profanity-inputwin.1 | 27 ++ docs/profanity-intype.1 | 24 ++ docs/profanity-invite.1 | 46 +++ docs/profanity-join.1 | 49 +++ docs/profanity-kick.1 | 24 ++ docs/profanity-lastactivity.1 | 44 +++ docs/profanity-log.1 | 43 +++ docs/profanity-logging.1 | 32 ++ docs/profanity-mainwin.1 | 27 ++ docs/profanity-mam.1 | 19 ++ docs/profanity-mood.1 | 38 +++ docs/profanity-msg.1 | 51 +++ docs/profanity-nick.1 | 19 ++ docs/profanity-notify.1 | 229 ++++++++++++++ docs/profanity-occupants.1 | 125 ++++++++ docs/profanity-omemo.1 | 128 ++++++++ docs/profanity-os.1 | 19 ++ docs/profanity-otr.1 | 182 +++++++++++ docs/profanity-outtype.1 | 19 ++ docs/profanity-ox.1 | 110 +++++++ docs/profanity-paste.1 | 12 + docs/profanity-pgp.1 | 105 ++++++ docs/profanity-ping.1 | 19 ++ docs/profanity-plugins.1 | 93 ++++++ docs/profanity-prefs.1 | 59 ++++ docs/profanity-presence.1 | 87 +++++ docs/profanity-priority.1 | 19 ++ docs/profanity-privileges.1 | 19 ++ docs/profanity-quit.1 | 12 + docs/profanity-receipts.1 | 27 ++ docs/profanity-reconnect.1 | 19 ++ docs/profanity-register.1 | 68 ++++ docs/profanity-reload.1 | 12 + docs/profanity-resource.1 | 43 +++ docs/profanity-role.1 | 27 ++ docs/profanity-room.1 | 29 ++ docs/profanity-rooms.1 | 60 ++++ docs/profanity-roster.1 | 546 ++++++++++++++++++++++++++++++++ docs/profanity-save.1 | 12 + docs/profanity-script.1 | 46 +++ docs/profanity-sendfile.1 | 27 ++ docs/profanity-serversoftware.1 | 27 ++ docs/profanity-silence.1 | 12 + docs/profanity-slashguard.1 | 19 ++ docs/profanity-software.1 | 38 +++ docs/profanity-splash.1 | 19 ++ docs/profanity-states.1 | 19 ++ docs/profanity-status.1 | 48 +++ docs/profanity-statusbar.1 | 113 +++++++ docs/profanity-sub.1 | 73 +++++ docs/profanity-subject.1 | 59 ++++ docs/profanity-theme.1 | 59 ++++ docs/profanity-time.1 | 131 ++++++++ docs/profanity-titlebar.1 | 66 ++++ docs/profanity-tls.1 | 104 ++++++ docs/profanity-tray.1 | 35 ++ docs/profanity-url.1 | 35 ++ docs/profanity-vercheck.1 | 19 ++ docs/profanity-who.1 | 83 +++++ docs/profanity-win.1 | 98 ++++++ docs/profanity-wins.1 | 46 +++ docs/profanity-wintitle.1 | 27 ++ docs/profanity-wrap.1 | 19 ++ docs/profanity-xmlconsole.1 | 12 + docs/profanity.1 | 2 +- 104 files changed, 5500 insertions(+), 4 deletions(-) create mode 100644 docs/profanity-about.1 create mode 100644 docs/profanity-account.1 create mode 100644 docs/profanity-affiliation.1 create mode 100644 docs/profanity-alias.1 create mode 100644 docs/profanity-autoaway.1 create mode 100644 docs/profanity-autoconnect.1 create mode 100644 docs/profanity-autoping.1 create mode 100644 docs/profanity-avatar.1 create mode 100644 docs/profanity-ban.1 create mode 100644 docs/profanity-beep.1 create mode 100644 docs/profanity-blocked.1 create mode 100644 docs/profanity-bookmark.1 create mode 100644 docs/profanity-caps.1 create mode 100644 docs/profanity-carbons.1 create mode 100644 docs/profanity-changepassword.1 create mode 100644 docs/profanity-charset.1 create mode 100644 docs/profanity-clear.1 create mode 100644 docs/profanity-close.1 create mode 100644 docs/profanity-cmd.1 create mode 100644 docs/profanity-color.1 create mode 100644 docs/profanity-connect.1 create mode 100644 docs/profanity-console.1 create mode 100644 docs/profanity-correct-editor.1 create mode 100644 docs/profanity-correct.1 create mode 100644 docs/profanity-correction.1 create mode 100644 docs/profanity-disco.1 create mode 100644 docs/profanity-disconnect.1 create mode 100644 docs/profanity-editor.1 create mode 100644 docs/profanity-executable.1 create mode 100644 docs/profanity-export.1 create mode 100644 docs/profanity-flash.1 create mode 100644 docs/profanity-form.1 create mode 100644 docs/profanity-gone.1 create mode 100644 docs/profanity-help.1 create mode 100644 docs/profanity-history.1 create mode 100644 docs/profanity-info.1 create mode 100644 docs/profanity-inpblock.1 create mode 100644 docs/profanity-inputwin.1 create mode 100644 docs/profanity-intype.1 create mode 100644 docs/profanity-invite.1 create mode 100644 docs/profanity-join.1 create mode 100644 docs/profanity-kick.1 create mode 100644 docs/profanity-lastactivity.1 create mode 100644 docs/profanity-log.1 create mode 100644 docs/profanity-logging.1 create mode 100644 docs/profanity-mainwin.1 create mode 100644 docs/profanity-mam.1 create mode 100644 docs/profanity-mood.1 create mode 100644 docs/profanity-msg.1 create mode 100644 docs/profanity-nick.1 create mode 100644 docs/profanity-notify.1 create mode 100644 docs/profanity-occupants.1 create mode 100644 docs/profanity-omemo.1 create mode 100644 docs/profanity-os.1 create mode 100644 docs/profanity-otr.1 create mode 100644 docs/profanity-outtype.1 create mode 100644 docs/profanity-ox.1 create mode 100644 docs/profanity-paste.1 create mode 100644 docs/profanity-pgp.1 create mode 100644 docs/profanity-ping.1 create mode 100644 docs/profanity-plugins.1 create mode 100644 docs/profanity-prefs.1 create mode 100644 docs/profanity-presence.1 create mode 100644 docs/profanity-priority.1 create mode 100644 docs/profanity-privileges.1 create mode 100644 docs/profanity-quit.1 create mode 100644 docs/profanity-receipts.1 create mode 100644 docs/profanity-reconnect.1 create mode 100644 docs/profanity-register.1 create mode 100644 docs/profanity-reload.1 create mode 100644 docs/profanity-resource.1 create mode 100644 docs/profanity-role.1 create mode 100644 docs/profanity-room.1 create mode 100644 docs/profanity-rooms.1 create mode 100644 docs/profanity-roster.1 create mode 100644 docs/profanity-save.1 create mode 100644 docs/profanity-script.1 create mode 100644 docs/profanity-sendfile.1 create mode 100644 docs/profanity-serversoftware.1 create mode 100644 docs/profanity-silence.1 create mode 100644 docs/profanity-slashguard.1 create mode 100644 docs/profanity-software.1 create mode 100644 docs/profanity-splash.1 create mode 100644 docs/profanity-states.1 create mode 100644 docs/profanity-status.1 create mode 100644 docs/profanity-statusbar.1 create mode 100644 docs/profanity-sub.1 create mode 100644 docs/profanity-subject.1 create mode 100644 docs/profanity-theme.1 create mode 100644 docs/profanity-time.1 create mode 100644 docs/profanity-titlebar.1 create mode 100644 docs/profanity-tls.1 create mode 100644 docs/profanity-tray.1 create mode 100644 docs/profanity-url.1 create mode 100644 docs/profanity-vercheck.1 create mode 100644 docs/profanity-who.1 create mode 100644 docs/profanity-win.1 create mode 100644 docs/profanity-wins.1 create mode 100644 docs/profanity-wintitle.1 create mode 100644 docs/profanity-wrap.1 create mode 100644 docs/profanity-xmlconsole.1 diff --git a/CHANGELOG b/CHANGELOG index 9cad6b03..8e093ecd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,7 @@ -0.12.0 (2022-03-29) +0.12.0 (2022-03-30) ===== -Eight months and 203 commits after 0.11.0 we are happy to release 0.12.0. +Eight months and 207 commits after 0.11.0 we are happy to release 0.12.0. 16 people contributed code to it: @sjaeckel, @MarcoPolo-PasTonMolo, @paulfertser, @DebXWoody, @trofi, @nandesu-utils, @carlocab, @binex-dsk, @nlfx, @JurajMlich, @@ -51,6 +51,7 @@ Changes: - Make sendfile work with self signed certificates (#1624) - Reset URL autocompletion after usage (#1654) - Use EDITOR environment variable and only use vim if this is unset (#1658) +- Fix invalid mbrlen in input field (#1660) Tips: - You can press alt+c to open an external editor. This is handy for multiline editing diff --git a/configure.ac b/configure.ac index 616b410c..431ee556 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ AS_CASE([$target_os], AM_INIT_AUTOMAKE([foreign subdir-objects]) -PACKAGE_STATUS="development" +PACKAGE_STATUS="release" ## Get git branch and revision if in development if test "x$PACKAGE_STATUS" = xdevelopment; then diff --git a/docs/profanity-about.1 b/docs/profanity-about.1 new file mode 100644 index 00000000..1fe70d85 --- /dev/null +++ b/docs/profanity-about.1 @@ -0,0 +1,12 @@ +.TH man 1 "2022-03-30" "0.12.0" "Profanity XMPP client" + +.SH NAME +/about + +.SH DESCRIPTION +Show version and license information. + +.SH SYNOPSIS +/about + +.LP diff --git a/docs/profanity-account.1 b/docs/profanity-account.1 new file mode 100644 index 00000000..73bdcf0f --- /dev/null +++ b/docs/profanity-account.1 @@ -0,0 +1,353 @@ +.TH man 1 "2022-03-30" "0.12.0" "Profanity XMPP client" + +.SH NAME +/account + +.SH DESCRIPTION +Commands for creating and managing accounts. Calling with no arguments will display information for the current account. + +.SH SYNOPSIS +/account + +.LP +/account list + +.LP +/account show + +.LP +/account enable|disable + +.LP +/account default set + +.LP +/account default off + +.LP +/account add + +.LP +/account remove + +.LP +/account rename + +.LP +/account set jid + +.LP +/account set server + +.LP +/account set port + +.LP +/account set status + +.LP +/account set status last + +.LP +/account set + +.LP +/account set resource + +.LP +/account set password + +.LP +/account set eval_password + +.LP +/account set muc + +.LP +/account set nick + +.LP +/account set otr + +.LP +/account set pgpkeyid + +.LP +/account set startscript