| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
|
|
|
|
|
|
|
| |
The original intention of the code was that in case archive_id is not set, NULL should be inserted. What is
inserted however is an empty string. This causes the condition to not insert messages with non-unique
archive_id insert only one message in total and ignore all further ones (if NULL was there, the condition
would work properly). And this in turn causes chat history not work properly.
This commit makes the SQL condition work properly and therefore fixes chat history.
Fixes #1589.
|
| |
|
|
|
|
|
| |
Some more parameters might contain quotes, so escape all of them
with %q by using sqlite3_mprintf.
|
|
|
|
|
|
|
| |
_GNU_SOURCE was even in some files where it was not needed at all
(http*).
Let's replace asprintf() with g_strdup_printf().
|
|
|
|
| |
Related to https://github.com/profanity-im/profanity/issues/1512
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On every write to `chatlog.db` syslog throws
```
profanity: vfprintf %s NULL in "INSERT INTO `ChatLogs` (`from_jid`,
`from_resource`, `to_jid`, `to_resource`, `message`, `timestamp`,
`stanza_id`, `archive_id`, `replace_id`, `type`, `encryption`) SELECT
'%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' WHERE
NOT EXISTS (SELECT 1 FROM `ChatLogs` WHERE `archive_id` = '%s')"
```
in `/var/log/messages`. Checking for `NULL` except in the fields the DB
is expected to throw errors for, satisfies OpenBSDs security measures
|
| |
|
|
|
|
|
|
|
|
|
| |
This partly reverts d3a387a0ec6e5265f625de87318be2de610efb01.
For proanity 0.9.x we still wanted to support older glib versions so
that we can be packaged for various linux distros.
Now with 0.10 we want to move on.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
archive_is is <stanza-id> or <result id=""> and should identify one
message stable and uniquely.
See XEP-0359: Unique and Stable Stanza IDs.
We need this for example for this situation:
* we go online with Profanity
* we fetch all messages since yesterday
* we add them to the db
* we go offline
* we go online with Profanity
* we fetch all messages since yesterday
* we only want to add the new ones
So far we don't ask MAM "give me all since last 'id'" but since a
certain date.
In case no archive_id will be set, it will be `(null)` and thus should
be inserted anyways because it won't find a value with (null) in that
row.
Because when adding we use `message->stanzaid ? message->stanzaid : "",`
so it will be empty in such a case.
Regards MAM: https://github.com/profanity-im/profanity/issues/660
Regards Stable IDs: https://github.com/profanity-im/profanity/issues/1207
|
| |
|
|
|
|
|
|
| |
This reverts commit 9b55f2dec0ea27a9ce4856e303425e12f866cea2.
Sorting the includes creates some problems.
|
|
|
|
| |
Regards https://github.com/profanity-im/profanity/issues/1396
|
|
|
|
|
| |
We often had a use case where we want the account specific data dir.
Let's create a function for this instead of doing it by hand each time.
|
|
|
|
|
|
|
|
|
| |
Basic implementation of XEP-0373: OpenPGP for XMPP.
https://xmpp.org/extensions/xep-0373.html
Command /ox
Issue: #1331
|
|
|
|
| |
Regards https://github.com/profanity-im/profanity/issues/1342
|
| |
|
|
|
|
|
| |
Is usefult in many cases if we want cleaner code.
Hope this edit didn't break anything though ;-)
|
|
|
|
|
|
|
|
|
| |
Our search was too broad, and thus incorrect.
One of the various mistakes it can cause was
https://github.com/profanity-im/profanity/issues/1308
Fix https://github.com/profanity-im/profanity/issues/1308
|
|
|
|
| |
So we don't have to check for MUC another way.
|
|
|
|
|
|
|
|
|
|
|
| |
Use g_date_time_format() instead of g_date_time_format_iso8601() to only
rely on glib 2.56.0 which is the latest version in Debian Buster
(current stable).
We also only use basic sqlite functions so 3.27.0 should be fine there
(also the one in Debian buster).
Thanks to @DebXWoody.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
so we can more easily grep for it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now dont get the log files from the text files via chat_log_get_previous() anymore.
We use the sql backend via log_database_get_previous_chat().
So far it just has the same behaviour like chat_log_get_previous(),
except that in _chatwin_history() we don't pass the sender to
win_print_history() which should be fixed in a commit soon.
And log_database_get_previous_chat() can later easily be expanded to fix
https://github.com/profanity-im/profanity/issues/205.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Not all cases covered yet.
|
| |
|
| |
|
|
|
|
| |
DB fields should be complete now.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
so we can later migrate.
|
| |
|
|
|
|
|
|
|
|
| |
Maybe if we only use `/connect` we dont have ProfAccount. In that case
we won't log anything. Only if a account is used we log.
If this is the case or the init of the db didn't work we still want
profanity to run but wont log anything to the db.
|
| |
|
| |
|
|
|
|
| |
First trial. Not covering all cases yet.
|