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)
70 lines
1.1 KiB
Plaintext
70 lines
1.1 KiB
Plaintext
[ui]
|
|
splash=true
|
|
intype=true
|
|
beep=false
|
|
statuses.muc=all
|
|
theme=default
|
|
history=true
|
|
titlebar=true
|
|
mouse=false
|
|
flash=false
|
|
vercheck=false
|
|
statuses.console=all
|
|
statuses.chat=all
|
|
color.nick=true
|
|
|
|
[connection]
|
|
autoping=60
|
|
reconnect=5
|
|
account=me@server.org
|
|
|
|
[chatstates]
|
|
enabled=true
|
|
outtype=false
|
|
gone=10
|
|
|
|
[notifications]
|
|
remind=60
|
|
invite=true
|
|
sub=true
|
|
message=true
|
|
room=mention
|
|
message.current=true
|
|
room.current=true
|
|
typing=true
|
|
typing.current=false
|
|
message.text=true
|
|
room.text=true
|
|
room.offline=true
|
|
|
|
[alias]
|
|
colour=/color
|
|
topic=/subject
|
|
friends=/who online friends
|
|
bob=/msg bob@server.org hey wassup?
|
|
|
|
[logging]
|
|
chlog=true
|
|
grlog=true
|
|
maxsize=1048580
|
|
rotate=true
|
|
shared=true
|
|
# Database backend for message history:
|
|
# on - SQLite database (default)
|
|
# off - no message logging
|
|
# redact - store with redacted message content
|
|
# flatfile - plain text files, editable with any text editor
|
|
# stored in ~/.local/share/profanity/flatlog/
|
|
dblog=on
|
|
|
|
[otr]
|
|
warn=true
|
|
log=redact
|
|
policy=manual
|
|
|
|
[presence]
|
|
autoaway.mode=away
|
|
autoaway.time=15
|
|
autoaway.message=Away from computer
|
|
autoaway.check=true
|