mirror of https://github.com/vector-im/riot-web
permalink is one word
parent
476b81fc1e
commit
f97ea37717
|
@ -525,7 +525,7 @@ module.exports = React.createClass({
|
||||||
eventSendStatus={mxEv.status}
|
eventSendStatus={mxEv.status}
|
||||||
tileShape={this.props.tileShape}
|
tileShape={this.props.tileShape}
|
||||||
isTwelveHour={this.props.isTwelveHour}
|
isTwelveHour={this.props.isTwelveHour}
|
||||||
permaLinkCreator={this.props.permaLinkCreator}
|
permalinkCreator={this.props.permaLinkCreator}
|
||||||
last={last} isSelectedEvent={highlight} />
|
last={last} isSelectedEvent={highlight} />
|
||||||
</li>,
|
</li>,
|
||||||
);
|
);
|
||||||
|
|
|
@ -30,7 +30,7 @@ import Promise from 'bluebird';
|
||||||
import filesize from 'filesize';
|
import filesize from 'filesize';
|
||||||
const classNames = require("classnames");
|
const classNames = require("classnames");
|
||||||
import { _t } from '../../languageHandler';
|
import { _t } from '../../languageHandler';
|
||||||
import {RoomPermaLinkCreator} from "../../matrix-to";
|
import {RoomPermalinkCreator} from "../../matrix-to";
|
||||||
|
|
||||||
const MatrixClientPeg = require("../../MatrixClientPeg");
|
const MatrixClientPeg = require("../../MatrixClientPeg");
|
||||||
const ContentMessages = require("../../ContentMessages");
|
const ContentMessages = require("../../ContentMessages");
|
||||||
|
@ -659,8 +659,8 @@ module.exports = React.createClass({
|
||||||
this._calculateRecommendedVersion(room);
|
this._calculateRecommendedVersion(room);
|
||||||
this._updateE2EStatus(room);
|
this._updateE2EStatus(room);
|
||||||
if (!this.state.permaLinkCreator) {
|
if (!this.state.permaLinkCreator) {
|
||||||
const permaLinkCreator = new RoomPermaLinkCreator(room);
|
const permalinkCreator = new RoomPermalinkCreator(room);
|
||||||
permaLinkCreator.start();
|
permalinkCreator.start();
|
||||||
this.setState({permaLinkCreator});
|
this.setState({permaLinkCreator});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1230,7 +1230,7 @@ module.exports = React.createClass({
|
||||||
searchResult={result}
|
searchResult={result}
|
||||||
searchHighlights={this.state.searchHighlights}
|
searchHighlights={this.state.searchHighlights}
|
||||||
resultLink={resultLink}
|
resultLink={resultLink}
|
||||||
permaLinkCreator={this.state.permaLinkCreator}
|
permalinkCreator={this.state.permaLinkCreator}
|
||||||
onWidgetLoad={onWidgetLoad} />);
|
onWidgetLoad={onWidgetLoad} />);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1838,7 +1838,7 @@ module.exports = React.createClass({
|
||||||
showUrlPreview = {this.state.showUrlPreview}
|
showUrlPreview = {this.state.showUrlPreview}
|
||||||
className="mx_RoomView_messagePanel"
|
className="mx_RoomView_messagePanel"
|
||||||
membersLoaded={this.state.membersLoaded}
|
membersLoaded={this.state.membersLoaded}
|
||||||
permaLinkCreator={this.state.permaLinkCreator}
|
permalinkCreator={this.state.permaLinkCreator}
|
||||||
/>);
|
/>);
|
||||||
|
|
||||||
let topUnreadMessagesBar = null;
|
let topUnreadMessagesBar = null;
|
||||||
|
|
|
@ -1202,7 +1202,7 @@ var TimelinePanel = React.createClass({
|
||||||
return (
|
return (
|
||||||
<MessagePanel ref="messagePanel"
|
<MessagePanel ref="messagePanel"
|
||||||
room={this.props.timelineSet.room}
|
room={this.props.timelineSet.room}
|
||||||
permaLinkCreator={this.props.permaLinkCreator}
|
permalinkCreator={this.props.permaLinkCreator}
|
||||||
hidden={this.props.hidden}
|
hidden={this.props.hidden}
|
||||||
backPaginating={this.state.backPaginating}
|
backPaginating={this.state.backPaginating}
|
||||||
forwardPaginating={forwardPaginating}
|
forwardPaginating={forwardPaginating}
|
||||||
|
|
|
@ -56,7 +56,7 @@ module.exports = React.createClass({
|
||||||
}
|
}
|
||||||
if (EventTile.haveTileForEvent(ev)) {
|
if (EventTile.haveTileForEvent(ev)) {
|
||||||
ret.push(<EventTile key={eventId+"+"+j} mxEvent={ev} contextual={contextual} highlights={highlights}
|
ret.push(<EventTile key={eventId+"+"+j} mxEvent={ev} contextual={contextual} highlights={highlights}
|
||||||
permaLinkCreator={this.props.permaLinkCreator}
|
permalinkCreator={this.props.permaLinkCreator}
|
||||||
highlightLink={this.props.resultLink}
|
highlightLink={this.props.resultLink}
|
||||||
onWidgetLoad={this.props.onWidgetLoad} />);
|
onWidgetLoad={this.props.onWidgetLoad} />);
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ const MAX_SERVER_CANDIDATES = 3;
|
||||||
// The receiving user can then manually append the known-good server to
|
// The receiving user can then manually append the known-good server to
|
||||||
// the list and magically have the link work.
|
// the list and magically have the link work.
|
||||||
|
|
||||||
export class RoomPermaLinkCreator {
|
export class RoomPermalinkCreator {
|
||||||
constructor(room) {
|
constructor(room) {
|
||||||
this._room = room;
|
this._room = room;
|
||||||
this._highestPlUserId = null;
|
this._highestPlUserId = null;
|
||||||
|
@ -243,9 +243,9 @@ export function makeRoomPermalink(roomId) {
|
||||||
|
|
||||||
const client = MatrixClientPeg.get();
|
const client = MatrixClientPeg.get();
|
||||||
const room = client.getRoom(roomId);
|
const room = client.getRoom(roomId);
|
||||||
const permaLinkCreator = new RoomPermaLinkCreator(room);
|
const permalinkCreator = new RoomPermalinkCreator(room);
|
||||||
permaLinkCreator.load();
|
permalinkCreator.load();
|
||||||
return permaLinkCreator.forRoom();
|
return permalinkCreator.forRoom();
|
||||||
}
|
}
|
||||||
|
|
||||||
export function makeGroupPermalink(groupId) {
|
export function makeGroupPermalink(groupId) {
|
||||||
|
|
|
@ -17,7 +17,7 @@ import {
|
||||||
makeGroupPermalink,
|
makeGroupPermalink,
|
||||||
makeRoomPermalink,
|
makeRoomPermalink,
|
||||||
makeUserPermalink,
|
makeUserPermalink,
|
||||||
RoomPermaLinkCreator,
|
RoomPermalinkCreator,
|
||||||
} from "../src/matrix-to";
|
} from "../src/matrix-to";
|
||||||
import * as testUtils from "./test-utils";
|
import * as testUtils from "./test-utils";
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ describe('matrix-to', function() {
|
||||||
|
|
||||||
it('should pick no candidate servers when the room has no members', function() {
|
it('should pick no candidate servers when the room has no members', function() {
|
||||||
const room = mockRoom(null, []);
|
const room = mockRoom(null, []);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(0);
|
expect(creator._serverCandidates.length).toBe(0);
|
||||||
|
@ -96,7 +96,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 95,
|
powerLevel: 95,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(3);
|
expect(creator._serverCandidates.length).toBe(3);
|
||||||
|
@ -120,7 +120,7 @@ describe('matrix-to', function() {
|
||||||
},
|
},
|
||||||
member95,
|
member95,
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates[0]).toBe("pl_95");
|
expect(creator._serverCandidates[0]).toBe("pl_95");
|
||||||
member95.membership = "left";
|
member95.membership = "left";
|
||||||
|
@ -158,7 +158,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 0,
|
powerLevel: 0,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(3);
|
expect(creator._serverCandidates.length).toBe(3);
|
||||||
|
@ -186,7 +186,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 0,
|
powerLevel: 0,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates.length).toBe(3);
|
expect(creator._serverCandidates.length).toBe(3);
|
||||||
expect(creator._serverCandidates[0]).toBe("first");
|
expect(creator._serverCandidates[0]).toBe("first");
|
||||||
|
@ -217,7 +217,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 0,
|
powerLevel: 0,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(3);
|
expect(creator._serverCandidates.length).toBe(3);
|
||||||
|
@ -230,7 +230,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 100,
|
powerLevel: 100,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(0);
|
expect(creator._serverCandidates.length).toBe(0);
|
||||||
|
@ -243,7 +243,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 100,
|
powerLevel: 100,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(0);
|
expect(creator._serverCandidates.length).toBe(0);
|
||||||
|
@ -256,7 +256,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 100,
|
powerLevel: 100,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(0);
|
expect(creator._serverCandidates.length).toBe(0);
|
||||||
|
@ -269,7 +269,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 100,
|
powerLevel: 100,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(0);
|
expect(creator._serverCandidates.length).toBe(0);
|
||||||
|
@ -283,7 +283,7 @@ describe('matrix-to', function() {
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(1);
|
expect(creator._serverCandidates.length).toBe(1);
|
||||||
|
@ -304,7 +304,7 @@ describe('matrix-to', function() {
|
||||||
deny: ["evilcorp.com", "*.evilcorp.com"],
|
deny: ["evilcorp.com", "*.evilcorp.com"],
|
||||||
allow: ["*"],
|
allow: ["*"],
|
||||||
});
|
});
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(0);
|
expect(creator._serverCandidates.length).toBe(0);
|
||||||
|
@ -324,7 +324,7 @@ describe('matrix-to', function() {
|
||||||
deny: [],
|
deny: [],
|
||||||
allow: [], // implies "ban everyone"
|
allow: [], // implies "ban everyone"
|
||||||
});
|
});
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(0);
|
expect(creator._serverCandidates.length).toBe(0);
|
||||||
|
@ -344,7 +344,7 @@ describe('matrix-to', function() {
|
||||||
deny: ["*.evilcorp.com"], // evilcorp.com is still good though
|
deny: ["*.evilcorp.com"], // evilcorp.com is still good though
|
||||||
allow: ["*"],
|
allow: ["*"],
|
||||||
});
|
});
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(1);
|
expect(creator._serverCandidates.length).toBe(1);
|
||||||
|
@ -365,7 +365,7 @@ describe('matrix-to', function() {
|
||||||
deny: [],
|
deny: [],
|
||||||
allow: ["evilcorp.com"], // implies "ban everyone else"
|
allow: ["evilcorp.com"], // implies "ban everyone else"
|
||||||
});
|
});
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
expect(creator._serverCandidates).toBeTruthy();
|
expect(creator._serverCandidates).toBeTruthy();
|
||||||
expect(creator._serverCandidates.length).toBe(1);
|
expect(creator._serverCandidates.length).toBe(1);
|
||||||
|
@ -374,7 +374,7 @@ describe('matrix-to', function() {
|
||||||
|
|
||||||
it('should generate an event permalink for room IDs with no candidate servers', function() {
|
it('should generate an event permalink for room IDs with no candidate servers', function() {
|
||||||
const room = mockRoom("!somewhere:example.org", []);
|
const room = mockRoom("!somewhere:example.org", []);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
const result = creator.forEvent("$something:example.com");
|
const result = creator.forEvent("$something:example.com");
|
||||||
expect(result).toBe("https://matrix.to/#/!somewhere:example.org/$something:example.com");
|
expect(result).toBe("https://matrix.to/#/!somewhere:example.org/$something:example.com");
|
||||||
|
@ -391,7 +391,7 @@ describe('matrix-to', function() {
|
||||||
powerLevel: 0,
|
powerLevel: 0,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const creator = new RoomPermaLinkCreator(room);
|
const creator = new RoomPermalinkCreator(room);
|
||||||
creator.load();
|
creator.load();
|
||||||
const result = creator.forEvent("$something:example.com");
|
const result = creator.forEvent("$something:example.com");
|
||||||
expect(result).toBe("https://matrix.to/#/!somewhere:example.org/$something:example.com?via=first&via=second");
|
expect(result).toBe("https://matrix.to/#/!somewhere:example.org/$something:example.com?via=first&via=second");
|
||||||
|
|
Loading…
Reference in New Issue