diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js
index 6db2659986..072742cf10 100644
--- a/src/components/structures/RoomView.js
+++ b/src/components/structures/RoomView.js
@@ -824,7 +824,14 @@ module.exports = React.createClass({
action: 'leave_room',
room_id: this.props.roomId,
});
- this.props.onFinished();
+ },
+
+ onForgetClick: function() {
+ MatrixClientPeg.get().forget(this.props.roomId).done(function() {
+ dis.dispatch({ action: 'view_next_room' });
+ }, function(err) {
+ console.error("Failed to forget room: %s", err);
+ });
},
onRejectButtonClicked: function(ev) {
@@ -1249,8 +1256,18 @@ module.exports = React.createClass({
return (
-
+
{ fileDropTarget }
diff --git a/src/components/views/rooms/RoomHeader.js b/src/components/views/rooms/RoomHeader.js
index 068dff85d6..aaf570305c 100644
--- a/src/components/views/rooms/RoomHeader.js
+++ b/src/components/views/rooms/RoomHeader.js
@@ -129,7 +129,17 @@ module.exports = React.createClass({
if (this.props.onLeaveClick) {
leave_button =
-

+

+
;
+ }
+
+ var forget_button;
+ if (this.props.onForgetClick) {
+ forget_button =
+
+
;
}
@@ -147,6 +157,7 @@ module.exports = React.createClass({
{cancel_button}
{save_button}
+ { forget_button }
{ leave_button }

diff --git a/src/components/views/rooms/RoomList.js b/src/components/views/rooms/RoomList.js
index a89dd55f1a..c48ed5880f 100644
--- a/src/components/views/rooms/RoomList.js
+++ b/src/components/views/rooms/RoomList.js
@@ -168,6 +168,9 @@ module.exports = React.createClass({
if (me && me.membership == "invite") {
s.lists["im.vector.fake.invite"].push(room);
}
+ else if (me && (me.membership === "leave" || me.membership === "ban")) {
+ s.lists["im.vector.fake.archived"].push(room);
+ }
else {
var shouldShowRoom = (
me && (me.membership == "join")