mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-17 20:17:40 +01:00
Merge commit 'f3927ce76bd333b67f4aca9af170372fd0ae8077' into v3.x
This commit is contained in:
58
CHANGELOG.md
58
CHANGELOG.md
@@ -1,3 +1,61 @@
|
||||
#### v3.6.2 (2024-01-10)
|
||||
|
||||
##### Chores
|
||||
|
||||
* up composer (ef8f8db7)
|
||||
* up harmony (2bed405c)
|
||||
* up harmony (b6dbe1a6)
|
||||
* up lavender (16f0affa)
|
||||
* up themes (980bfee8)
|
||||
* incrementing version number - v3.6.1 (f1a69468)
|
||||
* update changelog for v3.6.1 (1e4abdbf)
|
||||
* incrementing version number - v3.6.0 (4cdf85f8)
|
||||
* incrementing version number - v3.5.3 (ed0e8783)
|
||||
* incrementing version number - v3.5.2 (52fbb2da)
|
||||
* incrementing version number - v3.5.1 (4c543488)
|
||||
* incrementing version number - v3.5.0 (d06fb4f0)
|
||||
* incrementing version number - v3.4.3 (5c984250)
|
||||
* incrementing version number - v3.4.2 (3f0dac38)
|
||||
* incrementing version number - v3.4.1 (01e69574)
|
||||
* incrementing version number - v3.4.0 (fd9247c5)
|
||||
* incrementing version number - v3.3.9 (5805e770)
|
||||
* incrementing version number - v3.3.8 (a5603565)
|
||||
* incrementing version number - v3.3.7 (b26f1744)
|
||||
* incrementing version number - v3.3.6 (7fb38792)
|
||||
* incrementing version number - v3.3.4 (a67f84ea)
|
||||
* incrementing version number - v3.3.3 (f94d239b)
|
||||
* incrementing version number - v3.3.2 (ec9dac97)
|
||||
* incrementing version number - v3.3.1 (151cc68f)
|
||||
* incrementing version number - v3.3.0 (fc1ad70f)
|
||||
* incrementing version number - v3.2.3 (b06d3e63)
|
||||
* incrementing version number - v3.2.2 (758ecfcd)
|
||||
* incrementing version number - v3.2.1 (20145074)
|
||||
* incrementing version number - v3.2.0 (9ecac38e)
|
||||
* 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)
|
||||
|
||||
##### New Features
|
||||
|
||||
* #12247 (0af19afd)
|
||||
|
||||
##### Bug Fixes
|
||||
|
||||
* recent loading (d3d6d77d)
|
||||
* closes #12246, direction is passed in as string as query param with new api call (8867f243)
|
||||
* stricter selector for sort (a74b5141)
|
||||
|
||||
##### Performance Improvements
|
||||
|
||||
* dont load all followed tids on unread/recent?filter=watched (563e03b6)
|
||||
|
||||
#### v3.6.1 (2023-12-22)
|
||||
|
||||
##### Chores
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
"sass": "1.69.5",
|
||||
"semver": "7.5.4",
|
||||
"serve-favicon": "2.5.0",
|
||||
"sharp": "0.33.1",
|
||||
"sharp": "0.32.6",
|
||||
"sitemap": "7.1.1",
|
||||
"socket.io": "4.7.2",
|
||||
"socket.io-client": "4.7.2",
|
||||
|
||||
@@ -30,43 +30,43 @@ const Events = module.exports;
|
||||
Events._types = {
|
||||
pin: {
|
||||
icon: 'fa-thumb-tack',
|
||||
translation: async event => translateSimple(event, 'topic:user-pinned-topic'),
|
||||
translation: async (event, language) => translateSimple(event, language, 'topic:user-pinned-topic'),
|
||||
},
|
||||
unpin: {
|
||||
icon: 'fa-thumb-tack fa-rotate-90',
|
||||
translation: async event => translateSimple(event, 'topic:user-unpinned-topic'),
|
||||
translation: async (event, language) => translateSimple(event, language, 'topic:user-unpinned-topic'),
|
||||
},
|
||||
lock: {
|
||||
icon: 'fa-lock',
|
||||
translation: async event => translateSimple(event, 'topic:user-locked-topic'),
|
||||
translation: async (event, language) => translateSimple(event, language, 'topic:user-locked-topic'),
|
||||
},
|
||||
unlock: {
|
||||
icon: 'fa-unlock',
|
||||
translation: async event => translateSimple(event, 'topic:user-unlocked-topic'),
|
||||
translation: async (event, language) => translateSimple(event, language, 'topic:user-unlocked-topic'),
|
||||
},
|
||||
delete: {
|
||||
icon: 'fa-trash',
|
||||
translation: async event => translateSimple(event, 'topic:user-deleted-topic'),
|
||||
translation: async (event, language) => translateSimple(event, language, 'topic:user-deleted-topic'),
|
||||
},
|
||||
restore: {
|
||||
icon: 'fa-trash-o',
|
||||
translation: async event => translateSimple(event, 'topic:user-restored-topic'),
|
||||
translation: async (event, language) => translateSimple(event, language, 'topic:user-restored-topic'),
|
||||
},
|
||||
move: {
|
||||
icon: 'fa-arrow-circle-right',
|
||||
translation: async event => translateEventArgs(event, 'topic:user-moved-topic-from', renderUser(event), `${event.fromCategory.name}`, renderTimeago(event)),
|
||||
translation: async (event, language) => translateEventArgs(event, language, 'topic:user-moved-topic-from', renderUser(event), `${event.fromCategory.name}`, renderTimeago(event)),
|
||||
},
|
||||
'post-queue': {
|
||||
icon: 'fa-history',
|
||||
translation: async event => translateEventArgs(event, 'topic:user-queued-post', renderUser(event), `${relative_path}${event.href}`, renderTimeago(event)),
|
||||
translation: async (event, language) => translateEventArgs(event, language, 'topic:user-queued-post', renderUser(event), `${relative_path}${event.href}`, renderTimeago(event)),
|
||||
},
|
||||
backlink: {
|
||||
icon: 'fa-link',
|
||||
translation: async event => translateEventArgs(event, 'topic:user-referenced-topic', renderUser(event), `${relative_path}${event.href}`, renderTimeago(event)),
|
||||
translation: async (event, language) => translateEventArgs(event, language, 'topic:user-referenced-topic', renderUser(event), `${relative_path}${event.href}`, renderTimeago(event)),
|
||||
},
|
||||
fork: {
|
||||
icon: 'fa-code-fork',
|
||||
translation: async event => translateEventArgs(event, 'topic:user-forked-topic', renderUser(event), `${relative_path}${event.href}`, renderTimeago(event)),
|
||||
translation: async (event, language) => translateEventArgs(event, language, 'topic:user-forked-topic', renderUser(event), `${relative_path}${event.href}`, renderTimeago(event)),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -76,14 +76,14 @@ Events.init = async () => {
|
||||
Events._types = types;
|
||||
};
|
||||
|
||||
async function translateEventArgs(event, prefix, ...args) {
|
||||
async function translateEventArgs(event, language, prefix, ...args) {
|
||||
const key = getTranslationKey(event, prefix);
|
||||
const compiled = translator.compile.apply(null, [key, ...args]);
|
||||
return utils.decodeHTMLEntities(await translator.translate(compiled));
|
||||
return utils.decodeHTMLEntities(await translator.translate(compiled, language));
|
||||
}
|
||||
|
||||
async function translateSimple(event, prefix) {
|
||||
return await translateEventArgs(event, prefix, renderUser(event), renderTimeago(event));
|
||||
async function translateSimple(event, language, prefix) {
|
||||
return await translateEventArgs(event, language, prefix, renderUser(event), renderTimeago(event));
|
||||
}
|
||||
|
||||
Events.translateSimple = translateSimple; // so plugins can perform translate
|
||||
@@ -162,9 +162,10 @@ async function modifyEvent({ tid, uid, eventIds, timestamps, events }) {
|
||||
});
|
||||
}
|
||||
|
||||
const [users, fromCategories] = await Promise.all([
|
||||
const [users, fromCategories, userSettings] = await Promise.all([
|
||||
getUserInfo(events.map(event => event.uid).filter(Boolean)),
|
||||
getCategoryInfo(events.map(event => event.fromCid).filter(Boolean)),
|
||||
user.getSettings(uid),
|
||||
]);
|
||||
|
||||
// Remove backlink events if backlinks are disabled
|
||||
@@ -200,7 +201,7 @@ async function modifyEvent({ tid, uid, eventIds, timestamps, events }) {
|
||||
|
||||
await Promise.all(events.map(async (event) => {
|
||||
if (Events._types[event.type].translation) {
|
||||
event.text = await Events._types[event.type].translation(event);
|
||||
event.text = await Events._types[event.type].translation(event, userSettings.userLang);
|
||||
}
|
||||
}));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user