]> www.infradead.org Git - pidgin-chime.git/log
pidgin-chime.git
7 years agoTag version 0.92 v0.92
David Woodhouse [Fri, 4 May 2018 15:24:55 +0000 (16:24 +0100)]
Tag version 0.92

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
7 years agoImport tag/dist bits from openconnect
David Woodhouse [Fri, 4 May 2018 15:22:42 +0000 (16:22 +0100)]
Import tag/dist bits from openconnect

7 years agoDo not BR gcc
David Woodhouse [Fri, 4 May 2018 15:17:13 +0000 (16:17 +0100)]
Do not BR gcc

7 years agoOwn /etc/pki/purple-chime
David Woodhouse [Fri, 4 May 2018 15:16:02 +0000 (16:16 +0100)]
Own /etc/pki/purple-chime

7 years agoRemove 24x24 and 32x32 pixmaps which Pidgin doesn't use
David Woodhouse [Fri, 4 May 2018 15:14:58 +0000 (16:14 +0100)]
Remove 24x24 and 32x32 pixmaps which Pidgin doesn't use

7 years agov0.91 v0.91
David Woodhouse [Fri, 4 May 2018 13:39:24 +0000 (14:39 +0100)]
v0.91

7 years agoFix EPEL compat harder
David Woodhouse [Fri, 4 May 2018 14:13:35 +0000 (15:13 +0100)]
Fix EPEL compat harder

7 years agoAdd certs to dist
David Woodhouse [Fri, 4 May 2018 14:12:25 +0000 (15:12 +0100)]
Add certs to dist

7 years agoFix COPR build
David Woodhouse [Fri, 4 May 2018 13:49:39 +0000 (14:49 +0100)]
Fix COPR build

7 years agoAllow certs to be put elsewhere
David Woodhouse [Fri, 4 May 2018 13:35:07 +0000 (14:35 +0100)]
Allow certs to be put elsewhere

7 years agoClean up spec generation.
David Woodhouse [Fri, 4 May 2018 12:58:18 +0000 (13:58 +0100)]
Clean up spec generation.

Do it at autogen.sh and 'make dist' time, not during configure.
Do it with a shell script and simplify .copr/Makefile

7 years agoMake DTLS cert verification work on EPEL7
David Woodhouse [Fri, 4 May 2018 12:27:25 +0000 (13:27 +0100)]
Make DTLS cert verification work on EPEL7

7 years agoTrust Amazon certificates
David Woodhouse [Fri, 4 May 2018 11:30:22 +0000 (12:30 +0100)]
Trust Amazon certificates

Some of the media endpoints have certificates issued by the Amazon internal
CA. Trust them. Might as well have the Amazon public trust roots too, just
for good measure.

7 years agoDisplay which account we're authenticating to in prompts
David Woodhouse [Tue, 1 May 2018 21:52:44 +0000 (22:52 +0100)]
Display which account we're authenticating to in prompts

7 years agoDon't soup_uri_free(NULL)
David Woodhouse [Tue, 1 May 2018 21:52:30 +0000 (22:52 +0100)]
Don't soup_uri_free(NULL)

7 years agoDo not automatically connect upon object construction.
Isaac Jurado [Tue, 1 May 2018 14:50:37 +0000 (16:50 +0200)]
Do not automatically connect upon object construction.

chime_connection_new() automatically calls chime_connection_connect(), but if
the session token is not given, there hasn't been any chance to connect the
"authenticate" signal in order to properly transfer control through the code.

Instead of implicitly connecting upon object creation, let the caller do it
explicitly.  The purple plugin is also changed to conform to that.

7 years agoRemove PurpleConnection from ChimeConnection.
Isaac Jurado [Tue, 1 May 2018 11:08:29 +0000 (13:08 +0200)]
Remove PurpleConnection from ChimeConnection.

This commit efectively completes the decoupling of libpurple specific glue code
from the self contained Chime client code.  Fixes #2.

7 years agoRefactor the login/sign-in code.
Isaac Jurado [Tue, 1 May 2018 11:02:17 +0000 (13:02 +0200)]
Refactor the login/sign-in code.

To conform with the backend/frontend split of this package, the sign in code has
been refactored by separtaing the screen scrapping parts from the front
end (user interaction) parts.

The split between sign in provider types is no more, so all the login dirty code
lives together in chime/chime-signin.c.

Also, a new utility (chime-get-token) has been incorporated to ease the debug of
the sign in process, and also as an easy way to obtain a session token for Chime
bot developers.

7 years agoValidate DTLS server certificate
David Woodhouse [Tue, 1 May 2018 08:50:50 +0000 (09:50 +0100)]
Validate DTLS server certificate

Hm, it really shouldn't be so easy to forget this. There really is a case
to be made that you should get GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR by
default *unless* you set up verification. Fail safe, not open.

7 years agoHide git error message when building from tarball
David Woodhouse [Mon, 30 Apr 2018 11:08:19 +0000 (12:08 +0100)]
Hide git error message when building from tarball

7 years agoFix COPR build for EPEL7
David Woodhouse [Mon, 30 Apr 2018 10:51:24 +0000 (11:51 +0100)]
Fix COPR build for EPEL7

7 years agoFix error handling for audio/screen connection failure
David Woodhouse [Mon, 30 Apr 2018 09:22:44 +0000 (10:22 +0100)]
Fix error handling for audio/screen connection failure

It turns out https://bitp.m1.ue1.app.chime.aws/ has an invalid SSL cert
(issued from the company internal trust root, thus not trusted outside).

This resulted in no error report but just a silent failure and black
screen. Bad dwmw2. No biscuit.

7 years agoFix dependencies
David Woodhouse [Sun, 29 Apr 2018 23:21:36 +0000 (00:21 +0100)]
Fix dependencies

Don't depend on purple-sipe (doh), require Pidgin 2.14 for the
screenshare bits. Also pull in evolution-chime

7 years agoExplicitly require gstreamer-video-1.0 and split deps
David Woodhouse [Sun, 29 Apr 2018 22:38:09 +0000 (23:38 +0100)]
Explicitly require gstreamer-video-1.0 and split deps

7 years agoAdd ImageMagick to BuildRequires
David Woodhouse [Sun, 29 Apr 2018 22:18:12 +0000 (23:18 +0100)]
Add ImageMagick to BuildRequires

7 years agoTry three...
David Woodhouse [Sun, 29 Apr 2018 22:10:20 +0000 (23:10 +0100)]
Try three...

7 years agoSecond attempt at COPR support
David Woodhouse [Sun, 29 Apr 2018 22:04:54 +0000 (23:04 +0100)]
Second attempt at COPR support

7 years agoAutogenerate specfile, attempt to add COPR 'make srpm' support
David Woodhouse [Sun, 29 Apr 2018 20:30:11 +0000 (21:30 +0100)]
Autogenerate specfile, attempt to add COPR 'make srpm' support

7 years agoBump version to 0.9 v0.9
David Woodhouse [Sun, 29 Apr 2018 20:19:27 +0000 (21:19 +0100)]
Bump version to 0.9

7 years agoUpdate specfile again to split out purple-chime and allow snapshot builds
David Woodhouse [Sun, 29 Apr 2018 20:19:06 +0000 (21:19 +0100)]
Update specfile again to split out purple-chime and allow snapshot builds

7 years agoUpdate specfile
David Woodhouse [Sat, 28 Apr 2018 09:45:10 +0000 (10:45 +0100)]
Update specfile

7 years agoFix dist
David Woodhouse [Sat, 28 Apr 2018 09:37:29 +0000 (10:37 +0100)]
Fix dist

7 years agoMerge pull request #17 from ajorg-aws/master
David Woodhouse [Sat, 28 Apr 2018 09:31:02 +0000 (10:31 +0100)]
Merge pull request #17 from ajorg-aws/master

Add RPM .spec file and make evolution optional

7 years agoDocument provenance of chime-websocket.c better
David Woodhouse [Sat, 28 Apr 2018 06:11:57 +0000 (07:11 +0100)]
Document provenance of chime-websocket.c better

7 years agoMove COPYING.LGPL into standard LICENSE location for Amazon projects
David Woodhouse [Sat, 28 Apr 2018 06:07:41 +0000 (07:07 +0100)]
Move COPYING.LGPL into standard LICENSE location for Amazon projects

7 years agoMerge branch 'master' of github.com:awslabs/PRIVATE-purple-chime
David Woodhouse [Sat, 28 Apr 2018 06:03:01 +0000 (07:03 +0100)]
Merge branch 'master' of github.com:awslabs/PRIVATE-purple-chime

7 years agoAdd gst-chime README, homogenize licence to LGPLv2.1
David Woodhouse [Sat, 28 Apr 2018 06:02:07 +0000 (07:02 +0100)]
Add gst-chime README, homogenize licence to LGPLv2.1

7 years agoAdding a PR template
Henri Yandell [Sat, 28 Apr 2018 06:00:45 +0000 (23:00 -0700)]
Adding a PR template

7 years agoAdding standard files
Henri Yandell [Sat, 28 Apr 2018 05:58:54 +0000 (22:58 -0700)]
Adding standard files

7 years agoAutoload seen plugin
David Woodhouse [Fri, 27 Apr 2018 14:34:24 +0000 (15:34 +0100)]
Autoload seen plugin

7 years agoRemove debug printfs from fs-app-transmitter
David Woodhouse [Fri, 27 Apr 2018 12:32:23 +0000 (13:32 +0100)]
Remove debug printfs from fs-app-transmitter

7 years agoAdd plugin to show when messages are seen
David Woodhouse [Fri, 27 Apr 2018 12:31:17 +0000 (13:31 +0100)]
Add plugin to show when messages are seen

We could actually do delivered vs. seen if we wanted to but this
is a good start.

7 years agoClose Joinable Meetings dialog when there are none left
David Woodhouse [Wed, 25 Apr 2018 14:36:34 +0000 (15:36 +0100)]
Close Joinable Meetings dialog when there are none left

In fact, we should probably do this when we *join* the only meeting too.

7 years agoAllow p2p calls
David Woodhouse [Wed, 25 Apr 2018 14:30:14 +0000 (15:30 +0100)]
Allow p2p calls

7 years agoHandle lack of screenshare in Pidgin more gracefully
David Woodhouse [Tue, 24 Apr 2018 09:39:00 +0000 (10:39 +0100)]
Handle lack of screenshare in Pidgin more gracefully

7 years agoRemove limit on incoming frames for screenshare websocket
David Woodhouse [Mon, 23 Apr 2018 23:09:27 +0000 (00:09 +0100)]
Remove limit on incoming frames for screenshare websocket

7 years agoUse Pidgin support for selecting screenshare window/monitor
David Woodhouse [Mon, 23 Apr 2018 23:08:52 +0000 (00:08 +0100)]
Use Pidgin support for selecting screenshare window/monitor

7 years agoAdd IM button to call participants window
David Woodhouse [Thu, 19 Apr 2018 14:21:05 +0000 (15:21 +0100)]
Add IM button to call participants window

This is somewhat horrid as we have to look them up by name. Must fix
that in Pidgin upstream...

7 years agoHook up 'src-element' for screen shares
David Woodhouse [Thu, 19 Apr 2018 13:55:50 +0000 (14:55 +0100)]
Hook up 'src-element' for screen shares

Requires the corresponding Pidgin patch in
https://bitbucket.org/pidgin/main/pull-requests/322

The ximagesrc thing still doesn't work well, because of XLib threading
issues. We really want a gdkimagesrc instead...

7 years agoRemove imagemagick again as it breaks the build
David Woodhouse [Sun, 15 Apr 2018 22:59:35 +0000 (00:59 +0200)]
Remove imagemagick again as it breaks the build

7 years agoAttempt state management
David Woodhouse [Sun, 15 Apr 2018 21:20:12 +0000 (23:20 +0200)]
Attempt state management

7 years agoBasic implementation of outbound screen share
David Woodhouse [Sat, 14 Apr 2018 22:07:36 +0000 (00:07 +0200)]
Basic implementation of outbound screen share

We're stilling Pidgin it's outbound video for now, so I've been testing
with videotestsrc. Need to teach Pidgin about a screen share media type
and do the "choose monitor / window" UI bits there where they belong.

7 years agoInitial RPM spec file
Andrew Jorgensen [Fri, 13 Apr 2018 17:38:07 +0000 (10:38 -0700)]
Initial RPM spec file

This makes the assumption that the package will be called pidgin-chime because
this is what it's called in `configure.ac`.

The main package includes the pidgin icon, rather than putting it in a separate
package, because it's not harmful to put unused icons on the filesystem in the
case where someone is using libpurple but not pidgin.

The evolution plugin is put into a separate package to minimize dependencies in
the main package.  Can be built --without evolution.

7 years agoMake evolution conditional in configure (enabled by default)
Andrew Jorgensen [Fri, 13 Apr 2018 17:37:47 +0000 (10:37 -0700)]
Make evolution conditional in configure (enabled by default)

I also removed evolution libraries from fs-app-transmitter. I can't tell why
that was done, and it links fine without it.  IIRC in practice `-no-undefined`
doesn't work in autotools packages because it's a positional argument and some
other tools sorts the arguments.

7 years agoRevert "Add libmarkdown (not used yet, but it's being worked on)"
Andrew Jorgensen [Fri, 13 Apr 2018 17:52:12 +0000 (10:52 -0700)]
Revert "Add libmarkdown (not used yet, but it's being worked on)"

This reverts commit dd552aaa62564c210d2757d06d9125a115401951.

7 years agoStart cleaning up screen transport
David Woodhouse [Fri, 13 Apr 2018 16:37:54 +0000 (18:37 +0200)]
Start cleaning up screen transport

7 years agoFirst attempt at screen share RX
David Woodhouse [Fri, 13 Apr 2018 14:53:50 +0000 (16:53 +0200)]
First attempt at screen share RX

Lots of work to do to make this production-worthy but snapshot the first
one that actually worked...

7 years agoIgnore more generated files
Andrew Jorgensen [Fri, 13 Apr 2018 14:14:18 +0000 (07:14 -0700)]
Ignore more generated files

7 years agoFix potential use of NULL chat->call
David Woodhouse [Thu, 12 Apr 2018 09:03:11 +0000 (11:03 +0200)]
Fix potential use of NULL chat->call

7 years agoShow meeting participants' shared-screen status
David Woodhouse [Thu, 12 Apr 2018 08:39:17 +0000 (10:39 +0200)]
Show meeting participants' shared-screen status

7 years agoDon't attempt to send on NULL ws
David Woodhouse [Wed, 11 Apr 2018 11:31:01 +0000 (13:31 +0200)]
Don't attempt to send on NULL ws

On reconnect, RT packets could be submitted while there is no active
transport

7 years agoChange incoming SSRC for each audio reconnect
David Woodhouse [Wed, 11 Apr 2018 08:32:35 +0000 (10:32 +0200)]
Change incoming SSRC for each audio reconnect

The sequence numbers start again; we should probably represent it as a
new SSRC in the RTP packets we fake for GStreamer.

7 years agoAudio transport cleanup
David Woodhouse [Wed, 11 Apr 2018 07:32:18 +0000 (09:32 +0200)]
Audio transport cleanup

Fix some race conditions, implement reconnect, etc.

7 years agoBasic DTLS functionality
David Woodhouse [Mon, 9 Apr 2018 22:27:28 +0000 (00:27 +0200)]
Basic DTLS functionality

Still a little bit in the "Look Ma!" camp but getting there...

7 years agoMonochrome icon for sub-24px images
David Woodhouse [Mon, 9 Apr 2018 20:22:45 +0000 (22:22 +0200)]
Monochrome icon for sub-24px images

7 years agoEstablish UDP 'connection'
David Woodhouse [Mon, 9 Apr 2018 12:44:48 +0000 (14:44 +0200)]
Establish UDP 'connection'

Next, figure out how to actually invoke GnuTLS using it.

7 years agoStart hooking up DTLS transport
David Woodhouse [Mon, 9 Apr 2018 12:06:40 +0000 (14:06 +0200)]
Start hooking up DTLS transport

First, resolve the address at least...

7 years agoSwitch to live mode for appsrc
David Woodhouse [Fri, 6 Apr 2018 09:42:36 +0000 (10:42 +0100)]
Switch to live mode for appsrc

The input data should be handled as a live stream. Maybe this will
help deal with the case where we get incoming silence on some calls when
Pidgin has been running for a while.

7 years agoRemove "do not publish outside Amazon" warnings now we're preparing to do so
David Woodhouse [Thu, 5 Apr 2018 15:52:16 +0000 (16:52 +0100)]
Remove "do not publish outside Amazon" warnings now we're preparing to do so

7 years agoUse Chime logo from Amazon
David Woodhouse [Thu, 5 Apr 2018 15:35:12 +0000 (16:35 +0100)]
Use Chime logo from Amazon

Instead of using an externally-created CC0 image, use the one from
https://aws.amazon.com/architecture/icons/

Add -trim to IM convert invocations.

7 years agoStop using purple headers, make cxn->prpl_conn a 'void *'.
David Woodhouse [Thu, 5 Apr 2018 13:48:39 +0000 (14:48 +0100)]
Stop using purple headers, make cxn->prpl_conn a 'void *'.

It's only used by the login code now, which is going to be cleaned
up. For now though let's just make it a void pointer.

7 years agoFix gratuitous use of cxn->prpl_conn
David Woodhouse [Thu, 5 Apr 2018 13:48:21 +0000 (14:48 +0100)]
Fix gratuitous use of cxn->prpl_conn

We have a better place to get this from

7 years agoMove PRPL sources to prpl/
David Woodhouse [Thu, 5 Apr 2018 13:23:18 +0000 (14:23 +0100)]
Move PRPL sources to prpl/

7 years agoMove Chime core sources to chime/
David Woodhouse [Thu, 5 Apr 2018 13:13:59 +0000 (14:13 +0100)]
Move Chime core sources to chime/

7 years agoSplit libchime and libchimeprpl
David Woodhouse [Thu, 5 Apr 2018 13:03:25 +0000 (14:03 +0100)]
Split libchime and libchimeprpl

Login code goes with libchimeprpl for now, until it gets fixed up.

7 years agoClean up Makefile to split core Chime vs. Purple files
David Woodhouse [Thu, 5 Apr 2018 12:20:28 +0000 (13:20 +0100)]
Clean up Makefile to split core Chime vs. Purple files

7 years agoUpdate protobuf files
David Woodhouse [Thu, 5 Apr 2018 11:42:14 +0000 (12:42 +0100)]
Update protobuf files

7 years agoMake purple_chime_{destroy,init}_chats take a PurpleConnection
David Woodhouse [Thu, 5 Apr 2018 11:39:50 +0000 (12:39 +0100)]
Make purple_chime_{destroy,init}_chats take a PurpleConnection

These have slowly been changed; let's make them consistent again.

7 years agoCancel conversation list update properly on connection close
David Woodhouse [Thu, 5 Apr 2018 11:18:38 +0000 (12:18 +0100)]
Cancel conversation list update properly on connection close

There was race condition with close, and if an update was pending there
was a use-after-free of the connection object. Fix that the same way as
we do for the joinable meetings dialog.

7 years agoHandle transient buddies with NO_SAVE flag
David Woodhouse [Thu, 22 Mar 2018 23:57:21 +0000 (23:57 +0000)]
Handle transient buddies with NO_SAVE flag

We want libpurple to be able to create transient buddies which we can use
purely as a vehicle for conveying presence/name/photo information for an
IM window.

7 years agoFix use-after-free of room->members when it's reopened
David Woodhouse [Thu, 22 Mar 2018 23:56:52 +0000 (23:56 +0000)]
Fix use-after-free of room->members when it's reopened

7 years agoAdd 'disposed' signal to ChimeObjects
David Woodhouse [Fri, 16 Mar 2018 13:56:44 +0000 (13:56 +0000)]
Add 'disposed' signal to ChimeObjects

We'll want this for tracking transient buddies

7 years agoAdd get_cb_alias
David Woodhouse [Thu, 22 Mar 2018 23:43:28 +0000 (23:43 +0000)]
Add get_cb_alias

7 years agoSubscribe to presence channel only when availability first fetched
David Woodhouse [Fri, 16 Mar 2018 21:21:03 +0000 (21:21 +0000)]
Subscribe to presence channel only when availability first fetched

To avoid subscribing to presence of *all* members of chat rooms, only
subscribe once their availability is first requested. This should help
to avoid us getting kicked off when the rate limit kicks in.

7 years agoDo not subscribe to users' profile channels
David Woodhouse [Thu, 15 Mar 2018 17:20:11 +0000 (17:20 +0000)]
Do not subscribe to users' profile channels

We aren't supposed to, and we hit a rate limit and get disconnected if we
subscribe to too much, too quickly.

7 years agoAdd 'Recent Conversations' dialog
David Woodhouse [Wed, 14 Mar 2018 13:32:56 +0000 (13:32 +0000)]
Add 'Recent Conversations' dialog

7 years agoUpdate TODO
David Woodhouse [Tue, 13 Mar 2018 10:09:52 +0000 (10:09 +0000)]
Update TODO

7 years agocall: init protobuf messages when declaring the variables
Ignacio Casal Quinteiro [Tue, 13 Mar 2018 10:04:03 +0000 (11:04 +0100)]
call: init protobuf messages when declaring the variables

7 years agoRequire fonts-symbola for the 🔇 🔈 🔉 🔊 characters.
David Woodhouse [Tue, 13 Mar 2018 09:21:04 +0000 (09:21 +0000)]
Require fonts-symbola for the ðŸ”‡ ðŸ”ˆ ðŸ”‰ ðŸ”Š characters.

7 years agoNo need for backslashes
Ignacio Casal Quinteiro [Tue, 13 Mar 2018 09:07:21 +0000 (10:07 +0100)]
No need for backslashes

7 years agoattachments: remove exec permission
Ignacio Casal Quinteiro [Tue, 13 Mar 2018 08:09:11 +0000 (09:09 +0100)]
attachments: remove exec permission

7 years agoMore audio cleanup
David Woodhouse [Wed, 7 Mar 2018 20:32:03 +0000 (20:32 +0000)]
More audio cleanup

Fix up lifetime handling on the appsrc/appsink and uninstall the callbacks
when we're done.

Also fix up the timer handling for empty outbound packets. When the system
was slow we were sending 'muted' RT packets in between the audio frames,
so set the timers *only* when we're actually muted. If we fail to send
audio at other times, let it just do a red mic like it should.

7 years agoSlight cleanup for call media handling
David Woodhouse [Wed, 7 Mar 2018 16:33:38 +0000 (16:33 +0000)]
Slight cleanup for call media handling

The call is connecting before do_join_chat() is ever called, which means we
may miss some of the early state transitions. Try to cope with that.

We probably want to drive the call connection directly from chat code in
the end, but this will do for now.

Also decouple the media setup and connection; the call window in Pidgin
should now say 'Calling...' and then 'Call in progress' once it's connected.

Hopefully this helps to deal with some of the issues with slow call setup.
I *was* able to reproduce the ever-slower call connection but now I can't.
Not sure if that's just coincidence...

7 years agoFix up some muted/silent confusion
David Woodhouse [Wed, 7 Mar 2018 15:15:21 +0000 (15:15 +0000)]
Fix up some muted/silent confusion

7 years agoThese need not to be const now that we actually free them.
David Woodhouse [Wed, 7 Mar 2018 15:10:55 +0000 (15:10 +0000)]
These need not to be const now that we actually free them.

7 years agoSlight cleanup of media setup, leak fixes
David Woodhouse [Wed, 7 Mar 2018 14:16:05 +0000 (14:16 +0000)]
Slight cleanup of media setup, leak fixes

7 years agoFix unimplemented free_participant()
David Woodhouse [Wed, 7 Mar 2018 14:15:35 +0000 (14:15 +0000)]
Fix unimplemented free_participant()

Probably didn't need valgrind to see *that* one was a leak...

7 years agoClean up fetch_presences() idle handling
David Woodhouse [Wed, 7 Mar 2018 12:31:41 +0000 (12:31 +0000)]
Clean up fetch_presences() idle handling

Properly avoid re-running the function when it's already scheduled, and
ensure we cancel it when we need to too. Also ensure that disposed contacts
are removed from the 'contacts_needed' list.

7 years agoFree members list for group conversations
David Woodhouse [Wed, 7 Mar 2018 13:39:48 +0000 (13:39 +0000)]
Free members list for group conversations

7 years agoFix leak of data messages
David Woodhouse [Wed, 7 Mar 2018 13:26:02 +0000 (13:26 +0000)]
Fix leak of data messages