]> www.infradead.org Git - pidgin-chime.git/log
pidgin-chime.git
14 months agoFix use-after-free in audio frag overlap master
David Woodhouse [Fri, 26 Jul 2024 07:47:50 +0000 (08:47 +0100)]
Fix use-after-free in audio frag overlap

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoUpdate README
David Woodhouse [Tue, 21 Nov 2023 11:19:11 +0000 (11:19 +0000)]
Update README

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoTag version 1.5 v1.5
David Woodhouse [Thu, 16 Nov 2023 21:26:04 +0000 (16:26 -0500)]
Tag version 1.5

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoAdd Debian build instructions for 22.04
David Woodhouse [Thu, 16 Nov 2023 17:26:09 +0000 (12:26 -0500)]
Add Debian build instructions for 22.04

22 months agoSet GLIB_VERSION_MIN_REQUIRED and GLIB_VERSION_MAX_ALLOWED
David Woodhouse [Sun, 12 Nov 2023 19:04:53 +0000 (14:04 -0500)]
Set GLIB_VERSION_MIN_REQUIRED and GLIB_VERSION_MAX_ALLOWED

The minimum is fairly ancieht because we build some gtk-2.0 and EDS bits,
and perhaps we could do that *only* for those components as the rest of
the code is clean. But this is OK for now.

Add a maximum too, to help avoid using stuff which is too new to be usable
on ancient distributions we might still want to support. Like g_memdup2().

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoRevert "use g_memdup2"
David Woodhouse [Sun, 12 Nov 2023 19:04:10 +0000 (14:04 -0500)]
Revert "use g_memdup2"

This reverts commit 51efa090a8d3153ce2012d04c77e5e93bee8c8a9.

The g_memdup2() function hasn't been around for that long, and we aren't
going to hit the case where it matters. Just tell glib not to whine.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoRemove volatile from gst_meta_xcbimage_api_get_type()
David Woodhouse [Sun, 12 Nov 2023 18:42:19 +0000 (13:42 -0500)]
Remove volatile from gst_meta_xcbimage_api_get_type()

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoFix prototype of do_conv_deliver_msg()
David Woodhouse [Sun, 12 Nov 2023 14:08:40 +0000 (09:08 -0500)]
Fix prototype of do_conv_deliver_msg()

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoRemove unused eparse label
David Woodhouse [Sun, 12 Nov 2023 14:00:25 +0000 (09:00 -0500)]
Remove unused eparse label

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoFix join_v3 node parsing
David Woodhouse [Sun, 12 Nov 2023 13:59:54 +0000 (08:59 -0500)]
Fix join_v3 node parsing

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agouse g_memdup2
David Woodhouse [Sun, 12 Nov 2023 13:58:47 +0000 (08:58 -0500)]
use g_memdup2

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoFix GSourceFunc casts
David Woodhouse [Sun, 12 Nov 2023 13:57:16 +0000 (08:57 -0500)]
Fix GSourceFunc casts

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoRemove unused eparse label
David Woodhouse [Sun, 12 Nov 2023 13:51:09 +0000 (08:51 -0500)]
Remove unused eparse label

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoRemove 'volatile' from CHIME_DEFINE_ENUM_TYPE
David Woodhouse [Sun, 12 Nov 2023 13:49:58 +0000 (08:49 -0500)]
Remove 'volatile' from CHIME_DEFINE_ENUM_TYPE

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoUse v3 meetings API for finding meetings by PIN
David Woodhouse [Sat, 11 Nov 2023 21:43:49 +0000 (16:43 -0500)]
Use v3 meetings API for finding meetings by PIN

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoAdd v3 join_meeting support
David Woodhouse [Sat, 11 Nov 2023 19:43:04 +0000 (19:43 +0000)]
Add v3 join_meeting support

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoAdd meeting_authz support
David Woodhouse [Sat, 11 Nov 2023 19:37:21 +0000 (19:37 +0000)]
Add meeting_authz support

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoImplement mute-on-join
David Woodhouse [Sat, 11 Nov 2023 19:18:19 +0000 (19:18 +0000)]
Implement mute-on-join

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoTrack mute_on_join_by for meetings
David Woodhouse [Sat, 11 Nov 2023 18:58:59 +0000 (18:58 +0000)]
Track mute_on_join_by for meetings

Don't do anything with it yet; just note it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoChange 'muted' to 'silent' in chime-call where that's what we mean
David Woodhouse [Sat, 11 Nov 2023 18:35:25 +0000 (18:35 +0000)]
Change 'muted' to 'silent' in chime-call where that's what we mean

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoChanged 'muted' to 'audio' flag in chime-meeting.c
David Woodhouse [Sat, 11 Nov 2023 18:32:13 +0000 (18:32 +0000)]
Changed 'muted' to 'audio' flag in chime-meeting.c

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoChanged 'muted' to 'audio' flag in prpl meeting handling
David Woodhouse [Sat, 11 Nov 2023 18:29:05 +0000 (18:29 +0000)]
Changed 'muted' to 'audio' flag in prpl meeting handling

It's not really "muted"; it really is for no audio at all. And we want
to support mute on join so we'll care. Flip the polarity and call it
the 'audio' flag.

Leaving chime_connection_join_meeting_async() alone for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoRework batch fetching of messages to avoid GTimeVal
David Woodhouse [Sat, 11 Nov 2023 18:01:00 +0000 (18:01 +0000)]
Rework batch fetching of messages to avoid GTimeVal

Slightly more than a trivial replacement of GTimeVal, keep the GDateTime
around in msg->fetch_until_dt instead of recreating it for each batch.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoEliminate GTimeVal from chimeseen.c
David Woodhouse [Sat, 11 Nov 2023 18:00:04 +0000 (18:00 +0000)]
Eliminate GTimeVal from chimeseen.c

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoEliminate GTimeVal from rooms.c
David Woodhouse [Sat, 11 Nov 2023 17:20:43 +0000 (17:20 +0000)]
Eliminate GTimeVal from rooms.c

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoEliminate GTimeVal from chime-room.c
David Woodhouse [Sat, 11 Nov 2023 17:19:15 +0000 (17:19 +0000)]
Eliminate GTimeVal from chime-room.c

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoEliminate GTimeVal from chat.c
David Woodhouse [Sat, 11 Nov 2023 17:17:20 +0000 (17:17 +0000)]
Eliminate GTimeVal from chat.c

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoKill parse_time() and replace it with iso8601_to_ms()
David Woodhouse [Sat, 11 Nov 2023 17:15:19 +0000 (17:15 +0000)]
Kill parse_time() and replace it with iso8601_to_ms()

GTimeVal has been deprecated; we need to use GDateTime to parse ISO8601
strings. All we really want is milliseconds so just create a helper to
do that, and convert the one user of parse_time() to it for now. Other
callers of g_time_val_from_iso8601() will use it next...

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoRemove deprecated g_type_class_add_private() for ChimeConnection
David Woodhouse [Sat, 11 Nov 2023 16:37:20 +0000 (16:37 +0000)]
Remove deprecated g_type_class_add_private() for ChimeConnection

Sadly we then have to add an accessor function for it, which shows just
how non-private it actually is...

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
22 months agoUpdate login to use external web browser
David Woodhouse [Sat, 11 Nov 2023 15:39:39 +0000 (15:39 +0000)]
Update login to use external web browser

The login process changed again and this time we really do need a browser.

Use purple_notify_uri() to spawn it, and now we get to specify our own
callback_uri for it to redirect to with the token. Use chime:// because
we already have the scripting set up to capture that.

This means we can fix the problem of multiple accounts with the chime:
scheme handler, by passing the devtoken of the account in question. We
can also pass the UI name so that we know which UI to re-enable it in.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
4 years agoDon't run autogen.sh from debian rules
David Woodhouse [Sun, 5 Sep 2021 11:40:09 +0000 (12:40 +0100)]
Don't run autogen.sh from debian rules

Let's use 'make tmp-dist' to prepare tarballs.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
4 years agoUse make variables in debian/rules.maint
David Woodhouse [Sun, 5 Sep 2021 11:28:33 +0000 (12:28 +0100)]
Use make variables in debian/rules.maint

This makes it easier to override them when doing an out-of-tree build
after 'make tmp-dist'.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
4 years agoUse POSIX tar format for dist
David Woodhouse [Sun, 5 Sep 2021 11:13:12 +0000 (12:13 +0100)]
Use POSIX tar format for dist

4 years agoTag version 1.4.1 v1.4.1
David Woodhouse [Sun, 5 Sep 2021 10:26:19 +0000 (11:26 +0100)]
Tag version 1.4.1

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
4 years agoAdd markdown.h to dist
David Woodhouse [Sun, 5 Sep 2021 10:25:40 +0000 (11:25 +0100)]
Add markdown.h to dist

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
4 years agoAdd desktop file to EXTRA_DIST
David Woodhouse [Sun, 5 Sep 2021 10:16:53 +0000 (11:16 +0100)]
Add desktop file to EXTRA_DIST

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
4 years agoAdd scripts to EXTRA_DIST
David Woodhouse [Sun, 5 Sep 2021 10:14:09 +0000 (11:14 +0100)]
Add scripts to EXTRA_DIST

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
4 years agoTag version 1.4 v1.4
David Woodhouse [Mon, 30 Aug 2021 10:18:58 +0000 (11:18 +0100)]
Tag version 1.4

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
4 years agoFix meeting ended signal handling
David Woodhouse [Sat, 28 Aug 2021 10:24:50 +0000 (11:24 +0100)]
Fix meeting ended signal handling

The arguments for the handler have *always* been wrong; it only ever
worked by fluke because the 'conn' must have ended up in the right
register for the third argument.

4 years agoAdd hackery for authentication via browser
David Woodhouse [Thu, 29 Apr 2021 22:45:37 +0000 (23:45 +0100)]
Add hackery for authentication via browser

4 years agoRename joinable.py to chime-joinable.py and install it
David Woodhouse [Thu, 29 Apr 2021 22:16:16 +0000 (23:16 +0100)]
Rename joinable.py to chime-joinable.py and install it

4 years agoMerge branch 'deb-updates' of github.com:nmeyerhans/pidgin-chime
David Woodhouse [Thu, 29 Apr 2021 22:06:04 +0000 (23:06 +0100)]
Merge branch 'deb-updates' of github.com:nmeyerhans/pidgin-chime

4 years agopackaging: templatize debian/control
Noah Meyerhans [Mon, 15 Mar 2021 17:15:35 +0000 (10:15 -0700)]
packaging: templatize debian/control

Perform substitution of Build-Depends and Depends per Debian/Ubuntu
release.  Build and binary dependencies for several releases are
provided; additional releases are simple to add.

In order to generate the .deb packaging metadata, a workflow such as
the following can be used (note that this assumes apt >= 2.0, which
introduced the 'satisfy' subcommand; on earlier releases, use a
combination of dpkg-checkbuilddeps and manual apt invocations or
pbuilder(8)):

$ make -f debian/rules.maint debian/changelog
$ sudo apt satisfy --no-install-recommends build-essential \
  "$(grep-dctrl -n -s Build-Depends . debian/control)"
$ dpkg-buildpackage -uc -us

This should generate proper Debian binary and source packages
targeting the current distribution provided the following conditions
are met:
1. The build is happening within the target distribution
2. The make, git, lsb-release, and dctrl-tools are installed

debian/control is generated with Build-Depends and binary Depends
substitute from the appropriate debian/deps/build-* and
debian/deps/bin-* files, respectively.

debian/changelog is generated based on git tag data with various
release and version fields substituded with the appropriate values for
the current distribution environment (e.g. Ubuntu focal or Debian
buster).

Signed-off-by: Noah Meyerhans <nmeyerha@amazon.com>
4 years agopackaging: update external links in debian/control
Noah Meyerhans [Mon, 15 Mar 2021 16:31:41 +0000 (09:31 -0700)]
packaging: update external links in debian/control

Add missing Vcs-* headers and correct the Homepage location

Signed-off-by: Noah Meyerhans <nmeyerha@amazon.com>
4 years agoAdded a new 'video' indicator
Ahmet Ipkin [Thu, 11 Mar 2021 09:19:37 +0000 (10:19 +0100)]
Added a new 'video' indicator

Also added a 'ping' handled for video; but it seems harmless and without
any affect :)

5 years agoFix CHIME_PROPS_NEWOBJ
David Woodhouse [Tue, 26 May 2020 15:42:46 +0000 (16:42 +0100)]
Fix CHIME_PROPS_NEWOBJ

Where nick != name the properties weren't getting set. For some reason
I wasn't seeing the warnings that Nacho was.

5 years agoFix leak of machine_id
David Woodhouse [Tue, 26 May 2020 10:58:44 +0000 (11:58 +0100)]
Fix leak of machine_id

5 years agoMerge branch 'wip/nacho/fixups' of github.com:awslabs/pidgin-chime
David Woodhouse [Tue, 26 May 2020 10:51:21 +0000 (11:51 +0100)]
Merge branch 'wip/nacho/fixups' of github.com:awslabs/pidgin-chime

5 years agosignin: do not use a weird opaque structure
Ignacio Casal Quinteiro [Fri, 22 May 2020 14:20:09 +0000 (16:20 +0200)]
signin: do not use a weird opaque structure

We can save the data inside the object itself if required.

5 years agochime-connection: set the default value of the server property
Ignacio Casal Quinteiro [Fri, 22 May 2020 14:16:37 +0000 (16:16 +0200)]
chime-connection: set the default value of the server property

This is in case that we want to use g_object_new instead of the
default constructor

5 years agoAdd attachment upload support for chats
David Woodhouse [Wed, 20 May 2020 14:09:30 +0000 (15:09 +0100)]
Add attachment upload support for chats

Based on PR#36 by Guilherme Melo but teaching Pidgin that chats can
have files instead of manually adding a separate 'Send File' menu item:
https://bitbucket.org/pidgin/main/pull-requests/701

5 years agoCope with screen==NULL in screen_appsink_new_sample()
David Woodhouse [Sun, 5 Apr 2020 23:04:14 +0000 (00:04 +0100)]
Cope with screen==NULL in screen_appsink_new_sample()

I saw a crash with this once, in a long sequence of sharing from A to B
and then B to A testing screen sharing startup/teardown.

It looksl like a race condition when we change to the no_appsink_callbacks
but the callback is already in progress, and the cbdata gets set to NULL.

5 years agoFix EPEL7 build.
David Woodhouse [Sun, 5 Apr 2020 12:35:49 +0000 (13:35 +0100)]
Fix EPEL7 build.

Yeah, we still can't use C99 unless we explicity ask for it.

prpl/markdown.c: In function 'do_markdown':
prpl/markdown.c:48:2: error: 'for' loop initial declarations are only allowed in C99 mode
  for (char *p = *outbound; *p; p++) {
  ^

5 years agoAdd libmarkdown dep to specfile
David Woodhouse [Wed, 1 Apr 2020 20:24:51 +0000 (21:24 +0100)]
Add libmarkdown dep to specfile

5 years agoMerge github.com:phillipberndt/pidgin-chime
David Woodhouse [Wed, 1 Apr 2020 19:39:36 +0000 (20:39 +0100)]
Merge github.com:phillipberndt/pidgin-chime

5 years agoUpdate display name for newly-created peers as they're discovered
David Woodhouse [Wed, 1 Apr 2020 14:21:10 +0000 (15:21 +0100)]
Update display name for newly-created peers as they're discovered

5 years agoI said instantiate *conversations* when they're opened...
David Woodhouse [Wed, 1 Apr 2020 14:20:39 +0000 (15:20 +0100)]
I said instantiate *conversations* when they're opened...

5 years agoInclude <string.h> for dbus.c
David Woodhouse [Wed, 1 Apr 2020 14:00:31 +0000 (15:00 +0100)]
Include <string.h> for dbus.c

5 years agoInstantiate conversations as soon as they're opened; not on first send
David Woodhouse [Wed, 1 Apr 2020 13:52:45 +0000 (14:52 +0100)]
Instantiate conversations as soon as they're opened; not on first send

5 years agoRefine criteria for setting PURPLE_MESSAGE_DELAYED flag
David Woodhouse [Wed, 1 Apr 2020 13:49:40 +0000 (14:49 +0100)]
Refine criteria for setting PURPLE_MESSAGE_DELAYED flag

Not for *all* messages in the last day, but only for the *last* message, if
it's less than a day old.

5 years agoFetch ancient messages in 2-week chunks
David Woodhouse [Tue, 31 Mar 2020 23:00:28 +0000 (00:00 +0100)]
Fetch ancient messages in 2-week chunks

Because the server doesn't play them in chronological order and we have to
sort them, this takes a lot of memory if we do years worth of messages in
one hit. Instead, fetch a heuristically reasonable sized amount at a time.

Fix msg_newer() which was returning the wrong answer, while splitting
out msg_newer_than().

5 years agoLess beeping for ancient messages.
David Woodhouse [Tue, 31 Mar 2020 22:44:40 +0000 (23:44 +0100)]
Less beeping for ancient messages.

5 years agoAdd chime_conversation_get_created_on()
David Woodhouse [Tue, 31 Mar 2020 22:44:26 +0000 (23:44 +0100)]
Add chime_conversation_get_created_on()

5 years agoDon't fetch all rooms at startup if we haven't been mentioned.
David Woodhouse [Tue, 31 Mar 2020 21:24:17 +0000 (22:24 +0100)]
Don't fetch all rooms at startup if we haven't been mentioned.

This takes a huge amount of time for new clients.

5 years agoDon't specify organiser to generate_comp() at all.
David Woodhouse [Tue, 31 Mar 2020 19:54:23 +0000 (20:54 +0100)]
Don't specify organiser to generate_comp() at all.

It was using 'Calendar' for me, and resulting in a non-editable meeting.

Having carefully chosing the right calendar, we should be able to leave
it as NULL and let the default for the calendar be used.

5 years agoDo not try to get the attachment if the node is NULL
Ignacio Casal Quinteiro [Wed, 18 Mar 2020 15:51:12 +0000 (16:51 +0100)]
Do not try to get the attachment if the node is NULL

This fixes lots of warnings when trying to get the attachments

5 years agoAllow joinable meetings to be added
David Woodhouse [Mon, 16 Mar 2020 13:56:20 +0000 (13:56 +0000)]
Allow joinable meetings to be added

This paves the way for something that looks at the calendar and inserts
the meetings where the organiser forgot to invite meet@chime.aws, or
where distribution lists were invited instead of people, so Chime can't
pop up automatically.

5 years agoMerge branch 'fix_Evolution_email_mismatch' of https://github.com/dlenski/pidgin...
David Woodhouse [Mon, 9 Mar 2020 16:41:18 +0000 (16:41 +0000)]
Merge branch 'fix_Evolution_email_mismatch' of https://github.com/dlenski/pidgin-chime

5 years agoAdd End Meeting support
David Woodhouse [Mon, 9 Mar 2020 12:29:59 +0000 (12:29 +0000)]
Add End Meeting support

5 years agomodify Evolution plugin to ensure that a calendar event is always associated with...
Dan Lenski [Wed, 26 Feb 2020 20:15:24 +0000 (12:15 -0800)]
modify Evolution plugin to ensure that a calendar event is always associated with the email address of the source for that calendar

This addresses issue #44, wherein Evolution prevents the user from editing
the created meeting if the Chime username/address doesn't exactly match an
email address configured in Evolution.

5 years agoFix for attachment ignore problem
Ahmet Ipkin [Tue, 10 Dec 2019 22:03:36 +0000 (23:03 +0100)]
Fix for attachment ignore problem

5 years agoxcbimagesrc: disconnect xcb when clearing the context
Ignacio Casal Quinteiro [Thu, 28 Nov 2019 22:35:50 +0000 (23:35 +0100)]
xcbimagesrc: disconnect xcb when clearing the context

5 years agoxcbimagesrc: remove unused method
Ignacio Casal Quinteiro [Thu, 28 Nov 2019 22:28:32 +0000 (23:28 +0100)]
xcbimagesrc: remove unused method

5 years agoPrevent double-close of meetings when chat is closed.
David Woodhouse [Wed, 27 Nov 2019 13:44:53 +0000 (13:44 +0000)]
Prevent double-close of meetings when chat is closed.

5 years agoxcb: gather all the screen data using xcb_screen_t
Ignacio Casal Quinteiro [Wed, 27 Nov 2019 10:17:42 +0000 (11:17 +0100)]
xcb: gather all the screen data using xcb_screen_t

5 years agoFix 'Join with audio' on already-open meeting, ending audio closes chat
David Woodhouse [Tue, 26 Nov 2019 16:09:42 +0000 (16:09 +0000)]
Fix 'Join with audio' on already-open meeting, ending audio closes chat

5 years agoshm check
Ignacio Casal Quinteiro [Mon, 25 Nov 2019 22:15:25 +0000 (23:15 +0100)]
shm check

5 years agowip
Ignacio Casal Quinteiro [Mon, 25 Nov 2019 22:01:23 +0000 (23:01 +0100)]
wip

5 years agoAdd gst-xcbimagesrc to specfile
David Woodhouse [Mon, 25 Nov 2019 19:56:50 +0000 (19:56 +0000)]
Add gst-xcbimagesrc to specfile

5 years agoAdd xcbimagesrc for Nacho to port to XCB
David Woodhouse [Mon, 25 Nov 2019 17:33:54 +0000 (17:33 +0000)]
Add xcbimagesrc for Nacho to port to XCB

It's still just a copy of ximagesrc from gst-plugins-good, passed through sed.

5 years agoFix potential memory leak in screen_send_packet()
David Woodhouse [Fri, 22 Nov 2019 21:46:37 +0000 (21:46 +0000)]
Fix potential memory leak in screen_send_packet()

Not that we use it in that mode, because it sucks as noted even with
the leak fixed.

5 years agoNo really, only send screen if there's a viewer.
David Woodhouse [Fri, 22 Nov 2019 21:27:20 +0000 (21:27 +0000)]
No really, only send screen if there's a viewer.

5 years agoHandle unexpected closure of screen websocket
David Woodhouse [Fri, 22 Nov 2019 21:20:48 +0000 (21:20 +0000)]
Handle unexpected closure of screen websocket

I don't think this was a cause of dropouts because the reported behaviour
was a stall (no movement in the picture). And when the websocket drops,
the shared screen drops and other participants see that it's gone.

But we should handle it appropriately anyway. By visibly dropping and
reporting an error for now. If necessary we'll make it automatically
reconnect like the audio stream does.

5 years agoOnly send screen data when a viewer is actually present
David Woodhouse [Fri, 22 Nov 2019 21:19:50 +0000 (21:19 +0000)]
Only send screen data when a viewer is actually present

That is, when we see the first KEY_REQUEST.

5 years agoMerge branch 'master' of github.com:awslabs/pidgin-chime
David Woodhouse [Fri, 22 Nov 2019 21:10:16 +0000 (21:10 +0000)]
Merge branch 'master' of github.com:awslabs/pidgin-chime

5 years agoFix outbound screenshare dropouts
David Woodhouse [Fri, 22 Nov 2019 21:02:55 +0000 (21:02 +0000)]
Fix outbound screenshare dropouts

I think I've found the reason, along with the reason I could never
reproduce it on demand. The videorate element insists on producing
precisely one output frame for every third of the second... since the
epoch (when GStreamer started up). Not from the start of the call.

So if you've only been running Pidgin for a few seconds and you make
a test call, and it's the first GStreamer pipeline, it all works fine.

Hang up, wait an hour and then share another screen, and it'll send
10800 duplicate copies of the first frame before it ever sends anything
else.

5 years agoRevert "Reduce outbound screenshare bandwidth"
David Woodhouse [Fri, 22 Nov 2019 21:02:26 +0000 (21:02 +0000)]
Revert "Reduce outbound screenshare bandwidth"

This reverts commit c1d4c357b4ebda3c3d3faab9f2f21acdd385016b. It wasn't that.

5 years agochime-call-transport: use the right format type for size_t
Ignacio Casal Quinteiro [Fri, 22 Nov 2019 12:29:34 +0000 (13:29 +0100)]
chime-call-transport: use the right format type for size_t

5 years agoFix compiler warning in chime_connection_send_message_async()
David Woodhouse [Fri, 22 Nov 2019 12:24:44 +0000 (12:24 +0000)]
Fix compiler warning in chime_connection_send_message_async()

 (1) Event suspicious_sizeof: Passing argument "&message" of type
     "gchar const **" and argument "8L /* sizeof (gchar const **) */"
     to function "g_checksum_update" is suspicious. In this case,
     "sizeof (gchar const **)" is equal to "sizeof (gchar const *)",
     but this is not a portable assumption.
 (2) Event remediation: Did you intend to use "sizeof (gchar const *)"
     instead of "sizeof (gchar const **)"?

5 years agochime-connection: remove useless check
Ignacio Casal Quinteiro [Fri, 22 Nov 2019 11:43:40 +0000 (12:43 +0100)]
chime-connection: remove useless check

The server variable is checked right before and set to SIGNIN_DEFAULT
if needed.

5 years agochat: set error to the right purple media
Ignacio Casal Quinteiro [Fri, 22 Nov 2019 11:41:27 +0000 (12:41 +0100)]
chat: set error to the right purple media

5 years agoFix clang static analysis warnings
Ignacio Casal Quinteiro [Fri, 22 Nov 2019 11:32:13 +0000 (12:32 +0100)]
Fix clang static analysis warnings

Even though the code is ok better to deallocate the data
after it is removing it from the list, to avoid the warning
and to make the code clearer.

5 years agoReduce outbound screenshare bandwidth
David Woodhouse [Tue, 19 Nov 2019 15:01:35 +0000 (15:01 +0000)]
Reduce outbound screenshare bandwidth

I've been sharing my screen for an hour now, without any dropouts. Not
really sure if this is it; it's never really been reproducible on
demand when I've been trying to debug it anyway...

5 years agoFix use-after-free crash in message gathering
David Woodhouse [Tue, 19 Nov 2019 10:38:44 +0000 (10:38 +0000)]
Fix use-after-free crash in message gathering

When cleanup_msgs() is called, there may be a pending fetch. We were
seeing crashes when fetch_msgs_cb() ended up using the freed msgs
structure. Let cleanup_msgs() do the freeing instead of the caller
(since we already have this nasty hack that the msgs struct needs
to be at the start of the chat/im structure. And then defer the
final free() until fetch_msgs_cb() is called, if necessary.

5 years agoStop i386 builds failing
David Woodhouse [Mon, 18 Nov 2019 12:05:48 +0000 (12:05 +0000)]
Stop i386 builds failing

We don't care about them much, but the PPA builds for i386 and the failures
are gratuitous and annoying.

5 years agoSort room list and implement 'Leave Room'
David Woodhouse [Mon, 18 Nov 2019 11:43:14 +0000 (11:43 +0000)]
Sort room list and implement 'Leave Room'

We can't leave rooms from the room list display because Pidgin doesn't
let us add action buttons there, but we could do our own version as a
search results box, triggered from the account menu.

Also haven't implemented 'delete room' yet.

5 years agoTag version 1.3 v1.3
David Woodhouse [Fri, 8 Nov 2019 12:50:41 +0000 (12:50 +0000)]
Tag version 1.3

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
5 years agoAdd Do Not Disturb state
David Woodhouse [Fri, 8 Nov 2019 12:48:24 +0000 (12:48 +0000)]
Add Do Not Disturb state

Also fix chime_availability_name() not to crash when it sees a new state
value that isn't in its list.

5 years agochat: do not crash if clicking IM without selecting a contact
Ignacio Casal Quinteiro [Wed, 6 Nov 2019 14:15:09 +0000 (15:15 +0100)]
chat: do not crash if clicking IM without selecting a contact

6 years agoTag version 1.2 v1.2
David Woodhouse [Wed, 22 May 2019 05:59:30 +0000 (06:59 +0100)]
Tag version 1.2

Signed-off-by: David Woodhouse <dwmw2@infradead.org>