Add pluggable storage backend abstraction (vtable) to the database layer,
allowing selection between SQLite (default) and a new flat-file backend
that stores messages as human-readable plain text files.
New files:
- database_sqlite.c: extracted SQLite backend from database.c
- database_flatfile.c: plain text backend with tolerant parser,
LMC correction chains, UTF-8/BOM/CRLF handling, integrity checks
Commands:
- /privacy logging flatfile — switch to flat-file backend
- /history verify [<jid>] — check integrity of stored history
Fixes:
- Add missing 'off' guard in flatfile backend
- Enable CHLOG/HISTORY prefs when switching to flatfile mode
Logs stored in ~/.local/share/profanity/flatlog/{account}/{contact}/{date}.log
Format: {ISO8601} [{type}|{enc}|id:{id}|corrects:{id}] {sender}: {message}
Updated: CHANGELOG, CONTRIBUTING.md, profrc.example, man page, cmd_defs,
Makefile.am, test stubs, functional test support (PROF_FLATFILE=1)
This allows to kind of automate what profanity should do as first jobs,
e.g. `--cmd /foo --cmd /bar --cmd /quit` so one can easily check for memory
leaks.
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
Let user print newline character using alt+enter keybind,
it allows great flexibility in communication,
now user will be able to write much better longer messages.
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.
This man page should help people to set up OX in profanity.
We have profanity-ox.1 which is the same as `/help ox` and describes how
to use OX.
This man page will help with the setup with the external gpg program.
Based on the blogpost of Stefan:
https://profanity-im.github.io/blog/post/openpgp-for-xmpp-ox/
This was done before OX was implemented. In 0.10 ox landed in Profanity
and we have the blogpost:
https://profanity-im.github.io/blog/post/openpgp-for-xmpp-ox/ to
describe the usage.
We will have a man page to help users with the setup as well.