diff --git a/core/art.js b/core/art.js index d709d366..38594985 100644 --- a/core/art.js +++ b/core/art.js @@ -57,6 +57,9 @@ function sliceAtEOF(data, eofMarker) { break; } } + if(eof === data.length || eof < 128) { + return data; + } return data.slice(0, eof); } @@ -144,7 +147,7 @@ function getArt(name, options, cb) { // If an extension is provided, just read the file now if('' !== ext) { - const directPath = paths.join(options.basePath, name); + const directPath = paths.isAbsolute(name) ? name : paths.join(options.basePath, name); return getArtFromPath(directPath, options, cb); } diff --git a/core/fse.js b/core/fse.js index 1d9d6dd7..d86961b2 100644 --- a/core/fse.js +++ b/core/fse.js @@ -329,7 +329,7 @@ exports.FullScreenEditorModule = exports.getModule = class FullScreenEditorModul const msgOpts = { areaTag : this.messageAreaTag, toUserName : headerValues.to, - fromUserName : this.client.user.username, + fromUserName : this.client.user.getProperty(UserProps.RealName) || this.client.user.username, subject : headerValues.subject, // :TODO: don't hard code 1 here: message : this.viewControllers.body.getView(MciViewIds.body.message).getData( { forceLineTerms : this.replyIsAnsi } ), diff --git a/core/theme.js b/core/theme.js index 9978fde3..8460cf24 100644 --- a/core/theme.js +++ b/core/theme.js @@ -439,7 +439,7 @@ function getThemeArt(options, cb) { // :TODO: replace asAnsi stuff with something like retrieveAs = 'ansi' | 'pipe' | ... // :TODO: Some of these options should only be set if not provided! options.asAnsi = true; // always convert to ANSI - options.readSauce = true; // read SAUCE, if avail + options.readSauce = _.get(options, 'readSauce', true); // read SAUCE, if avail options.random = _.get(options, 'random', true); // FILENAME.EXT support //