| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
https://github.com/matrix-org/matrix-doc/pull/165 changes the format of the
/sync response. Update our code to accept it.
|
|
|
|
| |
Post-SPEC-254, we now need to handle state events which arrive in the timeline.
|
|
|
|
| |
If a room's name changed, we didn't update the UI.
|
|
|
|
|
| |
Double-clicking a user in the chat window would cause an infinite loop. Because
apparently I fail at linked-lists.
|
|
|
|
|
| |
Inverting it allows us to include a warning that it needs a bleeding-edge
synapse.
|
|
|
|
|
| |
... because I have a useful drawing on my desk, and it's no use to anyone else
there.
|
|
|
|
|
| |
Removed all of the stuff that got copied out of dummyprpl and isn't relevant to
matrix.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
We want to include invited members when we are considering names for rooms.
|
|
|
|
|
| |
Fixing this means purple is slightly less confused about who the users in our
chats are.
|
|
|
|
|
| |
Make the displayname on our sent messages match that in the member list for the
room.
|
|
|
|
|
| |
The Pidgin UI is crappy for finding old messages, so reload them from the
server on startup.
|
|
|
|
|
| |
After a connection disconnects, and is subsequently reconnected, mark the
affected conversations as active.
|
|
|
|
|
| |
Propagate received invites to the UI, and correctly handle accepting/refusing
them.
|
|
|
|
| |
Some rooms have a canonical alias which should be used for their names.
|
|
|
|
|
| |
Apart from generally being cleaner, we're going to want to use the statetable
in isolation of rooms, to handle invites.
|
|
|
|
| |
Double-clicking on a room in the buddy list now joins a room if necessary.
|
|
|
|
| |
If a user unticks 'persistent', then closes a tab, we should leave the room.
|
|
|
|
|
| |
We weren't correctly initialising a GError *, which meant that we then
tried to display the error message from an invalid location.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The 'persistent' behaviour matches the matrix model much better.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
When making a request via a proxy, we are supposed to put the absolute URL
in the request-line.
|
|
|
|
|
| |
Libpurple assumes that path+querystring is < 256 characters, so we're going to
have to build our own GET requests as well as POSTs.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Give rooms a name according to who's in it, if there is no proper name.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This structure comes and goes with each connection, so rename it to better
reflect its lifecycle.
|
|
|
|
|
|
| |
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_*.
|
|
|
|
|
| |
Persist the next_batch, so that we don't get old scrollback each time we open
the application.
|
|
|
|
| |
Pull it out of the nullprpl mess, now that we are usign it properly.
|
|
|
|
| |
Install the artwork in the right place so that pidgin uses it.
|
| |
|
| |
|
|
|
|
| |
Do local echo of sent messages, and ignore the remote echo.
|
|
|
|
|
|
| |
Implement an event queue, and send messages through it.
We still need to sort out local echo.
|
|
|
|
|
| |
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 an external http parser, instead of inventing that wheel ourselves.
|