• chevron_right

      Profanity 0.8.0

      pubsub.slavino.sk / profanity-blog · Monday, 3 February, 2020 - 13:46 edit · 4 minutes

    On 2012-02-02 the first commit to Profanity was done by @boothj5 . So now Profanity is already 8 years old! Happy Birthday!

    As a present we release today the next version: 0.8.0 ! It’s released five months after 0.7.0 and has 295 commits since then.

    Also more and more people contribute to Profanity’s development. A big thanks to: @paulfariello , @svensp , @aaptel , @aszlig , @mdosch , @pasis , @mzagozen , @quite , @weiss , @Misaflo and @jubalh .

    Profanity

    New features

    We got fingerprint autocompletion for the /omemo trust command.
    We got a gruvbox and solarized theme.

    MUC name display

    You can now decide whether you want to have the MUCs name or JID displayed in the titlebar and roster: See /titlebar use [name|jid] and /roster room use name .

    Avatars

    Profanity is now able to download user avatars via XEP-0084 #1240 . Use the /avatar <jid> command. And open it with xdg-open ~/.local/share/profanity/avatars/<jid>.png from your terminal.

    Trackbar

    A trackbar was added so you can easily see where you last left off reading. #1238

    Consistent Color Generation for nicks

    We gained support for XEP-0392 Consistent Color Generation for nicks #1191 . See /color , /occupants color , /roster color .

    Save current line

    Add option to store current line in history (like irssi down arrow behaviour) #200 . Imagine you write a long line of text, only to find out someone else wrote something where you want to reply first. Now you can press alt+down-arrow to save the current line. Write a new one. Send it. And press arrow-up to get the saved line back from history.

    Highlight unread messages

    You can now highlight unread messages with a different color in /wins #895 . New theming option is cmd.wins.unread .

    Switch to unread messages

    A keyboard shortcut to select the next window with unread messages has been added: alt+a #1114 .

    Switch to windows

    You can now switch to the first 20 open windows with alt + 1234567890qwertyuio instead of only the first 10 #1114 .

    Reload command

    A command to reload your config has been added: /reload .

    Alternative config file

    A possibility to specify an alternative config file has been added: Use profanity -c ~/path/to/other/config .

    Changes

    Preferences

    Preferences are not immediately saved once you change them. You will need to issue the /save command from now on. This has the advantage that you can experiment with different settings and themes and only if you are happy with your changes you save them. If not everything will stay as it was.

    Themes

    We changed the theme handling in Profanity. So far if you loaded a theme with /theme load bios it loaded new colors but also other settings the theme makes. Like changing the OMEMO char to X . If you decided you prefer # as your indication of OMEMO encrypted messages you set this in your preferences via /omemo char # . But if you later tried out different themes because you were set up with your current one it might have happened that you lost some settings #1077 .

    For this reason /theme load bios will now only load the colors of a theme. We have /theme full-load bios to load the complete theme.

    Error message in settings commands

    Profanity has functions that display settings of a certain command. Like /logging displays the settings for group and chat logging. So you know what value they have before you change them. So far if you issued a setting command it displayed the information, but also informed you that the command was not valid Invalid usage, see '/help logging' for details. . This has been fixed. #1237 .

    XEP-0092

    XEP-0092 Software Version, sends now the name of your operating system too. You can switch this off with /os off .

    Standardize comamnds

    In an attempt to standardize commands some functionality got reorganized in different/new commands:

    • /tls show on|of -> /titlebar show|hide tls
    • /encwarn on|off -> /titlebar show|hide encwarn
    • /titlebar show|hide resource additionally to /resource titlebar on
    • /titlebar show|hide presence additionally to /presence titlebar on
    • /invite <contact> -> /invite send <contact>
    • /invites -> /invite list
    • /decline -> /invite decline
    • /online , /away , /dnd , /chat , /xa -> /status set online etc.
    • /status -> /status get
    • /chlog on -> /logging chat on
    • /grlog on -> /logging group on
    • /group -> /roster group

    Read #1116 , #1224 , #1229 if you want to know more.

    MUC PM Messages

    Log MUC PM messages #1184 , #1214 , so far this was actually not done.

    MUC Messages

    We now use XEP-0359: Unique and Stable Stanza IDs to detect if MUC messages come from us or not #1207 .

    Clear command

    Add /clear autocompletion and improve its documentation #855 .

    Subscribed message

    Don’t print subscribed message if contact is already in roster #1166 .

    Fixes

    Timestamps

    So far we just displayed the timestamp of the first tag we found. Now we fixed this to actually check for the oldest timestamp. Meaning that the time a message was send should now be when it was first delayed not the last or any other delay #1254 .

    OMEMO

    Several OMEMO related bugs were fixed by @paulfarielle, @svensp, @aszlig.

    Occupants and roster chars

    Occupants and roster chars have never actually been saved! Seems noone discovered this for years until recently #1244 .

    Status messages

    Allow setting of status message (which actually never worked before) b846c49 . /status set online "This is my text" /status set away bye /status set away

    Date

    If you configure Profanity to load the last few lines from the history in a chat window. It always displayed a date of 01-01-00 as this was hardcoded. Now it acually uses the right one. Seems this has gone unnoticed for years too #922 .

    Memory leaks

    We fixed many memory leaks. Profanity should be much nicer now if you plan to never quit it.

    Log message carbons

    Carbon copied messages now get logged too #1181 .


    Značky: #XMPP

    • chevron_right

      How to get a backtrace

      pubsub.slavino.sk / profanity-blog · Sunday, 26 January, 2020 - 15:16 edit

    When you’re running profanity master it may occur that profanity crashes with SIGSEGV or SIGABRT when new features are added. If this happens it is helpful to provide a backtrace for the developers to find and fix the bug.

    I will explain one possibility how to get a backtrace of profanity (or any other TUI application) 1 :

    Preparation

    The following requirements must be installed:

    • gdb
    • gdbserver
    • debug symbols (depending on your distribution they might already be included)
      • e.g. profanity-dbgsym (for debian)
      • e.g. libstrophe0-dbgsym (for debian)
      • e.g. libexpat1-dbgsym (for debian)

    Run profanity

    • Open terminal #1
      • Run gdbserver localhost:1234 /usr/bin/profanity
    • Open terminal #2
      • Run gdb /usr/bin/profanity
      • Enter target remote localhost:1234
      • Enter c
    • Profanity opens in terminal #1
      • Reproduce crash
    • A gdb command line opens in terminal #2
      • Enter bt or bt full 2
    • Create an issue in the bugtracker and include the output of the previous step (see this example )

    1. This explanation was first published on my personal blog . ↩︎

    2. bt full gives a much more detailled output but in most cases bt is enough for the dev to know what’s going on. ↩︎


    Značky: #XMPP

    • chevron_right

      Intro

      pubsub.slavino.sk / profanity-blog · Friday, 3 January, 2020 - 15:16 edit

    Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute.


    Značky: #XMPP