aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix some indentation; move json_object_unref back to where it wasRichard van der Hoff2016-01-031-6/+6
|
* Allow building for winpidginEion Robb2016-01-041-14/+9
|
* Add a changes filev0.0.0Richard van der Hoff2016-01-021-0/+4
|
* Update notes/strings about synapse versionsRichard van der Hoff2016-01-022-5/+3
|
* Use Client API r0 rather than a mix of v1 and v2_alpha.Richard van der Hoff2016-01-021-5/+7
|
* Note that we require bleeding-edge synapseRichard van der Hoff2015-11-201-4/+5
|
* Update for /sync response changesRichard van der Hoff2015-11-193-32/+17
| | | | | https://github.com/matrix-org/matrix-doc/pull/165 changes the format of the /sync response. Update our code to accept it.
* Handle state events which arrive in the timelineRichard van der Hoff2015-11-191-3/+9
| | | | Post-SPEC-254, we now need to handle state events which arrive in the timeline.
* Fix a bug which stopped room name changes being handledRichard van der Hoff2015-11-192-2/+3
| | | | If a room's name changed, we didn't update the UI.
* Fix infinite loop in matrix_room_displayname_to_useridRichard van der Hoff2015-11-031-6/+7
| | | | | Double-clicking a user in the chat window would cause an infinite loop. Because apparently I fail at linked-lists.
* Invert the sense of the 'full_state' flagRichard van der Hoff2015-11-034-16/+19
| | | | | Inverting it allows us to include a warning that it needs a bleeding-edge synapse.
* Update the README, and add some ascii-art to libmatrix.hRichard van der Hoff2015-11-032-4/+84
| | | | | ... because I have a useful drawing on my desk, and it's no use to anyone else there.
* Remove cruft from libmatrix.cRichard van der Hoff2015-11-031-812/+81
| | | | | Removed all of the stuff that got copied out of dummyprpl and isn't relevant to matrix.
* Hopefully fix bugs where the member list got out of syncRichard van der Hoff2015-11-034-253/+392
| | | | | | | | | | We needed better tracking of what we had told purple was each member's displayname. It was terribly confusing having matrix-roommembers try to track it implicitly, which was causing bugs where we were getting out of sync. Instead, let matrix-roommembers hold opaque data for each member, which matrix-room then uses to keep track of the purple displayname. Then move a bunch of the member-update-handling stuff back into matrix-room.
* Include invited members in room name calculationsRichard van der Hoff2015-11-033-5/+12
| | | | We want to include invited members when we are considering names for rooms.
* Implement get_cb_real_nameRichard van der Hoff2015-11-025-1/+72
| | | | | Fixing this means purple is slightly less confused about who the users in our chats are.
* Show correct displayname on our own outgoing messagesRichard van der Hoff2015-11-023-3/+13
| | | | | Make the displayname on our sent messages match that in the member list for the room.
* Reload old messages on first connectionRichard van der Hoff2015-11-023-1/+17
| | | | | The Pidgin UI is crappy for finding old messages, so reload them from the server on startup.
* Mark chats as active when we reconnect.Richard van der Hoff2015-11-022-5/+15
| | | | | After a connection disconnects, and is subsequently reconnected, mark the affected conversations as active.
* Handle incoming room invitesRichard van der Hoff2015-11-029-48/+178
| | | | | Propagate received invites to the UI, and correctly handle accepting/refusing them.
* Use m.room.canonical_alias when it existsRichard van der Hoff2015-11-021-0/+11
| | | | Some rooms have a canonical alias which should be used for their names.
* Refactor the statetable out to a separate fileRichard van der Hoff2015-10-306-196/+400
| | | | | Apart from generally being cleaner, we're going to want to use the statetable in isolation of rooms, to handle invites.
* Implement joining roomsRichard van der Hoff2015-10-305-1/+142
| | | | Double-clicking on a room in the buddy list now joins a room if necessary.
* Leave rooms when pidgin tells us to.Richard van der Hoff2015-10-303-8/+72
| | | | If a user unticks 'persistent', then closes a tab, we should leave the room.
* Fix segfault when JSON parsing failsRichard van der Hoff2015-10-301-1/+1
| | | | | We weren't correctly initialising a GError *, which meant that we then tried to display the error message from an invalid location.
* Fix segfault on homeserver connection dropRichard van der Hoff2015-10-302-4/+13
| | | | | | | If the connection dropped in the middle of us receiving a sync response, we tried to set the next_batch setting on the account to an invalid string (because we failed to initialise the pointer). Fix the segfault that caused, and clean up some of the other error handling in the area at the same time.
* Move the room member table management out to a separate fileRichard van der Hoff2015-10-296-316/+549
| | | | | | | | | Trying to keep the size of matrix-room.c under control, move the membertable management bits out to a separate file. Also do away with the special handling for the first /sync of a room, and instead *always* group together member arrivals/departures until after we've finished handling the state table.
* Set the 'persistent' flag on rooms when added to the buddy listRichard van der Hoff2015-10-292-29/+45
| | | | The 'persistent' behaviour matches the matrix model much better.
* README: We now have member lists in rooms. Mostly.Richard van der Hoff2015-10-291-2/+1
|
* Improve error-handling in API requestsRichard van der Hoff2015-10-294-89/+138
| | | | | | | | | Try to deal better with errors which occur during API requests, in terms of reporting them to the user/logs, and in terms of not writing to freed structures. Also do some sanity-checking of the supplied homeserver URL: make sure it is https:// or http://, and make sure we get the right number of '/'s.
* Set HTTP request headers correctly for requests via proxyRichard van der Hoff2015-10-292-15/+26
| | | | | When making a request via a proxy, we are supposed to put the absolute URL in the request-line.
* Build our own GET requestsRichard van der Hoff2015-10-281-15/+68
| | | | | Libpurple assumes that path+querystring is < 256 characters, so we're going to have to build our own GET requests as well as POSTs.
* Add an indication of the members of a roomRichard van der Hoff2015-10-273-146/+407
| | | | | | | | An initial implementation for displaying the people in a room. This isn't very nice, and the code is somewhat thrown together as a prototype/proof-of-concept for now. We probably want to refactor matrix-room.c, which is now altogether too unwieldy. It probably also makes sense to try to do some of this stuff on the server.
* Request a full_state sync the first time we connect to an account.Richard van der Hoff2015-10-274-66/+47
| | | | | | This requires the new full_state support from https://github.com/matrix-org/synapse/pull/332. It's much cleaner than trying to request the state the first time we hear about a room.
* Better room names for one-to-one chatsRichard van der Hoff2015-10-265-15/+149
| | | | Give rooms a name according to who's in it, if there is no proper name.
* Update the room state on first messageRichard van der Hoff2015-10-224-3/+89
| | | | | Now that we persist the next_batch identifier, we no longer get all of the state for a room, so we need to explicitly fetch it on initial sync.
* Don't send new messages when the connection is droppingRichard van der Hoff2015-10-221-19/+29
|
* Abort active sync when the account disconnectsRichard van der Hoff2015-10-225-4/+50
| | | | | Apart from seeming like the expected behaviour, this should stop us ending up with segfaults when the sync completes after the connection has gone away.
* Refactor the connection codeRichard van der Hoff2015-10-2213-168/+250
| | | | | | | Move all matrix-login and bits of matrix-sync into matrix-connection, where it seems to make more sense. Also move MatrixConnectionData into matrix-connection.h
* Rename MatrixAccount to MatrixConnectionDataRichard van der Hoff2015-10-228-90/+76
| | | | | This structure comes and goes with each connection, so rename it to better reflect its lifecycle.
* Implement a 'cancel' method for the matrix-api interfaceRichard van der Hoff2015-10-223-23/+65
| | | | | | We're going to need to do proper cancelling of API requests, which means passing around enough state to make that possible, so return the MatrixApiRequestData * from matrix_api_*.
* Stash the next_batch token in the account settingsRichard van der Hoff2015-10-224-8/+25
| | | | | Persist the next_batch, so that we don't get old scrollback each time we open the application.
* Add comments for matrixprpl_list_iconRichard van der Hoff2015-10-221-4/+13
| | | | Pull it out of the nullprpl mess, now that we are usign it properly.
* Install matrix iconsRichard van der Hoff2015-10-224-3/+13
| | | | Install the artwork in the right place so that pidgin uses it.
* Eclipse settingsRichard van der Hoff2015-10-213-0/+109
|
* Update README and file commentsRichard van der Hoff2015-10-2113-27/+103
|
* Local echoRichard van der Hoff2015-10-213-43/+71
| | | | Do local echo of sent messages, and ignore the remote echo.
* Initial implementation of sending messagesRichard van der Hoff2015-10-215-68/+370
| | | | | | Implement an event queue, and send messages through it. We still need to sort out local echo.
* Implement loginRichard van der Hoff2015-10-204-42/+179
| | | | | Username, password, and homeserver are now configurable options, and we use the login api rather than making the user get their own access token.
* Use libhttp_parser for parsing the API responseRichard van der Hoff2015-10-204-102/+204
| | | | Use an external http parser, instead of inventing that wheel ourselves.