diff options
-rw-r--r-- | jsfiddles/create_room_send_msg/demo.js | 17 | ||||
-rw-r--r-- | jsfiddles/event_stream/demo.js | 18 | ||||
-rw-r--r-- | jsfiddles/example_app/demo.js | 56 | ||||
-rw-r--r-- | jsfiddles/register_login/demo.js | 4 | ||||
-rw-r--r-- | jsfiddles/room_memberships/demo.html | 6 | ||||
-rw-r--r-- | jsfiddles/room_memberships/demo.js | 73 |
6 files changed, 93 insertions, 81 deletions
diff --git a/jsfiddles/create_room_send_msg/demo.js b/jsfiddles/create_room_send_msg/demo.js index c17eb26b98..db2ae2d606 100644 --- a/jsfiddles/create_room_send_msg/demo.js +++ b/jsfiddles/create_room_send_msg/demo.js @@ -25,11 +25,12 @@ $('.login').live('click', function() { }); var getCurrentRoomList = function() { - var url = "http://localhost:8080/matrix/client/api/v1/im/sync?access_token=" + accountInfo.access_token + "&from=END&to=START&limit=1"; + var url = "http://localhost:8080/matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; $.getJSON(url, function(data) { - for (var i=0; i<data.length; ++i) { - data[i].latest_message = data[i].messages.chunk[0].content.body; - addRoom(data[i]); + var rooms = data.rooms; + for (var i=0; i<rooms.length; ++i) { + rooms[i].latest_message = rooms[i].messages.chunk[0].content.body; + addRoom(rooms[i]); } }).fail(function(err) { alert(JSON.stringify($.parseJSON(err.responseText))); @@ -43,7 +44,7 @@ $('.createRoom').live('click', function() { data.room_alias_name = roomAlias; } $.ajax({ - url: "http://localhost:8080/matrix/client/api/v1/rooms?access_token="+accountInfo.access_token, + url: "http://localhost:8080/matrix/client/api/v1/createRoom?access_token="+accountInfo.access_token, type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), @@ -78,11 +79,9 @@ $('.sendMessage').live('click', function() { return; } - var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/messages/$user/$msgid?access_token=$token"; + var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/send/m.room.message?access_token=$token"; url = url.replace("$token", accountInfo.access_token); url = url.replace("$roomid", encodeURIComponent(roomId)); - url = url.replace("$user", encodeURIComponent(accountInfo.user_id)); - url = url.replace("$msgid", msgId); var data = { msgtype: "m.text", @@ -91,7 +90,7 @@ $('.sendMessage').live('click', function() { $.ajax({ url: url, - type: "PUT", + type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), dataType: "json", diff --git a/jsfiddles/event_stream/demo.js b/jsfiddles/event_stream/demo.js index b657b809e2..3f132cd98e 100644 --- a/jsfiddles/event_stream/demo.js +++ b/jsfiddles/event_stream/demo.js @@ -65,14 +65,15 @@ $('.login').live('click', function() { var getCurrentRoomList = function() { $("#roomId").val(""); - var url = "http://localhost:8080/matrix/client/api/v1/im/sync?access_token=" + accountInfo.access_token + "&from=END&to=START&limit=1"; + var url = "http://localhost:8080/matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; $.getJSON(url, function(data) { - for (var i=0; i<data.length; ++i) { - if ("messages" in data[i]) { - data[i].latest_message = data[i].messages.chunk[0].content.body; + var rooms = data.rooms; + for (var i=0; i<rooms.length; ++i) { + if ("messages" in rooms[i]) { + rooms[i].latest_message = rooms[i].messages.chunk[0].content.body; } } - roomInfo = data; + roomInfo = rooms; setRooms(roomInfo); }).fail(function(err) { alert(JSON.stringify($.parseJSON(err.responseText))); @@ -92,17 +93,14 @@ $('.sendMessage').live('click', function() { var sendMessage = function(roomId) { var body = "jsfiddle message @" + $.now(); - var msgId = $.now(); if (roomId.length === 0) { return; } - var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/messages/$user/$msgid?access_token=$token"; + var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/send/m.room.message?access_token=$token"; url = url.replace("$token", accountInfo.access_token); url = url.replace("$roomid", encodeURIComponent(roomId)); - url = url.replace("$user", encodeURIComponent(accountInfo.user_id)); - url = url.replace("$msgid", msgId); var data = { msgtype: "m.text", @@ -111,7 +109,7 @@ var sendMessage = function(roomId) { $.ajax({ url: url, - type: "PUT", + type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), dataType: "json", diff --git a/jsfiddles/example_app/demo.js b/jsfiddles/example_app/demo.js index 295597f0f7..f5e08b326a 100644 --- a/jsfiddles/example_app/demo.js +++ b/jsfiddles/example_app/demo.js @@ -38,8 +38,9 @@ var longpollEventStream = function() { else if (data.chunk[i].type === "m.room.member") { if (viewingRoomId === data.chunk[i].room_id) { console.log("Got new member: " + JSON.stringify(data.chunk[i])); + addMessage(data.chunk[i]); for (j=0; j<memberInfo.length; ++j) { - if (memberInfo[j].target_user_id === data.chunk[i].target_user_id) { + if (memberInfo[j].state_key === data.chunk[i].state_key) { memberInfo[j] = data.chunk[i]; updatedMemberList = true; break; @@ -50,7 +51,7 @@ var longpollEventStream = function() { updatedMemberList = true; } } - if (data.chunk[i].target_user_id === accountInfo.user_id) { + if (data.chunk[i].state_key === accountInfo.user_id) { getCurrentRoomList(); // update our join/invite list } } @@ -133,7 +134,7 @@ $('.createRoom').live('click', function() { data.room_alias_name = roomAlias; } $.ajax({ - url: "http://localhost:8080/matrix/client/api/v1/rooms?access_token="+accountInfo.access_token, + url: "http://localhost:8080/matrix/client/api/v1/createRoom?access_token="+accountInfo.access_token, type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), @@ -154,14 +155,15 @@ $('.createRoom').live('click', function() { // ************** Getting current state ************** var getCurrentRoomList = function() { - var url = "http://localhost:8080/matrix/client/api/v1/im/sync?access_token=" + accountInfo.access_token + "&from=END&to=START&limit=1"; + var url = "http://localhost:8080/matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; $.getJSON(url, function(data) { - for (var i=0; i<data.length; ++i) { - if ("messages" in data[i]) { - data[i].latest_message = data[i].messages.chunk[0].content.body; + var rooms = data.rooms; + for (var i=0; i<rooms.length; ++i) { + if ("messages" in rooms[i]) { + rooms[i].latest_message = rooms[i].messages.chunk[0].content.body; } } - roomInfo = data; + roomInfo = rooms; setRooms(roomInfo); }).fail(function(err) { alert(JSON.stringify($.parseJSON(err.responseText))); @@ -179,7 +181,8 @@ var loadRoomContent = function(roomId) { var getMessages = function(roomId) { $("#messages").empty(); - var url = "http://localhost:8080/matrix/client/api/v1/rooms/" + roomId + "/messages/list?access_token=" + accountInfo.access_token + "&from=END&to=START&limit=10"; + var url = "http://localhost:8080/matrix/client/api/v1/rooms/" + + encodeURIComponent(roomId) + "/messages?access_token=" + accountInfo.access_token + "&from=END&dir=b&limit=10"; $.getJSON(url, function(data) { for (var i=data.chunk.length-1; i>=0; --i) { addMessage(data.chunk[i]); @@ -190,7 +193,8 @@ var getMessages = function(roomId) { var getMemberList = function(roomId) { $("#members").empty(); memberInfo = []; - var url = "http://localhost:8080/matrix/client/api/v1/rooms/" + roomId + "/members/list?access_token=" + accountInfo.access_token; + var url = "http://localhost:8080/matrix/client/api/v1/rooms/" + + encodeURIComponent(roomId) + "/members?access_token=" + accountInfo.access_token; $.getJSON(url, function(data) { for (var i=0; i<data.chunk.length; ++i) { memberInfo.push(data.chunk[i]); @@ -212,11 +216,9 @@ $('.sendMessage').live('click', function() { var sendMessage = function(roomId, body) { var msgId = $.now(); - var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/messages/$user/$msgid?access_token=$token"; + var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/send/m.room.message?access_token=$token"; url = url.replace("$token", accountInfo.access_token); url = url.replace("$roomid", encodeURIComponent(roomId)); - url = url.replace("$user", encodeURIComponent(accountInfo.user_id)); - url = url.replace("$msgid", msgId); var data = { msgtype: "m.text", @@ -225,7 +227,7 @@ var sendMessage = function(roomId, body) { $.ajax({ url: url, - type: "PUT", + type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), dataType: "json", @@ -260,13 +262,12 @@ var setRooms = function(roomList) { var membership = $(this).find('td:eq(1)').text(); if (membership !== "join") { console.log("Joining room " + roomId); - var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/members/$user/state?access_token=$token"; + var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/join?access_token=$token"; url = url.replace("$token", accountInfo.access_token); url = url.replace("$roomid", encodeURIComponent(roomId)); - url = url.replace("$user", encodeURIComponent(accountInfo.user_id)); $.ajax({ url: url, - type: "PUT", + type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify({membership: "join"}), dataType: "json", @@ -286,16 +287,33 @@ var setRooms = function(roomList) { }; var addMessage = function(data) { + + var msg = data.content.body; + if (data.type === "m.room.member") { + if (data.content.membership === "invite") { + msg = "<em>invited " + data.state_key + " to the room</em>"; + } + else if (data.content.membership === "join") { + msg = "<em>joined the room</em>"; + } + else if (data.content.membership === "leave") { + msg = "<em>left the room</em>"; + } + else { + msg = "<em>" + data.content.membership + "</em>"; + } + } + var row = "<tr>" + "<td>"+data.user_id+"</td>" + - "<td>"+data.content.body+"</td>" + + "<td>"+msg+"</td>" + "</tr>"; $("#messages").append(row); }; var addMember = function(data) { var row = "<tr>" + - "<td>"+data.target_user_id+"</td>" + + "<td>"+data.state_key+"</td>" + "<td>"+data.content.membership+"</td>" + "</tr>"; $("#members").append(row); diff --git a/jsfiddles/register_login/demo.js b/jsfiddles/register_login/demo.js index 1644f76ac7..270a96786c 100644 --- a/jsfiddles/register_login/demo.js +++ b/jsfiddles/register_login/demo.js @@ -45,7 +45,7 @@ $('.login').live('click', function() { var user = $("#userLogin").val(); var password = $("#passwordLogin").val(); $.getJSON("http://localhost:8080/matrix/client/api/v1/login", function(data) { - if (data.type !== "m.login.password") { + if (data.flows[0].type !== "m.login.password") { alert("I don't know how to login with this type: " + data.type); return; } @@ -60,7 +60,7 @@ $('.logout').live('click', function() { }); $('.testToken').live('click', function() { - var url = "http://localhost:8080/matrix/client/api/v1/im/sync?access_token=" + accountInfo.access_token + "&from=END&to=START&limit=1"; + var url = "http://localhost:8080/matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; $.getJSON(url, function(data) { $("#imSyncText").text(JSON.stringify(data, undefined, 2)); }).fail(function(err) { diff --git a/jsfiddles/room_memberships/demo.html b/jsfiddles/room_memberships/demo.html index 96232e827a..4c1bf6b4bb 100644 --- a/jsfiddles/room_memberships/demo.html +++ b/jsfiddles/room_memberships/demo.html @@ -14,9 +14,9 @@ <input type="text" id="roomId" placeholder="Room ID"></input> <input type="text" id="targetUser" placeholder="Target User ID"></input> <select id="membership"> - <option value="invite">Invite</option> - <option value="join">Join</option> - <option value="leave">Leave</option> + <option value="invite">invite</option> + <option value="join">join</option> + <option value="leave">leave</option> </select> <input type="button" class="changeMembership" value="Change Membership"></input> </form> diff --git a/jsfiddles/room_memberships/demo.js b/jsfiddles/room_memberships/demo.js index b3ce0f0e33..91cc96ab6f 100644 --- a/jsfiddles/room_memberships/demo.js +++ b/jsfiddles/room_memberships/demo.js @@ -4,6 +4,14 @@ var showLoggedIn = function(data) { accountInfo = data; getCurrentRoomList(); $(".loggedin").css({visibility: "visible"}); + $("#membership").change(function() { + if ($("#membership").val() === "invite") { + $("#targetUser").css({visibility: "visible"}); + } + else { + $("#targetUser").css({visibility: "hidden"}); + } +}); }; $('.login').live('click', function() { @@ -31,10 +39,11 @@ var getCurrentRoomList = function() { // solution but that is out of scope of this fiddle. $("#rooms").find("tr:gt(0)").remove(); - var url = "http://localhost:8080/matrix/client/api/v1/im/sync?access_token=" + accountInfo.access_token + "&from=END&to=START&limit=1"; + var url = "http://localhost:8080/matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; $.getJSON(url, function(data) { - for (var i=0; i<data.length; ++i) { - addRoom(data[i]); + var rooms = data.rooms; + for (var i=0; i<rooms.length; ++i) { + addRoom(rooms[i]); } }).fail(function(err) { alert(JSON.stringify($.parseJSON(err.responseText))); @@ -44,7 +53,7 @@ var getCurrentRoomList = function() { $('.createRoom').live('click', function() { var data = {}; $.ajax({ - url: "http://localhost:8080/matrix/client/api/v1/rooms?access_token="+accountInfo.access_token, + url: "http://localhost:8080/matrix/client/api/v1/createRoom?access_token="+accountInfo.access_token, type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), @@ -78,44 +87,32 @@ $('.changeMembership').live('click', function() { return; } - var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/members/$user/state?access_token=$token"; + var url = "http://localhost:8080/matrix/client/api/v1/rooms/$roomid/$membership?access_token=$token"; url = url.replace("$token", accountInfo.access_token); url = url.replace("$roomid", encodeURIComponent(roomId)); - url = url.replace("$user", encodeURIComponent(member)); + url = url.replace("$membership", membership); - if (membership === "leave") { - $.ajax({ - url: url, - type: "DELETE", - contentType: "application/json; charset=utf-8", - dataType: "json", - success: function(data) { - getCurrentRoomList(); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); - } - else { - var data = { - membership: membership + var data = {}; + + if (membership === "invite") { + data = { + user_id: member }; - - $.ajax({ - url: url, - type: "PUT", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(data) { - getCurrentRoomList(); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); } + + $.ajax({ + url: url, + type: "POST", + contentType: "application/json; charset=utf-8", + data: JSON.stringify(data), + dataType: "json", + success: function(data) { + getCurrentRoomList(); + }, + error: function(err) { + alert(JSON.stringify($.parseJSON(err.responseText))); + } + }); }); $('.joinAlias').live('click', function() { @@ -125,7 +122,7 @@ $('.joinAlias').live('click', function() { url = url.replace("$roomalias", encodeURIComponent(roomAlias)); $.ajax({ url: url, - type: "PUT", + type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify({}), dataType: "json", |