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'; 'use strict';
const React = require('react'); const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class'); const create = require('create-react-class');
const Promise = require('bluebird'); const Promise = require('bluebird');
const urllib = require('url'); const urllib = require('url');
const debounce = require('debounce');
const defaultValue = require('default-value');
let login = create({ let login = create({
displayName: "Login", displayName: "Login",
@ -156,6 +153,7 @@ let login = create({
}); });
function getApiServer(hostname) { function getApiServer(hostname) {
/* FIXME: Promise.try */
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
console.log("Checking for api server from mxid", urllib.format(hostname)); console.log("Checking for api server from mxid", urllib.format(hostname));
checkApi(hostname).then(() => { checkApi(hostname).then(() => {
@ -167,8 +165,9 @@ function getApiServer(hostname) {
tryWellKnown(hostname).then((hostname) => { tryWellKnown(hostname).then((hostname) => {
console.log("got .well-known host", hostname); console.log("got .well-known host", hostname);
resolve(hostname); resolve(hostname);
}).catch((err) => { }).catch((_err) => {
reject("Fatal error trying to get API host"); /* FIXME: Error chaining */
reject(new Error("Fatal error trying to get API host"));
}); });
}); });
}); });
@ -180,7 +179,8 @@ function checkApi(host) {
fetch(versionUrl).then((response) => { fetch(versionUrl).then((response) => {
if (response.status != 200) { if (response.status != 200) {
console.log("Invalid homeserver url", versionUrl); console.log("Invalid homeserver url", versionUrl);
return reject(); /* FIXME: Error types */
return reject(new Error("Invalid homeserver URL"));
} }
resolve(); resolve();
}).catch((err) => { }).catch((err) => {
@ -199,11 +199,12 @@ function tryWellKnown(host) {
.then((response) => { .then((response) => {
if (response.status != 200) { if (response.status != 200) {
console.log("no well-known in use"); console.log("no well-known in use");
reject("No homeserver found"); reject(new Error("No homeserver found"));
} }
return response; return response;
}).catch((error) => { }).catch((_error) => {
reject("can't fetch .well-known"); /* FIXME: Error chaining */
reject(new Error("can't fetch .well-known"));
}) })
.then((response) => response.json()) .then((response) => response.json())
.then((json) => { .then((json) => {
@ -214,7 +215,8 @@ function tryWellKnown(host) {
}) })
.catch((err) => { .catch((err) => {
console.log("Error in json", 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'; 'use strict';
const React = require('react'); const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class'); const create = require('create-react-class');
const Promise = require('bluebird');
const debounce = require('debounce');
const jdenticon = require('jdenticon'); const jdenticon = require('jdenticon');
const defaultValue = require('default-value');
const sdk = require('matrix-js-sdk');
const sanitize = require('sanitize-html'); const sanitize = require('sanitize-html');
const Event = require('./events/Event.js'); 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; let ref = this.state.ref;
if (ref == null) {return null;} if (ref == null) {return null;}
if ((ref.scrollHeight - ref.offsetHeight) - ref.scrollTop < 100) { // Less than 100px from bottom 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); 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}/>; 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'; 'use strict';
const React = require('react'); const React = require('react');
const ReactDOM = require('react-dom');
const create = require('create-react-class'); const create = require('create-react-class');
const defaultValue = require('default-value'); const defaultValue = require('default-value');
@ -32,7 +31,7 @@ let Event = create({
if (event.type == "m.room.message") { if (event.type == "m.room.message") {
let msgtype = event.content.msgtype; let msgtype = event.content.msgtype;
let formattedEvent = parseEvent(event); let formattedEvent = parseEvent(event); /* FIXME: Specify context */
let parsedReply = formattedEvent.parsedReply; let parsedReply = formattedEvent.parsedReply;
if (parsedReply.isReply) { if (parsedReply.isReply) {
@ -44,7 +43,7 @@ let Event = create({
// fall back on <mx-reply> content? // fall back on <mx-reply> content?
} else { } else {
repliedUser = this.props.client.getUser(repliedEvent.event.sender); repliedUser = this.props.client.getUser(repliedEvent.event.sender);
shortText = parseEvent(repliedEvent.event); shortText = parseEvent(repliedEvent.event); /* FIXME: Specify context */
if (shortText.html) { if (shortText.html) {
shortText = <span dangerouslySetInnerHTML={{__html: shortText.body}}/>; shortText = <span dangerouslySetInnerHTML={{__html: shortText.body}}/>;
} else { } else {
@ -75,7 +74,7 @@ let Event = create({
} }
}); });
function parseEvent(event, context) { function parseEvent(event, _context) {
// context can be either 'main' or 'reply' // context can be either 'main' or 'reply'
let body = event.content.body; let body = event.content.body;
let html = false; let html = false;

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

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

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

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

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

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

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

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

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

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

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

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

@ -1,3 +1,7 @@
"use strict";
/* global describe, it */
let assert = require('assert'); let assert = require('assert');
let urllib = require('url'); let urllib = require('url');
let querystring = require('querystring'); let querystring = require('querystring');
@ -5,7 +9,8 @@ let querystring = require('querystring');
let mediaLib = require('../../lib/media.js'); let mediaLib = require('../../lib/media.js');
let client = { 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 hs = "https://chat.privacytools.io";
let mxc = url.slice(6); let mxc = url.slice(6);
if (w) { if (w) {
@ -56,7 +61,7 @@ describe('media', function() {
h: 1000, h: 1000,
method: 'scale' method: 'scale'
}); });
}), });
it('event without thumbnail', function() { it('event without thumbnail', function() {
let mockEvent = JSON.parse(JSON.stringify(mockEventTemplate)); let mockEvent = JSON.parse(JSON.stringify(mockEventTemplate));
mockEvent.content.info.thumbnail_url = null; mockEvent.content.info.thumbnail_url = null;

Loading…
Cancel
Save