Autocompletion failed for nicknames using non Latin scripts. We used `g_str_to_ascii`, which replaces characters it cannot transliterate with '?', leading search failures and false matches between different scripts. Now we do: Use `g_utf8_casefold` for case-insensitive UTF-8 comparison. This ensures that like 'Σ' correctly match 'σ' across all Unicode scripts, providing correct results for non English nicknames. If we don't fine anything typing a base ASCII character matches an accented one (typing `e` matches `è`). This pass uses `g_str_to_ascii` followed by `g_ascii_strdown` for comparison. It is now restricted to run if the search string itself is valid ASCII, preventing the "everything matches '?'" bug in non Latin scripts. Autocomplete items are sorted using `strcmp`. `g_utf8_collate` provides linguistical ordering for a specific language. But its behavior is locale dependent and undefined when comparing strings from different scripts. `strcmp` does byte-wise ordering that correctly follows Unicode code order for UTF-8 strings.
Profanity
Profanity is a console based XMPP client inspired by Irssi.
If you like Profanity consider becoming a sponsor or donate some money.
See the User Guide for information on installing and using Profanity.
Project
This project is about freedom, privacy and choice. We want to enable people to chat with one another in a safe way. Thus supporting encryption (OTR, PGP, OMEMO, OX) and being decentralized, meaning everyone can run their own server. We believe XMPP is a great proven protocol with an excellent community serving this purpose well.
Feel free to follow us on twitter, join our mailing list and/or MUC.
Installation
Our user guide contains an install section and a section for building from source yourself.
Donations
We would highly appreciate if you support us via GitHub Sponsors. Especially if you make feature requests or need help using Profanity. Sponsoring enables us to spend time on Profanity.
An alternative way to support us would be to ask for our IBAN or use Bitcoin: bc1qx265eat7hfasqkqmk9qf38delydnrnuvzhzy0x.
Thank you! <3
How to contribute
We tried to sum things up on our helpout page. Additionally you can check out our blog where we have articles like: How to get a backtrace and Contributing a Patch via GitHub. For more technical details check out our CONTRIBUTING.md file.
Getting help
To get help, first read our User Guide then check out the FAQ. If you have are having a problem then first search the issue tracker. If you don't find anything there either come to our MUC or create a new issue depending on what your problem is.
Links
Website
URL: https://profanity-im.github.io
Repo: https://github.com/profanity-im/profanity-im.github.io
Blog
URL: https://profanity-im.github.io/blog
Repo: https://github.com/profanity-im/blog
Mailinglist
Mailing List: https://lists.posteo.de/listinfo/profanity
Chatroom
MUC: profanity@rooms.dismail.de
Plugins
Plugins repository: https://github.com/profanity-im/profanity-plugins
