1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00
Commit Graph

6452 Commits

Author SHA1 Message Date
Michael Vetter
70c8fd4657 Simplify _tray_autocomplete() 2020-11-05 09:32:25 +01:00
Michael Vetter
36e0bfde46 Simplify _sub_autocomplete() 2020-11-05 09:31:59 +01:00
Michael Vetter
c65f03884e Simplify cmd_ac_complete_filepath() 2020-11-05 09:27:37 +01:00
Michael Vetter
2184e92c19 Simplify cmd_ac_complete() 2020-11-05 09:24:17 +01:00
Michael Vetter
3d307fe341 Get rid of str_contains()
We can use strchr() here.
2020-11-02 18:52:25 +01:00
Michael Vetter
90c4667e3b Remove non existent functions 2020-11-02 18:50:19 +01:00
Michael Vetter
3b3c9bf4d5 Print all error stanzas
Regards https://github.com/profanity-im/profanity/issues/1435

So far we didn't print the error if it contained `<error
type="cancel">`. It appears that the code always thought this is a
service-not-available (so one is either blocked or the account doesn't
exist) and printed `Recipient not found`.

But there can be other errors as well. Like in above mentioned issue
`not-allowed`.

Let's just print the text.

In case of the cancel type we still remove the jid from the chat
sessions. I'm not entirely sure whether this needs to be done in other
cases too.
2020-10-30 15:09:40 +01:00
DebXWoody
15f45fcfe1 Fixed Date format for MAM request
Using g_date_time_new_now_utc instead of g_date_time_new_now_local
Using g_date_time_format(timestamp, "%FT%TZ") instead of "%FT%T%:::z"

Edit:
DebXWoody created this patch because ejabberd returned an error with the
old date format.
2020-10-28 09:06:49 +01:00
Michael Vetter
da513a924c functest: dont link against tcl
Regards https://github.com/profanity-im/profanity/issues/1354 point 3.
Since we dont use tcl and just libexpect I don't think we actually need
to link against it.
2020-10-22 16:14:48 +02:00
Michael Vetter
d05400fe6d
Merge pull request #1433 from profanity-im/bookmark
xmpp/bookmark: don't use uninitialised field
2020-10-19 23:21:00 +02:00
Dmitry Podgorny
3a86b997ca xmpp/bookmark: don't use uninitialised field
When a bookmark is created with '/bookmark add' command,
ext_gajim_minimize remains uninitialised in new bookmark object and
is read further in _send_bookmarks().

Initialise the field with 0.

Fixes #1432.
2020-10-19 00:00:00 +03:00
Michael Vetter
693fdcce65 functest: Make char const 2020-10-15 10:12:33 +02:00
Michael Vetter
53a833d647
Merge pull request #1430 from spth/master
Since the string from strerror should never be modified, use const.
2020-10-14 10:12:16 +02:00
Philipp Klaus Krause
6a276e74e3 Since the string from strerror should never be modified, use const. 2020-10-14 09:52:26 +02:00
Michael Vetter
72ce934b58
Merge pull request #1428 from profanity-im/use-after-free
Fix use-after-free which is introduced in cons_alert()
2020-10-09 16:42:45 +02:00
Dmitry Podgorny
64df8630d4 Fix use-after-free which is introduced in cons_alert()
Commit f12161f fixes memory leak, but introduces use-after-free issue.
Allocate new memory for win_name with g_strdup() since it is freed with
g_free() later.
2020-10-09 13:39:52 +03:00
Michael Vetter
a80b5603a4 travis: disable debian, ubuntu, fedora for now
Until we have fixed their build issues.
(Py2/Py3 etc)
2020-10-09 09:49:27 +02:00
Michael Vetter
315863575b
Merge pull request #1426 from profanity-im/cleanup/newlibs
Cleanup/newlibs
2020-10-09 09:41:34 +02:00
Michael Vetter
f1b9bb49e1 configure: check for python3-config 2020-10-09 09:38:47 +02:00
Michael Vetter
0211ab0e30 travis: add libstrophe to tw
So far only libstrophe is in 0.10.0 on TW.
Lets just add both since configure will choose libmesode anyways if both
are installed.
And we plan to deprecate libmesode later anyways.
2020-10-09 09:38:47 +02:00
Michael Vetter
4d4c094b5f Enable _handle_ox_chat() payload/body decryption
This part of the code was waiting for xmpp_stanza_new_from_string() from
libstrophe 0.10.0.
2020-10-09 09:38:47 +02:00
Michael Vetter
f12161f190 Fix memleak in cons_alert()
Close https://github.com/profanity-im/profanity/issues/1427
2020-10-07 22:50:24 +02:00
Michael Vetter
7f5169c2e9 Use g_date_time_format_iso8601()
This partly reverts d3a387a0ec.

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.
2020-09-30 19:43:58 +02:00
Michael Vetter
17b1b431f5 Replace stanza_get_child_by_name_and_ns with xmpp_stanza_get_child_by_name_and_ns
Replace our own stanza_get_child_by_name_and_ns() with the upstreamed
xmpp_stanza_get_child_by_name_and_ns() provided by the new
libstrophe/libmesode 0.10.0.
2020-09-30 19:41:08 +02:00
Michael Vetter
0a9200e268 Require libstrophe/libmesode 0.10.0 2020-09-30 19:30:40 +02:00
Michael Vetter
3d082bfb66
Merge pull request #1424 from niacat/netbsd
NetBSD support
2020-09-07 10:31:33 +02:00
nia
ce67753423 Avoid passing NULL pointers to curses functions.
This allows profanity to work without segfaulting from NULL
pointer dereferences when used with NetBSD libcurses.

Basic functionality was tested, there may be more NULL pointer
issues hiding.
2020-09-04 12:59:20 +02:00
nia
52e9be4abc Basic support for building on NetBSD.
- Add NetBSD as a recognized platform without -ldl.
- Allow building with NetBSD libcurses instead of ncurses.
- Portability to NetBSD sh - use POSIX '=' instead of '=='.
2020-09-04 12:55:20 +02:00
Michael Vetter
4f1caeca1e
Merge pull request #1421 from misaflo/theme-gruvbox
Update gruvbox theme (background color)
2020-08-27 11:12:26 +02:00
Florent Lévigne
f90f9e0c0f Update gruvbox theme (background color) 2020-08-27 10:49:30 +02:00
Michael Vetter
98b9cf061c
Merge pull request #1415 from profanity-im/gtk23
configure: support gtk3 too
2020-08-10 14:44:47 +02:00
Michael Vetter
02cf186476
Merge pull request #1416 from profanity-im/memleaks2
Fix memory leak in _handle_chat()
2020-08-10 14:43:57 +02:00
Dmitry Podgorny
7553676b40 Fix memory leak in _handle_chat()
jid_create() for attribute "to" was called twice and the 1st object was
lost.
2020-08-07 00:47:45 +03:00
Michael Vetter
05d19cb6e3 configure: support gtk3 too
Make Profanity compilable with gtk2 and gtk3.
Prefer the latter.
2020-08-04 18:05:04 +02:00
Michael Vetter
3e7776a9fa
Merge pull request #1413 from profanity-im/feature/mam-addtodb-nodup
MAM: Only add each message once to database
2020-07-24 10:53:03 +02:00
Michael Vetter
c9b154b1a2 database: Only insert if there is no entry with same archive_id
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
2020-07-23 15:23:18 +02:00
Michael Vetter
8852db03d6 Parse stanza-id
Add stable stanza IDs to ProfMessage struct.

We parse this for 1:1 messages (MUC needs to be done too).

<stanza-id> for live messages
<result id="x"> for MAM messages

Regards MAM: https://github.com/profanity-im/profanity/issues/660
Regards Stable IDs: https://github.com/profanity-im/profanity/issues/1207
2020-07-23 14:21:27 +02:00
Michael Vetter
5db840e0cc Fix memleak in win_print_outgoing_with_receipt()
We should actually process the receipts also in LMC I think.

Regards https://github.com/profanity-im/profanity/issues/805
2020-07-23 10:06:49 +02:00
Michael Vetter
ade0ff589d parser.c: Use glib
We use malloc() to allcoate memory for the arguments.
But later on in cmd_funcs.c we use g_strfreev() to free it.
Let's use g_malloc() to allocate instead.

Second change is to use g_malloc() and g_free() for a gchar.
2020-07-23 09:42:43 +02:00
Michael Vetter
8c0c5cb28c Fix /correct quotation marks usage
Add new `parse_args_as_one()` function to just use everything after the
command as the argument.

Fix https://github.com/profanity-im/profanity/issues/1404
2020-07-23 09:40:22 +02:00
Michael Vetter
a5ca65453e Fix lastactivity behaviour
Autocomplete only completed on|off.

Now:

`/lastactivity get` -> get server uptime
`/lastactivity get <jid>` -> get user lastactivity
`/lastactivity set on` -> enable for self
`/lastactivity set off` -> disable for self

Fix https://github.com/profanity-im/profanity/issues/1411
2020-07-22 13:13:30 +02:00
Michael Vetter
7319f9eb1d Expand /lastactivity help 2020-07-22 12:49:08 +02:00
Michael Vetter
ca36150d45
Merge pull request #1410 from licaon-kter/patch-1
Fix missed text in #1224
2020-07-22 11:41:05 +02:00
Licaon_Kter
ed4253d413
Fix missed text in #1224 2020-07-22 09:26:36 +00:00
Michael Vetter
5a9f76c16a parser.c: Use helper function to reduce duplicate code
`parse_args()` and `parse_args_with_freetext()` shared a lot of common
code.
Let's have a helper function `_parse_args_helper()` for that. The
`with_freetext` parameter will make it behave like
`parse_args_with_freetext()`.

In preparation for https://github.com/profanity-im/profanity/issues/1404
2020-07-21 10:45:29 +02:00
Michael Vetter
0077d02c86 parse_args(): Call g_free() once 2020-07-21 10:20:34 +02:00
Michael Vetter
86281072f9 Use parse_args_with_freetext() for /correct
This commit partly reverts
8f37afcd37
Which was using a wrong approach to achieve this.

It changed parse_args() to have a -1 for infinite parameters.
But actually parse_args_with_freetext() should have been used exactly
for this behaviour.

Discovered when checking for
https://github.com/profanity-im/profanity/issues/1404
2020-07-20 15:33:19 +02:00
Michael Vetter
c5c969a929
Merge pull request #1407 from wstrm/fix-arch-zst
Change to .tar.zst archives that latest Arch devtools uses
2020-07-20 11:31:13 +02:00
William Wennerström
9ecd37a4d9
Change to .tar.zst archives that latest Arch devtools uses
This is required because of:
https://www.archlinux.org/news/now-using-zstandard-instead-of-xz-for-package-compression/
2020-07-20 10:52:12 +02:00
Michael Vetter
b5794a51bb bookmark_ignore.c: use gchar instead of char 2020-07-20 10:17:35 +02:00