Merge commit 'f3927ce76bd333b67f4aca9af170372fd0ae8077' into v3.x

This commit is contained in:
Misty Release Bot
2024-01-12 16:06:04 +00:00
3 changed files with 76 additions and 17 deletions

View File

@@ -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

View File

@@ -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",

View File

@@ -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);
}
}));