mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-03 04:25:55 +01:00
Merge branch 'master' into develop
This commit is contained in:
50
CHANGELOG.md
50
CHANGELOG.md
@@ -1,3 +1,53 @@
|
|||||||
|
#### v4.0.3 (2025-02-09)
|
||||||
|
|
||||||
|
##### Chores
|
||||||
|
|
||||||
|
* up harmony (2ee0cda2)
|
||||||
|
* update persona (b6b76639)
|
||||||
|
* bump persona to fix theme description issue (cd88cce0)
|
||||||
|
* up harmony (a01bf73e)
|
||||||
|
* forgot to remove bad code (865c09a5)
|
||||||
|
* up harmony (c3f8222f)
|
||||||
|
* up harmony (f07f3801)
|
||||||
|
* up harmony (67a789ad)
|
||||||
|
* up themes (c1c5cc6e)
|
||||||
|
* up themes (b2b0ed35)
|
||||||
|
* up peace (55eedcbe)
|
||||||
|
* up themes (38a21e29)
|
||||||
|
* up harmony (58e551fe)
|
||||||
|
* incrementing version number - v4.0.2 (73fe5fcf)
|
||||||
|
* update changelog for v4.0.2 (75588ffe)
|
||||||
|
* incrementing version number - v4.0.1 (a461b758)
|
||||||
|
* incrementing version number - v4.0.0 (c1eaee45)
|
||||||
|
|
||||||
|
##### Bug Fixes
|
||||||
|
|
||||||
|
* delete from payload instead of setting null (1b4e0c87)
|
||||||
|
* regression :tmi: (f5328aa8)
|
||||||
|
* #13139, payload.version can be null (bfe6d9d8)
|
||||||
|
* tidChanged (1f8e2f9a)
|
||||||
|
* #13135, tids are not numeric for ap topics (d687f081)
|
||||||
|
* handle cases where url passed to mime does not pass because url contained a query string (5baa46d0)
|
||||||
|
* isDraft logic, closes #13119 (21156673)
|
||||||
|
* path on windows, #13119 (36063d1f)
|
||||||
|
* #13115, prevent messages from getting duplicated (1ff8e1e4)
|
||||||
|
* #13115, limit bodyLength length (8e9fdb5f)
|
||||||
|
|
||||||
|
##### Other Changes
|
||||||
|
|
||||||
|
* remove log (a8e7bf35)
|
||||||
|
|
||||||
|
##### Refactors
|
||||||
|
|
||||||
|
* events are returned inside post objects (3ab22c2c)
|
||||||
|
* move dropdown search inputs into dropdown (b993be6f)
|
||||||
|
* server.destroy (72091ec4)
|
||||||
|
* remove deprecated methods (265e44f0)
|
||||||
|
|
||||||
|
##### Tests
|
||||||
|
|
||||||
|
* search endpoint with start & end (c1b630d4)
|
||||||
|
|
||||||
#### v4.0.2 (2025-02-02)
|
#### v4.0.2 (2025-02-02)
|
||||||
|
|
||||||
##### Chores
|
##### Chores
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "nodebb",
|
"name": "nodebb",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"description": "NodeBB Forum",
|
"description": "NodeBB Forum",
|
||||||
"version": "4.0.2",
|
"version": "4.0.3",
|
||||||
"homepage": "https://www.nodebb.org",
|
"homepage": "https://www.nodebb.org",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
"nodebb-plugin-spam-be-gone": "2.3.0",
|
"nodebb-plugin-spam-be-gone": "2.3.0",
|
||||||
"nodebb-plugin-web-push": "0.7.2",
|
"nodebb-plugin-web-push": "0.7.2",
|
||||||
"nodebb-rewards-essentials": "1.0.0",
|
"nodebb-rewards-essentials": "1.0.0",
|
||||||
"nodebb-theme-harmony": "2.0.18",
|
"nodebb-theme-harmony": "2.0.19",
|
||||||
"nodebb-theme-lavender": "7.1.17",
|
"nodebb-theme-lavender": "7.1.17",
|
||||||
"nodebb-theme-peace": "2.2.38",
|
"nodebb-theme-peace": "2.2.38",
|
||||||
"nodebb-theme-persona": "14.0.14",
|
"nodebb-theme-persona": "14.0.14",
|
||||||
|
|||||||
@@ -155,7 +155,10 @@ Mocks.post = async (objects) => {
|
|||||||
await activitypub.actors.assert(Array.from(actorIds));
|
await activitypub.actors.assert(Array.from(actorIds));
|
||||||
|
|
||||||
const posts = await Promise.all(objects.map(async (object) => {
|
const posts = await Promise.all(objects.map(async (object) => {
|
||||||
if (!activitypub._constants.acceptedPostTypes.includes(object.type)) {
|
if (
|
||||||
|
!activitypub._constants.acceptedPostTypes.includes(object.type) ||
|
||||||
|
!activitypub.helpers.isUri(object.id) // sanity-check the id
|
||||||
|
) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ activitypubApi.create.privateNote = enabledCheck(async (caller, { messageObj })
|
|||||||
const payload = {
|
const payload = {
|
||||||
id: `${object.id}#activity/create/${Date.now()}`,
|
id: `${object.id}#activity/create/${Date.now()}`,
|
||||||
type: 'Create',
|
type: 'Create',
|
||||||
|
actor: object.attributedTo,
|
||||||
to: object.to,
|
to: object.to,
|
||||||
object,
|
object,
|
||||||
};
|
};
|
||||||
@@ -173,6 +174,7 @@ activitypubApi.update.profile = enabledCheck(async (caller, { uid }) => {
|
|||||||
await activitypub.send('uid', caller.uid, targets, {
|
await activitypub.send('uid', caller.uid, targets, {
|
||||||
id: `${object.id}#activity/update/${Date.now()}`,
|
id: `${object.id}#activity/update/${Date.now()}`,
|
||||||
type: 'Update',
|
type: 'Update',
|
||||||
|
actor: object.id,
|
||||||
to: [activitypub._constants.publicAddress],
|
to: [activitypub._constants.publicAddress],
|
||||||
cc: [],
|
cc: [],
|
||||||
object,
|
object,
|
||||||
@@ -188,6 +190,7 @@ activitypubApi.update.category = enabledCheck(async (caller, { cid }) => {
|
|||||||
await activitypub.send('cid', cid, targets, {
|
await activitypub.send('cid', cid, targets, {
|
||||||
id: `${object.id}#activity/update/${Date.now()}`,
|
id: `${object.id}#activity/update/${Date.now()}`,
|
||||||
type: 'Update',
|
type: 'Update',
|
||||||
|
actor: object.id,
|
||||||
to: [activitypub._constants.publicAddress],
|
to: [activitypub._constants.publicAddress],
|
||||||
cc: [],
|
cc: [],
|
||||||
object,
|
object,
|
||||||
@@ -214,6 +217,7 @@ activitypubApi.update.note = enabledCheck(async (caller, { post }) => {
|
|||||||
const payload = {
|
const payload = {
|
||||||
id: `${object.id}#activity/update/${post.edited || Date.now()}`,
|
id: `${object.id}#activity/update/${post.edited || Date.now()}`,
|
||||||
type: 'Update',
|
type: 'Update',
|
||||||
|
actor: object.attributedTo,
|
||||||
to,
|
to,
|
||||||
cc,
|
cc,
|
||||||
object,
|
object,
|
||||||
@@ -241,6 +245,7 @@ activitypubApi.update.privateNote = enabledCheck(async (caller, { messageObj })
|
|||||||
const payload = {
|
const payload = {
|
||||||
id: `${object.id}#activity/create/${Date.now()}`,
|
id: `${object.id}#activity/create/${Date.now()}`,
|
||||||
type: 'Update',
|
type: 'Update',
|
||||||
|
actor: object.attributedTo,
|
||||||
to,
|
to,
|
||||||
object,
|
object,
|
||||||
};
|
};
|
||||||
@@ -270,6 +275,7 @@ activitypubApi.delete.note = enabledCheck(async (caller, { pid }) => {
|
|||||||
const payload = {
|
const payload = {
|
||||||
id: `${id}#activity/delete/${Date.now()}`,
|
id: `${id}#activity/delete/${Date.now()}`,
|
||||||
type: 'Delete',
|
type: 'Delete',
|
||||||
|
actor: object.attributedTo,
|
||||||
to,
|
to,
|
||||||
cc,
|
cc,
|
||||||
object: id,
|
object: id,
|
||||||
@@ -333,6 +339,7 @@ activitypubApi.announce.note = enabledCheck(async (caller, { tid }) => {
|
|||||||
await activitypub.send('uid', caller.uid, Array.from(targets), {
|
await activitypub.send('uid', caller.uid, Array.from(targets), {
|
||||||
id: `${nconf.get('url')}/post/${encodeURIComponent(pid)}#activity/announce/${Date.now()}`,
|
id: `${nconf.get('url')}/post/${encodeURIComponent(pid)}#activity/announce/${Date.now()}`,
|
||||||
type: 'Announce',
|
type: 'Announce',
|
||||||
|
actor: `${nconf.get('url')}/uid/${caller.uid}`,
|
||||||
to,
|
to,
|
||||||
cc,
|
cc,
|
||||||
object: pid,
|
object: pid,
|
||||||
@@ -385,6 +392,7 @@ activitypubApi.flag = enabledCheck(async (caller, flag) => {
|
|||||||
await activitypub.send('uid', caller.uid, reportedIds, {
|
await activitypub.send('uid', caller.uid, reportedIds, {
|
||||||
id: `${nconf.get('url')}/${flag.type}/${encodeURIComponent(flag.targetId)}#activity/flag/${caller.uid}`,
|
id: `${nconf.get('url')}/${flag.type}/${encodeURIComponent(flag.targetId)}#activity/flag/${caller.uid}`,
|
||||||
type: 'Flag',
|
type: 'Flag',
|
||||||
|
actor: `${nconf.get('url')}/uid/${caller.uid}`,
|
||||||
object: reportedIds,
|
object: reportedIds,
|
||||||
content: reason,
|
content: reason,
|
||||||
});
|
});
|
||||||
@@ -431,6 +439,7 @@ activitypubApi.undo.flag = enabledCheck(async (caller, flag) => {
|
|||||||
await activitypub.send('uid', caller.uid, reportedIds, {
|
await activitypub.send('uid', caller.uid, reportedIds, {
|
||||||
id: `${nconf.get('url')}/${flag.type}/${encodeURIComponent(flag.targetId)}#activity/undo:flag/${caller.uid}/${Date.now()}`,
|
id: `${nconf.get('url')}/${flag.type}/${encodeURIComponent(flag.targetId)}#activity/undo:flag/${caller.uid}/${Date.now()}`,
|
||||||
type: 'Undo',
|
type: 'Undo',
|
||||||
|
actor: `${nconf.get('url')}/uid/${caller.uid}`,
|
||||||
object: {
|
object: {
|
||||||
id: `${nconf.get('url')}/${flag.type}/${encodeURIComponent(flag.targetId)}#activity/flag/${caller.uid}`,
|
id: `${nconf.get('url')}/${flag.type}/${encodeURIComponent(flag.targetId)}#activity/flag/${caller.uid}`,
|
||||||
actor: `${nconf.get('url')}/uid/${caller.uid}`,
|
actor: `${nconf.get('url')}/uid/${caller.uid}`,
|
||||||
|
|||||||
Reference in New Issue
Block a user