Merge commit 'f2152953cddd3247746ef393516b0a53ba7750a4' into v3.x

isekai-main
Misty Release Bot 2 years ago
commit 4b281b67c2

@ -1,3 +1,32 @@
#### v3.2.1 (2023-07-05)
##### Chores
* up harmony (9fc5ae08)
* up composer (82d37702)
* up spider-detector (97d8f858)
* incrementing version number - v3.2.0 (9ecac38e)
* update changelog for v3.2.0 (080f9e75)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
##### Bug Fixes
* #11766, allow privileged users to vote and chat (1bda9073)
* #11775, trim -rtl from targetSkin (0183e5f8)
* #11773, fix create token button (64d30182)
* add ?page= to canonical urls (4045681a)
* group membership methods for guests/spiders (7d5fe20b)
* **deps:** update dependency nodebb-plugin-emoji to v5.1.3 (#11777) (a1110f10)
#### v3.2.0 (2023-06-28)
##### Chores

@ -99,12 +99,12 @@
"nodebb-plugin-markdown": "12.1.4",
"nodebb-plugin-mentions": "4.2.0",
"nodebb-plugin-ntfy": "1.0.15",
"nodebb-plugin-spam-be-gone": "2.1.0",
"nodebb-plugin-spam-be-gone": "2.1.1",
"nodebb-rewards-essentials": "0.2.3",
"nodebb-theme-harmony": "1.0.65",
"nodebb-theme-harmony": "1.0.66",
"nodebb-theme-lavender": "7.1.1",
"nodebb-theme-peace": "2.0.32",
"nodebb-theme-persona": "13.1.6",
"nodebb-theme-persona": "13.1.8",
"nodebb-widget-essentials": "7.0.13",
"nodemailer": "6.9.3",
"nprogress": "0.2.0",

@ -68,6 +68,8 @@ CommonProps:
type: string
as:
type: string
noEscape:
type: boolean
crossorigin:
type: string
enum: ['', 'anonymous', 'use-credentials']

@ -1,8 +1,8 @@
#nprogress {
pointer-events: none;
}
}
#nprogress .bar {
#nprogress .bar {
background: #29d;
position: fixed;
@ -12,9 +12,9 @@
width: 100%;
height: 2px;
}
}
#nprogress .peg {
#nprogress .peg {
display: block;
position: absolute;
right: 0px;
@ -26,26 +26,13 @@
-webkit-transform: rotate(3deg) translate(0px, -4px);
-ms-transform: rotate(3deg) translate(0px, -4px);
transform: rotate(3deg) translate(0px, -4px);
}
#nprogress .spinner {
display: block;
position: fixed;
z-index: 1031;
top: 165px;
right: 35px;
}
@include media-breakpoint-down(sm) {
#nprogress .spinner {
bottom: 15px;
right: 15px;
top: initial;
}
}
}
#nprogress .spinner {
display: none;
}
#nprogress .spinner-icon {
#nprogress .spinner-icon {
width: 18px;
height: 18px;
box-sizing: border-box;
@ -57,24 +44,24 @@
-webkit-animation: nprogress-spinner 400ms linear infinite;
animation: nprogress-spinner 400ms linear infinite;
}
}
.nprogress-custom-parent {
.nprogress-custom-parent {
overflow: hidden;
position: relative;
}
}
.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
position: absolute;
}
}
@-webkit-keyframes nprogress-spinner {
@-webkit-keyframes nprogress-spinner {
0% { -webkit-transform: rotate(0deg); }
100% { -webkit-transform: rotate(360deg); }
}
@keyframes nprogress-spinner {
}
@keyframes nprogress-spinner {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
}

@ -46,20 +46,20 @@ define('admin/appearance/themes', ['bootbox', 'translator', 'alerts'], function
});
$('#revert_theme').on('click', function () {
if (config['theme:id'] === 'nodebb-theme-persona') {
if (config['theme:id'] === 'nodebb-theme-harmony') {
return;
}
bootbox.confirm('[[admin/appearance/themes:revert-confirm]]', function (confirm) {
if (confirm) {
socket.emit('admin.themes.set', {
type: 'local',
id: 'nodebb-theme-persona',
id: 'nodebb-theme-harmony',
}, function (err) {
if (err) {
return alerts.error(err);
}
config['theme:id'] = 'nodebb-theme-persona';
highlightSelectedTheme('nodebb-theme-persona');
config['theme:id'] = 'nodebb-theme-harmony';
highlightSelectedTheme('nodebb-theme-harmony');
alerts.alert({
alert_id: 'admin:theme',
type: 'success',

@ -342,7 +342,7 @@ define('admin/extend/plugins', [
function populateUpgradeablePlugins() {
$('#installed ul li').each(function () {
if ($(this).children('[data-action="upgrade"]').length) {
if ($(this).find('[data-action="upgrade"]').length) {
$('#upgrade ul').append($(this).clone(true));
}
});

@ -110,7 +110,6 @@ define('forum/post-queue', [
if (listEl) {
listEl.addEventListener('click', (e) => {
const subselector = e.target.closest('[data-action]');
console.log(subselector);
if (subselector) {
const action = subselector.getAttribute('data-action');
const uid = subselector.closest('[data-uid]').getAttribute('data-uid');

@ -327,11 +327,11 @@ module.exports = function (utils, Benchpress, relative_path) {
}
function generateRepliedTo(post, timeagoCutoff) {
const username = post.parent && post.parent.username ?
post.parent.username : '[[global:guest]]';
const displayname = post.parent && post.parent.displayname ?
post.parent.displayname : '[[global:guest]]';
const isBeforeCutoff = post.timestamp < (Date.now() - (timeagoCutoff * oneDayInMs));
const langSuffix = isBeforeCutoff ? 'on' : 'ago';
return `[[topic:replied-to-user-${langSuffix}, ${post.toPid}, ${relative_path}/post/${post.toPid}, ${username}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
return `[[topic:replied-to-user-${langSuffix}, ${post.toPid}, ${relative_path}/post/${post.toPid}, ${displayname}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
}
function generateWrote(post, timeagoCutoff) {

@ -261,6 +261,7 @@ async function addTags(topicData, req, res, currentPage) {
{
rel: 'canonical',
href: `${url}/topic/${topicData.slug}${page}`,
noEscape: true,
},
];

@ -65,7 +65,7 @@ helpers.buildBodyClass = function (req, res, templateData = {}) {
parts.push(`page-status-${res.statusCode}`);
parts.push(`theme-${meta.config['theme:id'].split('-')[2]}`);
parts.push(`theme-${(meta.config['theme:id'] || '').split('-')[2]}`);
if (req.loggedIn) {
parts.push('user-loggedin');

@ -186,13 +186,13 @@ module.exports = function (Topics) {
const parentUids = _.uniq(parentPosts.map(postObj => postObj && postObj.uid));
const userData = await user.getUsersFields(parentUids, ['username']);
const usersMap = {};
userData.forEach((user) => {
usersMap[user.uid] = user.username;
});
const usersMap = _.zipObject(parentUids, userData);
const parents = {};
parentPosts.forEach((post, i) => {
parents[parentPids[i]] = { username: usersMap[post.uid] };
parents[parentPids[i]] = {
username: usersMap[post.uid].username,
displayname: usersMap[post.uid].displayname,
};
});
postData.forEach((post) => {

Loading…
Cancel
Save