Resolve various ESLint-reported issues, add some FIXME notes

refactor
Sven Slootweg 5 years ago
parent aca6f3768d
commit 1bc0205bbf

@ -1,11 +1,8 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const urllib = require('url');
const debounce = require('debounce');
const defaultValue = require('default-value');
let login = create({
displayName: "Login",
@ -156,6 +153,7 @@ let login = create({
});
function getApiServer(hostname) {
/* FIXME: Promise.try */
return new Promise((resolve, reject) => {
console.log("Checking for api server from mxid", urllib.format(hostname));
checkApi(hostname).then(() => {
@ -167,8 +165,9 @@ function getApiServer(hostname) {
tryWellKnown(hostname).then((hostname) => {
console.log("got .well-known host", hostname);
resolve(hostname);
}).catch((err) => {
reject("Fatal error trying to get API host");
}).catch((_err) => {
/* FIXME: Error chaining */
reject(new Error("Fatal error trying to get API host"));
});
});
});
@ -180,7 +179,8 @@ function checkApi(host) {
fetch(versionUrl).then((response) => {
if (response.status != 200) {
console.log("Invalid homeserver url", versionUrl);
return reject();
/* FIXME: Error types */
return reject(new Error("Invalid homeserver URL"));
}
resolve();
}).catch((err) => {
@ -199,11 +199,12 @@ function tryWellKnown(host) {
.then((response) => {
if (response.status != 200) {
console.log("no well-known in use");
reject("No homeserver found");
reject(new Error("No homeserver found"));
}
return response;
}).catch((error) => {
reject("can't fetch .well-known");
}).catch((_error) => {
/* FIXME: Error chaining */
reject(new Error("can't fetch .well-known"));
})
.then((response) => response.json())
.then((json) => {
@ -214,7 +215,8 @@ function tryWellKnown(host) {
})
.catch((err) => {
console.log("Error in json", err);
reject("Error while parsing .well-known");
/* FIXME: Error chaining */
reject(new Error("Error while parsing .well-known"));
});
});
}

@ -1,12 +1,7 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const debounce = require('debounce');
const jdenticon = require('jdenticon');
const defaultValue = require('default-value');
const sdk = require('matrix-js-sdk');
const sanitize = require('sanitize-html');
const Event = require('./events/Event.js');
@ -73,7 +68,7 @@ let chat = create({
};
},
getSnapshotBeforeUpdate: function(oldProps, oldState) {
getSnapshotBeforeUpdate: function(_oldProps, _oldState) {
let ref = this.state.ref;
if (ref == null) {return null;}
if ((ref.scrollHeight - ref.offsetHeight) - ref.scrollTop < 100) { // Less than 100px from bottom
@ -161,7 +156,7 @@ let chat = create({
});
messageGroups.groups.push(messageGroups.current);
events = messageGroups.groups.map((events, id) => {
events = messageGroups.groups.map((events) => {
return <EventGroup key={`${this.props.roomId}-${events[0].event_id}`} events={events} client={this.props.client} room={room} onReplyClick={this.onReplyClick}/>;
});
}

@ -1,6 +1,5 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const defaultValue = require('default-value');
@ -32,7 +31,7 @@ let Event = create({
if (event.type == "m.room.message") {
let msgtype = event.content.msgtype;
let formattedEvent = parseEvent(event);
let formattedEvent = parseEvent(event); /* FIXME: Specify context */
let parsedReply = formattedEvent.parsedReply;
if (parsedReply.isReply) {
@ -44,7 +43,7 @@ let Event = create({
// fall back on <mx-reply> content?
} else {
repliedUser = this.props.client.getUser(repliedEvent.event.sender);
shortText = parseEvent(repliedEvent.event);
shortText = parseEvent(repliedEvent.event); /* FIXME: Specify context */
if (shortText.html) {
shortText = <span dangerouslySetInnerHTML={{__html: shortText.body}}/>;
} else {
@ -75,7 +74,7 @@ let Event = create({
}
});
function parseEvent(event, context) {
function parseEvent(event, _context) {
// context can be either 'main' or 'reply'
let body = event.content.body;
let html = false;

@ -1,14 +1,9 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const defaultValue = require('default-value');
const mediaLib = require('../../lib/media.js');
const Text = require('./text.js');
let Event = create({
displayName: "m.image",
@ -20,10 +15,6 @@ let Event = create({
return mediaLib.parseEvent(this.props.client, event, 1000, 1000);
},
updateSize: function(e) {
console.log("image was loaded");
},
render: function() {
let event = this.props.event;

@ -1,6 +1,5 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
let Event = create({

@ -1,10 +1,6 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const riot = require('../../lib/riot-utils.js');
let Event = create({
displayName: "m.text",

@ -1,6 +1,5 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const jdenticon = require('jdenticon');

@ -1,14 +1,9 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const defaultValue = require('default-value');
const mediaLib = require('../../lib/media.js');
const Text = require('./text.js');
let Event = create({
displayName: "m.video",

@ -1,6 +1,5 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
let fileUpload = create({

@ -1,8 +1,6 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const debounce = require('debounce');
let FilterList = create({
@ -39,7 +37,7 @@ let FilterList = create({
render: function() {
let keys = Object.keys(this.props.items);
let items = keys.map((itemKey, id) => {
let items = keys.map((itemKey) => {
let item = this.props.items[itemKey];
let props = {
selected: this.state.selection == itemKey,

@ -1,8 +1,6 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
let info = create({
displayName: "Info",

@ -1,6 +1,5 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const colorConvert = require('color-convert');
@ -108,6 +107,7 @@ let input = create({
let additionalPromise;
if (mimeType.startsWith("image/") || mimeType.startsWith("video/")) {
function elementToThumbnail(element) {
/* FIXME: Get rid of `new Promise`, replace with Promise.try */
return new Promise((resolve, reject) => {
riot.createThumbnail(element,
element.width,
@ -116,7 +116,7 @@ let input = create({
)
.catch((error) => {
console.error("neo: error getting thumbnail", error);
reject();
reject(error);
})
.then((thumbResult) => {
return client.uploadContent(thumbResult.thumbnail, {onlyContentUri: false});
@ -174,7 +174,8 @@ let input = create({
msgtype: "m.text"
};
content = this.sendReply(content);
this.props.client.sendEvent(this.props.roomId, "m.room.message", content, (err, res) => {
/* FIXME: Promisify */
this.props.client.sendEvent(this.props.roomId, "m.room.message", content, (err, _res) => {
if (err != null) {
console.log(err);
}
@ -191,7 +192,8 @@ let input = create({
content = this.sendReply(content);
this.props.client.sendEvent(this.props.roomId, "m.room.message", content, (err, res) => {
/* FIXME: Promisify */
this.props.client.sendEvent(this.props.roomId, "m.room.message", content, (err, _res) => {
console.log(err);
});
},

@ -1,6 +1,5 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
let Loading = create({

@ -1,9 +1,6 @@
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class');
const Promise = require('bluebird');
const debounce = require('debounce');
const jdenticon = require('jdenticon');
const FilterList = require('./filterList.js');

@ -1,3 +1,5 @@
"use strict";
// should be able to handle images, stickers, and video
module.exports = {

@ -1,3 +1,7 @@
"use strict";
/* global describe, it */
let assert = require('assert');
let urllib = require('url');
let querystring = require('querystring');
@ -5,7 +9,8 @@ let querystring = require('querystring');
let mediaLib = require('../../lib/media.js');
let client = {
mxcUrlToHttp: function(url, w, h, method, allowDirectLinks) {
/* FIXME: Verify whether allowDirectLinks is used / expected to do anything by other code */
mxcUrlToHttp: function(url, w, h, method, _allowDirectLinks) {
let hs = "https://chat.privacytools.io";
let mxc = url.slice(6);
if (w) {
@ -56,7 +61,7 @@ describe('media', function() {
h: 1000,
method: 'scale'
});
}),
});
it('event without thumbnail', function() {
let mockEvent = JSON.parse(JSON.stringify(mockEventTemplate));
mockEvent.content.info.thumbnail_url = null;

Loading…
Cancel
Save