Compare commits

...

1771 Commits

Author SHA1 Message Date
Julian Lam
4ec7552cfb refactor: move all input note normalization into helper method, have assertPrivate mock a message object (with said normalization) before sending message 2025-03-04 14:11:41 -05:00
Julian Lam
6c26d9f4a3 feat: add line to description exposing a category's handle if accessible by fediverse pseudo-user, closes #13126 2025-03-03 15:03:21 -05:00
Julian Lam
e3edfef865 feat: call announceObject on topic fork, #13215 2025-03-03 11:54:26 -05:00
Julian Lam
deb5ee5e01 fix: improper cc and object fields in announceObject 2025-03-03 11:54:26 -05:00
Julian Lam
feb9421507 test: add failing test for #13215 2025-03-03 11:54:26 -05:00
Barış Soner Uşaklı
324d232faa Merge branch 'master' into develop 2025-03-03 09:24:16 -05:00
Barış Soner Uşaklı
9549f1fa93 lint: fix ) 2025-03-03 09:24:11 -05:00
Barış Soner Uşaklı
15d921f375 Merge branch 'master' into develop 2025-03-03 09:15:52 -05:00
Barış Soner Uşaklı
40a5314e64 fix: add starterPlan check 2025-03-03 09:15:43 -05:00
Misty Release Bot
02e2d4ee7e Latest translations and fallbacks 2025-03-03 09:20:18 +00:00
Julian Lam
dca3c35d76 fix: move AP send logging earlier 2025-03-02 22:58:05 -05:00
Julian Lam
7ceb6d69ae test: adjust test runner detection in AP code 2025-03-02 21:58:46 -05:00
Julian Lam
d948334713 fix: #13224, handle note attributedTo when it is of type object 2025-03-02 21:35:54 -05:00
Barış Soner Uşaklı
1d989a0144 Merge branch 'master' into develop 2025-02-28 20:52:08 -05:00
Barış Soner Uşaklı
39ff5dde3f chore: up mentions 2025-02-28 20:52:03 -05:00
Julian Lam
e510e82633 test: new test file for feps 2025-02-28 14:46:12 -05:00
Barış Soner Uşaklı
f671ae2c6f Merge branch 'master' into develop 2025-02-28 14:37:16 -05:00
Barış Soner Uşaklı
8dbd50d452 fix: closes #13219, only delete local user folder 2025-02-28 14:37:03 -05:00
Barış Soner Uşaklı
1d4be4752c chore: up markdown 2025-02-28 14:35:02 -05:00
renovate[bot]
e19109ad2c fix(deps): update dependency tough-cookie to v5.1.2 (#13217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 14:08:08 -05:00
Julian Lam
6e872b5fe4 test: log outgoing AP messages for local test runner 2025-02-28 13:56:40 -05:00
Julian Lam
73aaa990fb fix: allow actor assertion of loopback actors depending on ACP setting 2025-02-28 13:56:40 -05:00
Julian Lam
98aafaaff8 test: allow ap/notes tests to be run in isolation 2025-02-28 13:56:40 -05:00
Barış Soner Uşaklı
30068245d3 fix: don't crash if there are exceptions in action hooks
since some action hooks are called without an await
2025-02-28 11:10:31 -05:00
renovate[bot]
ad680d6abe fix(deps): update dependency mongodb to v6.14.0 (#13214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 10:52:17 -05:00
renovate[bot]
4c22af8c43 fix(deps): update dependency terser-webpack-plugin to v5.3.12 (#13213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 10:40:46 -05:00
renovate[bot]
f56838a3f0 fix(deps): update dependency cron to v4.1.0 (#13200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 10:03:18 -05:00
Barış Soner Uşaklı
d8151986a6 Merge branch 'master' into develop 2025-02-28 09:51:52 -05:00
Misty Release Bot
6106b3c200 Latest translations and fallbacks 2025-02-28 09:20:14 +00:00
Misty Release Bot
3292a85820 chore: update changelog for v4.1.0 2025-02-27 18:59:19 +00:00
Misty Release Bot
4a4b223ef7 chore: incrementing version number - v4.1.0 2025-02-27 18:59:18 +00:00
Julian Lam
f1c2b2be04 Merge branch 'master' into develop 2025-02-27 13:34:28 -05:00
Julian Lam
428300de4f fix: scheduled topics and posts should return 404 on AP request 2025-02-27 13:34:21 -05:00
Julian Lam
01be4d7908 test: moved AP actor tests to separate actors.js file, added failing test for scheduled topics 2025-02-27 13:34:21 -05:00
Barış Soner Uşaklı
37001af0af Merge branch 'master' into develop 2025-02-26 21:07:41 -05:00
Misty Release Bot
78bbea301d chore: update changelog for v4.0.6 2025-02-27 02:06:56 +00:00
Misty Release Bot
b71dd26731 chore: incrementing version number - v4.0.6 2025-02-27 02:06:55 +00:00
Barış Soner Uşaklı
9e1a0a13e1 chore: up dbsearch 2025-02-26 20:36:10 -05:00
Julian Lam
04d5edbbe9 fix: add missing file 2025-02-26 18:25:51 -05:00
renovate[bot]
3907e6c89d chore(deps): update dependency sass-embedded to v1.85.1 (#13208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 17:37:58 -05:00
renovate[bot]
386ab89f05 fix(deps): update dependency sass to v1.85.1 (#13209)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 17:37:49 -05:00
Julian Lam
95f2c4edb5 feat: support remote "Video" type objects in note assertion, #13120
- handle array attributedTo (plus per-object actor assertion instead of batched)
- explicit "Video" type handling to automatically save URL as post attachment
- handle array url property
2025-02-26 13:55:39 -05:00
Julian Lam
bad0a4c2d2 chore: comment out testing helper call 2025-02-26 13:55:28 -05:00
Julian Lam
5c3f1cfe57 fix: tag handling when remote objects contain tags without leading # symbol 2025-02-26 13:36:06 -05:00
Julian Lam
c6ba56a517 test: update test to assert the note assertion itself
add failing test for Video handling
2025-02-26 13:06:37 -05:00
Julian Lam
c98f29aeb4 Merge branch 'master' into develop 2025-02-26 12:57:47 -05:00
Julian Lam
c65e1ebb8f fix: #13202, private note assertion failure when cc property is missing 2025-02-26 12:29:57 -05:00
Julian Lam
efb27ce0ac fix: tests for public and private note assertion, failing test for private note assertion with missing cc prop 2025-02-26 12:29:57 -05:00
Barış Soner Uşaklı
bfffbfbe57 test: update bcrypt hash for 3.x 2025-02-26 12:06:45 -05:00
Barış Soner Uşaklı
ca0fa1d347 test: update pwd test for bcrypt3.x 2025-02-26 12:00:54 -05:00
Barış Soner Uşaklı
6f26942c4b Merge branch 'master' into develop 2025-02-26 11:52:18 -05:00
Barış Soner Uşaklı
51872d5435 fix: closes #13206, truncate long usernames 2025-02-26 11:51:35 -05:00
Barış Soner Uşaklı
13a13e1d13 fix: closes #13207, add localComments 2025-02-26 11:39:59 -05:00
Julian Lam
64267f7de0 test: remove extra .only, add basic tests for public note assertion 2025-02-25 14:24:56 -05:00
Julian Lam
d91b80d293 fix: handle multiple types in remote actor payload 2025-02-25 13:33:44 -05:00
Julian Lam
6589565129 fix: handle multiple types in remote actor payload 2025-02-25 13:32:49 -05:00
Barış Soner Uşaklı
349084d8f9 refactor: use sortedSetRemoveBulk 2025-02-25 10:33:06 -05:00
Barış Soner Uşaklı
53a2be9def refactor: don't make db request if there is no code 2025-02-25 10:27:38 -05:00
Misty Release Bot
092043c87f Latest translations and fallbacks 2025-02-25 09:20:24 +00:00
Barış Soner Uşaklı
07957e8243 fix: don't send validation email for pending emails 2025-02-24 12:40:25 -05:00
Barış Soner Uşaklı
52b23313a3 fix: missing db 2025-02-24 11:04:26 -05:00
Barış Soner Uşaklı
058befb390 fix: missing db 2025-02-24 11:04:19 -05:00
Barış Soner Uşaklı
e470eafcad Merge branch 'master' into develop 2025-02-24 10:53:00 -05:00
Barış Soner Uşaklı
b4dfc48b04 fix: #13198, use email from confirmObj
if includeUnverifiedEmails setting is turned on.
userData.email is set to the unconfirmed email
2025-02-24 10:52:41 -05:00
Misty Release Bot
ffc76cba95 Latest translations and fallbacks 2025-02-24 09:19:28 +00:00
renovate[bot]
6ea656780b fix(deps): update dependency bcryptjs to v3 (#13160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-23 19:20:29 -05:00
renovate[bot]
41eec8d77d fix(deps): update dependency cron to v4 (#13184)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-23 19:19:58 -05:00
renovate[bot]
23621eca55 fix(deps): update dependency xregexp to v5.1.2 (#13195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-23 19:18:56 -05:00
renovate[bot]
cba2bc5ecf chore(deps): update postgres docker tag to v17.4 (#13196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-23 19:18:45 -05:00
renovate[bot]
a3f5721abb fix(deps): update dependency ace-builds to v1.39.0 (#13197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-23 19:18:36 -05:00
Barış Soner Uşaklı
b8f4e94780 Merge branch 'master' into develop 2025-02-23 12:06:43 -05:00
Barış Soner Uşaklı
b2cdd5fdb7 chore: add sourceContent to schema 2025-02-23 12:06:32 -05:00
Barış Soner Uşaklı
940fa974ab Merge branch 'master' into develop 2025-02-23 12:02:33 -05:00
Barış Soner Uşaklı
f94cf5ce60 chore: up harmony 2025-02-23 12:02:28 -05:00
Barış Soner Uşaklı
1a7250b508 Merge branch 'master' into develop 2025-02-23 10:25:58 -05:00
Barış Soner Uşaklı
e9d4c7b97e fix: summary post parse 2025-02-23 10:25:53 -05:00
Barış Soner Uşaklı
97928b67e7 Merge branch 'master' into develop 2025-02-23 10:21:56 -05:00
Barış Soner Uşaklı
ad92e93129 fix: add sourceContent to getPostSummaryByPids
ap posts wasnt showing any content in mobile navigator
2025-02-23 10:21:47 -05:00
Barış Soner Uşaklı
702ad58b72 Merge branch 'master' into develop 2025-02-23 09:59:47 -05:00
Barış Soner Uşaklı
a9563d753b chore: up deps 2025-02-23 09:59:41 -05:00
Barış Soner Uşaklı
c8ca04fb3b Merge branch 'master' into develop 2025-02-23 09:58:45 -05:00
Barış Soner Uşaklı
08014e7ccb chore: up harmony 2025-02-23 09:58:36 -05:00
Misty Release Bot
ba3c982e37 Latest translations and fallbacks 2025-02-23 09:18:42 +00:00
Misty Release Bot
0025382106 chore(i18n): fallback strings for new resources: nodebb.category 2025-02-22 22:13:17 +00:00
Barış Soner Uşaklı
a3596772ec Merge branch 'master' into develop 2025-02-22 17:12:52 -05:00
Barış Soner Uşaklı
2c83056778 fix: #13193, add lang strings 2025-02-22 17:12:45 -05:00
Barış Soner Uşaklı
b8c8ae0998 fix: #13194, dont notify about cid=-1 2025-02-22 16:56:13 -05:00
Barış Soner Uşaklı
fe980688e4 fix: old upgrade script so it doesn't create settings objects
if they don't exist
2025-02-22 12:07:04 -05:00
Barış Soner Uşaklı
54979689a4 Merge branch 'master' into develop 2025-02-22 11:56:25 -05:00
Barış Soner Uşaklı
8385d4ae68 chore: up harmony 2025-02-22 11:56:11 -05:00
Barış Soner Uşaklı
752f4ca11b Merge branch 'master' into develop 2025-02-22 11:11:53 -05:00
Barış Soner Uşaklı
e38d153117 feat: match events and parent style
use displayname in topic events
2025-02-22 11:11:47 -05:00
Barış Soner Uşaklı
9a43bd5b53 Merge branch 'master' into develop 2025-02-22 09:35:49 -05:00
Barış Soner Uşaklı
0a9d28d58f chore: up harmony 2025-02-22 09:35:44 -05:00
Misty Release Bot
73f9764682 Latest translations and fallbacks 2025-02-22 09:18:36 +00:00
renovate[bot]
474d267ec8 fix(deps): update dependency chart.js to v4.4.8 (#13182)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 18:28:29 -05:00
Barış Soner Uşaklı
76aae7c9ca Merge branch 'master' into develop 2025-02-21 18:27:39 -05:00
Barış Soner Uşaklı
c920836a82 chore: up harmony 2025-02-21 18:27:34 -05:00
Misty Release Bot
589be1438e chore(i18n): fallback strings for new resources: nodebb.error 2025-02-21 17:57:40 +00:00
Barış Soner Uşaklı
e7b439a892 Merge branch 'master' into develop 2025-02-21 12:57:13 -05:00
Barış Soner Uşaklı
9153f8cfae feat: merge consecutive share events 2025-02-21 12:57:07 -05:00
Barış Soner Uşaklı
9bfa885392 fix: escape confirm email in acp manage users 2025-02-21 11:30:50 -05:00
Barış Soner Uşaklı
c6b8256fff fix: add missing await on filter:user.logout
if there is an error in logout hooks don't crash send error back instead of building 500 page
2025-02-21 11:27:52 -05:00
Barış Soner Uşaklı
ec11b0c252 lint: fix 2025-02-21 09:51:24 -05:00
Shlomo
577eee2f6a feat(config): add acpPluginInstallDisabled option (#13189) 2025-02-21 09:38:45 -05:00
renovate[bot]
5fc4c806d9 fix(deps): update dependency postcss to v8.5.3 (#13183)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 19:09:45 -05:00
renovate[bot]
77b0160c74 fix(deps): update dependency mongodb to v6.13.1 (#13187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 19:09:33 -05:00
Barış Soner Uşaklı
c14522cefe Merge branch 'master' into develop 2025-02-20 19:02:41 -05:00
Barış Soner Uşaklı
2ab6a368c9 chore: up esbuild 2025-02-20 18:57:53 -05:00
Barış Soner Uşaklı
02a8d9b6b4 chore: up widgets 2025-02-20 18:51:55 -05:00
Barış Soner Uşaklı
05bbefd17a chore: up harmony 2025-02-20 18:47:50 -05:00
Julian Lam
7dc1e8abad feat: 1b12 compatibility
- only Announce activities, not the plain object
- Announce the plain object separately, but only for the main post Create
2025-02-20 15:07:45 -05:00
Julian Lam
e149c891b5 Merge branch 'master' into develop 2025-02-20 14:09:35 -05:00
Julian Lam
2ad48f1714 fix: relaxing strict allowedTags configuration for incoming AP content (allowing picture, source, and additional attributes for img)
re: #13185
2025-02-20 14:08:51 -05:00
Misty Release Bot
f84b9fc75b chore: update changelog for v4.0.5 2025-02-20 18:17:39 +00:00
Misty Release Bot
4fe23e5c85 chore: incrementing version number - v4.0.5 2025-02-20 18:17:39 +00:00
Julian Lam
e63f1234a7 fix: typo 2025-02-20 12:50:05 -05:00
Julian Lam
93f48409c5 fix: #13136, do not log 404s for AP requests 2025-02-20 12:24:17 -05:00
Julian Lam
7520e4f64d chore: bump composer to 10.2.46 for #13132 2025-02-20 11:54:24 -05:00
Julian Lam
b8200095c0 fix: #13129, serve category backgroundImage as actor icon, not image
+ tests for category actor
2025-02-20 11:38:47 -05:00
Barış Soner Uşaklı
424ff95241 Merge branch 'master' into develop 2025-02-20 09:19:32 -05:00
Barış Soner Uşaklı
625f47514f fix: escape ip blacklist rules 2025-02-20 09:18:03 -05:00
Barış Soner Uşaklı
692e96b04c Merge branch 'master' into develop 2025-02-19 23:25:42 -05:00
Barış Soner Uşaklı
f82f00e5f5 chore: up harmony 2025-02-19 23:25:36 -05:00
Barış Soner Uşaklı
3991898171 Merge branch 'master' into develop 2025-02-19 20:09:40 -05:00
Barış Soner Uşaklı
a410587ce1 fix: closes #13180, don't execute cron jobs if ap disabled 2025-02-19 20:09:31 -05:00
Barış Soner Uşaklı
5d0beadf36 Merge branch 'master' into develop 2025-02-19 19:22:22 -05:00
Barış Soner Uşaklı
e23a14c175 chore: up widgets 2025-02-19 19:21:59 -05:00
Barış Soner Uşaklı
06b3d9adba lint: remove unused db 2025-02-19 18:48:44 -05:00
Barış Soner Uşaklı
3aae3a57bc Merge branch 'master' into develop 2025-02-19 18:02:09 -05:00
Barış Soner Uşaklı
c0996a8089 chore: up harmony 2025-02-19 18:01:57 -05:00
Julian Lam
d0561a602e refactor: remove cid:-1:tids (and variants) from intersection in /world, fixes #13125
- remove "poor man's intersect" but not considering the main `cid:-1:tids` set at all
  including its variants (voting, reply time, etc.)
- added a new method Categories.sortTidsBySet which allows after-the-fact sorting
  of tids by their score in a set.
2025-02-19 14:18:20 -05:00
Julian Lam
0d14ff15d7 Merge branch 'master' into develop 2025-02-19 12:04:36 -05:00
Julian Lam
bb9687bd89 fix: #13172, Topics.addParentPosts not sending sourceContent in calling parsePosts 2025-02-19 12:02:14 -05:00
Barış Soner Uşaklı
69e4111843 Merge branch 'master' into develop 2025-02-18 22:28:14 -05:00
Barış Soner Uşaklı
d0a9ddeaab chore: up dbsearch 2025-02-18 22:28:08 -05:00
Barış Soner Uşaklı
6cdb50d578 Merge branch 'master' into develop 2025-02-18 22:05:23 -05:00
Barış Soner Uşaklı
310fab6559 chore: up dbsearch 2025-02-18 22:05:17 -05:00
Barış Soner Uşaklı
a5162f97b5 Merge branch 'master' into develop 2025-02-18 17:05:41 -05:00
Barış Soner Uşaklı
f67a0a124a feat: add upload button to quickreply 2025-02-18 17:04:54 -05:00
Julian Lam
b6d9abd1ed Merge branch 'master' into develop 2025-02-18 13:40:04 -05:00
Julian Lam
6245e33d6e fix: #13179, fix context resolution failure bug with frequency 2025-02-18 13:34:17 -05:00
Julian Lam
de6e63bbd7 fix: add back chronological sorting of asserted notes 2025-02-18 13:33:11 -05:00
Julian Lam
4bc0031f58 chore: add test helper to activitypub file 2025-02-18 13:07:11 -05:00
Barış Soner Uşaklı
9997189aea feat: remove activities older than a week 2025-02-18 13:00:08 -05:00
Barış Soner Uşaklı
d9e86c7b07 feat: remove activities older than a week 2025-02-18 12:06:02 -05:00
Barış Soner Uşaklı
e308845049 Merge branch 'master' into develop 2025-02-18 11:57:35 -05:00
Barış Soner Uşaklı
669755d1e9 test: dont clear local when testing 2025-02-18 11:57:28 -05:00
Barış Soner Uşaklı
8c6bfa95e4 Merge branch 'master' into develop 2025-02-18 11:43:52 -05:00
Barış Soner Uşaklı
f282407322 test: show objects on fail 2025-02-18 11:43:34 -05:00
renovate[bot]
000ceee40e fix(deps): update dependency nodebb-plugin-web-push to v0.7.3 (#13178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 11:25:09 -05:00
Julian Lam
92708d2f6b fix: #13170, remove mime-type and regex test for "Emoji" attachment, wrap tag name in colons if not provided 2025-02-18 10:58:04 -05:00
Barış Soner Uşaklı
6431824216 test: wait after post request 2025-02-18 10:53:25 -05:00
renovate[bot]
47e28a0e3e chore(deps): update postgres docker tag to v17.3 (#13162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 10:49:36 -05:00
Barış Soner Uşaklı
80cc1d34b0 fix: closes #13176, check if uid is number when creating tokens 2025-02-18 10:42:52 -05:00
Julian Lam
5e71d597a4 fix: notes.assertPrivate sanity checks 2025-02-18 10:12:26 -05:00
Misty Release Bot
8b65b3b1c9 Latest translations and fallbacks 2025-02-18 09:19:02 +00:00
Barış Soner Uşaklı
8832fcc992 Merge branch 'master' into develop 2025-02-17 21:04:01 -05:00
Barış Soner Uşaklı
b0e8058f58 fix: page index for single page, closes #13173
add test case
2025-02-17 21:03:49 -05:00
Barış Soner Uşaklı
4134a075c8 fix: remove handle on category purge
closes #13171
2025-02-17 14:27:04 -05:00
Barış Soner Uşaklı
f45ea6730a Merge branch 'master' into develop 2025-02-17 14:26:57 -05:00
Barış Soner Uşaklı
adb430f27e fix: remove handle on category purge
closes #13171
2025-02-17 14:26:49 -05:00
Misty Release Bot
f034ed53fd Latest translations and fallbacks 2025-02-17 09:19:15 +00:00
Misty Release Bot
d3b69a397f chore: update changelog for v4.0.4 2025-02-17 04:45:48 +00:00
Misty Release Bot
a0d9f99945 chore: incrementing version number - v4.0.4 2025-02-17 04:45:48 +00:00
Julian Lam
b6918267a1 Merge branch 'master' into develop 2025-02-16 15:00:41 -05:00
Julian Lam
33d7b9b3ab fix: clear parsed post cache when updating a post's attachments, #13164 2025-02-16 14:48:44 -05:00
Julian Lam
dadefeb1ee Merge branch 'master' into develop 2025-02-16 14:29:13 -05:00
Julian Lam
d936d5c073 fix: logic failure causing remote posts with image to not parse properly, #13164 2025-02-16 14:27:57 -05:00
Misty Release Bot
9b1ccf539a Latest translations and fallbacks 2025-02-16 09:18:47 +00:00
Barış Soner Uşaklı
7c8154489e Merge branch 'master' into develop 2025-02-15 21:15:33 -05:00
Barış Soner Uşaklı
0fed9a76c0 chore: up harmony 2025-02-15 21:15:28 -05:00
Barış Soner Uşaklı
0dccd5c6ed Merge branch 'master' into develop 2025-02-15 21:02:33 -05:00
Barış Soner Uşaklı
ef2c606dcb chore: up harmony 2025-02-15 21:02:25 -05:00
Misty Release Bot
2504971409 chore(i18n): fallback strings for new resources: nodebb.themes-harmony 2025-02-16 01:36:59 +00:00
Barış Soner Uşaklı
3ebca2570a Merge branch 'master' into develop 2025-02-15 20:36:24 -05:00
Barış Soner Uşaklı
f1da510f04 chore: up harmony 2025-02-15 20:36:07 -05:00
Barış Soner Uşaklı
c5582d213a Merge branch 'master' into develop 2025-02-15 12:16:13 -05:00
Barış Soner Uşaklı
fa36609537 chore: up deps 2025-02-15 12:15:54 -05:00
renovate[bot]
2258e145e7 chore(deps): update dependency sass-embedded to v1.85.0 (#13161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 11:56:13 -05:00
renovate[bot]
75a7188a51 fix(deps): update dependency sass to v1.85.0 (#13163)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 11:55:51 -05:00
renovate[bot]
f3c156e94d fix(deps): update dependency pg to v8.13.3 (#13157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-14 21:29:32 -05:00
Julian Lam
8b717d5410 fix: restrict feps methods to real cids 2025-02-14 21:12:18 -05:00
Julian Lam
b7f9983a2f feat: federate out Announce of a tid's mainPid if the tid is moved out of cid -1
closes #13097
2025-02-14 21:07:26 -05:00
Julian Lam
637addc445 feat: syncUserInboxes to take into account remote topic tags, closes #13074 2025-02-14 20:43:19 -05:00
Julian Lam
04f51cc63a fix: change the passed-in notificatiom id for notifyTagFollowers to contain the list of matched tags
fixes: #13087
2025-02-14 20:25:10 -05:00
Barış Soner Uşaklı
77dd6dd0e7 refactor: single remove 2025-02-14 10:42:05 -05:00
Barış Soner Uşaklı
182fdf0479 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-02-14 10:41:56 -05:00
Barış Soner Uşaklı
0784e11b9b refactor: single remove 2025-02-14 10:41:52 -05:00
Misty Release Bot
ad6b61324d chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced 2025-02-14 15:26:35 +00:00
Barış Soner Uşaklı
48ec32b9c4 Merge branch 'master' into develop 2025-02-14 10:26:11 -05:00
Barış Soner Uşaklı
d872470843 refactor: cleanup ip:recent 2025-02-14 10:25:59 -05:00
Misty Release Bot
2a4fe74f8a Latest translations and fallbacks 2025-02-14 09:18:55 +00:00
Julian Lam
f0ee43dcc1 fix: restore old behaviour of 1b12 federating both object and activity 2025-02-13 17:07:12 -05:00
renovate[bot]
6b8e4b3906 fix(deps): update dependency pg-cursor to v2.12.3 (#13158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 14:39:03 -05:00
renovate[bot]
db74c1e8e6 fix(deps): update dependency webpack to v5.98.0 (#13159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 14:38:53 -05:00
renovate[bot]
af7f424212 fix(deps): update dependency nodebb-widget-essentials to v7.0.33 (#13156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 14:06:44 -05:00
Misty Release Bot
fa21c6225e Latest translations and fallbacks 2025-02-13 09:19:31 +00:00
Barış Soner Uşaklı
a5ad1b7f3d Merge branch 'master' into develop 2025-02-12 19:38:57 -05:00
Barış Soner Uşaklı
df07fcfa54 chore: up harmony 2025-02-12 19:38:43 -05:00
Barış Soner Uşaklı
dac57a8c40 Merge branch 'master' into develop 2025-02-12 19:33:05 -05:00
Barış Soner Uşaklı
de5caf8f70 chore: up harmony 2025-02-12 19:32:40 -05:00
renovate[bot]
b5ce9e145a fix(deps): update dependency pg-cursor to v2.12.2 (#13150)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 15:56:33 -05:00
renovate[bot]
1e52cf34b4 fix(deps): update dependency compression to v1.8.0 (#13152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 11:04:04 -05:00
renovate[bot]
db0b816cf9 fix(deps): update dependency ace-builds to v1.38.0 (#13151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 11:00:13 -05:00
renovate[bot]
bea1367d77 fix(deps): update dependency pg to v8.13.2 (#13149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 10:59:35 -05:00
Misty Release Bot
992109189f chore(i18n): fallback strings for new resources: nodebb.themes-harmony 2025-02-12 10:25:25 -05:00
renovate[bot]
3449e76d3f fix(deps): update dependency postcss to v8.5.2 (#13144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 10:23:37 -05:00
Misty Release Bot
4f1f6b9946 Latest translations and fallbacks 2025-02-12 09:19:27 +00:00
Julian Lam
86b0e5913b fix: send actor with 1b12 announce, fixes #13072 again 2025-02-11 16:07:38 -05:00
Julian Lam
d50f8a9d00 Revert "fix: send actor with 1b12 announce, fixes #13072"
This reverts commit 3cd87f1bc1.
2025-02-11 15:58:39 -05:00
Barış Soner Uşaklı
402fa27059 Merge branch 'master' into develop 2025-02-11 14:33:12 -05:00
Barış Soner Uşaklı
ffbe4b7bb7 fix: actor.prune, dont try deleting same users
over and over if they have local content
2025-02-11 14:32:54 -05:00
Barış Soner Uşaklı
c4b013308f refactor: hooks button 2025-02-11 13:57:38 -05:00
Barış Soner Uşaklı
de457210e9 show non deletions 2025-02-11 13:51:42 -05:00
Barış Soner Uşaklı
7555b603b5 show non deletions 2025-02-11 13:48:53 -05:00
Barış Soner Uşaklı
fde5e57e6d Merge branch 'master' into develop 2025-02-11 13:45:46 -05:00
Barış Soner Uşaklı
cfbb8ff887 fix: getLocalFollowCounts, show non existing deletes 2025-02-11 13:45:38 -05:00
Barış Soner Uşaklı
70a9f6d337 fix: return null if field isn't in hash 2025-02-11 13:37:21 -05:00
Barış Soner Uşaklı
08e469180d Merge branch 'master' into develop 2025-02-11 13:28:54 -05:00
Barış Soner Uşaklı
e85662a536 fix: getUserField so that it always returns null
if field doesn't exist
user.getUserField('foo', 'bar') returned undefined vs user.getUserField('1', 'bar') which returned null
2025-02-11 13:28:25 -05:00
Barış Soner Uşaklı
d590c2afcf perf: closes #13145, reduce calls in actors.prune
instead of deleting 18k users everyday delete max 500 every 30mins like notifications.prune

refactor getLocalFollowCounts so it works with an array of actors

dont make dbcalls for uids that dont exist
2025-02-11 11:01:32 -05:00
Barış Soner Uşaklı
224910b133 fix: isArray check 2025-02-11 10:56:56 -05:00
Barış Soner Uşaklı
5f3ed76d54 fix: isArray check 2025-02-11 10:48:42 -05:00
Barış Soner Uşaklı
676acb7e8c perf: closes #13145, reduce calls in actors.prune
instead of deleting 18k users everyday delete max 500 every 30mins like notifications.prune

refactor getLocalFollowCounts so it works with an array of actors

dont make dbcalls for uids that dont exist
2025-02-11 10:39:24 -05:00
Barış Soner Uşaklı
db0535838b Merge branch 'master' into develop 2025-02-11 10:17:01 -05:00
Barış Soner Uşaklı
893089709c add await to notify functions
and wrap in try/catch
2025-02-11 10:16:40 -05:00
Misty Release Bot
b5bfb9ab26 Latest translations and fallbacks 2025-02-11 09:19:36 +00:00
renovate[bot]
6688edde1f fix(deps): update dependency benchpressjs to v2.5.3 (#13098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-09 18:05:38 -05:00
Barış Soner Uşaklı
7804b301d5 Merge branch 'master' into develop 2025-02-08 21:19:14 -05:00
Barış Soner Uşaklı
d1f78295ba chore: up harmony 2025-02-08 20:57:56 -05:00
Julian Lam
5cbf3dd7ea fix: sanity-check the id when mocking a post 2025-02-08 20:28:17 -05:00
Julian Lam
040584f035 fix: missing actor on some local activities when federating out 2025-02-08 20:27:55 -05:00
Misty Release Bot
123e16358d chore: update changelog for v4.0.3 2025-02-09 01:01:55 +00:00
Misty Release Bot
6d73c13495 chore: incrementing version number - v4.0.3 2025-02-09 01:01:54 +00:00
Barış Soner Uşaklı
1b4e0c8726 fix: delete from payload instead of setting null 2025-02-08 19:52:06 -05:00
Barış Soner Uşaklı
489c5ce296 fix: delete from payload instead of setting null 2025-02-08 19:51:52 -05:00
Barış Soner Uşaklı
7274025d1a Merge branch 'master' into develop 2025-02-08 19:40:40 -05:00
Barış Soner Uşaklı
1090dbd85e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-02-08 19:40:20 -05:00
Barış Soner Uşaklı
f5328aa80c fix: regression :tmi: 2025-02-08 19:40:12 -05:00
renovate[bot]
d7fdd80c41 fix(deps): update dependency esbuild to v0.25.0 (#13141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-08 18:53:11 -05:00
renovate[bot]
33ce723908 fix(deps): update dependency tough-cookie to v5.1.1 (#13140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-08 18:52:37 -05:00
Barış Soner Uşaklı
c34cd52186 Merge branch 'master' into develop 2025-02-08 13:04:40 -05:00
Barış Soner Uşaklı
a8e7bf351a lint: remove log 2025-02-08 13:04:32 -05:00
renovate[bot]
b337e9990a fix(deps): update dependency ioredis to v5.5.0 (#13138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-08 13:01:19 -05:00
Barış Soner Uşaklı
d1a1de958a Merge branch 'master' into develop 2025-02-08 12:57:43 -05:00
Barış Soner Uşaklı
7b8060bc2c don't navigate on first click when expanding 2025-02-08 12:57:37 -05:00
Barış Soner Uşaklı
9ad967dc95 Merge branch 'master' into develop 2025-02-08 12:24:25 -05:00
Barış Soner Uşaklı
2ee0cda28e chore: up harmony 2025-02-08 12:24:19 -05:00
Julian Lam
3cd87f1bc1 fix: send actor with 1b12 announce, fixes #13072 2025-02-08 06:50:20 -05:00
Misty Release Bot
9f91d321dd Latest translations and fallbacks 2025-02-08 09:19:02 +00:00
Barış Soner Uşaklı
bfe6d9d861 fix: #13139, payload.version can be null
causes compareVersions to crash, show cofirm modal if its null
2025-02-07 19:34:35 -05:00
Barış Soner Uşaklı
be1598d171 fix: #13139, payload.version can be null
causes compareVersions to crash, show cofirm modal if its null
2025-02-07 19:34:26 -05:00
Barış Soner Uşaklı
861d5980a6 Merge branch 'master' into develop 2025-02-07 17:19:59 -05:00
Barış Soner Uşaklı
2b7961e0e2 add brand:logo to config 2025-02-07 17:19:52 -05:00
Barış Soner Uşaklı
b6b766395d chore: update persona 2025-02-07 12:01:50 -05:00
Julian Lam
9fd6ac6bb8 refactor: move 1b12 announce logic out of inbox and into separate feps module
1b12 announces were previously only happening for local creates and received
activities, but they should happen for all local activities as well.

re: #13072
2025-02-07 08:21:41 -05:00
Julian Lam
cd88cce0c8 chore: bump persona to fix theme description issue 2025-02-07 07:11:05 -05:00
Misty Release Bot
608317ba28 Latest translations and fallbacks 2025-02-07 09:19:21 +00:00
Barış Soner Uşaklı
3909936076 Merge branch 'master' into develop 2025-02-06 21:16:13 -05:00
Barış Soner Uşaklı
a01bf73ee1 chore: up harmony 2025-02-06 21:13:48 -05:00
renovate[bot]
f872a76837 fix(deps): update dependency sass to v1.84.0 (#13128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 20:02:26 -05:00
Barış Soner Uşaklı
39f826a1a5 Merge branch 'master' into develop 2025-02-06 19:59:15 -05:00
Barış Soner Uşaklı
3ab22c2c8c refactor: events are returned inside post objects
to load all events of a topic use api/v3/topics/:tid/events
2025-02-06 19:59:09 -05:00
Barış Soner Uşaklı
1f8e2f9aad fix: tidChanged 2025-02-06 19:31:52 -05:00
Barış Soner Uşaklı
bfd4e68bde fix: tidChanged 2025-02-06 19:31:44 -05:00
Barış Soner Uşaklı
3b7b32e228 Merge branch 'master' into develop 2025-02-06 19:23:57 -05:00
Barış Soner Uşaklı
d687f0810c fix: #13135, tids are not numeric for ap topics
this fixes other issues like posts not disappearing when purged and many others
2025-02-06 19:12:32 -05:00
Julian Lam
4c857c5372 Merge branch 'master' into develop 2025-02-06 18:03:54 -05:00
Julian Lam
865c09a5cf chore: forgot to remove bad code 2025-02-06 18:03:47 -05:00
Julian Lam
fea1ccdbf5 Merge branch 'master' into develop 2025-02-06 17:59:05 -05:00
Julian Lam
5baa46d0bc fix: handle cases where url passed to mime does not pass because url contained a query string 2025-02-06 17:58:54 -05:00
Barış Soner Uşaklı
96a1ebdfec Merge branch 'master' into develop 2025-02-06 14:38:28 -05:00
Barış Soner Uşaklı
c3f8222f47 chore: up harmony 2025-02-06 14:38:07 -05:00
Barış Soner Uşaklı
c2f7754ae0 Post/parent (#13133)
* post.parent wip

* feat: post parent

handle delete/restore/purge privileges etc.

* remove whitespace

* fix: this in each

* lint

* up harmony fix text break
2025-02-06 14:37:50 -05:00
Misty Release Bot
f6d46c0ae1 Latest translations and fallbacks 2025-02-06 09:19:12 +00:00
Barış Soner Uşaklı
f07f380167 chore: up harmony 2025-02-05 20:58:15 -05:00
Barış Soner Uşaklı
ea110a0e2b chore: up harmony 2025-02-05 20:58:05 -05:00
Barış Soner Uşaklı
eff0d5958f Merge branch 'master' into develop 2025-02-05 20:53:33 -05:00
Barış Soner Uşaklı
67a789ad70 chore: up harmony 2025-02-05 20:51:14 -05:00
Misty Release Bot
fc063bb03d chore(i18n): fallback strings for new resources: nodebb.themes-harmony 2025-02-06 00:55:16 +00:00
Barış Soner Uşaklı
5ea81661b2 Merge branch 'master' into develop 2025-02-05 19:54:52 -05:00
Barış Soner Uşaklı
c1c5cc6e30 chore: up themes 2025-02-05 19:54:42 -05:00
Barış Soner Uşaklı
fcefb445bd harmony setting strings 2025-02-05 19:53:59 -05:00
Misty Release Bot
11079ad192 Latest translations and fallbacks 2025-02-05 09:19:02 +00:00
Barış Soner Uşaklı
c41815ab81 remove w-100 2025-02-04 20:11:33 -05:00
Barış Soner Uşaklı
3aeec2cd11 remove w-100 2025-02-04 20:11:25 -05:00
Barış Soner Uşaklı
af77d72fde Merge branch 'master' into develop 2025-02-04 19:59:25 -05:00
Barış Soner Uşaklı
b993be6fd7 refactor: move dropdown search inputs into dropdown
get rid of position-absolute on search inputs
2025-02-04 19:59:16 -05:00
renovate[bot]
ca6734b33b chore(deps): update commitlint monorepo to v19.7.1 (#13123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 13:06:37 -05:00
renovate[bot]
5f3c5a5547 fix(deps): update dependency semver to v7.7.1 (#13122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 13:06:25 -05:00
Barış Soner Uşaklı
ffd5c0ba91 Merge branch 'master' into develop 2025-02-03 18:17:09 -05:00
Barış Soner Uşaklı
b2b0ed3525 chore: up themes 2025-02-03 18:17:00 -05:00
Barış Soner Uşaklı
72091ec4e1 refactor: server.destroy 2025-02-03 13:40:52 -05:00
Barış Soner Uşaklı
f9e5074747 Merge branch 'master' into develop 2025-02-03 13:33:05 -05:00
Barış Soner Uşaklı
21156673e3 fix: isDraft logic, closes #13119
topic.exists returns an array
2025-02-03 13:13:49 -05:00
Barış Soner Uşaklı
36063d1f33 fix: path on windows, #13119 2025-02-03 12:47:45 -05:00
Barış Soner Uşaklı
55eedcbef6 chore: up peace 2025-02-03 11:56:05 -05:00
Barış Soner Uşaklı
38a21e294c chore: up themes 2025-02-03 11:54:21 -05:00
Barış Soner Uşaklı
bf09ed143b fix recent/popular/top title 2025-02-03 10:40:06 -05:00
Barış Soner Uşaklı
1ff8e1e47d fix: #13115, prevent messages from getting duplicated 2025-02-02 18:57:54 -05:00
Barış Soner Uşaklı
8e9fdb5fd6 fix: #13115, limit bodyLength length
send out notification if bodyLong.length exceeds limit
add a max item limit to ttl cache
get rid of has/get check if item isn't in cache get returns undefined
2025-02-02 18:39:24 -05:00
Barış Soner Uşaklı
c1b630d484 test: search endpoint with start & end 2025-02-02 14:55:26 -05:00
Barış Soner Uşaklı
265e44f03e refactor: remove deprecated methods 2025-02-02 14:31:58 -05:00
Barış Soner Uşaklı
58e551feaa chore: up harmony 2025-02-02 14:22:14 -05:00
Misty Release Bot
f4c41a6487 Latest translations and fallbacks 2025-02-02 09:18:54 +00:00
Misty Release Bot
75588ffef1 chore: update changelog for v4.0.2 2025-02-02 08:59:52 +00:00
Misty Release Bot
1b9bda2af2 chore: incrementing version number - v4.0.2 2025-02-02 08:59:51 +00:00
Julian Lam
0dbb13d482 Merge branch 'master' into develop 2025-02-02 03:51:39 -05:00
Julian Lam
51e660d5ae fix: bad logic that invisibly broke outgoing user follows completely 2025-02-02 03:51:27 -05:00
Barış Soner Uşaklı
1cdf37a218 list remove all (#13113)
* list remove all

* one more test

* sortedSetIncrByBulk

* remove name

* incrObjectFieldByBulk

* test: disable api tests

* try merge

* another test

* give upon bulk incr

* update so answer

* one more try

* fix: name

* chore: up dbsearch
2025-02-02 03:38:55 -05:00
Barış Soner Uşaklı
4c92248a4b list remove all (#13113)
* list remove all

* one more test

* sortedSetIncrByBulk

* remove name

* incrObjectFieldByBulk

* test: disable api tests

* try merge

* another test

* give upon bulk incr

* update so answer

* one more try

* fix: name

* chore: up dbsearch
2025-02-02 03:30:52 -05:00
Julian Lam
ffcc91109b Merge branch 'master' into develop 2025-02-02 03:28:21 -05:00
Julian Lam
334be72179 fix: bad logic that invisibly broke outgoing user follows completely 2025-02-02 03:27:54 -05:00
Barış Soner Uşaklı
d4e3bf8641 Merge branch 'master' into develop 2025-02-01 17:40:52 -05:00
Barış Soner Uşaklı
0298a3af0d chore: up persona 2025-02-01 17:40:36 -05:00
Barış Soner Uşaklı
bf757c090e Merge branch 'master' into develop 2025-02-01 17:39:44 -05:00
Barış Soner Uşaklı
d77d2055c3 chore: up harmony 2025-02-01 17:24:15 -05:00
Misty Release Bot
28ee872bed Latest translations and fallbacks 2025-02-01 09:18:51 +00:00
renovate[bot]
31ff6c2e84 fix(deps): update dependency mongodb to v6.13.0 (#13106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-31 17:05:04 -05:00
Misty Release Bot
d41109a08d chore(i18n): fallback strings for new resources: nodebb.admin-settings-general 2025-01-31 21:57:01 +00:00
Barış Soner Uşaklı
2226ecc6a9 Merge branch 'master' into develop 2025-01-31 16:56:36 -05:00
Misty Release Bot
bedfafe8e0 Latest translations and fallbacks 2025-01-31 09:19:24 +00:00
renovate[bot]
a348e80827 fix(deps): update dependency semver to v7.7.0 (#13099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-30 19:51:04 -05:00
Barış Soner Uşaklı
6672de00cb chore: up themes, closes #13102 2025-01-30 19:32:02 -05:00
Julian Lam
d644c0f41c refactor: acceptable types in context.js to index.js, allow searching for remote topis by topic url 2025-01-30 16:41:55 -05:00
Barış Soner Uşaklı
be62ae24ad feat: allow selecting empty for custom selects
closes #13101
2025-01-30 10:22:45 -05:00
Barış Soner Uşaklı
54bc54e176 lint: remove tab 2025-01-29 19:44:35 -05:00
renovate[bot]
84b28fae5f chore(deps): update coverallsapp/github-action action to v2.3.6 (#13089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-29 19:36:29 -05:00
Barış Soner Uşaklı
ef5ae00652 test: fix schema 2025-01-29 18:35:34 -05:00
Barış Soner Uşaklı
d4a1b4dad9 refactor: remove old comment 2025-01-29 18:27:46 -05:00
Barış Soner Uşaklı
47734d4cd3 test: fix schema 2025-01-29 18:26:25 -05:00
Barış Soner Uşaklı
4d7335903a feat: add uid to post.parent 2025-01-29 18:01:52 -05:00
Barış Soner Uşaklı
0b92d52593 fix: closes #13096, fix regression from renaming language files
a76781859c (diff-b2c5ad612412b958d1df03c07abfa9c4250b3256238502097d2639df203d7fed)
2025-01-29 16:06:03 -05:00
Barış Soner Uşaklı
933c18f4ac feat: add description and keywords to api/config 2025-01-29 16:01:22 -05:00
Julian Lam
c6e6ab438b fix: #13076, allow pulling in of topics by their topic URL
fix: reapply fixes that were part of since-reverted 4fd7a9dc59
2025-01-29 14:48:45 -05:00
Julian Lam
126ff28612 Revert "feat: changes to how a topic is presented via ActivityPub; conformance with upcoming changes to 7888"
This reverts commit 4fd7a9dc59.
2025-01-29 14:38:43 -05:00
Misty Release Bot
3dbd2b308f chore: update changelog for v4.0.1 2025-01-29 19:26:28 +00:00
Misty Release Bot
97530589bf chore: incrementing version number - v4.0.1 2025-01-29 19:26:28 +00:00
Julian Lam
ddb6e0f32b fix: #13087, disallow following cid -1 2025-01-29 12:44:42 -05:00
Julian Lam
6d88dcb2b5 fix: encoding of pid in notifyCategoryFollowers, #13087 2025-01-29 12:29:12 -05:00
Julian Lam
02fb99ebb6 fix: call relativeToAbsolute helper when generating markdown source content in mocks.notes.public/private 2025-01-29 12:09:38 -05:00
Julian Lam
f64e6f0f1a refactor: Posts.relativeToAbsolute so that the regexes passed to it no longer need a pre-defined length, it is now calculated from the match result, added new regex for markdown image/anchors 2025-01-29 11:55:38 -05:00
Julian Lam
abe6a587b6 Merge branch 'master' into develop 2025-01-29 11:20:35 -05:00
Julian Lam
4feda2240a fix: #13084 bump persona 2025-01-29 11:08:56 -05:00
Misty Release Bot
0afbc81fc8 Latest translations and fallbacks 2025-01-29 09:20:05 +00:00
Barış Soner Uşaklı
49c1a62aea Merge branch 'master' into develop 2025-01-28 19:59:49 -05:00
Barış Soner Uşaklı
4ba01d18d6 refactor: 🤡 2025-01-28 19:59:12 -05:00
Barış Soner Uşaklı
4c66eed9e7 fix: closes #13091, dont show world category
on user categories page
2025-01-28 11:26:18 -05:00
Barış Soner Uşaklı
8b38cb3acc lint: missing ; 2025-01-28 09:58:29 -05:00
Barış Soner Uşaklı
2f5b4b29f0 feat: use text-danger if chat over limit
closes #13093
2025-01-28 09:56:34 -05:00
Barış Soner Uşaklı
88fa455316 chore: up dbsearch 2025-01-27 14:21:55 -05:00
Barış Soner Uşaklı
8644565a93 fix: #13088, up dbsearch 2025-01-27 14:11:17 -05:00
Barış Soner Uşaklı
822bff62f5 fix: #13090, update themes fix selector 2025-01-27 14:09:42 -05:00
renovate[bot]
8ab71e4fd2 fix(deps): update dependency nodemailer to v6.10.0 (#13073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 10:58:37 -05:00
renovate[bot]
1d84613472 chore(deps): update dependency lint-staged to v15.4.3 (#13079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 10:58:24 -05:00
Barış Soner Uşaklı
487d9f7320 fix: #13086 move rateLimit check
so it doesn't get triggered if there were errors
2025-01-26 10:57:22 -05:00
Barış Soner Uşaklı
03b34b153e Merge branch 'master' into develop 2025-01-25 15:19:39 -05:00
Barış Soner Uşaklı
4caae7307c Revert "chore: up benchpress"
This reverts commit c95848003c.
2025-01-25 15:19:29 -05:00
Barış Soner Uşaklı
7c2b9da84d Merge branch 'master' into develop 2025-01-25 15:01:07 -05:00
Barış Soner Uşaklı
c95848003c chore: up benchpress 2025-01-25 15:00:55 -05:00
Barış Soner Uşaklı
10409e0e1e chore: up harmony 2025-01-25 10:13:54 -05:00
Barış Soner Uşaklı
6918c3f3a4 chore: up themes 2025-01-25 09:17:13 -05:00
Julian Lam
b3b8b9e98d fix: null checks for category sync and actor assertions 2025-01-24 23:41:19 -05:00
Julian Lam
db1f895933 fix: extend remoteAnchorToLocalProfile ap helper to handle markdown content 2025-01-23 16:23:06 -05:00
Julian Lam
7687da00d1 feat: allow search bar to load remote 7888 Conversations, aka nodebb topics 2025-01-23 15:12:54 -05:00
Julian Lam
ff0de09797 chore: bump emoji for #13077 as well 2025-01-23 15:05:39 -05:00
Julian Lam
b386e4a66e feat: introduce new 'markdown' post parsing type, closes #13077 2025-01-23 14:52:14 -05:00
Misty Release Bot
075a91b0a1 Latest translations and fallbacks 2025-01-23 09:19:48 +00:00
renovate[bot]
8e99c97ae1 chore(deps): update dependency mocha to v11.1.0 (#13069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 17:21:28 -05:00
Julian Lam
4a827b7e70 test: adjust webfinger test for updated 404 status code 2025-01-22 14:25:12 -05:00
Barış Soner Uşaklı
6bb27bde77 Merge branch 'master' into develop 2025-01-22 14:17:36 -05:00
Barış Soner Uşaklı
b80440aacd test: fix x-redirect tests 2025-01-22 14:09:00 -05:00
Barış Soner Uşaklı
526a952187 test: add sourceContent to spec 2025-01-22 14:04:31 -05:00
Barış Soner Uşaklı
d1d554613a test: add sourceContent to spec 2025-01-22 14:00:44 -05:00
Barış Soner Uşaklı
397d28e3b6 lint: fix tab 2025-01-22 13:52:04 -05:00
Karsten Hassel
a95a51c6f0 Dockerfiles: reduce image size (#12702) 2025-01-22 13:40:51 -05:00
Julian Lam
b14494b03d chore: fix ap dev helper 2025-01-22 13:39:47 -05:00
Julian Lam
c3e9cb68e0 feat: #13066, report canonical URL in user agent for outgoing requests 2025-01-22 13:26:29 -05:00
Barış Soner Uşaklı
c504e79591 Merge branch 'master' into develop 2025-01-22 13:17:51 -05:00
Barış Soner Uşaklı
732bbac1b6 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-01-22 13:17:46 -05:00
Barış Soner Uşaklı
f3c4233b9f Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-01-22 13:16:44 -05:00
Barış Soner Uşaklı
679fcb71a9 fix: #13067, add sourceContent to teasers
required in posts.parse
2025-01-22 13:16:40 -05:00
Julian Lam
59afd19335 test: adjust webfinger test for updated 404 status code 2025-01-22 13:12:02 -05:00
Julian Lam
812ec73ed7 fix: incorrect posts url in topic posts collection 2025-01-22 13:08:49 -05:00
Julian Lam
4fd7a9dc59 feat: changes to how a topic is presented via ActivityPub; conformance with upcoming changes to 7888 2025-01-22 13:08:49 -05:00
Julian Lam
d7d64a1475 chore: add helper method to ease in dev 2025-01-22 13:08:49 -05:00
renovate[bot]
153e65bc50 chore(deps): update dependency lint-staged to v15.4.1 (#13060)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 13:08:49 -05:00
Misty Release Bot
0069f08ecd Latest translations and fallbacks 2025-01-22 13:08:49 -05:00
Julian Lam
e61df4debc fix: #13065, send missing actor property when 1b12 announcing local posts 2025-01-22 13:07:41 -05:00
Barış Soner Uşaklı
f3b8ed274a fix: closes #13068, encodeURIComponent X-Redirect 2025-01-22 12:42:16 -05:00
Barış Soner Uşaklı
52f7f0a75c test: change test to 404
c17809e450
2025-01-21 21:06:45 -05:00
Barış Soner Uşaklı
0ba4ba659c test: remove only 2025-01-21 20:47:55 -05:00
Julian Lam
b2530e6122 fix: incorrect posts url in topic posts collection 2025-01-21 13:01:27 -05:00
Julian Lam
adeaff4b82 feat: changes to how a topic is presented via ActivityPub; conformance with upcoming changes to 7888 2025-01-21 12:55:43 -05:00
Julian Lam
7d5482b26b chore: add helper method to ease in dev 2025-01-21 12:55:43 -05:00
renovate[bot]
37b2b83df1 chore(deps): update dependency lint-staged to v15.4.1 (#13060)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 09:23:47 -05:00
renovate[bot]
8ec3ceae73 fix(deps): update dependency nodebb-theme-persona to v14.0.2 (#13064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 09:23:35 -05:00
renovate[bot]
b98d047a80 fix(deps): update dependency nodebb-theme-harmony to v2.0.3 (#13063)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 09:23:25 -05:00
Barış Soner Uşaklı
f0c2090d80 fix: #13062 add displayname to email tpl data 2025-01-21 09:07:02 -05:00
Misty Release Bot
5f30cc4ed8 Latest translations and fallbacks 2025-01-21 09:19:18 +00:00
Barış Soner Uşaklı
050effe2f1 chore: up themes 2025-01-20 18:39:48 -05:00
Barış Soner Uşaklı
67585f2fd6 don't crash if triggerEl is null 2025-01-20 18:39:04 -05:00
Barış Soner Uşaklı
90e0a2d6a6 chore: up harmony 2025-01-20 17:15:04 -05:00
Misty Release Bot
ae8f58d65c chore: update changelog for v4.0.0 2025-01-20 18:53:47 +00:00
Misty Release Bot
137ac91410 chore: incrementing version number - v4.0.0 2025-01-20 18:53:47 +00:00
Julian Lam
3e33e1a3fc fix: ap webfinger test 2025-01-20 13:42:19 -05:00
Barış Soner Uşaklı
b80f0dab19 test: fix spec 2025-01-20 13:28:36 -05:00
Barış Soner Uşaklı
866588f7fa test: missing ; 2025-01-20 13:25:05 -05:00
Barış Soner Uşaklı
8f460bc312 Merge branch 'master' into develop 2025-01-20 13:19:07 -05:00
Barış Soner Uşaklı
ae9ef064ae Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-01-20 13:18:47 -05:00
Barış Soner Uşaklı
23b37f6227 fix: if user is logged in after registration don't go back to /login 2025-01-20 13:14:27 -05:00
Misty Release Bot
e53b3737d8 chore(i18n): fallback strings for new resources: nodebb.error 2025-01-20 17:05:50 +00:00
Julian Lam
af4d07fba4 feat: fix activitypub toggler to be more complete; tests. #13054 2025-01-20 12:05:17 -05:00
Misty Release Bot
e7e682ed4b chore: update changelog for v3.12.4 2025-01-20 15:44:24 +00:00
Misty Release Bot
12cac6ba4c chore: incrementing version number - v3.12.4 2025-01-20 15:44:24 +00:00
Barış Soner Uşaklı
cfb22da10b chore: up harmony 2025-01-20 09:59:06 -05:00
Barış Soner Uşaklı
d0715ca466 chore: up harmony 2025-01-17 10:53:47 -05:00
Julian Lam
3e08eb3925 chore: bump persona 2025-01-16 16:54:28 -05:00
Julian Lam
499df8abf5 chore: bump markdown, harmony, and persona to new major versions 2025-01-16 16:47:28 -05:00
renovate[bot]
1c4c4f5717 chore(deps): update dependency lint-staged to v15.4.0 (#13059)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 14:20:29 -05:00
Barış Soner Uşaklı
de021bdacd fix: 404 request if payload invalid 2025-01-16 14:19:51 -05:00
Barış Soner Uşaklı
205bf47783 fix: add HEAD check to unsub route 2025-01-16 13:56:57 -05:00
Barış Soner Uşaklı
110651637c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-01-16 12:55:28 -05:00
Barış Soner Uşaklı
062c8ed39f Merge branch 'master' into develop 2025-01-16 12:55:08 -05:00
renovate[bot]
76a14de34b fix(deps): update dependency ace-builds to v1.37.5 (#13058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 10:39:17 -05:00
Barış Soner Uşaklı
028f568690 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-01-15 17:19:32 -05:00
Barış Soner Uşaklı
6073a25bb5 fix: closes #13056, guard against undefined keyid,compare 2025-01-15 17:19:27 -05:00
renovate[bot]
9a401b5b9a fix(deps): update dependency fs-extra to v11.3.0 (#13055)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-15 17:11:54 -05:00
Barış Soner Uşaklı
b61a9031ed Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-01-15 17:06:50 -05:00
Misty Release Bot
0cc94bbe19 chore: update changelog for v3.12.3 2025-01-15 21:53:10 +00:00
Misty Release Bot
38c92927c8 chore: incrementing version number - v3.12.3 2025-01-15 21:53:09 +00:00
Julian Lam
c17809e450 fix: bug where newly create cids were not responding via webfinger, 404 on webfinger errors, not 400 2025-01-15 15:14:15 -05:00
Julian Lam
487e7be52c chore: remove now-unneeded v4 upgrade scripts
The deleted upgrade scripts were intended to be run on servers running pre-release versions of v4.

Now that it has been merged into `develop`, those scripts are no longer needed.
2025-01-15 14:54:16 -05:00
Julian Lam
98280d30e7 fix: #12990, local references via remote posts are not linkified properly, + tests for helper 2025-01-15 14:19:45 -05:00
Barış Soner Uşaklı
539693a4a4 perf: closes #13052, only call loadConfig once per page
when rendering widgets
2025-01-15 10:15:02 -05:00
Barış Soner Uşaklı
168e6b2c92 fix: closes #13051, catch errors from widget render 2025-01-15 10:02:09 -05:00
Barış Soner Uşaklı
5120d11721 chore: up harmony 2025-01-14 14:45:44 -05:00
renovate[bot]
3ba1d26427 fix(deps): update dependency postcss to v8.5.1 (#13050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 11:52:45 -05:00
renovate[bot]
e9a4c42b2f fix(deps): update dependency nodebb-plugin-web-push to v0.7.2 (#13049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 11:39:12 -05:00
renovate[bot]
3827f43855 fix(deps): update dependency nodebb-plugin-2factor to v7.5.8 (#13048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 11:38:12 -05:00
Barış Soner Uşaklı
c6eaea309e chore: up 2factor 2025-01-14 10:16:10 -05:00
renovate[bot]
be2098d8e4 chore(deps): update dependency sass-embedded to v1.83.4 (#13045)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 10:08:16 -05:00
renovate[bot]
8e62800bba fix(deps): update dependency sass to v1.83.4 (#13046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 10:08:04 -05:00
Misty Release Bot
6d6ae11d1b Latest translations and fallbacks 2025-01-14 09:19:14 +00:00
renovate[bot]
c4c891167c fix(deps): update dependency postcss to v8.5.0 (#13044)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-13 20:38:20 -05:00
renovate[bot]
5e5d920bfd fix(deps): update dependency cron to v3.5.0 (#13042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-13 16:59:47 -05:00
Barış Soner Uşaklı
e89b7ec887 fix: for attribute label 2025-01-13 11:59:42 -05:00
Misty Release Bot
4c4319c858 Latest translations and fallbacks 2025-01-13 09:19:23 +00:00
Misty Release Bot
de7a0aad70 Latest translations and fallbacks 2025-01-12 09:18:34 +00:00
renovate[bot]
430d1479eb fix(deps): pin dependencies (#12987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 13:00:05 -05:00
renovate[bot]
0343296096 chore(deps): update dependency @commitlint/config-angular to v19.7.0 (#13030)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 12:59:49 -05:00
renovate[bot]
05f7b58c5b fix(deps): update dependency satori to ^0.12.0 (#12995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 19:26:16 -05:00
renovate[bot]
d12d9efb41 chore(deps): update dependency jsdom to v26 (#13040)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 19:23:12 -05:00
renovate[bot]
34b0cf6b8e fix(deps): update dependency tough-cookie to v5.1.0 (#13039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 15:55:36 -05:00
renovate[bot]
b1e87aa92a fix(deps): update fontsource monorepo to v5.1.1 (#13029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 15:46:09 -05:00
renovate[bot]
df69b399dc fix(deps): update dependency fetch-cookie to v3.1.0 (#13006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 15:44:57 -05:00
renovate[bot]
fd6f3ee63b chore(deps): update redis docker tag to v7.4.2 (#13033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 15:43:57 -05:00
Julian Lam
4dc740a20f fix: #12984, fix pids numeric sorting, handle non-integers 2025-01-10 15:15:14 -05:00
Julian Lam
3cf3f93a5e fix: add deprecation note re: as:audience 2025-01-10 15:15:14 -05:00
Misty Release Bot
ba2f0bc38a Latest translations and fallbacks 2025-01-10 09:19:03 +00:00
Julian Lam
1661681411 fix: #13021, save details of follow request before sending the follow, avoid race condition 2025-01-09 11:46:56 -05:00
renovate[bot]
3a33cd5b9b fix(deps): update dependency ace-builds to v1.37.4 (#12988)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 11:26:55 -05:00
renovate[bot]
701780fe89 fix(deps): update dependency esbuild to v0.24.2 (#12989)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 11:24:21 -05:00
renovate[bot]
bfc962b90a fix(deps): update dependency sanitize-html to v2.14.0 (#12994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 11:23:48 -05:00
renovate[bot]
3340d98410 chore(deps): update dependency lint-staged to v15.3.0 (#13031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 11:23:36 -05:00
Julian Lam
450322d12f fix: handle ap send errors with object body 2025-01-09 11:17:53 -05:00
renovate[bot]
7943fcde66 fix(deps): update dependency ioredis to v5.4.2 (#12993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 10:27:05 -05:00
renovate[bot]
de571d24d3 fix(deps): update dependency cron to v3.4.0 (#13026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 10:25:30 -05:00
renovate[bot]
438f4e0ad4 fix(deps): update dependency sass to v1.83.1 (#13028)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 10:22:18 -05:00
renovate[bot]
b9364de234 chore(deps): update dependency sass-embedded to v1.83.1 (#13025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 10:21:44 -05:00
Misty Release Bot
f7c93ff6be Latest translations and fallbacks 2025-01-09 09:19:45 +00:00
Barış Soner Uşaklı
45eabbf5ba fix: don't confirm emails on HEAD request
outlook safelinks triggers page twice
2025-01-08 17:21:05 -05:00
Misty Release Bot
98e5d1b5c2 chore: update changelog for v3.12.2 2025-01-08 17:54:04 +00:00
Misty Release Bot
4aeafb672f chore: incrementing version number - v3.12.2 2025-01-08 17:54:04 +00:00
Julian Lam
50b510e386 fix: thumbs.get to handle null case from mime.getType 2025-01-08 12:20:31 -05:00
Julian Lam
cfeb49ddd9 fix: post upload sync duplication bug 2025-01-08 12:06:56 -05:00
Julian Lam
7c1b900062 docs: add resizeImageWidth to openapi definition for /api/config route 2025-01-08 11:29:33 -05:00
Julian Lam
37a4fd7c0a fix: language fallbacks for activitypub-related strings 2025-01-08 11:23:16 -05:00
Barış Soner Uşaklı
23298060b1 test: fix spec 2025-01-08 10:31:01 -05:00
Barış Soner Uşaklı
25f1fa670e test: remove resizeImageWidth 2025-01-08 10:25:28 -05:00
Barış Soner Uşaklı
2b50a74f5e Merge branch 'master' into develop 2025-01-08 09:45:52 -05:00
Barış Soner Uşaklı
d05c203bb2 fix: closes #13036, if image isn't loaded yet width is 0 2025-01-08 09:43:08 -05:00
Misty Release Bot
6b0f5b7c16 Latest translations and fallbacks 2025-01-08 09:19:29 +00:00
Barış Soner Uşaklı
82538ca333 test: editor tests 2025-01-07 18:29:42 -05:00
Barış Soner Uşaklı
e845afc120 test: missing service worker test 2025-01-07 17:59:41 -05:00
Barış Soner Uşaklı
54233dcdf0 test: add last one 2025-01-07 17:52:26 -05:00
Barış Soner Uşaklı
ae2bd5ab41 test: custom fields tests
add missing setReputation test
2025-01-07 17:35:42 -05:00
Julian Lam
7483103453 feat: add activitypub file to translations 2025-01-07 14:54:10 -05:00
Julian Lam
e1db9642c2 fix: add sourceContent prop to posts API; fix other tests 2025-01-07 14:44:21 -05:00
Barış Soner Uşaklı
2f5effda26 chore: remove log 2025-01-07 14:25:15 -05:00
Julian Lam
8ebe6de17e fix: add sourceContent prop to posts API 2025-01-07 14:25:13 -05:00
Barış Soner Uşaklı
b129c6c0e7 test: fix controller tests 2025-01-07 14:13:59 -05:00
Julian Lam
e6b20ed329 fix: add missing file for openapi tests 2025-01-07 14:11:23 -05:00
Barış Soner Uşaklı
0d3a8757bd test: missing translator tests 2025-01-07 13:55:40 -05:00
Barış Soner Uşaklı
127e0e22cf test: fix relative path in tests 2025-01-07 13:31:48 -05:00
Barış Soner Uşaklı
225c91edb1 test: add translateInPlace test 2025-01-07 13:29:32 -05:00
Barış Soner Uşaklı
407b0cc6ac test: subfolder in category link 2025-01-07 13:14:41 -05:00
Barış Soner Uşaklı
95b42f830a test: add helper tests 2025-01-07 13:09:16 -05:00
Julian Lam
12fb205b09 fix: activitypub tests 2025-01-07 12:20:46 -05:00
Barış Soner Uşaklı
d5ae91a35d test: debounce/throttle 2025-01-07 11:58:54 -05:00
Barış Soner Uşaklı
8864e65805 test: add back disabled test since node 18 is minimum 2025-01-07 11:35:20 -05:00
renovate[bot]
de076a213a fix(deps): update dependency nodebb-widget-essentials to v7.0.32 (#13027)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 10:07:50 -05:00
Misty Release Bot
f1d45c8420 Latest translations and fallbacks 2025-01-07 09:18:15 +00:00
Barış Soner Uşaklı
d75b169cd8 refactor: silence deprecations in prod 2025-01-06 20:53:03 -05:00
Julian Lam
9c78255e36 fix: broken tests 2025-01-06 16:54:23 -05:00
Barış Soner Uşaklı
27e945fde8 lint: whitespace 2025-01-06 11:36:53 -05:00
Barış Soner Uşaklı
7bfca7ba1b lint: index.js 2025-01-06 10:55:10 -05:00
Barış Soner Uşaklı
4f682a310e feat: add -y flag to upgrade, closes #13023 2025-01-06 10:54:04 -05:00
Barış Soner Uşaklı
238a3ed5b2 fix: closes #13024, on register dont auto login with user doesn't have local:login privilege
on login page show login form if at least one user group has local:login privilege, for example local:login might be removed from registered-users but verified-users can have login privilege so login form should be still visible
2025-01-06 10:22:31 -05:00
Barış Soner Uşaklı
d155da3ca9 feat: add missing default notification settings 2025-01-05 09:49:24 -05:00
Barış Soner Uşaklı
fcf50a3c01 fix: closes #13022, don't do anything if notif setting isnt set to email 2025-01-04 09:37:10 -05:00
Barış Soner Uşaklı
29804a1093 test: fix user picture test 2025-01-03 10:07:42 -05:00
Barış Soner Uşaklı
fa24f1dd83 test: fix thumb test 2025-01-03 09:58:03 -05:00
Barış Soner Uşaklı
0a135d88b8 chore: up markdown 2025-01-03 09:52:26 -05:00
Barış Soner Uşaklı
dcc2342cd1 fix: closes #13019, use displayname in vote tooltip 2025-01-03 09:37:57 -05:00
Barış Soner Uşaklı
48944a86be chore: up deps 2025-01-02 11:07:15 -05:00
Barış Soner Uşaklı
68f73fd077 https://github.com/NodeBB/NodeBB/issues/13018 2025-01-02 10:57:26 -05:00
Julian Lam
0ad8ed9d4e fix: #13014, possible fix for peertube incompatibility: strip hash value from key IDs during check 2024-12-30 17:06:08 -05:00
Julian Lam
1d36ab6ddb fix: #12996, invalid title generation when remote post content has markdown source 2024-12-30 15:39:21 -05:00
Julian Lam
39705a1796 fix: #13017, probe redirection if url is identical to id 2024-12-30 14:53:56 -05:00
Julian Lam
2005a02a64 fix: #13016, remote account deletion frontend UI bug 2024-12-30 14:42:52 -05:00
Barış Soner Uşaklı
c3ddd704db Merge branch 'master' into develop 2024-12-28 15:44:01 -05:00
Barış Soner Uşaklı
1b13cce2c0 fix: overflow on dashboard/searches 2024-12-28 15:26:39 -05:00
Misty Release Bot
20bb2d713c Latest translations and fallbacks 2024-12-28 09:18:40 +00:00
Barış Soner Uşaklı
a0e668166e refactor: check if useragent exists firt 2024-12-27 14:46:21 -05:00
Barış Soner Uşaklı
45c5351f39 feat: closes #13001, allow keyboard to change cover position 2024-12-27 13:55:59 -05:00
Percy Ma
d79dfd0382 chore: add type to webpack config file (#12072) 2024-12-26 19:17:46 -05:00
Misty Release Bot
0b7e572df0 Latest translations and fallbacks 2024-12-26 09:18:21 +00:00
Barış Soner Uşaklı
7585517a28 Merge branch 'master' into develop 2024-12-25 17:08:59 -05:00
Barış Soner Uşaklı
e4dd697ae8 refactor: get rid of RegExp 2024-12-25 17:08:45 -05:00
Barış Soner Uşaklı
bb24e0ce15 change log 2024-12-25 14:58:07 -05:00
Barış Soner Uşaklı
a9d0a0699e Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-12-25 10:43:07 -05:00
Barış Soner Uşaklı
45021b5bfa fix: add missing catch, closes #13012 2024-12-25 10:43:02 -05:00
Misty Release Bot
d04bdd9d6a chore(i18n): fallback strings for new resources: nodebb.aria 2024-12-25 14:04:24 +00:00
Barış Soner Uşaklı
9190721865 Merge branch 'master' into develop 2024-12-25 09:03:53 -05:00
Barış Soner Uşaklı
25655d5a5f fix: #13011, catch errors 2024-12-25 09:03:47 -05:00
Barış Soner Uşaklı
40257663a8 refactor: use helpers.log 2024-12-25 09:00:12 -05:00
Barış Soner Uşaklı
fa81078a89 fix: check if url is undefined 2024-12-24 20:54:49 -05:00
Barış Soner Uşaklı
5236610110 feat: use displayname for user image titles
https://github.com/NodeBB/NodeBB/issues/12997
2024-12-24 14:41:09 -05:00
Barış Soner Uşaklı
80ddc03a39 chore: up composer-default 2024-12-24 13:52:41 -05:00
Barış Soner Uşaklı
2f72e32d2e fix: truncate popular search terms, closes #13010 2024-12-24 13:35:58 -05:00
Barış Soner Uşaklı
0087764ce0 Merge branch 'master' into develop 2024-12-24 12:37:18 -05:00
Barış Soner Uşaklı
c60cee5997 fix: #13007, replace $ with \uFF04, like . 2024-12-24 12:37:06 -05:00
Barış Soner Uşaklı
f478adac2f fix: dont stripEXIF from gifs 2024-12-24 11:59:51 -05:00
Julian Lam
97384b2cbd fix: #12941, inherit audience from earlier posts in the chain so as to send a coherent value to Lemmy instances, re: lemmynet/lemmy#5278 2024-12-24 11:18:12 -05:00
Julian Lam
b537437c78 feat: save audience into post hash (for remote posts) 2024-12-24 11:17:22 -05:00
Barış Soner Uşaklı
035a37a936 increase log file size to 10mb 2024-12-24 10:21:35 -05:00
Barış Soner Uşaklı
eb49a64974 Merge branch 'master' into develop 2024-12-24 10:13:51 -05:00
Barış Soner Uşaklı
77521494f7 fix: closes #13008, catch errors in post redirect 2024-12-24 10:13:29 -05:00
Barış Soner Uşaklı
646b9ea7a6 refactor: remove debug 2024-12-23 20:40:16 -05:00
Barış Soner Uşaklı
a6f0eba5a1 fix: test on redis 2024-12-23 20:39:52 -05:00
Barış Soner Uşaklı
c69fa811e5 fix: convert to str than filter
prevent empty strings from getting passed to mongodb
https://github.com/NodeBB/NodeBB/issues/13007#issuecomment-2560503754
2024-12-23 20:29:42 -05:00
Barış Soner Uşaklı
e71feeec1f fix: closes #13002, make chats keyboard focusable 2024-12-23 17:16:01 -05:00
Barış Soner Uşaklı
d40762b7d0 fix: js error when clicking a notification
that sends you to same page
2024-12-23 17:15:38 -05:00
Barış Soner Uşaklı
1cb7bb6a72 fix: don't close search if children have focus, closes #13004 2024-12-23 16:28:53 -05:00
Barış Soner Uşaklı
5b2dfd740c chore: up harmony 2024-12-23 12:09:59 -05:00
Barış Soner Uşaklı
8fd8079a84 lint: fix paranthesis 2024-12-22 13:34:29 -05:00
Barış Soner Uşaklı
a489abc763 fix: #12991, switch to nodemailer address object 2024-12-21 19:03:05 -05:00
Barış Soner Uşaklı
89b8de50ee fix: make fork/move dropdowns go up
add max-height to manage users dropdown
2024-12-21 17:58:54 -05:00
Misty Release Bot
2260676723 chore: update changelog for v3.12.1 2024-12-20 21:09:12 +00:00
Misty Release Bot
1bc331ca33 chore: incrementing version number - v3.12.1 2024-12-20 21:09:12 +00:00
Barış Soner Uşaklı
9bb8002aa4 fix: check install.values, it can be undefined 2024-12-20 16:00:24 -05:00
Julian Lam
49d8618934 Merge remote-tracking branch 'origin/develop' into activitypub 2024-12-20 14:37:40 -05:00
Barış Soner Uşaklı
18904bbb56 chore: up harmony 2024-12-20 12:26:21 -05:00
Misty Release Bot
13fe59575f Latest translations and fallbacks 2024-12-20 09:18:48 +00:00
Barış Soner Uşaklı
e234d1962f Merge branch 'master' into develop 2024-12-19 17:13:17 -05:00
Barış Soner Uşaklı
b4ec3a6a40 chore: up persona 2024-12-19 10:37:08 -05:00
Barış Soner Uşaklı
71cf4821a6 wrap thumbs 2024-12-18 17:02:02 -05:00
Misty Release Bot
5395062d14 chore: update changelog for v3.12.0 2024-12-18 15:04:43 +00:00
Misty Release Bot
9d6a8ce5c0 chore: incrementing version number - v3.12.0 2024-12-18 15:04:42 +00:00
renovate[bot]
808e483e0a fix(deps): update dependency ace-builds to v1.37.0 (#12983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 09:53:08 -05:00
Misty Release Bot
05f08d8d3e Latest translations and fallbacks 2024-12-18 09:19:04 +00:00
Julian Lam
51fd65abc8 refactor: add thumbsOnly option to thumbs retrieval method so that embeds/attachments don't show up in composer thumbnail modal 2024-12-17 11:14:29 -05:00
Julian Lam
f4835695de feat: add filter:topics.hasThumbs filter hook
To be used by embed plugins to add thumbnails as necessary (e.g. giphy, etc.)
2024-12-17 10:54:17 -05:00
renovate[bot]
f25312a8d9 chore(deps): update dependency @commitlint/cli to v19.6.1 (#12981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 10:16:16 -05:00
renovate[bot]
69214d7925 fix(deps): update dependency @fortawesome/fontawesome-free to v6.7.2 (#12982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 10:16:01 -05:00
Barış Soner Uşaklı
a65c7073cd Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-12-17 10:03:16 -05:00
Barış Soner Uşaklı
831422d0bb chore: up harmony 2024-12-17 10:03:15 -05:00
Misty Release Bot
a154786a4c Latest translations and fallbacks 2024-12-17 09:18:39 +00:00
Julian Lam
25d6ef432b fix: add 10s timeout for AP message send 2024-12-16 22:38:10 -05:00
Julian Lam
d734ce4911 fix: ignore subsequent shares of the same topic by that user 2024-12-16 22:34:26 -05:00
renovate[bot]
a054cbd769 fix(deps): update dependency terser-webpack-plugin to v5.3.11 (#12973)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 19:55:50 -05:00
renovate[bot]
c4399dd09b chore(deps): update dependency sass-embedded to v1.83.0 (#12974)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 19:55:40 -05:00
renovate[bot]
7f0200377b fix(deps): update dependency sass to v1.83.0 (#12975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 19:55:32 -05:00
Julian Lam
cc65214de9 feat: append uploaded images into thumbnail set 2024-12-16 16:39:18 -05:00
Julian Lam
e83036a959 feat: #12976, shares collection 2024-12-16 13:50:24 -05:00
Barış Soner Uşaklı
f0aa960c00 fix: closes #12980, properly reset all plugins with ./nodebb reset -a 2024-12-16 11:36:06 -05:00
Barış Soner Uşaklı
abcb200fda refactor: closes #12979, show plugin id/version on semver error 2024-12-16 10:52:57 -05:00
Misty Release Bot
fb42c4c53e Latest translations and fallbacks 2024-12-14 09:18:02 +00:00
Julian Lam
a7e6cfe837 fix: #12972, allow bridgyfed accounts to pass isWebfinger regex validation 2024-12-13 13:47:16 -05:00
Julian Lam
ee8ec61ef2 fix: bump harmony 2024-12-13 13:36:02 -05:00
Julian Lam
e4e1063622 refactor: split (and remove) activitypub.json file and move strings to more appropriate locations 2024-12-13 13:34:35 -05:00
Barış Soner Uşaklı
0f5e1457f0 chore: up peace, refactor widgets 2024-12-13 10:55:47 -05:00
Barış Soner Uşaklı
a79426f9e5 chore: up themes 2024-12-13 08:20:05 -05:00
Julian Lam
aa1f65e9bb chore: rc4 2024-12-12 15:32:11 -05:00
Julian Lam
755b985596 fix: fix double thumb due to post attachments 2024-12-12 15:03:16 -05:00
Julian Lam
b15a684a92 fix: lemmy integration, handle image property as topic thumb 2024-12-12 11:37:22 -05:00
Julian Lam
3439fdb600 refactor: topic thumb logic so that isDraft is based on topic existence, and not whether it is a UUID, as remote topics are also UUIDs. 2024-12-12 11:37:19 -05:00
Barış Soner Uşaklı
8883eaf7bd fix: chat header line-height 2024-12-12 10:43:29 -05:00
Barış Soner Uşaklı
5045a1ae4b chore: up harmony 2024-12-12 10:35:07 -05:00
Barış Soner Uşaklı
03b9df082b chore: up harmony 2024-12-12 10:16:29 -05:00
Barış Soner Uşaklı
7c897672db Merge branch 'master' into develop 2024-12-12 09:53:21 -05:00
renovate[bot]
645bddb8f1 fix(deps): update dependency nodebb-theme-peace to v2.2.30 (#12970)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 09:26:26 -05:00
renovate[bot]
b8a0a50214 fix(deps): update dependency cron to v3.3.1 (#12969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 09:26:16 -05:00
renovate[bot]
3a8ae12c03 fix(deps): update dependency jsesc to v3.1.0 (#12968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 09:13:32 -05:00
renovate[bot]
0913c307fb fix(deps): update dependency cron to v3.3.0 (#12965)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 19:32:32 -05:00
renovate[bot]
3d33c5cb39 fix(deps): update dependency mongodb to v6.12.0 (#12966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 19:31:32 -05:00
Barış Soner Uşaklı
edca4ca8ca Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-12-11 19:18:42 -05:00
Barış Soner Uşaklı
68f87ccf6e test: fix spec 2024-12-11 19:18:38 -05:00
Misty Release Bot
6b5b9a4e57 chore(i18n): fallback strings for new resources: nodebb.admin-extend-plugins 2024-12-12 00:16:33 +00:00
Barış Soner Uşaklı
a23392e2cb Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-12-11 19:16:06 -05:00
Barış Soner Uşaklı
27867d7735 refactor: move to saas plugin 2024-12-11 19:16:02 -05:00
renovate[bot]
6b77441b93 fix(deps): update dependency nodebb-theme-peace to v2.2.29 (#12967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 19:09:56 -05:00
Barış Soner Uşaklı
456373c532 test: add missing field 2024-12-11 19:08:08 -05:00
Julian Lam
b551abce59 fix: wrap try..catch around topics.reply in note assertion to output errors 2024-12-11 14:40:21 -05:00
Julian Lam
8ec388afca chore: bump harmony for #12938 2024-12-11 13:42:38 -05:00
Julian Lam
2851e56bdc feat: pending follows and logic for remote users, #12938 2024-12-11 13:27:34 -05:00
Julian Lam
fcf0f79987 feat: #12935, show 'shared this to x' in topic event when moving topics out of cid -1 2024-12-11 13:07:46 -05:00
Julian Lam
050acb4f85 fix: have options.update also trigger handle and search updates on actor assertion 2024-12-11 12:53:09 -05:00
Julian Lam
546ffed24f fix: separate out removals vs. additions in actor assertion in order to hopefully resolve #12959 2024-12-11 12:48:50 -05:00
Julian Lam
754ef9b2be chore: rc3 2024-12-11 12:31:27 -05:00
Julian Lam
3073abd9fa refactor: post object schema to its own reference object, added sourceContent as optional value in post data 2024-12-11 11:38:34 -05:00
Misty Release Bot
26a1a2f11d chore(i18n): fallback strings for new resources: nodebb.admin-extend-plugins 2024-12-11 16:22:33 +00:00
Barış Soner Uşaklı
68198e8ad6 feat: add support for saas_plan 2024-12-11 11:21:58 -05:00
Julian Lam
cc6963f275 chore: remove lines re: incrementing version number, in changelog 2024-12-11 11:14:36 -05:00
Julian Lam
c86b6f2498 fix: openapi schema for ap routes 2024-12-11 11:11:58 -05:00
Julian Lam
3340720e3d fix: get version directly from package.json 2024-12-11 10:24:37 -05:00
Julian Lam
2ab72ada3f Merge remote-tracking branch 'origin/develop' into activitypub 2024-12-11 10:12:33 -05:00
renovate[bot]
607d1895ce chore(deps): update dependency lint-staged to v15.2.11 (#12964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-10 18:41:58 -05:00
Barış Soner Uşaklı
e0c345b2b8 chore: up themes 2024-12-10 13:39:31 -05:00
Barış Soner Uşaklı
3b713afed3 fix: make sure theme screenshot starts with themeDir 2024-12-10 10:37:48 -05:00
Barış Soner Uşaklı
38520769a3 refactor: check if caches have the requested cache name 2024-12-10 10:21:06 -05:00
Barış Soner Uşaklı
8f465afc97 refactor: add csrf protection to webinstall POST route 2024-12-10 10:17:38 -05:00
Barış Soner Uşaklı
04eb9e1ad7 fix: closes #12963, change translation to general 2024-12-10 09:47:26 -05:00
Misty Release Bot
521e679cf1 Latest translations and fallbacks 2024-12-10 09:18:56 +00:00
Barış Soner Uşaklı
2a085cdba8 chore: up persona 2024-12-09 21:27:32 -05:00
Barış Soner Uşaklı
6eb2807747 test: add missing spec files 2024-12-09 19:38:40 -05:00
Barış Soner Uşaklı
468d930a8d test: remove routes that no longer exist 2024-12-09 19:22:37 -05:00
Barış Soner Uşaklı
b05dc7f7bd test: fix test 2024-12-09 19:16:09 -05:00
Barış Soner Uşaklı
bb0ff6d602 refactor: explicit settings/appearance routes 2024-12-09 19:07:46 -05:00
Barış Soner Uşaklı
c25fd40ae5 fix: race condition that results in 2x localReset call the same process 2024-12-09 18:47:26 -05:00
Barış Soner Uşaklı
76caa92c0b refactor: only send required fields in query 2024-12-09 18:35:43 -05:00
Barış Soner Uşaklı
0495842fae lint: missing semi 2024-12-09 18:25:31 -05:00
Barış Soner Uşaklı
9d2af7e10c refactor: replace math.random with crypto 2024-12-09 18:18:02 -05:00
Misty Release Bot
fee578164e chore: update changelog for v3.11.1 2024-12-09 20:03:10 +00:00
Misty Release Bot
0201bc1f3f chore: incrementing version number - v3.11.1 2024-12-09 20:03:09 +00:00
Barış Soner Uşaklı
c69765e305 lint: long line 2024-12-09 14:44:05 -05:00
Barış Soner Uşaklı
fe811537e9 refactor: remove "password" in comments 2024-12-09 14:40:49 -05:00
Barış Soner Uşaklı
e532dcb46c chore: up themes 2024-12-09 10:46:45 -05:00
Barış Soner Uşaklı
4568ec3e04 fix: closes #12962, fix js error for guests on /users
dont focus input on mobile
2024-12-09 10:00:03 -05:00
Barış Soner Uşaklı
e6bdbb6b23 feat: add some missing canonical tags, closes #12961 2024-12-09 09:56:30 -05:00
Barış Soner Uşaklı
c8a38667bb fix: closes #12957, don't overflow thumbs modal if filename is too long 2024-12-08 17:53:48 -05:00
renovate[bot]
14f698f9e4 chore(config): migrate config renovate.json (#12960)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-08 17:12:52 -05:00
Barış Soner Uşaklı
e5c8deb837 chore: up spam-be-gone 2024-12-07 13:33:10 -05:00
Barış Soner Uşaklı
3a7e9733a4 chore: up spam-be-gone 2024-12-07 13:14:51 -05:00
Barış Soner Uşaklı
ba009ee905 Merge branch 'master' into develop 2024-12-07 13:06:39 -05:00
Barış Soner Uşaklı
a72c067fd0 chore: up peace 2024-12-06 16:35:31 -05:00
renovate[bot]
55a07bcbc9 fix(deps): update dependency express to v4.21.2 (#12955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-06 15:55:34 -05:00
Barış Soner Uşaklı
4e69bff72f fix: escape about me on user flags 2024-12-06 15:43:44 -05:00
Barış Soner Uşaklı
26026fb2d7 fix: escape about me on user flags 2024-12-06 15:43:34 -05:00
Matthew M.
59df4f39be Update docker-compose.yml (#12949)
Remove version attribute - obsolete
2024-12-05 18:38:59 -05:00
Julian Lam
3d653cbb98 fix: set linkValue for remote user fields 2024-12-05 14:50:50 -05:00
renovate[bot]
300ca70476 fix(deps): update dependency chart.js to v4.4.7 (#12950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 12:42:17 -05:00
renovate[bot]
6e2b33b7c7 chore(deps): update dependency sass-embedded to v1.82.0 (#12951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 12:41:58 -05:00
renovate[bot]
3bd447be08 fix(deps): update dependency sass to v1.82.0 (#12952)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 12:41:50 -05:00
renovate[bot]
122d3841cc fix(deps): update dependency webpack to v5.97.1 (#12953)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 12:41:34 -05:00
renovate[bot]
55ad7af806 chore(deps): update dependency mocha to v11 (#12954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 12:41:22 -05:00
Julian Lam
8944366a78 Merge remote-tracking branch 'origin/develop' into activitypub 2024-12-05 11:51:49 -05:00
renovate[bot]
38d904b23e fix(deps): update dependency connect-redis to v8.0.1 (#12944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 19:20:30 -05:00
Barış Soner Uşaklı
f151fb301c Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-12-04 19:19:34 -05:00
Barış Soner Uşaklı
18abf2ca57 default visiblilty to all 2024-12-04 19:18:52 -05:00
Julian Lam
e5fdf9f1f0 fix: crash due to missing param when calling getCustomUserFields 2024-12-04 16:40:54 -05:00
Julian Lam
45d2fe11dc Merge remote-tracking branch 'origin/develop' into activitypub 2024-12-04 15:24:26 -05:00
Julian Lam
64339e6149 fix: set a user-agent when sending requests 2024-12-04 15:16:26 -05:00
Julian Lam
5b60aee625 fix: issue where clicking on a topic thumb caused a page nav, fixes #12948 2024-12-04 15:05:25 -05:00
Julian Lam
2e0a1751f9 fix: users page QoL improvements
- focus on search box on page load
- persist search options in query string on search
2024-12-04 12:44:00 -05:00
Misty Release Bot
309fcf4e2b Latest translations and fallbacks 2024-12-04 09:18:33 +00:00
Julian Lam
1839388b65 fix: persist sourceContent into post hash when ingesting remote posts, update markdown so that field is parsed instead of ignoring content 2024-12-03 11:59:55 -05:00
Misty Release Bot
b9ed786067 Latest translations and fallbacks 2024-12-03 09:19:53 +00:00
Barış Soner Uşaklı
a4a752bba4 chore: up themes 2024-12-02 17:36:27 -05:00
Julian Lam
f32184b23e fix: use fediverse pseudo-user for webfinger privilege checks 2024-12-02 16:27:49 -05:00
Barış Soner Uşaklı
4db5a5b637 chore: up mentions 2024-12-02 11:03:58 -05:00
Barış Soner Uşaklı
36ce3ed2a3 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-12-02 10:38:26 -05:00
Barış Soner Uşaklı
69a08c0f6c feat: use displayname in chat teasers/userlist, in digest email
#12945
2024-12-02 10:38:21 -05:00
Misty Release Bot
0c6653425b chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads 2024-12-02 15:09:16 +00:00
Barış Soner Uşaklı
9a635870b4 feat: add "keep original image after resize" option
closes #12946
2024-12-02 10:08:52 -05:00
Misty Release Bot
abecd61fd5 Latest translations and fallbacks 2024-12-02 09:18:41 +00:00
renovate[bot]
694827cf71 fix(deps): update dependency sortablejs to v1.15.6 (#12943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-01 09:30:27 -05:00
Barış Soner Uşaklı
434881554f Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-12-01 09:29:51 -05:00
Barış Soner Uşaklı
8c5d7c4d13 deps: update connect-redis to 8 2024-12-01 09:29:46 -05:00
Misty Release Bot
69c460ac51 Latest translations and fallbacks 2024-12-01 09:18:18 +00:00
Misty Release Bot
7c9d92a7e9 Latest translations and fallbacks 2024-11-30 09:18:17 +00:00
Misty Release Bot
a18188b1e5 Latest translations and fallbacks 2024-11-29 09:18:47 +00:00
Julian Lam
d1c27b4d33 chore: upgrade script to fix outdated slugs for users with periods in their usernames 2024-11-28 12:29:31 -05:00
Misty Release Bot
1c33285ade chore(i18n): fallback strings for new resources: nodebb.admin-manage-user-custom-fields 2024-11-28 15:12:24 +00:00
Barış Soner Uşaklı
77382e3b7b feat: add visibility option to, closes #12942 2024-11-28 10:12:00 -05:00
Julian Lam
e2b653b0e8 chore: bump to rc.2 2024-11-27 14:34:26 -05:00
Julian Lam
d7fe355851 fix: regression on remote deletes, received object is not always a simple id 2024-11-27 14:27:34 -05:00
Julian Lam
830aab66bb fix: thrown exception from failed note assertion 2024-11-27 14:27:34 -05:00
Barış Soner Uşaklı
22a2a10728 Update README.md 2024-11-27 14:27:34 -05:00
Misty Release Bot
de3b64ffac Latest translations and fallbacks 2024-11-27 14:27:34 -05:00
Julian Lam
304fa554ce fix: one more 2024-11-27 14:07:47 -05:00
Julian Lam
69d5544a7b fix: another fix re: 3780fdc6ff 2024-11-27 14:01:02 -05:00
Julian Lam
f7a294a7a4 fix: thrown exception from failed note assertion 2024-11-27 13:58:41 -05:00
Julian Lam
97861dd124 fix: additional fixes re: 3780fdc6ff 2024-11-27 13:49:56 -05:00
Julian Lam
3780fdc6ff fix: regression on remote deletes, received object is not always a simple id 2024-11-27 12:47:24 -05:00
Julian Lam
c6726113ac Merge remote-tracking branch 'origin/develop' into activitypub 2024-11-27 10:41:47 -05:00
Julian Lam
78a9e86ca3 fix: #12939 convert custom emoji in actor summary into images 2024-11-27 10:39:29 -05:00
Julian Lam
e6edcefda1 fix: translate custom field names and values when federating out 2024-11-27 10:06:28 -05:00
Misty Release Bot
0333d26393 chore: update changelog for v3.11.0 2024-11-27 14:55:53 +00:00
Misty Release Bot
f032da2878 chore: incrementing version number - v3.11.0 2024-11-27 14:55:52 +00:00
Barış Soner Uşaklı
a16c0c3b89 Merge branch 'master' into develop 2024-11-27 09:40:13 -05:00
Misty Release Bot
7bb2ed3bb6 Latest translations and fallbacks 2024-11-27 09:19:13 +00:00
Julian Lam
552298f872 fix: bump emoji-android version 2024-11-26 15:01:40 -05:00
Julian Lam
593a1933c4 fix: bump harmony and re-tag 2024-11-26 14:51:32 -05:00
Julian Lam
5aab151ed2 chore: bump version to rc.1 2024-11-26 14:19:10 -05:00
Julian Lam
549a6b7dff feat: support for FEP fb2a (new-style account metadata) 2024-11-26 14:18:42 -05:00
Barış Soner Uşaklı
047ae78f19 Update README.md 2024-11-26 11:36:23 -05:00
Julian Lam
efa0cac380 fix: bump emoji to 6.0.1 2024-11-26 11:34:39 -05:00
Julian Lam
c0e58b03c5 Merge remote-tracking branch 'origin/develop' into activitypub 2024-11-26 11:34:18 -05:00
Misty Release Bot
985e5e3d56 chore(i18n): fallback strings for new resources: nodebb.admin-settings-reputation, nodebb.error 2024-11-26 15:07:15 +00:00
Barış Soner Uşaklı
6ebff2e1c6 refactor: shorter check for showfullname 2024-11-26 09:17:51 -05:00
Barış Soner Uşaklı
e6f78d2552 feat: use displayname in chat system messages, closes #12937 2024-11-26 09:11:11 -05:00
Barış Soner Uşaklı
173c604a2c test: fix tests 2024-11-25 18:42:59 -05:00
Barış Soner Uşaklı
669c9c5027 feat: move website/location fields into custom user fields 2024-11-25 18:29:48 -05:00
Julian Lam
206613dd63 chore: migrate admin/settings/social.json into admin/settings/general.json 2024-11-25 15:19:15 -05:00
Julian Lam
ab143b1d6f chore: migrate admin/settings/languages.json into admin/settings/general.json 2024-11-25 15:17:15 -05:00
Julian Lam
a76781859c chore: migrate admin/settings/homepage.json into admin/settings/general.json 2024-11-25 15:11:02 -05:00
Julian Lam
00b2dd497b fix: bump harmony 2024-11-25 15:05:02 -05:00
Julian Lam
065f84b6e2 fix: strip html from remote custom fields, linkify if url detected in now-plaintext field value 2024-11-25 14:22:19 -05:00
Julian Lam
bc5b91aaab fix: update acp template to use new lang keys 2024-11-25 12:01:20 -05:00
Julian Lam
3f14373cdd chore: combine admin/settings/guest.json language file into admin/settings/user.json 2024-11-25 11:56:54 -05:00
Barış Soner Uşaklı
388a156d21 chore: up themes 2024-11-25 10:24:24 -05:00
renovate[bot]
2db5b815a2 fix(deps): update dependency sortablejs to v1.15.4 (#12934)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 10:22:06 -05:00
Barış Soner Uşaklı
61d43ee15a test: fix crash due to excludeGroups 2024-11-24 12:33:52 -05:00
Barış Soner Uşaklı
8605584fbc fix: spec, dont show registered-users, verified-users, unverified-users in manage groups 2024-11-24 11:58:35 -05:00
Barış Soner Uşaklı
49e0e1ab2d feat: add pagination to groups page, api routes
use page instead of after
2024-11-24 11:36:02 -05:00
Misty Release Bot
6f083259c1 Latest translations and fallbacks 2024-11-24 09:19:19 +00:00
renovate[bot]
151e0164ac chore(deps): update commitlint monorepo to v19.6.0 (#12920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 11:44:06 -05:00
renovate[bot]
036f456460 chore(deps): update postgres docker tag to v17.2 (#12931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 09:37:23 -05:00
renovate[bot]
f9c4815a8b fix(deps): update dependency nodebb-plugin-2factor to v7.5.7 (#12930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 09:37:15 -05:00
renovate[bot]
80b4d10bf9 fix(deps): update dependency @fortawesome/fontawesome-free to v6.7.1 (#12929)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 09:36:32 -05:00
renovate[bot]
c3b42c85c8 fix(deps): update dependency mongodb to v6.11.0 (#12932)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 09:36:20 -05:00
Misty Release Bot
d04a2a1a21 Latest translations and fallbacks 2024-11-23 09:19:17 +00:00
Julian Lam
1bebb82b03 fix: handling of empty custom user fields from remote users 2024-11-22 14:35:28 -05:00
Julian Lam
09f00f8e43 fix: don't send custom fields in remote user actor object if no value is entered 2024-11-22 14:27:24 -05:00
Julian Lam
ce1efd3955 fix: hotfix for empty user fields 2024-11-22 12:17:00 -05:00
Julian Lam
e5f804ffd5 fix: bump mentions 2024-11-22 09:55:52 -05:00
Misty Release Bot
57e6595799 Latest translations and fallbacks 2024-11-22 09:19:41 +00:00
Barış Soner Uşaklı
5b3b003d30 fix: #12927, give more right padding on FF 2024-11-21 20:33:08 -05:00
Barış Soner Uşaklı
d32a7c3283 silence color function deprecations on prod 2024-11-21 17:41:11 -05:00
Julian Lam
7b747c8fa0 fix: #12928, topic showing wrong queued posts in-topic when topic is remote 2024-11-21 15:50:02 -05:00
Barış Soner Uşaklı
2324a5bf77 chore: up harmony 2024-11-21 12:43:26 -05:00
Barış Soner Uşaklı
1412585856 fix: dont show chat upload btn if maxFileSize is 0, #12926 2024-11-21 10:05:16 -05:00
Misty Release Bot
8f944e9325 Latest translations and fallbacks 2024-11-21 09:19:58 +00:00
Barış Soner Uşaklı
a42c9a6bec refactor: prolly dont need exists check 2024-11-20 17:15:51 -05:00
Julian Lam
93bb73c17e fix: replace parseInt that was excluding remote pids from calculation
Also fixes nodebb/nodebb-plugin-feed#13
2024-11-20 13:49:55 -05:00
Julian Lam
0f351ba70d feat: #12924, parse incoming custom fields from remote users 2024-11-20 12:15:40 -05:00
Misty Release Bot
174be398c2 chore(i18n): fallback strings for new resources: nodebb.admin-manage-user-custom-fields, nodebb.error 2024-11-20 16:02:13 +00:00
Barış Soner Uşaklı
9cf85cede3 feat: add date and multiselect custom fields 2024-11-20 11:01:01 -05:00
Barış Soner Uşaklı
e375038ce0 get whitelisted fields from plugins as well 2024-11-19 16:37:14 -05:00
Julian Lam
be6e8b0f48 Merge remote-tracking branch 'origin/develop' into activitypub 2024-11-19 16:09:20 -05:00
renovate[bot]
a3042479af fix(deps): update dependency @fortawesome/fontawesome-free to v6.7.0 (#12921)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 15:35:15 -05:00
Misty Release Bot
b676c2204d chore(i18n): fallback strings for new resources: nodebb.error 2024-11-19 20:31:04 +00:00
Barış Soner Uşaklı
836e8458e2 fix: dont allow core user fields to be used as custom fields 2024-11-19 15:30:40 -05:00
Julian Lam
b2c21ee873 src/user/data.js
chore: remove unneeded actor assertion
2024-11-19 15:16:48 -05:00
Julian Lam
62fe70f20b feat: #12924, custom user fields for local users now federating out 2024-11-19 15:09:43 -05:00
Julian Lam
b6a2520fcc fix: #12923, inability to start chat with remote users via profile 2024-11-19 14:39:35 -05:00
Julian Lam
832e8d39af Merge remote-tracking branch 'origin/develop' into activitypub 2024-11-19 11:40:07 -05:00
Julian Lam
55ab85ac0d fix: inability to directly post to a nodebb category from the fediverse 2024-11-18 14:23:59 -05:00
Julian Lam
e4e6b1d245 fix: #12919, handle when buildTopicsSortedSet returns a non-array 2024-11-18 13:47:34 -05:00
Julian Lam
e8fda4c01a fix(deps): #12683 bump emoji plugin to v6 2024-11-18 12:48:03 -05:00
Misty Release Bot
5ff0533d26 Latest translations and fallbacks 2024-11-18 09:19:43 +00:00
Misty Release Bot
9473724a49 Latest translations and fallbacks 2024-11-16 09:19:16 +00:00
renovate[bot]
0d0f9144fe chore(deps): update postgres docker tag to v17.1 (#12915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 11:17:13 -05:00
renovate[bot]
68637633ab fix(deps): update dependency ace-builds to v1.36.5 (#12913)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 11:16:59 -05:00
renovate[bot]
ff25802814 chore(deps): update dependency sass-embedded to v1.81.0 (#12914)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 11:14:42 -05:00
renovate[bot]
ee91e516ba fix(deps): update dependency sass to v1.81.0 (#12916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 11:14:16 -05:00
Barış Soner Uşaklı
5e9b7b44d6 fix: button to match category dropdown 2024-11-15 11:03:05 -05:00
renovate[bot]
4279128761 fix(deps): update dependency cron to v3.2.1 (#12911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 10:18:20 -05:00
renovate[bot]
85f5569532 fix(deps): update dependency postcss to v8.4.49 (#12910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 10:18:02 -05:00
Misty Release Bot
e13288907c Latest translations and fallbacks 2024-11-15 09:19:44 +00:00
Julian Lam
7adc3140e2 fix: #12912, strip custom emoji from remote content titles 2024-11-14 15:08:30 -05:00
Julian Lam
3968c822a2 feat: add title property to custom emoji markup 2024-11-14 15:08:09 -05:00
Julian Lam
f449fafccf fix: don't chop off colons when generating titles as they could interfere with emoji 2024-11-14 15:07:42 -05:00
Barış Soner Uşaklı
03cea23713 chore: up harmony 2024-11-14 12:32:44 -05:00
Barış Soner Uşaklı
b25aa3364a chore: up persona 2024-11-14 11:01:46 -05:00
Barış Soner Uşaklı
1327316d8f Merge branch 'develop' into activitypub 2024-11-14 10:53:51 -05:00
Misty Release Bot
2e0b8b3238 Latest translations and fallbacks 2024-11-14 09:19:51 +00:00
Barış Soner Uşaklı
08a87d107e Merge branch 'master' into develop 2024-11-13 18:43:10 -05:00
Barış Soner Uşaklı
db291ecde1 fix: filter undefined posts/topics 2024-11-13 18:38:36 -05:00
Julian Lam
09b1e11940 feat: #12683, parse incoming emoji tags and replace in content prior to storage in database 2024-11-13 16:47:00 -05:00
Barış Soner Uşaklı
06226081d4 catch errors from handleExpired 2024-11-13 16:40:14 -05:00
Barış Soner Uşaklı
28aba7b017 Merge branch 'master' into develop 2024-11-13 16:29:21 -05:00
Barış Soner Uşaklı
20da71485f refactor: remove unused uids 2024-11-13 16:29:16 -05:00
Barış Soner Uşaklı
d477090804 fix: don't crash if post is undefined 2024-11-13 16:28:16 -05:00
Julian Lam
4ba41a6801 feat: fire new hook filter:activitypub.mocks.note on note mocking 2024-11-13 15:03:55 -05:00
Barış Soner Uşaklı
9e2b88a221 add core skin fixes 2024-11-13 12:47:46 -05:00
Barış Soner Uşaklı
2ec3d1afba chore: up themes 2024-11-13 12:00:18 -05:00
Misty Release Bot
deac696bec Latest translations and fallbacks 2024-11-13 09:19:39 +00:00
Barış Soner Uşaklı
965ca63605 chore: up themes 2024-11-12 11:57:50 -05:00
Misty Release Bot
0f12aaca46 Latest translations and fallbacks 2024-11-12 09:20:40 +00:00
Barış Soner Uşaklı
1a4a9d08b7 chore: up persona 2024-11-11 20:07:35 -05:00
Barış Soner Uşaklı
acd42c234d chore: up peace 2024-11-11 19:02:14 -05:00
Barış Soner Uşaklı
7179a280a9 chore: up peace 2024-11-11 17:58:48 -05:00
Barış Soner Uşaklı
6af5cef7e5 refactor: no category sharing for a long time 2024-11-11 16:34:00 -05:00
Barış Soner Uşaklı
bcf8dee212 chore: up peace 2024-11-11 13:34:50 -05:00
Barış Soner Uşaklı
b6774bba02 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-11-11 13:20:14 -05:00
Barış Soner Uşaklı
524b2b76ca chore: up peace 2024-11-11 13:20:10 -05:00
Misty Release Bot
b89036cd3f chore(i18n): fallback strings for new resources: nodebb.admin-manage-user-custom-fields 2024-11-11 18:03:53 +00:00
Barış Soner Uşaklı
5e3102b0ad add icons to custom profile fields
up themes
2024-11-11 13:03:25 -05:00
Barış Soner Uşaklı
4ad082b426 chore: up themes 2024-11-11 12:00:53 -05:00
renovate[bot]
87c276dd00 fix(deps): update dependency winston to v3.17.0 (#12906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 09:56:44 -05:00
renovate[bot]
aa57b248ab fix(deps): update dependency postcss to v8.4.48 (#12907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 09:41:59 -05:00
Barış Soner Uşaklı
d5c9c0ba2e fix: spec 2024-11-11 09:32:43 -05:00
Barış Soner Uşaklı
70d9950167 test: fix spec 2024-11-11 09:29:49 -05:00
Misty Release Bot
e8ded02c94 Latest translations and fallbacks 2024-11-11 09:19:29 +00:00
Barış Soner Uşaklı
953ea609c4 chore: up peace 2024-11-10 12:25:23 -05:00
Barış Soner Uşaklı
09a9fe15a5 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-11-10 12:14:00 -05:00
Barış Soner Uşaklı
6a71fd240f chore: up widgets 2024-11-10 12:13:59 -05:00
Misty Release Bot
30f914e1b3 Latest translations and fallbacks 2024-11-10 09:19:00 +00:00
Barış Soner Uşaklı
e139bd6021 remove margin top from topic alerts 2024-11-09 20:25:21 -05:00
Barış Soner Uşaklı
f13b7f8d81 chore: up harmony 2024-11-09 19:23:10 -05:00
Barış Soner Uşaklı
d34991556c apply changes from harmony to core bottomsheet 2024-11-09 19:22:35 -05:00
Barış Soner Uşaklı
6f89bf6bbd chore: up persona 2024-11-09 19:13:06 -05:00
Barış Soner Uşaklı
79c93c850c chore: up persona 2024-11-09 19:06:39 -05:00
Barış Soner Uşaklı
d63a828d2a chore: up themes 2024-11-09 18:47:58 -05:00
Barış Soner Uşaklı
6aa8f1b6fd chore: up themes 2024-11-09 10:48:06 -05:00
Barış Soner Uşaklı
ae36a72bc9 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-11-09 08:36:56 -05:00
Barış Soner Uşaklı
c731a5e00a remove p from help text 2024-11-09 08:36:52 -05:00
Misty Release Bot
eb3c2cd70f Latest translations and fallbacks 2024-11-09 09:20:05 +00:00
Barış Soner Uşaklı
a4d8baf32b chore: up peace 2024-11-08 20:49:00 -05:00
Barış Soner Uşaklı
24e9adf671 chore: up themes 2024-11-08 20:32:14 -05:00
Barış Soner Uşaklı
9be5b8a3e0 remove striped table 2024-11-08 17:28:31 -05:00
Barış Soner Uşaklı
3dff083d9d refactor: move flags into core 2024-11-08 17:26:17 -05:00
Barış Soner Uşaklı
40758b320e refactor: add some margin bottom to bs tags 2024-11-08 17:16:35 -05:00
Barış Soner Uşaklı
a9fc13dd9a fix: block search showing old matches 2024-11-08 17:16:23 -05:00
Barış Soner Uşaklı
038fb71e2c refactor: post queue btn and dropdown
for persona/peace
2024-11-08 17:16:08 -05:00
Barış Soner Uşaklı
baff68b48e chore: up persona 2024-11-07 19:36:28 -05:00
Barış Soner Uşaklı
c4b50607ed chore: up peace 2024-11-07 19:29:37 -05:00
Barış Soner Uşaklı
c32c63aa69 chore: up lavender 2024-11-07 19:06:46 -05:00
Barış Soner Uşaklı
66214bea1a chore: up lavender 2024-11-07 18:55:09 -05:00
Barış Soner Uşaklı
008ad1e399 fix: missing template 2024-11-07 13:10:52 -05:00
Julian Lam
1268ed50ca fix: naive checking to handle uploaded images whose filenames end with '-resized' 2024-11-07 12:11:00 -05:00
Julian Lam
05fb8aa505 feat: new language file for user custom fields
cc: @barisusakli
2024-11-07 11:16:36 -05:00
Barış Soner Uşaklı
4ce387b941 chore: update tx config 2024-11-07 11:12:57 -05:00
Misty Release Bot
e3ef858bc1 chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads 2024-11-07 15:57:50 +00:00
Julian Lam
4614958bcc fix: update copy to reflect real default value of 2000px for resizeImageWidthThreshold 2024-11-07 10:57:26 -05:00
Barış Soner Uşaklı
62ee6ef36c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-11-07 10:50:32 -05:00
Barış Soner Uşaklı
977d80c10e fix: editor removal 2024-11-07 10:50:28 -05:00
Misty Release Bot
15e1670426 chore(i18n): fallback strings for new resources: nodebb.admin-manage-users, nodebb.error 2024-11-07 15:43:50 +00:00
Barış Soner Uşaklı
bbf66c243b Squashed commit of the following:
commit afd96a00b1
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Nov 7 10:42:33 2024 -0500

    chore: up themes

commit b40e530434
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 19:16:44 2024 -0500

    feat: add min:rep to custom fields

    add validation in profile.update

commit 4b5cb613e5
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 12:03:22 2024 -0500

    test: add openapi spec, move menu button

commit 0c551fa240
Merge: 13f39053c9 bc00df3cd9
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 11:48:05 2024 -0500

    Merge branch 'develop' into custom-user-fields

commit 13f39053c9
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Jul 31 00:23:39 2024 -0400

    refactor: dont need delete function

commit f33c8849d8
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Jul 30 21:30:00 2024 -0400

    feat: show custom fields on edit/profile

commit 5e1d8769d4
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Jul 30 17:08:25 2024 -0400

    feat: add custom user fields acp page
2024-11-07 10:43:10 -05:00
Misty Release Bot
79b1922bbd Latest translations and fallbacks 2024-11-07 09:18:58 +00:00
Misty Release Bot
9fd5ca2719 chore(i18n): fallback strings for new resources: nodebb.topic 2024-11-06 16:37:17 +00:00
Julian Lam
d685b20e0a fix: #12893, topic with pages returning OrderedCollectionPage instead of OrderedCollection.
Turns out empty arrays are still truthy, heh.
2024-11-04 13:43:28 -05:00
Julian Lam
cf3555faaa fix: missing return 2024-10-31 11:59:42 -04:00
Julian Lam
3eb0a0ed57 fix: #12887, strip target attribute from remote posts' html 2024-10-31 11:47:00 -04:00
Julian Lam
a59dae3f0a fix: #12866 again, more tests 2024-10-31 11:35:28 -04:00
Julian Lam
94e3490711 fix: raise probe timeout to 2s 2024-10-30 16:07:38 -04:00
Barış Soner Uşaklı
dd3634462f fix: topic count not showing up on category page 2024-10-30 11:56:36 -04:00
Julian Lam
93844321f4 fix: #12882, view original post circles back to same topic 2024-10-30 11:20:12 -04:00
Julian Lam
f8729571db fix: #12883, activitypub probe timeout
- Added setting to disable probe completely
- Added setting to configure timeout
- Updated probe logic so that if probe times out, it retries in the background with 60s timeout for caching purposes
2024-10-30 10:59:05 -04:00
Julian Lam
22dbf15e5e fix: errant mention detection via actors.note
- also removed duplicate parsing of post content when retrieving object via AP
2024-10-29 14:51:55 -04:00
Julian Lam
05c8ee9f02 fix: #12880, refactored ap controller.list to use buildTopicsSortedSet, moved out poor man's intersect to internal method 2024-10-29 11:40:51 -04:00
Julian Lam
4fc0ee9b76 Revert "fix: use categories.getTopicIds instead of duplicating existing logic to get world tids"
This reverts commit 7bf411383e.
2024-10-29 11:26:14 -04:00
Julian Lam
b1d779ca6f fix: don't trust timestamps on received items
Trust the order you get from reply chain traversal and context retrieval instead.
2024-10-29 11:16:18 -04:00
Julian Lam
7bf411383e fix: use categories.getTopicIds instead of duplicating existing logic to get world tids 2024-10-29 10:36:35 -04:00
Julian Lam
c1093c928f refactor: buildTopicsSortedSet
- use Set internally
- if cid -1 and logged in, add user inbox to sets
2024-10-29 10:36:05 -04:00
Julian Lam
beb85604bd fix: #12866, improve title generator, refactor tests 2024-10-25 13:18:45 -04:00
Julian Lam
eccad588f4 fix: one more fix 2024-10-25 12:49:49 -04:00
Julian Lam
0e982fcf9e fix: debug return not restored back 2024-10-25 12:37:45 -04:00
Julian Lam
fc3243d617 fix: #12865, crash on liking a chat message 2024-10-25 12:11:48 -04:00
Barış Soner Uşaklı
7e450e1d2e lint: remove unused utils 2024-10-24 20:10:52 -04:00
Barış Soner Uşaklı
f532450139 fix: possible fix to escaped emoji in titles 2024-10-24 20:03:40 -04:00
Barış Soner Uşaklı
fb9965f8f6 Merge branch 'develop' into activitypub 2024-10-24 19:25:58 -04:00
Julian Lam
c1079356ef chore: beta.4 2024-10-24 14:50:40 -04:00
Julian Lam
a7b50c6364 Merge remote-tracking branch 'origin/develop' into activitypub 2024-10-24 14:48:56 -04:00
Julian Lam
998273cdc4 fix: #12707 ensure actor matches context attributedTo 2024-10-24 14:44:18 -04:00
Julian Lam
3023b25172 feat: handle receipt of Add activity #12707 2024-10-24 14:36:42 -04:00
Julian Lam
6f237c57cd feat: associate new topics created from asserted notes with their originating context, if that context is resolvable
re: #12647
2024-10-24 14:35:34 -04:00
Julian Lam
15516862ce fix: federate out an Add on post creation even if there are no category followers 2024-10-24 13:33:04 -04:00
Julian Lam
3030a720e9 fix: accidental sending of Set to ActivityPub.send 2024-10-24 13:30:51 -04:00
Julian Lam
e5331b840c docs: fix comment 2024-10-24 13:17:32 -04:00
Julian Lam
069c8228e7 feat: #12822, send all outgoing links to /ap first to see if it's activitypub enabled, parse if able, otherwise redirect as normal 2024-10-23 15:25:16 -04:00
Julian Lam
5e47b19488 refactor: expose buildRecipients as a main activitypub lib method, call buildReceipients in ap controller actors for notes 2024-10-23 11:28:55 -04:00
Barış Soner Uşaklı
098836c10d chore: up harmony 2024-10-22 16:18:49 -04:00
Julian Lam
8492b5f402 fix: #12857 byebye cheerio 2024-10-18 14:41:22 -04:00
Julian Lam
cac4f8e7d6 fix: inputIndex check 2024-10-18 11:15:53 -04:00
Barış Soner Uşaklı
d82d2c5cd7 Merge branch 'develop' into activitypub 2024-10-18 09:17:53 -04:00
Julian Lam
6208ab8d42 fix: convert some more verbose logging to use ap logging helper 2024-10-17 14:36:39 -04:00
Julian Lam
d451adafc4 fix: regression introduced by 903d038919 2024-10-17 14:36:34 -04:00
Barış Soner Uşaklı
81f7371a7b test: fix guest handles in onNewPost 2024-10-17 14:10:31 -04:00
Julian Lam
13c048a515 feat: normalization middleware to ensure incoming objects' data types are as expected (simplifies later logic) 2024-10-17 13:45:56 -04:00
Julian Lam
c34407d8b8 fix: lint 2024-10-17 11:31:32 -04:00
Julian Lam
0f1b11649c fix: errant parseInt in canEditDelete 2024-10-17 11:23:08 -04:00
Julian Lam
1d5f490de0 fix: guard against missing to/cc 2024-10-17 11:19:22 -04:00
Julian Lam
873d033baf fix: object not array 2024-10-17 11:16:25 -04:00
Julian Lam
61445d3d87 feat: send Update(Note) on chat message deletion and restoration, serving Tombstone if deleted
re: #12853
2024-10-17 11:06:10 -04:00
Julian Lam
b472c58946 fix: backend logic fixes for #12853 2024-10-16 15:22:49 -04:00
Julian Lam
5c43108480 Merge remote-tracking branch 'origin/develop' into activitypub 2024-10-16 15:03:05 -04:00
Julian Lam
e5948464e7 feat: handle Update(Note) when object has limited visibility, #12834 2024-10-15 11:27:57 -04:00
Barış Soner Uşaklı
1bf0990774 fix: groups not showing up on new reply 2024-10-15 10:59:13 -04:00
Julian Lam
a226ee9e91 fix: re-enable logging only for dev mode 2024-10-12 22:49:24 -04:00
Julian Lam
9062691aa2 fix: defer postdata retrieval 2024-10-12 22:49:09 -04:00
Julian Lam
e0e2051dda feat: check room counts on actor prune, #12834 2024-10-10 14:49:40 -04:00
Julian Lam
27fb01f7b8 chore: beta.3 2024-10-10 13:07:39 -04:00
Julian Lam
1659015c98 feat: federate on chat message edit, #12834 2024-10-10 13:04:07 -04:00
Julian Lam
7ad7bc4743 fix: inReplyTo incorrectly including system messages, #12834 2024-10-10 12:36:25 -04:00
Julian Lam
ca683c6d52 refactor: followers url filtering logic, #12834 2024-10-09 15:09:06 -04:00
Julian Lam
2464d13cde feat: notify users on new message from remote users, fix use of parseInt in generating chat notification
re: #12834
2024-10-09 13:51:41 -04:00
Julian Lam
e9a27db29d fix: remote debug log 2024-10-09 13:19:52 -04:00
Julian Lam
adf33cfac9 fix: error on replying to remote mids #12834 2024-10-09 13:18:16 -04:00
Julian Lam
94ac57ea51 fix: proper urls in to, #12834 2024-10-09 13:14:18 -04:00
Julian Lam
70fe868953 fix: simplify uid logic, explicitly mention all participants, even local users, #12834 2024-10-09 13:08:38 -04:00
Julian Lam
0346e92bb2 fix: adjust timestamp after message creation instead of passing timestamp in, #12834 2024-10-08 23:51:41 -04:00
Julian Lam
22931be1cc fix: limited visibility remote posts with greater scope than asserted roomId should add those users to the chat room, #12834 2024-10-08 16:28:42 -04:00
Julian Lam
8abfd951b2 fix: empty mid on frontend for remote posts 2024-10-08 16:28:03 -04:00
Julian Lam
0a17a0b948 fix: recent chats string generation to handle remote users #12834 2024-10-08 15:27:53 -04:00
Julian Lam
fc1d064dfb fix: inReplyTo bug, #12834 2024-10-08 15:24:39 -04:00
Julian Lam
b82e20dfc7 feat: handle incoming non-public activities as chat message, #12834 2024-10-08 14:26:55 -04:00
Julian Lam
8f7d049957 fix: remove sender from recipients, #12834 2024-10-08 10:11:41 -04:00
Julian Lam
f3045309f9 fix: private note inReplyTo url, #12834 2024-10-07 15:01:30 -04:00
Julian Lam
f4a02d9c62 fix: inReplyTo for private notes so that refer to the immediately previous message if not explicitly defined 2024-10-07 14:58:15 -04:00
Julian Lam
8a1abe686c fix: duplicate logic and double-parsing issue, #12834 2024-10-07 14:39:55 -04:00
Julian Lam
74d5ced29e fix: federate out a Create(Note) instead of just the note... doi...
#12834
2024-10-07 14:29:45 -04:00
Julian Lam
2ab5ea39a6 feat: federating out chat messages
re #12834
2024-10-07 14:12:31 -04:00
Julian Lam
8ef0df57e6 refactor: check HTTP signatures on all activitypub requests
- `validate` is now renamed `assertPayload`
- HTTP signature checking is now in new middleware `verify`
- `verify` is now called on all routes in activitypub controller
- Rejects on signature failure for POST requests
2024-10-07 14:08:57 -04:00
Julian Lam
2b71434ef4 feat: update mdidleware.assert.message so roomId is optional 2024-10-07 14:02:15 -04:00
Julian Lam
52080ba269 fix: chat room kicking of remote users, (un)read logic for remote users (there is none), sendNotification to only apply to local uids
re: #12834
2024-10-04 17:08:44 -04:00
Julian Lam
b610b520e9 fix: restrict the ability to make a remote user a chat room owner
re: #12834
2024-10-04 17:08:39 -04:00
Julian Lam
f512901778 fix: display of remote users in chat room search
re: #12834
2024-10-04 17:08:32 -04:00
Julian Lam
bd44783e46 feat: #12647, federate out Add activity on inbox.create and local post creation 2024-10-03 11:10:21 -04:00
Julian Lam
2713d13ca3 fix: also ignore non-public notes on Update activity 2024-10-02 12:08:46 -04:00
Julian Lam
f57758b9e5 fix: bump web-push 2024-10-01 11:48:47 -04:00
Julian Lam
15f60b2497 fix: logic tweak 2024-10-01 10:17:08 -04:00
Julian Lam
903d038919 fix: fall back to inReplyTo traversal on context resolution failure 2024-10-01 10:08:19 -04:00
Julian Lam
45a0b8189b fix: tests 2024-09-30 16:59:24 -04:00
Julian Lam
3d25a07919 fix: null defense 2024-09-30 15:43:23 -04:00
Julian Lam
0b83e5b889 fix: #12821, improvements to search bar and search logic
- Entering a webfinger handle in search bar will override default
  `searchIn` to `users`
- When an activitypub uri is entered, it is fetched and its `type`
  is checked. If `type` is `user`, a user search is conducted
  instead. If `type` is not post-like or user-like, a regular
  full-text search is performed (prior, it just threw an
  exception!)
2024-09-30 13:01:29 -04:00
Julian Lam
43e3f4128b Merge branch 'develop' into activitypub 2024-09-30 12:12:55 -04:00
Julian Lam
c265666c56 fix: lint 2024-09-30 11:31:14 -04:00
Julian Lam
7f1f485952 feat: send 308 when activitypub request for remote post comes in, #12831 2024-09-30 11:09:46 -04:00
Julian Lam
c5e10c1a41 fix: parse aboutme when mocking a user 2024-09-30 10:51:20 -04:00
Julian Lam
edff339498 feat: dynamic category icon generation
When a category is retrieved via activitypub, NodeBB will now
generate an SVG and PNG representation of the category utilising
the "icon", "color", and "bgColor" values.

closes #12507
2024-09-27 13:29:41 -04:00
Julian Lam
90cc7e61ff fix: remove superfluous service-worker code 2024-09-25 12:32:35 -04:00
Julian Lam
f75214bc34 Merge branch 'develop' into activitypub 2024-09-25 12:31:45 -04:00
Barış Soner Uşaklı
34353bdb20 chore: up harmony 2024-09-25 09:02:46 -04:00
Barış Soner Uşaklı
ee05bf2129 Merge branch 'develop' into activitypub 2024-09-25 09:02:31 -04:00
Barış Soner Uşaklı
a6d6a30aaa Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-09-25 09:02:21 -04:00
Julian Lam
cc267714ed chore: beta.2 2024-09-24 12:28:35 -04:00
Julian Lam
6fe4d44675 fix: explicitly set updated property when federating notes out 2024-09-24 12:15:10 -04:00
Barış Soner Uşaklı
6dc2f60b50 Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-09-23 15:46:20 -04:00
Barış Soner Uşaklı
5bc907a088 fix: buttons for general settings 2024-09-23 15:46:18 -04:00
Julian Lam
e0c410cd7c fix: bump mentions 2024-09-23 14:32:30 -04:00
Barış Soner Uşaklı
0a33abeae6 Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-09-23 09:14:24 -04:00
Barış Soner Uşaklı
5eb96bcb52 Merge branch 'develop' into activitypub 2024-09-23 09:13:30 -04:00
Julian Lam
86f624f817 chore: beta tag 2024-09-20 14:07:44 -04:00
Julian Lam
34c4cefe0c feat: enable web-push plugin on first install 2024-09-20 14:04:45 -04:00
Julian Lam
aa060d31d1 fix(deps): swap ntfy for web-push plugin 2024-09-20 14:03:51 -04:00
Julian Lam
ad6d03266b Merge remote-tracking branch 'origin/develop' into activitypub 2024-09-20 14:03:16 -04:00
Julian Lam
4ae8614573 feat: service worker icon and badge support 2024-09-20 11:19:50 -04:00
Julian Lam
6b4b4b1a00 fix: actors.assert attempting to process things that aren't actors, #12809 2024-09-19 14:52:05 -04:00
Julian Lam
6752a54116 feat: update buildRecipients to include all topic participants and their followers, #12735 2024-09-18 14:35:42 -04:00
Julian Lam
71ce308936 fix: carry out mime-type guessing on incoming attachments 2024-09-17 14:18:16 -04:00
Julian Lam
d0ac5ff99f Reapply "fix: change setImmediate to a 5s timeout to give plugins (or anything waiting for the return value of the API call) a chance to finish execution"
This reverts commit 8003946feb.
2024-09-17 11:58:46 -04:00
Julian Lam
b04a11055f fix: re-use already parsed html in api.posts.edit's call to getPostSummaryByPids, delay federating out edit activity for 5s to give link preview a chance to resolve 2024-09-17 11:58:42 -04:00
Julian Lam
047d5992dc fix: id on 1b12 announces 2024-09-17 10:46:05 -04:00
Barış Soner Uşaklı
1fe8ac191d change follow notif path 2024-09-16 19:42:27 -04:00
Julian Lam
3c55d1024d fix: better handling for remote posts that do not contain content 2024-09-16 15:46:12 -04:00
Julian Lam
1a0a2cd17b fix: #12799 add externally linked images to attachment 2024-09-16 15:07:37 -04:00
Barış Soner Uşaklı
d7ae6a5b9b Merge branch 'develop' into activitypub 2024-09-13 12:47:14 -04:00
Julian Lam
d6bab25317 feat: notification rescind support 2024-09-12 22:14:24 -04:00
Julian Lam
028b6d74b2 fix: remove includeUncontrolled as we are posting messages, and that only works with windows you control lol 2024-09-12 16:12:24 -04:00
Barış Soner Uşaklı
471fbd3ab4 chore: up themes 2024-09-12 14:21:07 -04:00
Barış Soner Uşaklı
42edde63ca Merge branch 'develop' into activitypub 2024-09-12 14:06:45 -04:00
Julian Lam
1fbf911489 fix: add logic to automatically take over clients from old service workers 2024-09-12 11:22:02 -04:00
Barış Soner Uşaklı
d4cf5e7ee0 chore: up themes 2024-09-12 10:38:33 -04:00
Barış Soner Uşaklı
ad565a98ea Merge branch 'develop' into activitypub 2024-09-12 10:32:40 -04:00
Julian Lam
cf6c4c52b8 refactor: simplified ajaxify.check and likely made it equally more confusing 2024-09-11 14:43:55 -04:00
Barış Soner Uşaklı
c2600b124f fix: closes #12787, filter null topics 2024-09-11 14:26:16 -04:00
Julian Lam
5109b53921 feat: update service worker to handle push and notificationclick
Additional event handling for use by the upcoming web-push plugin.
2024-09-11 12:18:31 -04:00
Julian Lam
40fe4d88f9 feat: add onmessage handler for service worker 2024-09-11 12:15:12 -04:00
Julian Lam
fc4f6a4c56 refactor: split out logic to determine ajaxification into exported method
There was some internal logic in ajaxify that handled special links that
should explicitly not be ajaxified (either it is a null href or should be
loaded as a direct page load, etc.) - this was moved out to an exported
method so it can be consumed by the service worker onmessage listener.

Also since this logic evolved over many years, there were some
duplications and so those have been amended (though I will not guarantee
that it was done bug/regression free!!)
2024-09-11 12:14:04 -04:00
Julian Lam
176f4d0d09 fix: remove use of jquery $(this) in ajaxify 2024-09-11 10:22:34 -04:00
Julian Lam
d42d3b1c39 fix: crash when AP S2S call made to retrieve a remote user account (not allowed); now returning 404 2024-09-10 11:37:56 -04:00
Barış Soner Uşaklı
97edcf6a48 Merge branch 'develop' into activitypub 2024-09-09 17:31:41 -04:00
Barış Soner Uşaklı
a80e314169 fix: prevent crash if items is undefined 2024-09-09 14:04:11 -04:00
Barış Soner Uşaklı
6010b72d71 Merge branch 'develop' into activitypub 2024-09-09 14:03:25 -04:00
Julian Lam
652d6c6e2b fix: regression that caused replies to not get federated 2024-09-06 22:04:20 -04:00
Julian Lam
045e16d3ce fix: #12760, add proper security context for application actor 2024-09-06 16:27:12 -04:00
Julian Lam
909437c306 fix: on topic move out of cid -1, also federate to the public address 2024-09-06 14:35:57 -04:00
Julian Lam
6ed32f6781 fix: bump harmony 2024-09-06 14:16:20 -04:00
Julian Lam
0f63f67b77 fix: type casting in user block logic 2024-09-05 12:41:25 -04:00
Julian Lam
9357e71898 refactor: standardization; onNewPost internal method to return a superset of post summary
... so as to not require an additional call in internal topics API to call post summary again for a standardized response
2024-09-05 11:42:05 -04:00
Julian Lam
b63440cb14 feat: extend activitypubApi.create.note to accept a post object to reduce unnecessary calls to retrieve post summary 2024-09-05 11:05:30 -04:00
Julian Lam
16c8a6523a feat: add new escape option to getPostSummaryByPids [breaking]
Changes logic so that the new `escape` option escapes HTML,
whereas the old behaviour had `parse: false` escape HTML.

Now, when `parse` is `false`, the content is unchanged.

Defaults are `{ parse: true, escape: false, stripTags: false }`
2024-09-05 10:42:08 -04:00
Julian Lam
ba2c3fcef4 Merge remote-tracking branch 'origin/develop' into activitypub 2024-09-04 14:38:50 -04:00
Julian Lam
f3eb6d500e fix: restrict announce activity to topic moving OUT of cid -1 2024-08-22 15:19:24 -04:00
Julian Lam
e3bfcb0230 Merge branch 'develop' into activitypub 2024-08-22 15:06:53 -04:00
Julian Lam
daa665ebc0 feat: moving a topic out of cid -1 federates an Announce activity, #12734 2024-08-22 14:45:17 -04:00
Julian Lam
76551c7123 fix: #12751, topics:recent zset not updated when tid moved in/out of cid -1 2024-08-22 11:17:27 -04:00
Barış Soner Uşaklı
df6062d8be Merge branch 'develop' into activitypub 2024-08-21 12:57:10 -04:00
Julian Lam
e6d8e05932 fix: bump mentions 2024-08-15 12:56:20 -04:00
Julian Lam
22952c5407 fix: bump composer 2024-08-14 14:03:11 -04:00
Julian Lam
e287956323 fix: bump composer 2024-08-13 15:30:36 -04:00
Julian Lam
c3e14912c9 feat: additional copy re: editing remote posts, #12732 2024-08-13 15:29:03 -04:00
Julian Lam
25bf97ae28 fix: #12732 editing of remote post content
title can now be edited, post content is not-editable.
2024-08-13 15:12:57 -04:00
Julian Lam
3474712228 fix: #12733, html present in generated title for remote topics 2024-08-13 14:50:08 -04:00
Julian Lam
f481cde1a8 fix: #12729, replies to existing topics from Pixelfed not asserting properly due to incorrect toPid
Pixelfed supplies an object _url_ instead of the expected _id_ in the `inReplyTo` field, and that tripped up NodeBB because we don't store a backreference for those.

The ideal solution here would be to set up a backreference for urls to pids, but in the meantime, this shortcut will function (it assumes that the object that it is in reply to is in the chain/context).
2024-08-13 11:12:48 -04:00
Julian Lam
95e6d2b43c fix: move topic reply call in notes.assert to its own line 2024-08-13 10:52:27 -04:00
Julian Lam
53aee40149 fix: #12510, blocking of a single remote user causes content from all remote users to be blocked 2024-08-12 14:50:55 -04:00
Julian Lam
fc81d6e035 Merge branch 'develop' into activitypub 2024-08-08 14:54:34 -04:00
Julian Lam
bd11d86b17 Merge branch 'develop' into activitypub 2024-08-07 14:19:00 -04:00
Julian Lam
cbe0a0ad5c fix: serve category actor image instead of nothing, serve brand logo in icon 2024-08-06 15:06:01 -04:00
Julian Lam
d33fb92d9d fix: lint 2024-08-02 15:47:27 -04:00
Julian Lam
9353638668 fix: have note federation call .parsePost instead of firing plugin hook 2024-08-02 15:47:03 -04:00
Julian Lam
709a02d97a feat: allow use of vanity domains pointing to an account hosted elsewhere 2024-08-02 11:47:23 -04:00
Julian Lam
ff08fbb73f fix: always send replies uri instead of null if no replies exist, @trwnh 2024-08-01 14:59:28 -04:00
Julian Lam
9bd6896d13 fix: send null instead of empty array in replies property if mocked note has no replies
re: mastodon/mastodon#31230
2024-08-01 11:35:38 -04:00
Julian Lam
e015339ccf refactor: follow/accept/undo logic to pass the same timestamp throughout the follow's lifetime 2024-07-30 14:05:59 -04:00
Julian Lam
2ced350250 fix: bug that caused remote replies to other remote content to not always assert 2024-07-29 16:03:58 -04:00
Julian Lam
1f896fb6ba fix: bugs in user searching causing remote lookups to fail 2024-07-29 15:03:51 -04:00
Julian Lam
9a54f6bc7d fix: audience property in topic actor response 2024-07-29 13:14:06 -04:00
Julian Lam
3e494dc757 fix: updating of post counts for remote users 2024-07-25 14:30:57 -04:00
Barış Soner Uşaklı
8971bba53d Merge branch 'develop' into activitypub 2024-07-25 11:26:29 -04:00
Julian Lam
399d41030f fix: add privilege check to user follows 2024-07-24 11:59:50 -04:00
Julian Lam
7bf349b62b fix: accidental passing of string instead of constant 2024-07-24 11:54:41 -04:00
Julian Lam
83993cad17 fix(deps): persona v4 support 2024-07-23 11:11:31 -04:00
Julian Lam
fc5a829c0c fix: lint 2024-07-19 15:15:04 -04:00
Julian Lam
b9f37c5c32 fix: update upgrade script date 2024-07-19 14:57:56 -04:00
Julian Lam
be393d571c fix: include follower sets for reassertion 2024-07-19 14:48:51 -04:00
Julian Lam
39f92eac16 refactor: store local follow backreferences for remote users (both followers and following), update actor pruning to take local follow counts into consideration, fixes #12701 2024-07-19 14:37:32 -04:00
Julian Lam
a884681abf feat: show local users who follow (or are followed) by a remote user, on a remote user's profile 2024-07-19 14:36:17 -04:00
Julian Lam
5c9ac5d330 fix: missing await 2024-07-19 11:13:30 -04:00
Julian Lam
f9937a84c4 feat: additional logic to handle special case where a queried object id reports a context, but it is not actually contained in the resolved context's collection 2024-07-19 11:06:19 -04:00
Julian Lam
2aa0483718 fix: null check for note attachments for thumbs view 2024-07-19 10:51:41 -04:00
Julian Lam
60408f2307 fix: incorrect parsing of context items during note assertion, logic error with slicing 2024-07-19 10:50:14 -04:00
Julian Lam
bc00835c26 fix: logging in topic actor logic 2024-07-19 10:49:43 -04:00
Julian Lam
609035b587 fix: issue with topic actors not returning proper json 2024-07-19 09:38:30 -04:00
Julian Lam
ff0c289e1d feat: #12695 Topic Synchronization via resolvable context
- Generation of a context collection digest via object ids
- Sending of said digest in ETag header
- Parsing of digests via If-None-Match header
- Update note assertion logic to handle 304 response
2024-07-16 11:37:38 -04:00
Julian Lam
da25fd21ea feat: activitypub.get; allow the passing-in of custom headers via existing options parameter 2024-07-16 11:36:39 -04:00
Barış Soner Uşaklı
26765fe9aa lint: remove unused function 2024-07-15 12:05:55 -04:00
Barış Soner Uşaklı
2a8f7ccd1c Merge branch 'develop' into activitypub 2024-07-15 11:54:31 -04:00
Julian Lam
cfbaf145f4 fix: off by one error @barisusakli 2024-07-12 14:45:00 -04:00
Julian Lam
f6f01ba345 perf: ~18x speedup of /world route
- upgrade script to remove pruned tids that did not get removed from inbox
- switch from db intersect to manual intersection of subset.
2024-07-12 14:38:46 -04:00
Julian Lam
c01f154937 breaking: core html stripping on plaintext, remove 'filter:teasers.configureStripTags' hook, remove html stripping from teaser generation
These two steps were removed because a `type` property is passed to `filter:post.parse` now, and thus plugins themselves can handle independently.

Core also now strips all html when `type` is plaintext, so plugins don't have to (or if they still pass html back).
2024-07-12 12:30:37 -04:00
Julian Lam
7bdf376971 fix: map to actual mainPid value 2024-07-12 10:58:37 -04:00
Barış Soner Uşaklı
530241e0f2 lint: remove unused 2024-07-11 22:27:41 -04:00
Barış Soner Uşaklı
9b8c834ef0 perf: get rid of exists call, load all attachments in one call 2024-07-11 22:24:32 -04:00
Julian Lam
2aeabce566 feat: add post attachments to topic thumbnails 2024-07-11 17:11:33 -04:00
Julian Lam
9219199591 fix: skip topic retrieval when cid is -1, as it is done again later 2024-07-11 15:27:26 -04:00
Julian Lam
31c7226e34 fix: flawed logic in generating topic context collection 2024-07-11 14:33:07 -04:00
Julian Lam
3c0d7616db fix: rename announcers to shares 2024-07-11 13:42:53 -04:00
Julian Lam
ad05f06b00 test: have actor assertion always use cache for tests 2024-07-11 13:16:53 -04:00
Julian Lam
a81ef60930 feat: icon replacing user status for remote users, denoting that they are from outside the local instance, #12688 2024-07-11 13:16:47 -04:00
Julian Lam
fdc0d670d7 fix: catch thrown errors in src/api/activitypub 2024-07-10 10:15:31 -04:00
Julian Lam
00a266790d fix: federating category mentions 2024-07-09 15:42:08 -04:00
Julian Lam
f605e188db fix: send html in category description 2024-07-09 15:13:12 -04:00
Julian Lam
485b775837 feat: allow activitypub request cache to be ignored 2024-07-09 14:45:04 -04:00
Julian Lam
5e343a83f8 fix: Update activity handling for non-Person actors 2024-07-09 14:30:03 -04:00
Julian Lam
bacbfba9bd fix: remove await from category update federation call 2024-07-09 14:24:55 -04:00
Julian Lam
3c9337b730 feat: send join date in local actor mock 2024-07-09 14:06:59 -04:00
Julian Lam
e84cfd8c07 fix: issue where incrementing user hash fields didn't use the right key name for remote announce @barisusakli 2024-07-09 14:01:57 -04:00
Julian Lam
b0eec67d78 fix: lint 2024-07-05 15:58:47 -04:00
Julian Lam
af6ae6ee8a fix: send back empty array if no direct replies, bug with reply generation 2024-07-05 15:50:14 -04:00
Julian Lam
26a7c51a9a feat: AP note replies collection, closes #12675 2024-07-05 15:33:06 -04:00
Julian Lam
352857cfb6 refactor: collection logic out to an activitypub helper 2024-07-05 15:14:35 -04:00
Julian Lam
8e1fccf014 fix: accidental passing-in of an array into getUserField, breaks in pgsql? 2024-07-05 14:19:15 -04:00
Julian Lam
78a6c60cf5 fix: hardcoded tid in topic thumbs test 2024-07-05 14:01:58 -04:00
Julian Lam
f629b20f2d fix: tighten up logic in checkToPid internal method 2024-07-05 13:49:16 -04:00
Julian Lam
3a05171f3c docs: schema update for activitypub acp route 2024-07-05 13:36:47 -04:00
Julian Lam
4949d6c4e5 test: fix broken test in category follows 2024-07-05 13:33:00 -04:00
Julian Lam
8ecbb5cc5c fix: partial revert to fix url_parsed not being available at top of file @barisusakli 2024-07-05 12:14:16 -04:00
Julian Lam
46341673b3 fix: removal of topics from applicable user inboxes when synced
re: #12642
2024-07-05 12:00:23 -04:00
Julian Lam
0d549f1d80 fix: tweak logic for topic counters sorted sets, #12642 2024-07-05 11:41:47 -04:00
Julian Lam
d92efb8a0c fix: #12667; handle cases where received id is not a URL 2024-07-05 11:29:05 -04:00
Julian Lam
f662a60667 fix: #12673 fullname not defined in some remote actors 2024-07-05 11:18:20 -04:00
Julian Lam
26946c7fe6 fix: only send Update(Actor) to followers, #12674 2024-07-05 11:14:41 -04:00
Julian Lam
2cbd63dc31 docs: update comment to reflect new behaviour 2024-07-05 11:09:42 -04:00
Julian Lam
a748068c05 fix: missing sorted set member removal on category unfollow 2024-07-04 17:54:04 -04:00
Julian Lam
eab231ee9f fix: add timestamp to follow activity to make it unique 2024-07-04 17:42:59 -04:00
Julian Lam
cb5e5b4bdb fix: additional logging for activities with no context property 2024-07-04 17:00:30 -04:00
Julian Lam
600b1a8622 fix: update handling of Announce(Create(Note)) to also handle non-note types 2024-07-04 17:00:14 -04:00
Julian Lam
7e23e192d8 chore: restore activity history check in AP inbox middleware now that NodeBB sends unique IDs with applicable activities 2024-07-04 14:59:10 -04:00
Barış Soner Uşaklı
644bcec562 perf: use batch in resolveInboxes 2024-07-03 22:35:46 -04:00
Barış Soner Uşaklı
447b99423f Merge branch 'develop' into activitypub 2024-07-03 13:47:18 -04:00
Julian Lam
20aee8e9ae refactor: context item retrieval logic 2024-06-28 16:28:48 -04:00
Julian Lam
cc0bbcb7bf fix: push instead of unshift, now that order is reversed 2024-06-28 16:28:34 -04:00
Julian Lam
a2fb939b5c fix: wrong property name for OrderedCollection items 2024-06-28 15:14:22 -04:00
Julian Lam
e75ec39b70 feat: topic backfill logic via resolvable context #12647 2024-06-28 12:54:41 -04:00
Julian Lam
615aaa01d6 fix: improper sourceContent in mocks 2024-06-28 12:54:41 -04:00
Barış Soner Uşaklı
19908038c5 Merge branch 'develop' into activitypub 2024-06-27 17:00:28 -04:00
Julian Lam
d6f44d8ec3 fix: #12662, add original activity actor to Announced activity's cc 2024-06-27 14:05:48 -04:00
Barış Soner Uşaklı
6b33faac54 Merge branch 'develop' into activitypub 2024-06-27 10:40:14 -04:00
Julian Lam
4dbb73a433 fix: remove duplicate 1b12 announce in notes.assert (already handled in inbox) 2024-06-26 14:32:48 -04:00
Julian Lam
fb1a9178cc Merge branch 'develop' into activitypub 2024-06-25 13:04:48 -04:00
Julian Lam
fe70a2b8b5 fix: #12652, incorrect user, post, topic counters with AP enabled 2024-06-25 12:36:11 -04:00
Julian Lam
ef97a784cf fix: incorrect activity id sent out on 1b12 announce 2024-06-25 12:19:24 -04:00
Julian Lam
09d8fbf978 feat: send out Update(Actor) when a category is edited
This commit also updates the activity sent out when a user profile is edited. The activity is now sent to all known actors.

closes #12655
2024-06-25 11:38:13 -04:00
Julian Lam
b66d998d37 fix: #12654, incorrect location of sharedInbox property 2024-06-25 11:29:20 -04:00
Julian Lam
a371c9fceb fix: regression that caused new notes to have undefined cid and fail privilege check 2024-06-25 11:04:45 -04:00
Julian Lam
89dd2fb04a fix: move call to retrieve cid followers out of loop 2024-06-25 11:04:45 -04:00
Barış Soner Uşaklı
16fe85e2e4 chore: up harmony 2024-06-24 22:31:11 -04:00
Barış Soner Uşaklı
e84c797c7c Merge branch 'develop' into activitypub 2024-06-24 22:30:03 -04:00
Barış Soner Uşaklı
789520e445 chore: up themes 2024-06-23 11:10:36 -04:00
Barış Soner Uşaklı
7a5588da7b chore: up harmony 2024-06-23 10:45:03 -04:00
Barış Soner Uşaklı
1be3f49e75 Merge branch 'develop' into activitypub 2024-06-22 09:00:04 -04:00
Julian Lam
16f8f536da fix: do not retrieve remote outbox count when asserting actor
This change means that a remote user's post count is only the number
of posts they have stored locally. This is easier to reconcile with
the profile UI since showing the artificial number could cause issues
if the local instance contains fewer or no posts by that user.

fixes #12646
2024-06-21 16:48:17 -04:00
Barış Soner Uşaklı
0573e8f3de Merge branch 'develop' into activitypub 2024-06-21 14:53:48 -04:00
Barış Soner Uşaklı
f35a6c631e Merge branch 'develop' into activitypub 2024-06-21 14:47:06 -04:00
Julian Lam
b691d2a9b2 chore: bump version to 4.0.0-alpha 2024-06-21 12:59:55 -04:00
Barış Soner Uşaklı
c8b39007de Merge branch 'develop' into activitypub 2024-06-21 11:24:23 -04:00
Julian Lam
d9ac7f4995 fix: double sanitization 2024-06-20 22:25:09 -04:00
Julian Lam
8003946feb Revert "fix: change setImmediate to a 5s timeout to give plugins (or anything waiting for the return value of the API call) a chance to finish execution"
This reverts commit 7fada44bf2.
2024-06-20 22:20:41 -04:00
Barış Soner Uşaklı
7d679db28e fix: dont load cid=-1 in tag filter dropdown 2024-06-20 10:40:33 -04:00
Julian Lam
7fada44bf2 fix: change setImmediate to a 5s timeout to give plugins (or anything waiting for the return value of the API call) a chance to finish execution 2024-06-19 18:09:02 -04:00
Julian Lam
4b86b37889 fix: openapi spec for v3 posts get 2024-06-19 18:08:49 -04:00
Julian Lam
a3c6c872b9 fix: wrap ap note creation in setImmediate to let internal hooks have a chance to wrap up first 2024-06-19 13:48:00 -04:00
Julian Lam
daed74134a fix(deps): bump markdown 2024-06-19 12:44:50 -04:00
Julian Lam
59818031bc fix: improper sanitization and parsing in mocks.note
- sanitize-html invocation was stripping out images by default, now added as an exception
- only post content was passsed into filter:parse.post, but hook expects post summary
2024-06-19 11:24:24 -04:00
Barış Soner Uşaklı
5a2fa52ccc fix: remove parseInt on users controller 2024-06-19 11:04:09 -04:00
Barış Soner Uşaklı
b3b34ebad6 Merge branch 'develop' into activitypub 2024-06-19 11:03:01 -04:00
Barış Soner Uşaklı
aae0b5b09f chore: up harmony 2024-06-18 10:06:24 -04:00
Barış Soner Uşaklı
529cd3712b Merge branch 'develop' into activitypub 2024-06-17 18:07:46 -04:00
Julian Lam
4eb998d59d fix: send additional @context entry for publicKey support, fixes #12604 2024-06-17 16:27:59 -04:00
Julian Lam
e6e6c2a28a fix: null case handling 2024-06-17 16:01:36 -04:00
Julian Lam
6e2178b0dc feat: instance-level allow andd deny list for federatioN 2024-06-17 15:50:27 -04:00
Julian Lam
d0a1ebcff7 feat: store encountered instances by last seen date 2024-06-17 15:08:22 -04:00
Julian Lam
4b8a9e58ae fix: category follow schema test 2024-06-17 14:47:00 -04:00
Barış Soner Uşaklı
a458bdd638 serve nodeinfo/2.0.json as well 2024-06-17 11:54:00 -04:00
Barış Soner Uşaklı
b540ecd313 chore: up harmony 2024-06-17 11:24:49 -04:00
Barış Soner Uşaklı
c021e7e80f refactor: announces
store number of announces on post hash, show announces like votes, with tooltip and a way to see all, remove them from topic.events so they dont load all tid:<tid>:posts everytime topic is loaded
2024-06-17 11:18:48 -04:00
Barış Soner Uşaklı
05b7828e33 Merge branch 'develop' into activitypub 2024-06-17 09:18:38 -04:00
Barış Soner Uşaklı
18f9baffbc chore: up harmony 2024-06-16 22:59:58 -04:00
Barış Soner Uşaklı
232fcc005f Merge branch 'develop' into activitypub 2024-06-16 22:58:45 -04:00
Barış Soner Uşaklı
bb6f978508 Merge branch 'develop' into activitypub 2024-06-15 14:18:13 -04:00
Barış Soner Uşaklı
6042f4a7ed test: add attachments 2024-06-15 13:56:24 -04:00
Barış Soner Uşaklı
ad22b54e5e perf: get rid of getPidByIndex, use postAtIndex 2024-06-15 13:54:37 -04:00
Barış Soner Uşaklı
820d576481 Merge branch 'develop' into activitypub 2024-06-15 13:45:43 -04:00
Barış Soner Uşaklı
ddda8feb21 encode both sides 2024-06-14 21:15:45 -04:00
Barış Soner Uşaklı
d550dc2728 Merge branch 'develop' into activitypub 2024-06-14 21:15:19 -04:00
Barış Soner Uşaklı
c231ab78b2 refactor: single db call 2024-06-14 20:49:16 -04:00
Barış Soner Uşaklı
c276aa1a99 Merge branch 'develop' into activitypub 2024-06-14 20:45:39 -04:00
Barış Soner Uşaklı
15797f6aa8 Merge branch 'develop' into activitypub 2024-06-14 20:01:55 -04:00
Julian Lam
4030c09e27 fix: getCidByPid call returning improper values because a remote url to a local post was passed in 2024-06-14 14:09:52 -04:00
Julian Lam
6569066ef8 feat: sending out 1b12-style Announce activities on incoming Create/Update/Like/Delete/Undo(Like) activities, when they pertain to notes
re: #12434
2024-06-14 13:55:41 -04:00
Julian Lam
c8bc6e551b fix: 1b12 conformance for inbox.create as well 2024-06-14 13:37:46 -04:00
Julian Lam
931a0f0a60 chore: info -> verbose logging in ap inbox.js 2024-06-14 13:31:08 -04:00
Julian Lam
6069bee019 chore: make getParentChain logging verbose 2024-06-14 13:26:56 -04:00
Julian Lam
89d2363d5e fix: re-add sending of Announce(Note) for microblog support, #12434 2024-06-14 13:26:04 -04:00
Julian Lam
be95b5b122 fix: FEP 1b12 conformance, federate Announce(Create(Note)) instead of Announce(Note), #12434 2024-06-14 13:17:13 -04:00
Julian Lam
f5b856f4fd feat: assert actors when mocking post 2024-06-14 12:22:11 -04:00
Barış Soner Uşaklı
3f1b04ebe8 Merge branch 'develop' into activitypub 2024-06-14 12:14:45 -04:00
Julian Lam
e9a0d49593 fix: missing openapi schema change 2024-06-14 11:57:38 -04:00
Julian Lam
f6d4d5630e chore: lint 2024-06-14 11:49:25 -04:00
Julian Lam
691f691749 debug: comment out actor assertion call in Users.getUsersFields 2024-06-14 11:45:03 -04:00
Julian Lam
827a91ea6b Revert "fix: eliminate infinite loop in actors.assert via user.getUsersFields"
This reverts commit 18e583184f.
2024-06-14 11:45:03 -04:00
Barış Soner Uşaklı
632ba51c7f Merge branch 'develop' into activitypub 2024-06-14 11:30:00 -04:00
Julian Lam
18e583184f fix: eliminate infinite loop in actors.assert via user.getUsersFields 2024-06-14 10:59:07 -04:00
Julian Lam
6227ab900e refactor: actor pruning logic
Remove re-assertion set as it is expensive to re-assert all old user accounts.

Update actor assertion logic to always re-assert a passed-in id if their account's last crawl date is older than the configurable pruning threshold.

fixes #12636
2024-06-14 10:44:30 -04:00
Barış Soner Uşaklı
937caecdc4 Merge branch 'develop' into activitypub 2024-06-14 10:36:06 -04:00
Julian Lam
1219d7d3b8 fix: minor adjustment in logic to work around relation logic 2024-06-14 10:20:53 -04:00
Barış Soner Uşaklı
839928b390 another one 2024-06-14 07:44:10 -04:00
Barış Soner Uşaklı
c95075e1ca perf: '-inf' faster 2024-06-14 07:29:37 -04:00
Barış Soner Uşaklı
291bf7db41 perf: move attachments to post hash 2024-06-13 19:49:04 -04:00
Barış Soner Uşaklı
f76a586328 refactor: catch errors 2024-06-13 18:36:05 -04:00
Julian Lam
b6ffc47c5d feat: check to/cc/audience for local category and put topic there instead (overrides passed-in cid)
closes #12634
2024-06-13 17:06:58 -04:00
Julian Lam
d9f1fa3ad3 feat: plumb audience into _activitypub when mocking posts 2024-06-13 17:05:37 -04:00
Julian Lam
3567f55a5d feat: send cause to ap.get error handler, delete local account representation if assertion fails with a 410 2024-06-13 14:53:47 -04:00
Julian Lam
101062cb92 fix: introduce artificial 5s delay for 1b12 announces 2024-06-13 14:35:09 -04:00
Julian Lam
acd1630b9f fix: move logic to move topic on note assertion earlier in the flow so it actually runs 2024-06-13 14:02:26 -04:00
Barış Soner Uşaklı
badb7e2c05 fix: post count 2024-06-13 11:08:23 -04:00
Barış Soner Uşaklı
578a53dd8e feat: #12589, add nodeinfo endpoint 2024-06-13 10:57:43 -04:00
Barış Soner Uşaklı
919b037a8f Merge branch 'develop' into activitypub 2024-06-12 22:58:04 -04:00
Barış Soner Uşaklı
68c916503a chore: up mentions 2024-06-12 20:46:16 -04:00
Barış Soner Uşaklı
3eca978509 refactor: add method from mentions into core
turn remote url into local profile urls if they are found in remoteUrl:uid
2024-06-12 20:31:36 -04:00
Barış Soner Uşaklı
a67e1b7caf Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-06-12 16:04:16 -04:00
Barış Soner Uşaklı
b2d03da96d refactor: dont need exist check, if post doesnt exist getPostData returns null 2024-06-12 16:04:14 -04:00
Julian Lam
f29214e007 fix: skip follower count check if cid follower is found 2024-06-12 14:15:43 -04:00
Barış Soner Uşaklı
cdc6f9f6a3 check if ap enabled 2024-06-12 00:18:29 -04:00
Barış Soner Uşaklı
2b6e31a635 chore: up mentions 2024-06-12 00:04:03 -04:00
Barış Soner Uşaklı
f075a8c148 Merge branch 'develop' into activitypub 2024-06-11 18:28:34 -04:00
Barış Soner Uşaklı
194a9fca44 add missing nconf 2024-06-11 18:20:53 -04:00
Barış Soner Uşaklı
04b4c16e27 Merge branch 'develop' into activitypub 2024-06-11 18:18:14 -04:00
Opliko
42f514b793 feat: add timestamp to most activity ids 2024-06-11 22:55:45 +02:00
Julian Lam
bb0360bf01 chore: commenting out logic that drops requests if the id has already been seen, due to a regression in interoperability between NodeBB instances 2024-06-11 14:17:40 -04:00
Barış Soner Uşaklı
34dcb44992 Merge branch 'develop' into activitypub 2024-06-11 11:53:51 -04:00
Julian Lam
7313d5c614 feat: show category followers in category federation ACP page 2024-06-11 11:24:25 -04:00
Barış Soner Uşaklı
2c87c6e82f chore: up mentions 2024-06-11 07:32:02 -04:00
Barış Soner Uşaklı
552b07b258 Merge branch 'develop' into activitypub 2024-06-10 20:43:42 -04:00
Barış Soner Uşaklı
634e9b03f1 fix typo 2024-06-10 19:27:03 -04:00
Barış Soner Uşaklı
89465ec604 fix: don't crash process on error in cronjobs
catch error to continue in actor.prune
2024-06-10 19:24:06 -04:00
Barış Soner Uşaklı
bad094e888 chore: up mentions 2024-06-10 19:01:47 -04:00
Barış Soner Uşaklı
a8d41978e5 parse teasers as plain text 2024-06-10 19:01:02 -04:00
Barış Soner Uşaklı
eb6fe3397e refactor: User.getUidsByUserslugs, so it works with multiple slugs 2024-06-10 17:57:39 -04:00
Barış Soner Uşaklı
00c70ce7b0 Merge branch 'develop' into activitypub 2024-06-10 17:30:10 -04:00
Julian Lam
ae3fa85f40 fix: handle missing fullname in actor removal logic 2024-06-10 15:18:32 -04:00
Julian Lam
6272d059e7 fix: guard against infinite loop during topic purge batch call 2024-06-10 13:50:10 -04:00
Barış Soner Uşaklı
57913be591 Merge branch 'develop' into activitypub 2024-06-10 13:49:37 -04:00
Julian Lam
bcfac00bec fix: unintentional parseInt during post purge 2024-06-10 12:30:48 -04:00
Barış Soner Uşaklı
dac2cd2549 Merge branch 'develop' into activitypub 2024-06-10 12:19:07 -04:00
Barış Soner Uşaklı
4f2ccdaa9f Merge branch 'develop' into activitypub 2024-06-09 23:26:44 -04:00
Barış Soner Uşaklı
3488a4bfe1 refactor: suggest topics, use strings for tids
limit search results
2024-06-09 23:25:56 -04:00
Barış Soner Uşaklı
70625133ae fix: pid in api call 2024-06-09 21:04:55 -04:00
Barış Soner Uşaklı
0d645c994f Merge branch 'develop' into activitypub 2024-06-09 13:55:02 -04:00
Barış Soner Uşaklı
58668b46d3 chore: up markdown 2024-06-09 12:48:30 -04:00
Barış Soner Uşaklı
dbd901d318 chore: up markdown 2024-06-09 12:46:02 -04:00
Barış Soner Uşaklı
ded05b83fc Merge branch 'develop' into activitypub 2024-06-08 20:52:11 -04:00
Barış Soner Uşaklı
1ac793ec2b Merge branch 'develop' into activitypub 2024-06-08 16:50:54 -04:00
Barış Soner Uşaklı
869df3c2bc refactor: unused winston 2024-06-08 12:44:01 -04:00
Barış Soner Uşaklı
6f831d1ce2 Merge branch 'develop' into activitypub 2024-06-08 12:36:51 -04:00
Barış Soner Uşaklı
b1f9ad5534 Squashed commit of the following:
commit 4e0e792232
Merge: 24d0999fb5 70b4a0e2ae
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Fri Jun 7 19:26:49 2024 -0400

    Merge branch 'master' into develop

commit 70b4a0e2ae
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Fri Jun 7 19:14:13 2024 -0400

    feat: allow passing min,max to sortedSetsCardSum

    to get rid of multiple db calls in profile page

commit 6bbe3d1c4c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Fri Jun 7 14:08:48 2024 -0400

    fix: dont show error alert when user user mouse overs votes

    if they dont have permission to view votes

commit 24d0999fb5
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Jun 6 13:49:14 2024 -0400

    fix(deps): update dependency pg-cursor to v2.11.0 (#12617)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit bee05fe212
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Jun 6 13:28:59 2024 -0400

    fix(deps): update dependency pg to v8.12.0 (#12616)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-07 19:27:44 -04:00
Julian Lam
6ecc791db9 fix: missing await on topic purge 2024-06-07 16:48:05 -04:00
Julian Lam
4bb2c1a85e feat: logic for remote user deletion, cronjob, and ACP options for pruning options
re: #12611
2024-06-07 16:28:07 -04:00
Julian Lam
8d790964be fix: don't attempt user reset token cleaning if uid is not a number 2024-06-07 16:28:07 -04:00
Barış Soner Uşaklı
d442251f22 Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-06-07 12:58:10 -04:00
Barış Soner Uşaklı
f83a3672ca fix: set 2024-06-07 12:58:04 -04:00
Julian Lam
539300ffec feat: remote user deletion logic, #12611 2024-06-07 12:55:54 -04:00
Julian Lam
3dca79dd3b feat: allow user.exists to respond to requests for remote uids too 2024-06-07 12:55:54 -04:00
Julian Lam
c6f2155f6a fix: incorrect use of .map on a Set 2024-06-07 12:55:54 -04:00
Barış Soner Uşaklı
d1625d5fd2 refactor: change to info 2024-06-07 12:54:11 -04:00
Barış Soner Uşaklı
29bf99ac85 Squashed commit of the following:
commit 24d0999fb5
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Jun 6 13:49:14 2024 -0400

    fix(deps): update dependency pg-cursor to v2.11.0 (#12617)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit bee05fe212
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Jun 6 13:28:59 2024 -0400

    fix(deps): update dependency pg to v8.12.0 (#12616)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-07 12:13:57 -04:00
Barış Soner Uşaklı
2ae5857005 refactor: remove verbose logs, 2024-06-07 12:13:28 -04:00
Barış Soner Uşaklı
ba2d18418a refactor: comment out verbose logs 2024-06-07 11:56:58 -04:00
Barış Soner Uşaklı
f8d9f644e6 fix: another crash 2024-06-07 11:55:21 -04:00
Barış Soner Uşaklı
eaf435413e refactor: get rid of noop 2024-06-06 21:10:24 -04:00
Barış Soner Uşaklı
35eb2d0d46 fix: closes #12618, handle missing selector
catch errors in activitypub api missing await on next()
2024-06-06 20:59:02 -04:00
Barış Soner Uşaklı
119230d7ec Merge branch 'develop' into activitypub 2024-06-06 13:18:12 -04:00
Julian Lam
c680fa67d9 chore: update ap cron job config 2024-06-05 12:31:24 -04:00
Barış Soner Uşaklı
c4c3c20789 chore: up mentions 2024-06-05 10:58:04 -04:00
Barış Soner Uşaklı
9868a728bf refactor: single cache.del call 2024-06-04 21:14:11 -04:00
Julian Lam
709c91329a feat: pruning of stale notes older than 30 days with no engagement 2024-06-04 14:18:22 -04:00
Barış Soner Uşaklı
300cf79c95 add max to caches to limit memory usage 2024-06-04 12:31:13 -04:00
Barış Soner Uşaklı
6f37825b1a fix: crash in mocks.profile 2024-06-04 12:30:47 -04:00
Julian Lam
76290e3789 fix: bug that stopped remote users with dashes in their handle from being properly asserted 2024-06-04 10:55:34 -04:00
Julian Lam
4cec67832c chore: bump harmony 2024-06-03 15:58:25 -04:00
Julian Lam
47406d1309 fix: parse incoming HTML to remove useless classes too 2024-05-30 12:04:37 -04:00
Julian Lam
547fc17dcf fix: update post cache clearing logic to call helper function
regression from 8cf9617630
2024-05-28 12:01:30 -04:00
Julian Lam
f2e43e894b Merge remote-tracking branch 'origin/develop' into activitypub 2024-05-27 12:56:51 -04:00
Julian Lam
5ec24977db chore: bump mentions 2024-05-24 14:20:46 -04:00
Julian Lam
ff53f3c02c feat: save remote user urls backreference 2024-05-24 14:11:06 -04:00
Julian Lam
7c79e2310a feat: add another sanitization round before federating to remove classes from all tags in output html, closes #12573 2024-05-23 15:29:32 -04:00
Julian Lam
09e71e94a2 Merge branch 'develop' into activitypub 2024-05-23 15:18:56 -04:00
Julian Lam
b6653d153a fix: have replies provide name when mocked 2024-05-23 12:36:03 -04:00
Julian Lam
e536223ed0 Merge remote-tracking branch 'origin/develop' into activitypub 2024-05-21 13:49:28 -04:00
Julian Lam
4fd0d27e21 chore: bump markdown 2024-05-21 11:16:35 -04:00
Julian Lam
8cf9617630 feat: passing in types to parsePost for more specific handling by plugins 2024-05-17 15:22:13 -04:00
Barış Soner Uşaklı
78e11d6eba chore: up mentions 2024-05-15 14:11:19 -04:00
Julian Lam
f93b237ef1 fix: lint 2024-05-14 12:14:39 -04:00
Julian Lam
a005440088 fix: remove .only 2024-05-14 12:13:23 -04:00
Julian Lam
228c9173f3 chore: bump harmony 2024-05-14 12:12:56 -04:00
Julian Lam
4e9cd8efc0 feat: track incoming requests by id, analytics increment for some metrics, ignore repeated requests by id
closes #12574
2024-05-14 12:07:18 -04:00
Julian Lam
b106a6a018 feat: added analytics.peek 2024-05-14 12:05:53 -04:00
Barış Soner Uşaklı
70d2a6249d Merge branch 'develop' into activitypub 2024-05-12 21:24:27 -04:00
Julian Lam
129017f735 fix: minor cleanup 2024-05-10 17:00:27 -04:00
Julian Lam
1fa9346563 refactor: #12553, buildRecipients so that it is separate from addressing in mocks.js 2024-05-10 15:30:45 -04:00
Julian Lam
b5b89038ac fix: Notes.delete to delete announcer zsets too 2024-05-10 14:40:04 -04:00
Julian Lam
2d7ca48d42 fix: rename api.activitypub.create.post to .note() 2024-05-10 14:32:00 -04:00
Julian Lam
d40d0b06ac fix: canPurge logic fault 2024-05-10 12:39:40 -04:00
Julian Lam
5bfde4c4a5 fix: allow remote content to skip isReady check on topic creation/reply 2024-05-10 12:37:02 -04:00
Julian Lam
0a1ad87d64 fix: Topic.isOwner check to handle remote users 2024-05-10 12:32:21 -04:00
Julian Lam
b67a7c3c15 fix: special handling for privsTopics.canPurge for remote posts 2024-05-10 12:13:36 -04:00
Julian Lam
9fbd48b152 fix: Posts.isMain cast pid to String instead 2024-05-10 12:07:28 -04:00
Julian Lam
9f44e99fae fix: special logic for purge privilege checks 2024-05-10 11:47:57 -04:00
Julian Lam
eda97da14a fix: unnecessary parseInt in post purge api method 2024-05-10 11:28:12 -04:00
Julian Lam
336ea1eeb6 fix: type error in attachment emptying method 2024-05-10 11:18:33 -04:00
Barış Soner Uşaklı
baada2fca7 fix: tag notification if pid is not int 2024-05-10 10:21:28 -04:00
Julian Lam
ccd187e000 feat: Note deletion logic and refactoring, #12551 2024-05-09 15:49:03 -04:00
Julian Lam
fdba684049 chore: some linting 2024-05-09 15:49:03 -04:00
Opliko
c973a9caba fix: encode most uses of pid to avoid more bugs like #12545 2024-05-09 11:25:05 +02:00
Opliko
43dfb60f91 fix: allow quoting AP posts, fixes #12545 2024-05-09 10:48:42 +02:00
Julian Lam
f404395962 feat: handle receipt of Update(Tombstone)
re: #12551
2024-05-07 14:01:31 -04:00
Julian Lam
6f9fa66006 fix: Update(Note) federation should only apply to local content 2024-05-07 12:43:27 -04:00
Julian Lam
96db519b79 feat: on post delete, federate out an Update(Tombstone) 2024-05-07 12:37:57 -04:00
Julian Lam
51089a347a fix: attach announcers and their followers to cc, not to targets, only attach announcers to targets 2024-05-07 12:34:07 -04:00
Julian Lam
5e9d47a1d8 feat: serve Tombstone objects for soft deleted posts
re: #12551
2024-05-07 12:16:23 -04:00
Julian Lam
0c0f01b560 test: refactor tests to support additional Note tests 2024-05-07 11:57:58 -04:00
Julian Lam
2cd9088c8d fix: bump harmony 2024-05-07 10:58:53 -04:00
Julian Lam
ac74d9c55e fix: inability to query local content via remote url 2024-05-07 10:58:39 -04:00
Julian Lam
9761526710 feat: ability to query remote users by webfinger handle 2024-05-07 10:11:36 -04:00
Opliko
a7aeabc80d fix: ensure consistent return type from notes.assert
For fully cached topics it returned bare tid instead of a { tid, count } object.

Typescript would fix this btw :)
2024-05-07 10:40:47 +02:00
Opliko
af98675808 fix: remove unnecessary check and guard against unsupported URIs before fetching 2024-05-06 23:57:47 +02:00
Opliko
22b42f11dd fix: handle retry queue invalidation across a cluster 2024-05-06 23:16:58 +02:00
Julian Lam
4cbb1f2a42 feat: support the ability to search for posts and users by url 2024-05-06 17:11:38 -04:00
Opliko
729f0fcac1 fix: use batch.processArray properly 2024-05-06 23:06:06 +02:00
Opliko
ea6e15bf08 refactor: use batch.processArray for sending AP messages 2024-05-06 22:52:48 +02:00
Opliko
50bc9a37c5 feat: basic retry queue 2024-05-06 22:49:31 +02:00
Julian Lam
4e7b12b925 fix: if an unknown post is navigated to by a logged-in user, automatically assert the post and add it to their inbox 2024-05-06 15:54:45 -04:00
Julian Lam
807c3eac12 feat: on post edit, also target anyone who announced the post and their followers
re: #12537
2024-05-06 15:14:32 -04:00
Julian Lam
e341a5d868 fix: bump harmony 2024-05-06 15:13:43 -04:00
Julian Lam
4e006adb58 fix: bump composer-default 2024-05-06 15:06:30 -04:00
Julian Lam
738d47c7db fix: save followersUrl to remote user hashes 2024-05-06 14:46:26 -04:00
Julian Lam
8de2352e64 fix: notifications for tag followers not being sent if author is a remote user 2024-05-06 11:13:33 -04:00
Julian Lam
05cdb7d920 fix: send topic title in context object 2024-05-03 14:43:04 -04:00
Julian Lam
109f423211 fix: partOf and type 2024-05-03 14:21:46 -04:00
Julian Lam
1a21c8add4 fix: if post count is less than posts per page, don't paginate in ordered collection 2024-05-03 14:16:32 -04:00
Julian Lam
4b29a1b91d refactor: context actor to serve an as:OrderedCollection instead of as:Page, and added context property (as per FEP-7888) to refer to it, changed audience to point to category 2024-05-03 14:11:25 -04:00
Opliko
32d1adf67d feat: add id to reject activity 2024-05-03 17:48:09 +02:00
Barış Soner Uşaklı
ae589ad71c Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-05-03 11:28:25 -04:00
Barış Soner Uşaklı
f24a1a34ce dont show tags from cid -1 2024-05-03 11:27:52 -04:00
Opliko
0336e8f0ad fix: send id for category announces 2024-05-03 17:15:55 +02:00
Julian Lam
3636dec76b chore: debug log 2024-05-01 14:47:07 -04:00
Julian Lam
119800d936 refactor: post announce logic to save to separate zset instead of to topic events, closes #12536 2024-05-01 14:44:29 -04:00
Julian Lam
5e2031977a fix: post deletion of remote posts 2024-04-30 21:59:27 -04:00
Julian Lam
6ac5a77976 fix: update title generator to include the punctuation, and also take into account question marks and exclamation marks 2024-04-30 11:41:34 -04:00
Julian Lam
fc3f3a7831 feat: openapi spec for acp category federation page 2024-04-30 11:20:59 -04:00
Julian Lam
449ffd66c3 fix: remove unneeded flagged property in favour of flagId, use existing language key for rescind-report
cc @oplik0
2024-04-30 10:57:25 -04:00
Opliko
61a595def2 feat: support rescinding user flags 2024-04-30 01:07:09 +02:00
Opliko
53b352d0d8 refactor: remove unnecessary flag routes added in 9ab1a2d 2024-04-30 00:39:32 +02:00
Julian Lam
b9d6aa4639 feat: slightly better title generation 2024-04-29 16:16:07 -04:00
Julian Lam
cf291a518d feat: help modal for world page 2024-04-29 12:48:06 -04:00
Julian Lam
b7ad4317cc fix: have category sync routes return full api response, openapi schema for that pair of routes 2024-04-29 11:45:40 -04:00
Julian Lam
596a5e4ba2 fix: update signature parsing logic to handle values with equal signs in them, closes #12538 2024-04-28 23:25:46 -04:00
Julian Lam
4d777552d8 Merge branch 'develop' into activitypub 2024-04-26 14:12:48 -04:00
Julian Lam
7645365007 tests: fix some but not all tests 2024-04-26 14:10:42 -04:00
Julian Lam
40b9dabda3 fix: unintentional object pollution by buildForSelectCategories 2024-04-26 13:43:38 -04:00
Barış Soner Uşaklı
1ce986f7b5 chore: up widgets 2024-04-26 12:17:51 -04:00
Barış Soner Uşaklı
c041108b47 dont show tags from cid=-1. clicking it doesnt show topics 2024-04-26 12:15:14 -04:00
Barış Soner Uşaklı
fd35dd17b1 make /top faster too 2024-04-26 12:12:48 -04:00
Julian Lam
94eafe1df3 refactor: split activitypub tests to subfolder files 2024-04-26 11:30:08 -04:00
Julian Lam
5e776088c9 chore: lint 2024-04-26 10:45:53 -04:00
Julian Lam
e9df15bbb8 Merge branch 'develop' into activitypub 2024-04-26 10:41:18 -04:00
Julian Lam
af324dae55 feat: remove /world/all route, add intro header to /world 2024-04-25 15:47:00 -04:00
Julian Lam
7180819c21 Revert "fix: make sort work with world filters"
This reverts commit cd8a91fe89.
2024-04-25 15:47:00 -04:00
Opliko
ed84eed8a9 fix: better logic for choosing webfinger lookups 2024-04-25 20:05:53 +02:00
Opliko
dd71340af9 fix: don't look up webfinger when it's not necessary 2024-04-25 19:58:55 +02:00
Barış Soner Uşaklı
ee6779445b Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-04-25 11:25:54 -04:00
Barış Soner Uşaklı
a853dabdc4 remove cid=-1 2024-04-25 11:25:50 -04:00
Julian Lam
6964b1fd56 fix: update hasRelation condition to be true if cid is passed in in options 2024-04-25 11:20:34 -04:00
Barış Soner Uşaklı
9829a5300e Merge branch 'activitypub' of https://github.com/NodeBB/NodeBB into activitypub 2024-04-25 11:16:48 -04:00
Barış Soner Uşaklı
91c3434fda Merge branch 'develop' into activitypub 2024-04-25 11:16:42 -04:00
Opliko
1ecbf02a58 fix: handle requests to URI IDs correctly 2024-04-25 17:16:30 +02:00
Opliko
844d1402ba refactor: use URLSearchParams instead of multiple encodeURIComponent 2024-04-25 13:16:05 +02:00
Opliko
700016649d fix: handle URI actor IDs 2024-04-25 12:59:05 +02:00
Opliko
8fd4ae2d8f test: use encoded parameters in webfinger tests 2024-04-25 12:00:31 +02:00
Opliko
3d1e2cde6a fix: percent-encode outgoing webfinger requests
resolves #12531 - note that incoming percent-encoded webfinger works just fine :)
2024-04-25 11:59:20 +02:00
Opliko
ab055a77a2 feat: add id to Like
part of #12483
2024-04-22 11:40:31 +02:00
Julian Lam
2ce3a11645 feat: handle 1b14 announce for remote content too 2024-04-19 23:36:43 -04:00
Julian Lam
59021d8a9f fix: bump harmony 2024-04-17 13:39:45 -04:00
Julian Lam
3721f8196d fix: icon:text and icon:bgColor for remote users 2024-04-17 13:29:26 -04:00
Opliko
f802564e64 feat: resolve Crate and Announce activities 2024-04-17 19:19:09 +02:00
Julian Lam
a9a7fd1ecd fix: handle Announce(Create(Note)) 2024-04-17 12:55:15 -04:00
Julian Lam
dce334461a fix: use system pseudo-user for topic move call 2024-04-16 14:27:21 -04:00
Julian Lam
49a64dc7a7 fix: if the topic already existed in -1, move it to another category if one was passed in options 2024-04-16 14:17:47 -04:00
Julian Lam
452cb0a9aa feat: utility functions to get local followers/counts given a remote actor uri, plumb cid into notes.assert via inbox.announce if a local cid is following the sending actor 2024-04-16 14:00:01 -04:00
Julian Lam
1253ded7d5 chore: minor cleanup 2024-04-16 13:38:05 -04:00
Julian Lam
407dda78e1 fix: add back reverse lookup for notes assertion checking via cids 2024-04-15 16:28:57 -04:00
Julian Lam
59a9dd8436 refactor: stub routes for category synchronization, refactor remote follow logic to allow categories to conduct follows as well 2024-04-15 16:18:12 -04:00
Julian Lam
b7ff7be28f fix: actors.assert should return false if webfinger cannot resolve to an id 2024-04-15 13:37:00 -04:00
Julian Lam
b7629c6ef7 feat: send id back during accepts 2024-04-15 09:48:58 -04:00
Opliko
026449dc4a fix: support reporting remote content in Flag 2024-04-14 02:42:30 +02:00
Opliko
a1a7fb77da feat: handle Undo(Flag) 2024-04-14 02:02:17 +02:00
Opliko
c1dfa8d2fe feat: send undo when rescinding/deleting a report 2024-04-14 01:52:07 +02:00
Opliko
2a2b855fe2 feat: federate flag creation 2024-04-14 00:51:53 +02:00
Opliko
7bacbf76f0 feat: bulk purge flags 2024-04-14 00:20:46 +02:00
Opliko
9ab1a2d129 feat: rescind post flags 2024-04-14 00:07:55 +02:00
Julian Lam
7c4ae8eb82 fix: #12505, convert relative urls in links and images into absolute urls, uses same logic as for emails 2024-04-12 15:30:59 -04:00
Julian Lam
6befff5e11 fix: #12502, improper decrement 2024-04-12 14:46:15 -04:00
Julian Lam
64258dac19 fix: send userslug in preferredUsername 2024-04-12 14:26:37 -04:00
Julian Lam
50f31b236a fix: wrong variable name 2024-04-12 14:13:46 -04:00
Julian Lam
fdbd30dc23 feat: integrate post uploads into attachments for outgoing note mocks 2024-04-12 14:08:28 -04:00
Julian Lam
bb4e418dde fix: change default attachment type to Link, or Image if mediaType matches 2024-04-12 12:56:18 -04:00
Julian Lam
c3365908b8 fix: save modified actor back to req.body 2024-04-12 11:08:31 -04:00
Opliko
4d07ca4c6a feat: add id to profile updates 2024-04-12 16:43:33 +02:00
Opliko
18ba2e38ec feat: noremalize actor property in middleware 2024-04-12 16:42:54 +02:00
Julian Lam
52271caec2 fix: you scurvy cur! 2024-04-11 15:23:19 -04:00
Julian Lam
4d23a837fa fix: handle (created) and (expires) in http signatures 2024-04-11 15:20:59 -04:00
Julian Lam
f783338621 fix: #12496, url in schema 2024-04-11 13:43:29 -04:00
Julian Lam
525b7c2cee feat: save remote post url into hash for use 2024-04-11 13:25:37 -04:00
Julian Lam
f5ea470df4 fix: handle remote userslugs with non-lowercase letters 2024-04-11 12:52:21 -04:00
Julian Lam
8d0876b8d7 fix: send hs2019 as algo (to match cavage-12, handle incoming algorithm value 2024-04-11 10:39:51 -04:00
Julian Lam
6fc6cc33cd feat: note attachments via link preview plugin 2024-04-10 22:01:50 -04:00
Julian Lam
b8daa02fa8 fix: bump harmony 2024-04-10 22:01:50 -04:00
Opliko
959e1820cd fix: throw errors when local objects don't exist 2024-04-10 18:50:41 +02:00
Julian Lam
e0f542c912 fix: #12493, send unescaped fullname through via AP if displayname is set/used 2024-04-10 12:17:07 -04:00
Julian Lam
465a46f2e6 fix: send only the id into actors.assert 2024-04-10 12:17:07 -04:00
Opliko
c92b5e07a7 fix: use a slightly better error code to indicate object resolution failure 2024-04-10 18:15:50 +02:00
Opliko
3cc09d204f feat: add ids for undoing follows 2024-04-10 01:11:49 +02:00
Opliko
66b0d81caf feat: send back follow id in Accept 2024-04-10 00:30:46 +02:00
Opliko
e0166cccb2 fix: assume object is full object and not just id everywhere 2024-04-10 00:26:01 +02:00
Opliko
962c63511c fix: use resolved object in likes 2024-04-10 00:20:16 +02:00
Opliko
b6168202ae fix: reject accepts of invalid follows and return when already following 2024-04-10 00:17:14 +02:00
Opliko
41f77f8f1b fix: handle resolved objects in flag 2024-04-10 00:06:24 +02:00
Opliko
72dbcfe3d9 feat: add id to follows and verify accepts 2024-04-09 23:58:52 +02:00
Opliko
b921f8d167 refactor: use a helper to resolve actor URI 2024-04-09 23:58:25 +02:00
Opliko
102c174e03 feat: resolve objects from ids in middleware 2024-04-09 23:58:00 +02:00
Julian Lam
d437d969cc feat: filter out topics in cid -1 from tagged topics page, closes #12489 2024-04-09 15:13:31 -04:00
Opliko
fcd5447cd4 feat: sign public key requests
Lack of this signature resulted in ironically failing the verification of signed requests from Mastodon instanced configured to require signed get...
2024-04-09 19:27:35 +02:00
Julian Lam
464dd8067d fix: additional verbose logging for signature verification 2024-04-09 11:29:57 -04:00
Julian Lam
6b169e048e fix: bump mentions 2024-04-09 10:48:23 -04:00
Julian Lam
86107535db fix: default to showing alternate as link to the post object 2024-04-08 16:08:41 -04:00
Julian Lam
de83d6b01c fix: pid via index calculation 2024-04-08 15:41:33 -04:00
Julian Lam
4e0d7dd364 feat: populate and send link tag/header respectively for activitypub-enabled content 2024-04-08 14:46:07 -04:00
Opliko
c30c12881c fix: support ldjson with ActivityStreams profile in actor queries 2024-04-08 20:06:26 +02:00
Opliko
2d1524eeff fix: early return on invalid actor 2024-04-06 19:10:49 +02:00
Opliko
e25f06212f fix: use actor id in flags 2024-04-06 19:10:13 +02:00
Opliko
d9eba6d297 feat: basic AP Flag support 2024-04-06 19:00:52 +02:00
Opliko
cd8a91fe89 fix: make sort work with world filters 2024-04-06 02:26:54 +02:00
Opliko
5c1c1d2182 fix: uppercase digest algorithm name for compatibility reasons
Mastodon works with either, but Mbin actually requires uppercased name
2024-04-06 02:06:41 +02:00
Opliko
9fc194e3a8 feat: send unique identifiers for note activities 2024-04-06 01:50:39 +02:00
Opliko
8003b00acd Revert "feat: log all post edits to the event log, return eid when logging events, plumb eid into Update(Note) to federate out as a unique id"
This reverts commit 83392f3ca2.
2024-04-06 01:18:46 +02:00
Julian Lam
cbfc8d252d fix: better handle null return from notes.assert 2024-04-05 16:09:19 -04:00
Julian Lam
86caf237bf fix: bump mentions 2024-04-05 16:04:31 -04:00
Julian Lam
719bb0a0ec chore: add verbose logging to middleware.validate 2024-04-05 16:03:41 -04:00
Julian Lam
f40df38786 fix: actor assertion logic to ignore loopback urls 2024-04-05 11:37:23 -04:00
Julian Lam
983153fbba fix: lol 2024-04-04 13:14:40 -04:00
Julian Lam
42bdffdc94 fix: maybe last tweak 2024-04-04 13:02:16 -04:00
Julian Lam
ae146024af fix: tweak upgrade script again 2024-04-04 12:33:07 -04:00
Julian Lam
166e3e2f95 fix: tweak upgrade script again 2024-04-04 12:26:24 -04:00
Julian Lam
442e98e4da fix: add timeout on activitypub.get, tweak upgrade script 2024-04-04 12:22:13 -04:00
Julian Lam
943cef6da2 feat: upgrade script to re-assert all known actors to save URL into hash, and bump mentions 2024-04-04 12:12:15 -04:00
Julian Lam
0b2faf21f9 Merge remote-tracking branch 'origin/develop' into activitypub 2024-04-03 13:50:10 -04:00
Julian Lam
59709a3cb2 fix: tests, save actor URL into userRemote hash 2024-04-03 13:49:27 -04:00
Julian Lam
1084f21d47 fix: show locally captured remote posts when browsing remote profiles 2024-04-03 11:21:19 -04:00
Julian Lam
e828e87ec7 fix: have getCidsByPrivilege include cid -1 when set is categories:cid 2024-04-02 16:47:44 -04:00
Julian Lam
893788a2fc fix: updateLastOnlineTime for remote uids 2024-04-02 16:43:41 -04:00
Julian Lam
2cbc391382 fix: bump harmony 2024-03-29 23:34:25 -04:00
Opliko
d1fa6a596b feat: sorting an filtering in /world 2024-03-28 17:07:34 +01:00
Opliko
a3dce46371 fix: adjust world schema 2024-03-28 13:20:30 +01:00
Opliko
e266b44745 feat: make the /api/world data more category-like 2024-03-28 13:14:02 +01:00
Opliko
3c6966fb0f feat: add more properties from /category to /world 2024-03-28 11:57:43 +01:00
Opliko
495d5435f5 fix: redirect to /api/world for API requests 2024-03-28 11:54:24 +01:00
Opliko
e0138cbede feat: follow redirects in API 2024-03-28 11:53:49 +01:00
Julian Lam
a38d0c14ab Revert "refactor: use getSortedSetUnion in syncUserInboxes instead"
This reverts commit 6c1a0fb1dc.
2024-03-26 16:41:51 -04:00
Julian Lam
f078e1e267 fix: lint 2024-03-26 13:44:23 -04:00
Julian Lam
4fcd2bb2d9 fix: skip notes.assert checks for Announce(Note) if it's a remote object, do our own checks; #12442 2024-03-26 13:40:18 -04:00
Julian Lam
6c1a0fb1dc refactor: use getSortedSetUnion in syncUserInboxes instead 2024-03-26 13:39:34 -04:00
Julian Lam
5efe8abd15 Revert "add 1 ||"
This reverts commit c2890a3e74.
2024-03-26 13:20:12 -04:00
Julian Lam
dff5d1c6cd fix: getSortedTopics; filter out topics in cid -1 unless explicitly asked for 2024-03-26 13:09:53 -04:00
Barış Soner Uşaklı
0e2daa58aa Merge branch 'develop' into activitypub 2024-03-26 12:59:02 -04:00
Julian Lam
8dcdf8ef3b fix: #12444 add uncategorized topics counted stats to separate sorted set 2024-03-26 11:34:14 -04:00
Barış Soner Uşaklı
c2890a3e74 add 1 || 2024-03-26 10:41:29 -04:00
Barış Soner Uşaklı
550e522fe9 chore: up harmony 2024-03-26 10:37:17 -04:00
Barış Soner Uşaklı
017a57e645 Merge branch 'develop' into activitypub 2024-03-26 10:35:15 -04:00
Julian Lam
55e947a01d feat: add checks to only continue with topic assertion if there is a relation to existing content, #12442 2024-03-26 10:22:17 -04:00
Julian Lam
2688b6bbdc feat: add assertion lock on activitypub.notes.assert 2024-03-25 14:55:25 -04:00
Julian Lam
ac765f1e01 refactor: use one internal rejection method 2024-03-25 13:25:17 -04:00
Barış Soner Uşaklı
2ffdbebd21 Merge branch 'develop' into activitypub 2024-03-22 19:45:59 -04:00
Julian Lam
1fb3c4fda6 fix: undefined object in notes.assert 2024-03-22 16:21:32 -04:00
Julian Lam
bab41d129a fix: typo 2024-03-22 16:01:05 -04:00
Julian Lam
04c743eb4a feat: have category actor send Announce(Note) on remote replies to topics in a cid
#12434
2024-03-22 15:28:01 -04:00
Julian Lam
4ee8519d0c chore: move assertTopic to top of file, rename to assert
... despite the diff, that's all this commit did
2024-03-22 14:54:53 -04:00
Julian Lam
e0f6b7074b fix: restore userOrGroupExists, as alias to slugTaken 2024-03-22 14:42:29 -04:00
Julian Lam
7df5cabb76 feat: have category actor send Announce(Note) activity on posts from that cid
re: #12434
2024-03-22 14:39:20 -04:00
Julian Lam
803975fd97 fix: send handle as category actor's preferredUsername, #12434 2024-03-22 13:06:09 -04:00
Julian Lam
9dc20d0c54 feat: ability to update category handles
#12434
2024-03-22 12:59:24 -04:00
Julian Lam
3cc99a178e feat: category handles, #12434 2024-03-22 12:39:48 -04:00
Julian Lam
aafdefa7d6 fix: use CategoryObject in admins-mods schema def 2024-03-22 12:37:52 -04:00
Julian Lam
65bb866654 fix: only send activitypub+json links via webfinger if activitypub is global enabled 2024-03-22 12:29:41 -04:00
Julian Lam
9c03e6e93c fix: bump harmony 2024-03-22 11:08:40 -04:00
Julian Lam
003c64690f fix: resolve interoperability issues with Misskey, et al.
Full credit to @jfietkau for the hint that led to this fix.
2024-03-21 16:23:43 -04:00
Julian Lam
da2a1e207a fix: bump harmony 2024-03-21 14:55:25 -04:00
Julian Lam
9a5d4ffb2d feat: rename 'world' category to 'uncategorized' 2024-03-21 14:12:31 -04:00
Julian Lam
8f131b71ee fix: issue where cid -1 appeared in all category searches 2024-03-21 14:01:51 -04:00
Julian Lam
17f62f249d feat: plumb pid into return data from posts.loadPostTools, add link to view original post, for remote content
closes #12433
2024-03-21 13:48:07 -04:00
Julian Lam
2756aae7be fix: bump harmony 2024-03-21 00:43:22 -04:00
Julian Lam
2408ecd8dc fix: post urls to use prefix instead of linking out directly to origin server, exposed encodeURIComponent as a template helper for themes 2024-03-21 00:41:53 -04:00
Julian Lam
6fa43b9ef0 Revert "fix: urls in posts and announces"
This reverts commit 4fb6574cf7.
2024-03-20 23:18:12 -04:00
Julian Lam
c9985c5cd6 Revert "fix: missing invocation of generatePostUrl in generateRepliedTo helper"
This reverts commit a08b2efb5e.
2024-03-20 23:11:32 -04:00
Julian Lam
5a2d17dfd1 fix: regression that caused S2S calls to topics to return with a 404 2024-03-20 23:06:45 -04:00
Opliko
d75894eb9b feat: add TTL cache for Actors.assert 2024-03-21 00:25:27 +01:00
Barış Soner Uşaklı
1027c6e6dd Merge branch 'develop' into activitypub 2024-03-20 12:20:57 -04:00
Opliko
953231fc90 feat(activitypub): show world category in selectors
Allows for posting to World, showing World in unread/recent/etc

also removes now-unnecessary special case for privileges
2024-03-18 01:50:11 +01:00
Julian Lam
5f60f75f7d fix: restore accidentally removed calls to updateLocalRecipients and saveAttachments 2024-03-15 16:38:00 -04:00
Julian Lam
c76d4018f2 fix: properly handle empty fields param 2024-03-15 12:07:33 -04:00
Julian Lam
7af0715146 fix: circular object ref.
getCategoriesFields was returning full pseudo-category object even if fields were specific, now it only returns fields requested.
navigating to /category/-1 now redirects to /world
2024-03-15 12:00:23 -04:00
Barış Soner Uşaklı
a84dba271c chore: up harmony 2024-03-14 19:35:29 -04:00
Julian Lam
ccd9c7ed85 fix: tweak maxTags handling 2024-03-14 14:48:35 -04:00
Julian Lam
ff6cc90ca5 fix: bump mentions 2024-03-14 14:43:17 -04:00
Julian Lam
1a92239c15 fix: send topic notif on reply 2024-03-14 13:50:43 -04:00
Julian Lam
44a183dd84 fix: typo 2024-03-14 13:41:04 -04:00
Julian Lam
0a2482cf51 fix: double-OP issue when remote reply comes in to local mainPid 2024-03-14 13:28:57 -04:00
Julian Lam
7aa56c727b fix: filter out system tags and prune extra tags beyond number allowed, when creating topic from remote data 2024-03-14 13:28:57 -04:00
Barış Soner Uşaklı
e389aec288 Merge branch 'develop' into activitypub 2024-03-14 12:12:31 -04:00
Julian Lam
ebd750b4c7 fix: resolve toPid to local pid if able 2024-03-14 00:17:45 -04:00
Julian Lam
c346177bb9 fix: tweak user.search to better handle local usernames with colons in them 2024-03-13 15:41:41 -04:00
Julian Lam
83392f3ca2 feat: log all post edits to the event log, return eid when logging events, plumb eid into Update(Note) to federate out as a unique id 2024-03-13 15:27:59 -04:00
Julian Lam
0bfdbb6a5c feat: if Update(Note) is received for a post that does not already exist, assert it 2024-03-13 15:05:42 -04:00
Julian Lam
c5c0c47393 chore: lint 2024-03-13 11:45:28 -04:00
Julian Lam
81b319f494 fix: accidental saving of ephemeral _activitypub object into db, should plumb into hooks only 2024-03-13 11:19:50 -04:00
Julian Lam
c6624b6341 chore: remove now-unused notes.assert 2024-03-13 11:07:38 -04:00
Julian Lam
519e025e27 feat: return count of new notes in assertTopic 2024-03-13 11:03:08 -04:00
Julian Lam
338c568c99 fix: handle actor assertion failure if mocked profile does not have a fullname 2024-03-13 10:56:00 -04:00
Julian Lam
f7c8967ee2 refactor: use topics.post, topics.reply, and posts.edit in Create(Note), Create(Note), and Update(Note), respectively 2024-03-12 14:24:38 -04:00
Julian Lam
52c143aa03 fix: template helper 2024-03-12 13:27:29 -04:00
Julian Lam
4b2495b5aa fix: tests 2024-03-12 12:03:16 -04:00
Julian Lam
01f7af9291 fix: remove unused param in addParentPosts 2024-03-12 11:39:26 -04:00
Julian Lam
eb8ff75b63 fix: only dereference id if it doesn't exist locally — fewer calls 2024-03-12 11:33:40 -04:00
Julian Lam
b1491ca3cd fix: specify param for api test for /world 2024-03-12 11:08:57 -04:00
Julian Lam
9cd6b496ba fix: AP S2S handling for /user/:userslug route 2024-03-12 10:41:47 -04:00
Barış Soner Uşaklı
ba3eae7a64 Merge branch 'develop' into activitypub 2024-03-11 20:40:08 -04:00
Julian Lam
5768a4377b fix: handle fetch failures on helpers.query 2024-03-11 14:41:05 -04:00
Julian Lam
8bf6130d17 Merge branch 'develop' into activitypub 2024-03-11 11:42:21 -04:00
Julian Lam
ceab77e43b fix: more duplicate detection in to/cc 2024-03-11 11:40:24 -04:00
Julian Lam
17c55922d4 fix: markAsRead to handle remote topics 2024-03-11 00:06:12 -04:00
Julian Lam
90e7d3a1c6 fix: parse questions like a post 2024-03-10 22:24:25 -04:00
Julian Lam
1e6632392b fix: properly build recipients... old logic was just plain wrong :shipit: 2024-03-09 21:09:59 -05:00
Barış Soner Uşaklı
66b4dc2c96 chore: up harmony 2024-03-09 08:55:06 -05:00
Julian Lam
97e5b0fdad fix: reallow topic:read privilege for fediverse group 2024-03-08 20:53:13 -05:00
Julian Lam
08184f29c1 Revert "fix: pass proper uid to privilege check in AP note federation"
This reverts commit 95427c4af7.
2024-03-08 20:45:54 -05:00
Julian Lam
00101d9e29 fix: only serve local posts via S2S when queried 2024-03-08 20:45:51 -05:00
Julian Lam
6423d514ff fix: note not federated out to mentioned users' inboxes 2024-03-08 14:06:23 -05:00
Julian Lam
f31d8c2e9b feat: add /world and /world/all to available nav items 2024-03-08 12:33:21 -05:00
Julian Lam
6aece6893b fix: update styling of available nav items in ACP 2024-03-08 12:33:21 -05:00
Barış Soner Uşaklı
d31978b3a8 chore: up harmony 2024-03-07 18:52:17 -05:00
Barış Soner Uşaklı
c7e2b0a2b0 Merge branch 'develop' into activitypub 2024-03-07 18:50:37 -05:00
Julian Lam
39da3ab668 fix: remove unresolvable actors from parsing prior to mocking profile 2024-03-07 16:59:40 -05:00
Julian Lam
4a8b06e815 fix: send explicitly empty array for attachment prop in mocks.note 2024-03-07 16:47:09 -05:00
Julian Lam
6999bd68e2 fix: remove some privs from fediverse in world category 2024-03-07 15:51:30 -05:00
Julian Lam
28f38b2687 fix: inability to retrieve previously-unknown remote users via url manipulation 2024-03-07 15:39:42 -05:00
Julian Lam
81b81e540a fix: tags received via AP should only be of type Hashtag (as mentions are also in tag prop 2024-03-07 15:11:43 -05:00
Julian Lam
beaedc86aa fix: data schema of reject activities 2024-03-07 13:46:20 -05:00
Julian Lam
9f8c706f23 fix: fallbacks for if preferredUsername is not set 2024-03-07 13:16:13 -05:00
Julian Lam
95427c4af7 fix: pass proper uid to privilege check in AP note federation 2024-03-06 15:07:56 -05:00
Julian Lam
0c2cfbe7a0 chore: lint 2024-03-06 14:59:49 -05:00
Julian Lam
4c2cbb5b12 fix: remove console logging 2024-03-06 14:58:15 -05:00
Julian Lam
5b74f6dac5 fix: move fallback 0 return in parseIntFields to other side of ternary conditional 2024-03-06 11:47:46 -05:00
Julian Lam
f368a1a87f fix: remove intFields hack and update db.parseIntFields to only parseInt if field value is a number 2024-03-06 11:45:34 -05:00
Barış Soner Uşaklı
cda25bb646 Merge branch 'develop' into activitypub 2024-03-06 11:40:41 -05:00
Barış Soner Uşaklı
385b8c8a52 Merge branch 'develop' into activitypub 2024-03-06 11:40:12 -05:00
Barış Soner Uşaklı
706fa17429 Merge branch 'develop' into activitypub 2024-03-06 10:34:36 -05:00
Julian Lam
6671b51169 fix: truthy check in notes.assert 2024-03-05 14:52:52 -05:00
Julian Lam
aef1215fd6 fix: remote user avatars in notifications 2024-03-05 14:42:25 -05:00
Julian Lam
ae09aa2086 fix: bump mentions 2024-03-05 14:26:33 -05:00
Julian Lam
e4c1ca1ede feat: mentions support 2024-03-05 14:26:33 -05:00
Julian Lam
1b64fdb5b3 feat: allow user.search to handle remote handles, beginning of mentions support 2024-03-05 14:26:33 -05:00
Barış Soner Uşaklı
07c1ea2876 Merge branch 'develop' into activitypub 2024-03-04 16:09:11 -05:00
Barış Soner Uşaklı
63e2dc9ae4 string 2024-02-29 16:48:43 -05:00
Barış Soner Uşaklı
038f726b23 testing popular sorting 2024-02-29 16:47:09 -05:00
Julian Lam
c707a32aa9 feat: integrate notifications for remote likes, follows, and announces.
Rescind notification as necessary.
2024-02-29 16:10:01 -05:00
Barış Soner Uşaklı
0f99ae1f45 pre.3 2024-02-29 15:14:55 -05:00
Barış Soner Uşaklı
cb8d38ee2f Squashed commit of the following:
commit 072a11b89f
Merge: 25ef62dc6b 8fb0ed82b8
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 13:10:01 2024 -0500

    Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop

commit 25ef62dc6b
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 13:09:56 2024 -0500

    chore: up harmony

commit 8fb0ed82b8
Author: Misty Release Bot <deploy@nodebb.org>
Date:   Thu Feb 29 18:08:50 2024 +0000

    chore(i18n): fallback strings for new resources: nodebb.themes-harmony

commit 96bc5d6f84
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 13:08:25 2024 -0500

    add harmony setting label

commit 516c8d0424
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Feb 29 12:53:39 2024 -0500

    chore(deps): update commitlint monorepo to v19 (#12369)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit a8abc7aea4
Merge: 3aaa072756 aa6859dfae
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 10:42:42 2024 -0500

    Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop

commit 3aaa072756
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 10:42:37 2024 -0500

    chore: up peace

commit aa6859dfae
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Feb 29 10:42:16 2024 -0500

    fix(deps): update dependency nodemailer to v6.9.11 (#12380)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 2c3540b25c
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Feb 29 10:42:07 2024 -0500

    fix(deps): update dependency express to v4.18.3 (#12379)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit c8a5e24aee
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 10:39:02 2024 -0500

    test: fix test

commit 5556c1d549
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 10:29:37 2024 -0500

    add missing btn class

commit fb98dc054d
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Feb 29 09:43:17 2024 -0500

    fix(deps): update dependency nodebb-plugin-markdown to v12.2.6 (#12371)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 9de0ab3165
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Feb 29 09:42:13 2024 -0500

    fix(deps): update dependency archiver to v7 (#12374)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 131d2fe78b
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Feb 29 09:41:56 2024 -0500

    fix(deps): update dependency chart.js to v4.4.2 (#12376)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 0ab1982cb8
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Feb 29 09:41:37 2024 -0500

    chore(deps): update dependency smtp-server to v3.13.3 (#12378)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 65f3c73493
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Feb 29 09:31:17 2024 -0500

    chore: up peace

commit a5101dcbe1
Author: Misty Release Bot <deploy@nodebb.org>
Date:   Thu Feb 29 09:19:05 2024 +0000

    Latest translations and fallbacks

commit 0f11533c23
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Feb 28 16:04:25 2024 -0500

    cache page changes

commit 53b3c5d669
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Feb 28 11:41:18 2024 -0500

    feat: add chat widget areas, closes #12375

commit 1ed4d76363
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Wed Feb 28 11:14:20 2024 -0500

    fix(deps): update dependency bootswatch to v5.3.3 (#12373)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit ea99401a0d
Merge: f4c651fe25 caf8722fd5
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Feb 28 09:19:09 2024 -0500

    Merge branch 'master' into develop

commit caf8722fd5
Author: Misty Release Bot <deploy@nodebb.org>
Date:   Wed Feb 28 14:17:10 2024 +0000

    chore: update changelog for v3.6.7

commit 78b8fab3e7
Author: Misty Release Bot <deploy@nodebb.org>
Date:   Wed Feb 28 14:17:09 2024 +0000

    chore: incrementing version number - v3.6.7

commit f4c651fe25
Author: Misty Release Bot <deploy@nodebb.org>
Date:   Wed Feb 28 09:18:50 2024 +0000

    Latest translations and fallbacks

commit 5eb503440d
Merge: 7207814b90 5f597dc97f
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Feb 27 15:22:23 2024 -0500

    Merge branch 'master' into develop

commit 5f597dc97f
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Feb 27 15:13:06 2024 -0500

    align center

commit 107f5613bf
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Feb 27 15:07:23 2024 -0500

    fix: #12372, fix manual digest buttons

commit 7207814b90
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Feb 27 09:20:44 2024 -0500

    feat: add hook into user.posts.isReady

    can be used to disable post delays or apply custom logic
    closes https://github.com/NodeBB/NodeBB/pull/12367

commit 1df37c0153
Author: Misty Release Bot <deploy@nodebb.org>
Date:   Tue Feb 27 09:19:09 2024 +0000

    Latest translations and fallbacks
2024-02-29 15:04:29 -05:00
Julian Lam
e1c4311299 feat: federate tags out on new post (if new topic) 2024-02-29 11:35:07 -05:00
Julian Lam
f5a610797c refactor: use topics.create internal method instead of directly setting topic hash, handle incoming tags for OP 2024-02-29 11:19:56 -05:00
Julian Lam
1ca9994f43 fix: properly handle if mainPid is not a number 2024-02-29 00:06:59 -05:00
Julian Lam
b529610bba fix: mainPid detection in unprocessed ids in assertTopic 2024-02-28 21:50:43 -05:00
Julian Lam
0cf6af9b6c fix: redir on bad world filter 2024-02-28 14:10:21 -05:00
Julian Lam
8cb984d44c fix: serve fallback images on category actor 2024-02-28 14:07:27 -05:00
Julian Lam
44452a3b6e fix: bump markdown 2024-02-28 13:48:49 -05:00
Julian Lam
a08b2efb5e fix: missing invocation of generatePostUrl in generateRepliedTo helper 2024-02-28 13:33:41 -05:00
Julian Lam
bdcd862c1b refactor: assertTopic to only call setObject when it is a new topic 2024-02-28 13:29:21 -05:00
Julian Lam
96a3a7465f fix: unable to process Update(Person) 2024-02-28 13:14:15 -05:00
Julian Lam
d51f5e5922 fix: crash in resolveLocalId if Number is passed in 2024-02-28 12:54:54 -05:00
Julian Lam
0b6b86d132 fix: missing await, and handle local posts with no toPid (i.e. reply to OP) 2024-02-28 12:45:11 -05:00
Julian Lam
a3368a6904 fix: don't overwrite title if present, on assertTopic 2024-02-27 15:25:13 -05:00
Julian Lam
b189427621 fix: bump markdown 2024-02-27 11:48:14 -05:00
Julian Lam
281e9d6e8c fix: copy fixes, rename upgrade script, disable federation on upgrades 2024-02-27 11:35:00 -05:00
Julian Lam
10abb82e8a fix: update ap-related deps to prerelease versions 2024-02-27 11:25:55 -05:00
Julian Lam
3d83a1752e Merge remote-tracking branch 'origin/develop' into activitypub 2024-02-26 16:32:45 -05:00
Julian Lam
77a3efb43c feat: restrict loopback calls 2024-02-26 16:12:40 -05:00
Julian Lam
5f85e70006 fix: defer federation of new topics when topic is scheduled, tie activitypub api module to global enable toggle 2024-02-26 15:39:09 -05:00
Julian Lam
aadac7053a tests: fix privileges in test runner 2024-02-26 14:22:35 -05:00
Julian Lam
563db78f87 fix: lint 2024-02-26 13:47:55 -05:00
Julian Lam
1bd8f9a1fa feat: fine-grained privileges integration for fediverse users and world pseudo-category 2024-02-26 11:39:32 -05:00
Julian Lam
28370b1043 fix: put postcount retrieval behind try..catch so errors are handled appropriately 2024-02-26 11:34:03 -05:00
Julian Lam
b011595198 fix: side-effects from adding toPid to post intFields (now removed) 2024-02-22 10:08:44 -05:00
Julian Lam
3a870360c4 fix: revert introduction of toPid into post intFields, manually cast toPid as int in getPostSummaryByPids if present and numeric 2024-02-21 15:15:59 -05:00
Julian Lam
eaba2aa37f feat: temporarily deny handling non-public notes 2024-02-21 14:58:52 -05:00
Julian Lam
49c69a0f6a feat: shared inbox 2024-02-21 14:44:23 -05:00
Julian Lam
175521ba67 test: fix well-known error code repsonse 2024-02-21 14:37:21 -05:00
Julian Lam
92a8951bca fix: check origin only if object is a string 2024-02-21 14:05:54 -05:00
Julian Lam
a94341f489 feat: security, cross-check key ownership against received actor 2024-02-21 13:43:56 -05:00
Julian Lam
ed4ccbfccc refactor: resolveId method, add hostname verification 2024-02-21 10:58:20 -05:00
Julian Lam
42a0924137 test: refactor AP tests 2024-02-21 10:26:26 -05:00
Julian Lam
e138b915b9 test: fix tests 2024-02-20 15:01:38 -05:00
Julian Lam
3e02efcdb9 lint: unused requires, linting fixes 2024-02-20 14:26:21 -05:00
Julian Lam
893dd523ca fix: send string to validator 2024-02-20 14:23:53 -05:00
Julian Lam
53d1c10ec4 fix: regression re: attachment handling 2024-02-20 14:19:50 -05:00
Julian Lam
31fd135f6e fix: parseIntFields for tids 2024-02-20 14:09:06 -05:00
Julian Lam
cfbbf4ca86 fix: handle undo(Announce) of remote notes 2024-02-20 13:43:45 -05:00
Julian Lam
d77de088e6 Merge remote-tracking branch 'origin/develop' into activitypub 2024-02-20 12:08:53 -05:00
Julian Lam
6a7f8f146f fix: assert actors on note assertion, resolve crash if announcing something that's already been announced 2024-02-20 11:57:50 -05:00
Julian Lam
0edaf17c6a fix: don't crash when no attachment, oops 2024-02-16 15:59:04 -05:00
Julian Lam
e5b6ee97bd feat: attachments support 2024-02-16 12:07:29 -05:00
Julian Lam
8b0ccc8090 fix: sanitize post remote post content regardless 2024-02-14 22:53:27 -05:00
Julian Lam
068c4fa90e fix: wrong id parsed in announce 2024-02-14 22:53:14 -05:00
Julian Lam
56cfae0766 fix: accidental overwrite of hoisted internal variable 2024-02-14 11:56:21 -05:00
Julian Lam
5c04e8051c fix: include mainPid in topic counts calculation 2024-02-14 11:38:31 -05:00
Julian Lam
19d017b942 fix: guests visiting /world should see all remote topics 2024-02-14 10:44:13 -05:00
Julian Lam
6a11c89b90 fix: timestamp calculation 2024-02-14 10:23:06 -05:00
Julian Lam
76d5feb7d6 fix: better handling of missing of invalid to, cc, timestamp values 2024-02-13 12:03:16 -05:00
Julian Lam
814c479405 fix: remote announces not showing up in local inboxes 2024-02-12 16:23:21 -05:00
Julian Lam
9439987eda fix: handle inaccessible boosts 2024-02-12 15:25:49 -05:00
Julian Lam
672a907d54 fix: remove invalid/inaccessible object from parent traversal chain on get error 2024-02-12 15:05:18 -05:00
Julian Lam
609a9a37e5 fix: handle invalid score 2024-02-12 15:01:10 -05:00
Julian Lam
22da3a6a80 fix: mainPid accidental int 2024-02-12 14:59:13 -05:00
Julian Lam
69f1ace3e5 fix: getParentChain error handling 2024-02-12 14:54:13 -05:00
Julian Lam
d13980c8fb fix: take mainPid into account in syncUserInboxes 2024-02-12 14:51:21 -05:00
Julian Lam
de71b733f8 fix: typo 2024-02-12 14:41:22 -05:00
Julian Lam
8912863423 feat: save tids to individual user inboxes based on recipient list, new /world/all route 2024-02-12 14:34:37 -05:00
Julian Lam
da085b0ece feat: save actor follower URL backreference and sorted set backreference 2024-02-12 14:32:55 -05:00
Julian Lam
401b4c5fa6 fix: stringify error body in ap.send 2024-02-09 11:37:22 -05:00
Julian Lam
12968b6291 fix: activitypub.get failure handling 2024-02-09 11:31:42 -05:00
Julian Lam
ce4b5679a2 fix: only log warning on ap.send failure 2024-02-09 11:24:03 -05:00
Julian Lam
5fee4e3306 fix: rejig some tertiary conditionals, fix broken inReplyTo when toPid is not defined and mainPid is a remote post 2024-02-09 11:18:23 -05:00
Julian Lam
11dba85d0a fix: resolveLocalId to return null values instead of throwing for no resolution 2024-02-09 11:15:03 -05:00
Julian Lam
ac56289fa2 fix: don't crash on activitypub.send non-2xx, better logging for successful sends 2024-02-08 21:34:26 -05:00
Julian Lam
874b24cbcf feat: infinite scrolling for /world 2024-02-08 12:29:20 -05:00
Julian Lam
2b1a347792 fix: replies to remote content overriding mainPid in topic 2024-02-08 11:55:48 -05:00
Julian Lam
f1b8f3fe4f fix: assertTopic incorrectly creating new id if passed-in id did not match the actual object's id 2024-02-08 11:33:27 -05:00
Julian Lam
944de4ea26 Merge remote-tracking branch 'origin/develop' into activitypub 2024-02-07 15:07:42 -05:00
Julian Lam
4fb6574cf7 fix: urls in posts and announces 2024-02-07 14:29:47 -05:00
Julian Lam
a61e7fe79b fix: remove now unused world/:tid route and assoc. controller 2024-02-07 13:49:14 -05:00
Julian Lam
08f8babd9f debug: additional logging 2024-02-07 12:50:26 -05:00
Julian Lam
aafdebd211 fix: cast cids passed in to getCategoriesFields as ints 2024-02-07 12:40:59 -05:00
Julian Lam
80377599d1 fix: logic error 2024-02-07 12:38:46 -05:00
Julian Lam
6508287db5 feat: record remote Announce(Note) 2024-02-07 12:28:27 -05:00
Julian Lam
ec2b375ae9 refactor: use existing sets for topics (instead of topicRemote, etc.) 2024-02-07 12:28:16 -05:00
Julian Lam
94dcd29e63 feat: handle Announce(Note) when Note is a piece of remote content 2024-02-07 00:14:29 -05:00
Julian Lam
9795abbf58 fix: logic derp 2024-02-06 15:20:30 -05:00
Julian Lam
00efbd6dd9 Merge remote-tracking branch 'origin/develop' into activitypub 2024-02-06 14:58:06 -05:00
Julian Lam
415b4fe11a feat: Announce(Note) and Undo(Announce) 2024-02-06 14:57:44 -05:00
Julian Lam
21a2876e9c fix: new language source file for activitypub text 2024-02-06 14:57:23 -05:00
Julian Lam
b9821c5206 feat: exposed method to find topic events based on a subset of saved info, returns topic event ids 2024-02-06 14:56:34 -05:00
Julian Lam
f7259ccb8b fix: getUserInfo internal method in topic events to not filter out uids because getUsersFields already does it 2024-02-06 14:56:01 -05:00
Julian Lam
a461e5dd41 feat: topic and category S2S get responses 2024-02-06 11:04:08 -05:00
Julian Lam
25f0d48432 fix: category following and acceptance logic 2024-02-06 10:40:46 -05:00
Julian Lam
35819cc953 refactor: activitypub sending to handle signed requests from categories 2024-02-05 16:57:17 -05:00
Julian Lam
42bb3c3399 test: fix tests to reflect new immutable IDs, and added new tests for resource retrieval 2024-02-05 14:12:23 -05:00
Julian Lam
d2f14c363d fix: properly assert resources in AP router 2024-02-05 14:12:00 -05:00
Julian Lam
d18e65c473 feat: send proper content-type on AP S2S responses 2024-02-05 14:11:32 -05:00
Julian Lam
d213ce790c fix: update preferredUsername in category actor to match webfinger representation 2024-02-05 10:09:44 -05:00
Julian Lam
88733a5160 feat: category actors, stub outbox 2024-02-02 17:19:59 -05:00
Julian Lam
ae042ce39e feat: returning following and follower collections upon request 2024-02-01 16:53:47 -05:00
Julian Lam
607c4623c7 feat: Like(Note) and Undo(Like); federating likes 2024-02-01 16:05:31 -05:00
Julian Lam
94361721b1 fix: follower calls to return empty item list unless a page is explicitly passed in 2024-01-30 12:11:33 -05:00
Julian Lam
6930973d7a feat: origin checking on received Update activities 2024-01-30 12:11:10 -05:00
Julian Lam
0e59f3124e feat: Update(Note) 2024-01-30 11:25:45 -05:00
Julian Lam
86a607ce8c fix: move all actor object urls to immutable variants 2024-01-29 16:59:13 -05:00
Julian Lam
457bfe1685 fix: send proper @context value for posts (was missing) 2024-01-29 16:33:41 -05:00
Julian Lam
fef1882473 fix: remote follows, yet again 2024-01-26 22:35:02 -05:00
Julian Lam
a3a0edb70b fix: a bunch of broken things, added test for Create(Note) 2024-01-26 21:39:20 -05:00
Julian Lam
6e87cf57a2 feat: Update(Person) 2024-01-26 16:48:16 -05:00
Julian Lam
fa1c549002 fix: error handling for actor.assert 2024-01-26 16:24:14 -05:00
Julian Lam
ef8cd34ba1 refactor: replace JIT actor retrieval with actor assertion and storage logic 2024-01-26 15:10:35 -05:00
Julian Lam
2c8342632f fix: missing break statement 2024-01-26 11:45:09 -05:00
Julian Lam
a355c05d83 fix: reject spiders on remote profile GETs 2024-01-26 11:36:44 -05:00
Julian Lam
25434d2a6e fix: send back correct actor id on webfinger calls 2024-01-26 11:20:14 -05:00
Julian Lam
ddf17ee5fb fix: parseInt on timestamp from post 2024-01-25 16:33:31 -05:00
Julian Lam
6b517252b9 feat: activitypub response to note retrieval via pid 2024-01-25 16:27:56 -05:00
Julian Lam
0b3ca8e366 fix: /uid/:uid route to return actor 2024-01-25 16:00:46 -05:00
Julian Lam
5de4f08412 refactor: added mocks.note in preparation for AP note retrieval logic, inReplyTo is always populated now, unless new topic 2024-01-25 15:38:01 -05:00
Julian Lam
e07c31316e fix: the id of an actor should be its immutable uri (/uid/:uid) and not userslug 2024-01-25 14:23:59 -05:00
Julian Lam
3c24cfb4a9 fix: unused require, tests 2024-01-25 11:06:30 -05:00
Julian Lam
0af97dd444 fix: send full as:Image object for icon and image in mocked actor object 2024-01-24 22:59:09 -05:00
Julian Lam
8453b83e9e feat: added mocks.actor and Update(Person) activity on profile update 2024-01-24 20:10:22 -05:00
Julian Lam
f51bbe91e7 fix: clear post cache on Update(Note) 2024-01-24 14:35:21 -05:00
Julian Lam
1ee03f2b83 fix: webfinger loopback 2024-01-24 14:14:24 -05:00
Julian Lam
e00a03bb9c fix: revert home page routing change and moved instance actor endpoint to 2024-01-24 14:09:40 -05:00
Julian Lam
911177ceda chore: removed unused requires 2024-01-24 14:01:40 -05:00
Julian Lam
0e016c6ecd feat: Create(Note) on new topic or reply
This is a naive WIP implementation that federates everything out publicly. It does not take category privileges into account!
2024-01-24 11:44:10 -05:00
Julian Lam
c9feb92539 refactor: simplify remote (un)follow controller 2024-01-23 12:11:35 -05:00
Julian Lam
3bdaa8a836 fix: restore avatars in topic list 2024-01-23 11:49:57 -05:00
Julian Lam
da0211b1a0 feat: proper webfinger response for instance actor 2024-01-23 11:22:18 -05:00
Julian Lam
f8cfe64c7e fix: send preferredUsername in application actor response 2024-01-23 10:31:52 -05:00
Julian Lam
4cc7ee6501 fix: note assertion on Create(Note) and Update(Note) to use instance key instead of uid 1's user key 2024-01-23 10:31:13 -05:00
Julian Lam
92c990f2f7 chore: remove debug log 2024-01-23 10:16:44 -05:00
Opliko
2ce14f5019 refactor: guard dispatcher definition so non-Node runtimes won't have issues 2024-01-22 18:05:27 -05:00
Opliko
2cb370882b fix: add workaround for nodejs/undici#1305 required to remove sec-fetch-mode header 2024-01-22 18:05:27 -05:00
Julian Lam
9885f94a2b feat: application actor + public key for uid 0 signs, moved homepage route to after core routes are generated 2024-01-22 16:18:49 -05:00
Julian Lam
403bf3e1a8 chore: remove debug log 2024-01-22 14:46:38 -05:00
Julian Lam
9e58b04c4e fix: response, not res 2024-01-22 14:06:39 -05:00
Julian Lam
47b3ffb9b1 lint: fix eslint errors 2024-01-22 13:51:06 -05:00
Julian Lam
76c6e30282 Merge remote-tracking branch 'origin/develop' into activitypub 2024-01-22 13:50:08 -05:00
Julian Lam
a3e1a666b8 fix: automatically reject unsigned POSTs to inbox 2024-01-19 11:43:21 -05:00
Julian Lam
2ff70fdde2 refactor: generate a topic id when asserting a new topic 2024-01-19 11:31:04 -05:00
Julian Lam
981b4f146d feat: native parsing of title for topics 2024-01-18 16:20:37 -05:00
Julian Lam
33f3da8a64 fix: handle case where pubKey cannot be found 2024-01-18 15:21:46 -05:00
Julian Lam
518169fe65 fix: user data in /world 2024-01-18 12:19:37 -05:00
Julian Lam
538776f9c7 refactor: move activitypub-related middlewares to their own file 2024-01-18 11:50:14 -05:00
Julian Lam
04423232c6 feat: beginnings of the /world route 2024-01-17 23:14:12 -05:00
Julian Lam
970a5a6e5f fix: bookmark in topic data is nullable now
This prevents the superfluous "/1" being appended to all topics you've never been into.

This looks to be a change in the public API but the documented API lists this property as nullable already, so it looks like this commit is actually *restoring* proper behaviour.
2024-01-17 23:13:19 -05:00
Julian Lam
60bc27ec69 fix: saving teaserPid, timestamp, lastposttime in topic, fixed post index issue in loading topics 2024-01-17 12:15:58 -05:00
Julian Lam
e038eb0509 fix: preserve cid if set 2024-01-17 11:54:20 -05:00
Julian Lam
9c15b02aa6 chore: update log verbiage 2024-01-17 11:47:57 -05:00
Julian Lam
ac672f08a7 feat: handle Update(note) 2024-01-16 13:55:58 -05:00
Julian Lam
641a94d64a chore: additional logging 2024-01-16 12:04:26 -05:00
Julian Lam
f74775365a feat: handle Create(note) 2024-01-16 12:00:50 -05:00
Julian Lam
7565485204 fix: incorrect author uid saved in topic 2024-01-16 12:00:40 -05:00
Julian Lam
8cd3ff1ab4 fix: infinite scroll for posts 2024-01-16 11:42:59 -05:00
Julian Lam
5ac0276530 fix: reply expansion 2024-01-16 11:20:54 -05:00
Julian Lam
28c3dcb626 Merge remote-tracking branch 'origin/develop' into activitypub 2024-01-16 10:45:26 -05:00
Julian Lam
2981f663ce fix: issues related to adding new reply chains to an existing topic, resolveId method in notes module 2024-01-16 10:44:47 -05:00
Julian Lam
7e89eadb36 feat: flesh out more topic info, fix navigator 2024-01-13 22:27:02 -05:00
Julian Lam
81d810983a fix: simplify increasePostCount logic by combining methods 2024-01-13 22:26:39 -05:00
Julian Lam
4bd7a574c3 feat: some additional work to properly save and retrieve remote topic data 2024-01-12 16:39:29 -05:00
Julian Lam
273188632d Merge remote-tracking branch 'origin/develop' into activitypub 2024-01-12 15:23:41 -05:00
Julian Lam
485cf20006 feat: ability to browse to any ActivityPub note and have the entire topic chain render
Added methods for going up the inReplyTo chain to parent, asserting the topic, etc.
2024-01-12 15:23:30 -05:00
Julian Lam
d992239d7b fix: have mocks.posts return same number of items as received 2024-01-12 11:29:08 -05:00
Julian Lam
326bb995b1 feat: add activitypub request cache 2024-01-12 11:27:55 -05:00
Julian Lam
2b3b6e56af chore: move assertNote to separate file in preparation for additional note-based methods 2024-01-11 10:05:02 -05:00
Julian Lam
ab40ba6167 feat: assertNotes method 2024-01-10 20:52:38 -05:00
Julian Lam
3ce84b39bc feat: ability to load remote post data in a topic 2024-01-10 20:52:28 -05:00
Julian Lam
2bd9e9847d refactor: simplify mocks.post as it only needs minimal data for saving into db 2024-01-10 20:51:23 -05:00
Julian Lam
0d478b2c76 feat: plumb uid into .addParentPosts() so .assertNotes() can be properly called 2024-01-10 20:49:27 -05:00
Julian Lam
06e1583461 refactor: move mockProfile and mockPost to separate mocks.js 2024-01-10 14:19:57 -05:00
Julian Lam
f1e5e5a0ad feat: stub lib for retrieving and mocking posts 2024-01-10 14:14:44 -05:00
Julian Lam
91a509c4eb test: fix error copy 2024-01-08 15:03:46 -05:00
Julian Lam
d1cdb8f858 fix: show full names for remote users 2024-01-08 15:02:36 -05:00
Julian Lam
5e1e809962 feat: send name property in getActor response 2024-01-08 14:46:43 -05:00
Julian Lam
9221506b0f fix: improper params sent to get and getActor 2024-01-08 14:46:33 -05:00
Julian Lam
ec3c6b67cd fix: restore hostname prop in getActor method 2024-01-08 14:45:56 -05:00
Julian Lam
7ec75f5830 fix: ActivityPub.get now throws on failure, handle in getActor 2024-01-08 14:30:09 -05:00
Julian Lam
a1c8c3a043 refactor: update ActivityPub.get and all methods calling it to take a uid so that requests can be signed 2024-01-05 22:46:07 -05:00
Julian Lam
942a9b7e5c fix: send in mocked profile data in follow routes as well 2024-01-05 15:39:45 -05:00
Julian Lam
2a77ae550b feat: ability to browse follower/following lists of remote accounts 2024-01-05 15:32:55 -05:00
Julian Lam
c66b18670d fix: tests 2024-01-05 11:56:20 -05:00
Julian Lam
7fd15d6668 feat: expose following/follower counts in actor response 2024-01-05 11:39:17 -05:00
Julian Lam
27e256d26e fix: isUri helper so that it passes ci tests 2024-01-05 11:38:26 -05:00
Julian Lam
fcca9259b4 fix: frontend follow logic, as uid is no longer webfinger slug 2024-01-05 10:18:44 -05:00
Julian Lam
283e460a57 fix: use simpler getSortedSetRevRange instead of unnecessary zunion call
/cc @barisusakli
2024-01-05 10:04:59 -05:00
Julian Lam
e4eeb069c2 Merge remote-tracking branch 'origin/develop' into activitypub 2024-01-05 09:58:46 -05:00
Julian Lam
739b05481c feat: show remote followers/following in user profile pages 2024-01-05 09:58:37 -05:00
Julian Lam
672c70146a feat: update mockProfile to accept actor uris as well as actor objects 2024-01-04 16:25:46 -05:00
Julian Lam
2e330d8b3a refactor: validator check to helper method 2024-01-04 16:23:09 -05:00
Julian Lam
8d4fd9c0f8 refactor: move profile mocking logic to discrete method in main activitypub lib 2024-01-04 14:04:34 -05:00
Julian Lam
759d69e06c fix: accept and undo logic saving improper id into database, updated follow logic so remote follow is not added to collection until an accept is received 2024-01-03 13:54:17 -05:00
Julian Lam
ccbf32bcc5 Merge remote-tracking branch 'origin/develop' into activitypub 2024-01-02 11:58:25 -05:00
Julian Lam
3339baac18 fix: relax activity-failed condition 2023-12-22 16:02:27 -05:00
Julian Lam
b93a9eec7e Merge remote-tracking branch 'origin/develop' into activitypub 2023-12-22 15:53:30 -05:00
Julian Lam
6a54e0090b fix: additional refactors and updates to follow/unfollow logic 2023-12-22 15:53:04 -05:00
Julian Lam
ac3440114a fix: bug where body wasn't properly sent on ap-style content-types 2023-12-22 15:52:38 -05:00
Julian Lam
543daee866 fix: send actor uris in follow instead of webfinger ids 2023-12-22 13:56:18 -05:00
Julian Lam
f3b0794d17 fix: some wip code regarding handling a follow activity, remove unfollow activity as that does not exist 2023-12-22 13:35:09 -05:00
Julian Lam
0eadad84cd fix: accidental double-hash in sign/verify 2023-12-22 12:58:46 -05:00
Julian Lam
71e3d26bb4 fix: incorrect logic 2023-12-22 12:58:30 -05:00
Julian Lam
dd480aa4f6 fix: update proceedOnActivityPub middleware to handle how Mastodon doesn't send the 'Accepts' header 2023-12-21 15:49:51 -05:00
Julian Lam
885278842b fix: another bad call to request lib 2023-12-21 14:46:03 -05:00
Julian Lam
8d79617044 fix: broken call to request lib, tests 2023-12-21 14:38:16 -05:00
Julian Lam
00bda0688d Merge remote-tracking branch 'origin/develop' into activitypub 2023-12-21 14:23:50 -05:00
Julian Lam
5c881d3f51 refactor: update ap libs to use core request lib 2023-12-19 14:33:38 -05:00
Julian Lam
510763af30 fix: update isJSON test in request lib 2023-12-19 14:33:14 -05:00
Julian Lam
0d6f0530f5 Merge remote-tracking branch 'origin/develop' into activitypub 2023-12-19 14:02:33 -05:00
Julian Lam
a21110fd88 fix: handle null actor uri in helpers.query 2023-12-14 13:47:28 -05:00
Julian Lam
24c1dfac8c test: allow http proto on ci 2023-12-14 12:25:06 -05:00
Julian Lam
48fd2e6441 Merge remote-tracking branch 'origin/develop' into activitypub 2023-12-13 13:21:32 -05:00
Julian Lam
7f46f07cb9 fix: unused require 2023-12-13 13:21:29 -05:00
Julian Lam
4c1b2b3fe6 feat: accept and undo support 2023-12-13 13:15:03 -05:00
Julian Lam
68d5e4a8ab refactor: update activitypub.getActor to accept either url or webfinger id 2023-12-13 13:14:51 -05:00
Julian Lam
1f79f54241 feat: update activitypub helper resolveLocalUid to accept both webfinger name and full URL as input 2023-12-11 14:35:04 -05:00
Julian Lam
c803b2124c refactor: minor restructure to move logic out of main controller file to src/api 2023-12-08 10:55:16 -05:00
Julian Lam
8a5fb86ddf chore: small var rename 2023-12-08 10:46:34 -05:00
Julian Lam
e794f1d2ce fix: store remote followed users count separately from local 2023-12-07 13:23:06 -05:00
Julian Lam
4324f09c85 fix: icon text and bgColor in remote profiles 2023-12-07 13:10:06 -05:00
Julian Lam
5e693702a4 chore: minor re-shuffling of code 2023-12-07 12:36:30 -05:00
Julian Lam
99cc60c8d5 fix: add basic sanity-checking to middleware.validateActivity 2023-12-06 13:57:49 -05:00
Julian Lam
cc0d18869a test: fixed improper signed_string reconstruction in .verify() 2023-12-06 13:38:41 -05:00
Julian Lam
bcee1c8dc8 fix: incorrect host/hostname usage in well-known test 2023-12-06 13:38:41 -05:00
Julian Lam
4218ecc4a0 fix: save remote follower count separately from local follower count 2023-12-06 13:38:41 -05:00
Julian Lam
c02271c7af feat: follow/unfollow logic and receipt 2023-12-06 13:38:41 -05:00
Julian Lam
e6753ce5db fix: missing req.body when parsing ActivityPub requests 2023-12-06 13:38:41 -05:00
Julian Lam
9dfa1b7209 test: fix webfinger test 2023-12-06 13:38:41 -05:00
Julian Lam
5d95765ee7 fix: bugs, more prep to start making calls to self 2023-12-06 13:38:41 -05:00
Julian Lam
9f94653b3f style: remove unused variable 2023-12-06 13:38:41 -05:00
Julian Lam
cdc4275fec feat: actor cache, method to resolve inboxes, stub code for sending requests. Now base64 encoding digest as expected by Mastodon 2023-12-06 13:38:41 -05:00
Julian Lam
2e89900886 chore: reorganize controllers for clarity 2023-12-06 13:38:41 -05:00
Julian Lam
a10df9873b test: added passing test cases for .sign() and .verify() 2023-12-06 13:38:41 -05:00
Julian Lam
e7184eb8cc feat: http signatures support, .sign() and .verify() AP helper methods 2023-12-06 13:38:41 -05:00
Julian Lam
4f5f025d57 feat: add webfinger ttl cache 2023-12-06 13:38:41 -05:00
Julian Lam
57895b7246 feat: add .has() call to cache/ttl 2023-12-06 13:38:39 -05:00
Julian Lam
ab3ff320b5 refactor: acp tpl + config option
- Updated ACP template to match new format
- changed global switch to `activitypubEnabled` (lowercase p)
2023-12-06 13:38:18 -05:00
Julian Lam
0cbbce8c16 chore: update AP helpers export, 404 logic reversal, no slugify in userslug in mock profile from remote instance 2023-12-06 13:38:18 -05:00
Julian Lam
a05b674e27 feat: ability to view federated profiles via url manipulation 2023-12-06 13:38:18 -05:00
Julian Lam
7e1dac39ea feat: followers and following endpoints 2023-12-06 13:38:18 -05:00
Julian Lam
81b6260f2e feat: inbox and outbox routes, stub controllers 2023-12-06 13:38:18 -05:00
Julian Lam
099124c49e feat: global switch for disabling federation, + test 2023-12-06 13:38:18 -05:00
Julian Lam
1c8e13bb12 test: updated activitypub test suite 2023-12-06 13:38:18 -05:00
Julian Lam
4bd8d28a8b test: added test cases for activitypub integration, WIP 2023-12-06 13:38:18 -05:00
Julian Lam
2dec357aee feat: activitypub actor endpoint for user accounts 2023-12-06 13:38:18 -05:00
Julian Lam
51d8f3b195 fix: moved .well-known assets to separate router file, added basic webfinger implementation
added tests for webfinger controller
2023-12-06 13:38:18 -05:00
1832 changed files with 26104 additions and 8215 deletions

View File

@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:7.4.1'
image: 'redis:7.4.2'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
@@ -192,7 +192,7 @@ jobs:
run: npm run coverage
- name: Test coverage
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
if: matrix.coverage
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -206,7 +206,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true

View File

@@ -1220,6 +1220,59 @@ trans.id = public/language/id/admin/manage/uploads.json
trans.it = public/language/it/admin/manage/uploads.json
trans.ja = public/language/ja/admin/manage/uploads.json
[o:nodebb:p:nodebb:r:admin-manage-user-custom-fields]
file_filter = public/language/<lang>/admin/manage/user-custom-fields.json
source_file = public/language/en-GB/admin/manage/user-custom-fields.json
source_lang = en_GB
type = KEYVALUEJSON
trans.uk = public/language/uk/admin/manage/user-custom-fields.json
trans.en@pirate = public/language/en-x-pirate/admin/manage/user-custom-fields.json
trans.en_US = public/language/en-US/admin/manage/user-custom-fields.json
trans.fr = public/language/fr/admin/manage/user-custom-fields.json
trans.ko = public/language/ko/admin/manage/user-custom-fields.json
trans.ms = public/language/ms/admin/manage/user-custom-fields.json
trans.nb = public/language/nb/admin/manage/user-custom-fields.json
trans.nn_NO = public/language/nn-NO/admin/manage/user-custom-fields.json
trans.pt_BR = public/language/pt-BR/admin/manage/user-custom-fields.json
trans.zh_CN = public/language/zh-CN/admin/manage/user-custom-fields.json
trans.zh_TW = public/language/zh-TW/admin/manage/user-custom-fields.json
trans.cs = public/language/cs/admin/manage/user-custom-fields.json
trans.gl = public/language/gl/admin/manage/user-custom-fields.json
trans.rw = public/language/rw/admin/manage/user-custom-fields.json
trans.bg = public/language/bg/admin/manage/user-custom-fields.json
trans.de = public/language/de/admin/manage/user-custom-fields.json
trans.et = public/language/et/admin/manage/user-custom-fields.json
trans.id = public/language/id/admin/manage/user-custom-fields.json
trans.pt_PT = public/language/pt-PT/admin/manage/user-custom-fields.json
trans.ru = public/language/ru/admin/manage/user-custom-fields.json
trans.da = public/language/da/admin/manage/user-custom-fields.json
trans.he = public/language/he/admin/manage/user-custom-fields.json
trans.hu = public/language/hu/admin/manage/user-custom-fields.json
trans.ro = public/language/ro/admin/manage/user-custom-fields.json
trans.bn = public/language/bn/admin/manage/user-custom-fields.json
trans.es = public/language/es/admin/manage/user-custom-fields.json
trans.it = public/language/it/admin/manage/user-custom-fields.json
trans.nl = public/language/nl/admin/manage/user-custom-fields.json
trans.sq_AL = public/language/sq-AL/admin/manage/user-custom-fields.json
trans.tr = public/language/tr/admin/manage/user-custom-fields.json
trans.vi = public/language/vi/admin/manage/user-custom-fields.json
trans.fi = public/language/fi/admin/manage/user-custom-fields.json
trans.sc = public/language/sc/admin/manage/user-custom-fields.json
trans.hy = public/language/hy/admin/manage/user-custom-fields.json
trans.ja = public/language/ja/admin/manage/user-custom-fields.json
trans.lt = public/language/lt/admin/manage/user-custom-fields.json
trans.th = public/language/th/admin/manage/user-custom-fields.json
trans.sl = public/language/sl/admin/manage/user-custom-fields.json
trans.ar = public/language/ar/admin/manage/user-custom-fields.json
trans.el = public/language/el/admin/manage/user-custom-fields.json
trans.fa_IR = public/language/fa-IR/admin/manage/user-custom-fields.json
trans.hr = public/language/hr/admin/manage/user-custom-fields.json
trans.lv = public/language/lv/admin/manage/user-custom-fields.json
trans.pl = public/language/pl/admin/manage/user-custom-fields.json
trans.sk = public/language/sk/admin/manage/user-custom-fields.json
trans.sr = public/language/sr/admin/manage/user-custom-fields.json
trans.sv = public/language/sv/admin/manage/user-custom-fields.json
[o:nodebb:p:nodebb:r:admin-manage-users]
file_filter = public/language/<lang>/admin/manage/users.json
source_file = public/language/en-GB/admin/manage/users.json
@@ -1379,6 +1432,59 @@ trans.ms = public/language/ms/admin/settings/advanced.json
trans.nl = public/language/nl/admin/settings/advanced.json
trans.th = public/language/th/admin/settings/advanced.json
[o:nodebb:p:nodebb:r:admin-settings-activitypub]
file_filter = public/language/<lang>/admin/settings/activitypub.json
source_file = public/language/en-GB/admin/settings/activitypub.json
source_lang = en_GB
type = KEYVALUEJSON
trans.ko = public/language/ko/admin/settings/activitypub.json
trans.sc = public/language/sc/admin/settings/activitypub.json
trans.ar = public/language/ar/admin/settings/activitypub.json
trans.bn = public/language/bn/admin/settings/activitypub.json
trans.el = public/language/el/admin/settings/activitypub.json
trans.fa_IR = public/language/fa-IR/admin/settings/activitypub.json
trans.fr = public/language/fr/admin/settings/activitypub.json
trans.hy = public/language/hy/admin/settings/activitypub.json
trans.bg = public/language/bg/admin/settings/activitypub.json
trans.lv = public/language/lv/admin/settings/activitypub.json
trans.pt_BR = public/language/pt-BR/admin/settings/activitypub.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/activitypub.json
trans.es = public/language/es/admin/settings/activitypub.json
trans.id = public/language/id/admin/settings/activitypub.json
trans.rw = public/language/rw/admin/settings/activitypub.json
trans.sl = public/language/sl/admin/settings/activitypub.json
trans.it = public/language/it/admin/settings/activitypub.json
trans.nb = public/language/nb/admin/settings/activitypub.json
trans.nn_NO = public/language/nn-NO/admin/settings/activitypub.json
trans.pt_PT = public/language/pt-PT/admin/settings/activitypub.json
trans.sq_AL = public/language/sq-AL/admin/settings/activitypub.json
trans.sr = public/language/sr/admin/settings/activitypub.json
trans.zh_CN = public/language/zh-CN/admin/settings/activitypub.json
trans.zh_TW = public/language/zh-TW/admin/settings/activitypub.json
trans.cs = public/language/cs/admin/settings/activitypub.json
trans.en_US = public/language/en-US/admin/settings/activitypub.json
trans.hr = public/language/hr/admin/settings/activitypub.json
trans.pl = public/language/pl/admin/settings/activitypub.json
trans.ru = public/language/ru/admin/settings/activitypub.json
trans.sv = public/language/sv/admin/settings/activitypub.json
trans.vi = public/language/vi/admin/settings/activitypub.json
trans.de = public/language/de/admin/settings/activitypub.json
trans.et = public/language/et/admin/settings/activitypub.json
trans.fi = public/language/fi/admin/settings/activitypub.json
trans.ro = public/language/ro/admin/settings/activitypub.json
trans.sk = public/language/sk/admin/settings/activitypub.json
trans.uk = public/language/uk/admin/settings/activitypub.json
trans.da = public/language/da/admin/settings/activitypub.json
trans.gl = public/language/gl/admin/settings/activitypub.json
trans.he = public/language/he/admin/settings/activitypub.json
trans.hu = public/language/hu/admin/settings/activitypub.json
trans.ja = public/language/ja/admin/settings/activitypub.json
trans.tr = public/language/tr/admin/settings/activitypub.json
trans.lt = public/language/lt/admin/settings/activitypub.json
trans.ms = public/language/ms/admin/settings/activitypub.json
trans.nl = public/language/nl/admin/settings/activitypub.json
trans.th = public/language/th/admin/settings/activitypub.json
[o:nodebb:p:nodebb:r:admin-settings-api]
file_filter = public/language/<lang>/admin/settings/api.json
source_file = public/language/en-GB/admin/settings/api.json
@@ -1697,165 +1803,6 @@ trans.pt_BR = public/language/pt-BR/admin/settings/group.json
trans.zh_CN = public/language/zh-CN/admin/settings/group.json
trans.zh_TW = public/language/zh-TW/admin/settings/group.json
[o:nodebb:p:nodebb:r:admin-settings-guest]
file_filter = public/language/<lang>/admin/settings/guest.json
source_file = public/language/en-GB/admin/settings/guest.json
source_lang = en_GB
type = KEYVALUEJSON
trans.cs = public/language/cs/admin/settings/guest.json
trans.da = public/language/da/admin/settings/guest.json
trans.en_US = public/language/en-US/admin/settings/guest.json
trans.lt = public/language/lt/admin/settings/guest.json
trans.ms = public/language/ms/admin/settings/guest.json
trans.nl = public/language/nl/admin/settings/guest.json
trans.ru = public/language/ru/admin/settings/guest.json
trans.sc = public/language/sc/admin/settings/guest.json
trans.sr = public/language/sr/admin/settings/guest.json
trans.th = public/language/th/admin/settings/guest.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/guest.json
trans.it = public/language/it/admin/settings/guest.json
trans.lv = public/language/lv/admin/settings/guest.json
trans.pt_BR = public/language/pt-BR/admin/settings/guest.json
trans.sk = public/language/sk/admin/settings/guest.json
trans.de = public/language/de/admin/settings/guest.json
trans.es = public/language/es/admin/settings/guest.json
trans.hr = public/language/hr/admin/settings/guest.json
trans.pt_PT = public/language/pt-PT/admin/settings/guest.json
trans.rw = public/language/rw/admin/settings/guest.json
trans.sq_AL = public/language/sq-AL/admin/settings/guest.json
trans.el = public/language/el/admin/settings/guest.json
trans.tr = public/language/tr/admin/settings/guest.json
trans.zh_CN = public/language/zh-CN/admin/settings/guest.json
trans.bg = public/language/bg/admin/settings/guest.json
trans.fi = public/language/fi/admin/settings/guest.json
trans.hu = public/language/hu/admin/settings/guest.json
trans.ja = public/language/ja/admin/settings/guest.json
trans.nb = public/language/nb/admin/settings/guest.json
trans.nn_NO = public/language/nn-NO/admin/settings/guest.json
trans.pl = public/language/pl/admin/settings/guest.json
trans.sl = public/language/sl/admin/settings/guest.json
trans.vi = public/language/vi/admin/settings/guest.json
trans.bn = public/language/bn/admin/settings/guest.json
trans.fa_IR = public/language/fa-IR/admin/settings/guest.json
trans.fr = public/language/fr/admin/settings/guest.json
trans.hy = public/language/hy/admin/settings/guest.json
trans.ro = public/language/ro/admin/settings/guest.json
trans.et = public/language/et/admin/settings/guest.json
trans.gl = public/language/gl/admin/settings/guest.json
trans.sv = public/language/sv/admin/settings/guest.json
trans.uk = public/language/uk/admin/settings/guest.json
trans.zh_TW = public/language/zh-TW/admin/settings/guest.json
trans.ar = public/language/ar/admin/settings/guest.json
trans.he = public/language/he/admin/settings/guest.json
trans.id = public/language/id/admin/settings/guest.json
trans.ko = public/language/ko/admin/settings/guest.json
[o:nodebb:p:nodebb:r:admin-settings-homepage]
file_filter = public/language/<lang>/admin/settings/homepage.json
source_file = public/language/en-GB/admin/settings/homepage.json
source_lang = en_GB
type = KEYVALUEJSON
trans.nb = public/language/nb/admin/settings/homepage.json
trans.nn_NO = public/language/nn-NO/admin/settings/homepage.json
trans.tr = public/language/tr/admin/settings/homepage.json
trans.vi = public/language/vi/admin/settings/homepage.json
trans.et = public/language/et/admin/settings/homepage.json
trans.fi = public/language/fi/admin/settings/homepage.json
trans.hy = public/language/hy/admin/settings/homepage.json
trans.ru = public/language/ru/admin/settings/homepage.json
trans.sr = public/language/sr/admin/settings/homepage.json
trans.es = public/language/es/admin/settings/homepage.json
trans.id = public/language/id/admin/settings/homepage.json
trans.lt = public/language/lt/admin/settings/homepage.json
trans.sk = public/language/sk/admin/settings/homepage.json
trans.sq_AL = public/language/sq-AL/admin/settings/homepage.json
trans.th = public/language/th/admin/settings/homepage.json
trans.en_US = public/language/en-US/admin/settings/homepage.json
trans.lv = public/language/lv/admin/settings/homepage.json
trans.pt_PT = public/language/pt-PT/admin/settings/homepage.json
trans.sc = public/language/sc/admin/settings/homepage.json
trans.fa_IR = public/language/fa-IR/admin/settings/homepage.json
trans.he = public/language/he/admin/settings/homepage.json
trans.ms = public/language/ms/admin/settings/homepage.json
trans.cs = public/language/cs/admin/settings/homepage.json
trans.el = public/language/el/admin/settings/homepage.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/homepage.json
trans.gl = public/language/gl/admin/settings/homepage.json
trans.ko = public/language/ko/admin/settings/homepage.json
trans.ar = public/language/ar/admin/settings/homepage.json
trans.bg = public/language/bg/admin/settings/homepage.json
trans.bn = public/language/bn/admin/settings/homepage.json
trans.rw = public/language/rw/admin/settings/homepage.json
trans.zh_CN = public/language/zh-CN/admin/settings/homepage.json
trans.hr = public/language/hr/admin/settings/homepage.json
trans.it = public/language/it/admin/settings/homepage.json
trans.ja = public/language/ja/admin/settings/homepage.json
trans.nl = public/language/nl/admin/settings/homepage.json
trans.ro = public/language/ro/admin/settings/homepage.json
trans.da = public/language/da/admin/settings/homepage.json
trans.de = public/language/de/admin/settings/homepage.json
trans.fr = public/language/fr/admin/settings/homepage.json
trans.sv = public/language/sv/admin/settings/homepage.json
trans.hu = public/language/hu/admin/settings/homepage.json
trans.pt_BR = public/language/pt-BR/admin/settings/homepage.json
trans.sl = public/language/sl/admin/settings/homepage.json
trans.pl = public/language/pl/admin/settings/homepage.json
trans.uk = public/language/uk/admin/settings/homepage.json
trans.zh_TW = public/language/zh-TW/admin/settings/homepage.json
[o:nodebb:p:nodebb:r:admin-settings-languages]
file_filter = public/language/<lang>/admin/settings/languages.json
source_file = public/language/en-GB/admin/settings/languages.json
source_lang = en_GB
type = KEYVALUEJSON
trans.en@pirate = public/language/en-x-pirate/admin/settings/languages.json
trans.fa_IR = public/language/fa-IR/admin/settings/languages.json
trans.gl = public/language/gl/admin/settings/languages.json
trans.ro = public/language/ro/admin/settings/languages.json
trans.th = public/language/th/admin/settings/languages.json
trans.hr = public/language/hr/admin/settings/languages.json
trans.hy = public/language/hy/admin/settings/languages.json
trans.sc = public/language/sc/admin/settings/languages.json
trans.vi = public/language/vi/admin/settings/languages.json
trans.tr = public/language/tr/admin/settings/languages.json
trans.cs = public/language/cs/admin/settings/languages.json
trans.et = public/language/et/admin/settings/languages.json
trans.lv = public/language/lv/admin/settings/languages.json
trans.pl = public/language/pl/admin/settings/languages.json
trans.sr = public/language/sr/admin/settings/languages.json
trans.sv = public/language/sv/admin/settings/languages.json
trans.hu = public/language/hu/admin/settings/languages.json
trans.it = public/language/it/admin/settings/languages.json
trans.ja = public/language/ja/admin/settings/languages.json
trans.sl = public/language/sl/admin/settings/languages.json
trans.zh_TW = public/language/zh-TW/admin/settings/languages.json
trans.da = public/language/da/admin/settings/languages.json
trans.fr = public/language/fr/admin/settings/languages.json
trans.he = public/language/he/admin/settings/languages.json
trans.id = public/language/id/admin/settings/languages.json
trans.sq_AL = public/language/sq-AL/admin/settings/languages.json
trans.uk = public/language/uk/admin/settings/languages.json
trans.bn = public/language/bn/admin/settings/languages.json
trans.fi = public/language/fi/admin/settings/languages.json
trans.ko = public/language/ko/admin/settings/languages.json
trans.pt_BR = public/language/pt-BR/admin/settings/languages.json
trans.sk = public/language/sk/admin/settings/languages.json
trans.pt_PT = public/language/pt-PT/admin/settings/languages.json
trans.ru = public/language/ru/admin/settings/languages.json
trans.ar = public/language/ar/admin/settings/languages.json
trans.bg = public/language/bg/admin/settings/languages.json
trans.de = public/language/de/admin/settings/languages.json
trans.el = public/language/el/admin/settings/languages.json
trans.lt = public/language/lt/admin/settings/languages.json
trans.nl = public/language/nl/admin/settings/languages.json
trans.zh_CN = public/language/zh-CN/admin/settings/languages.json
trans.en_US = public/language/en-US/admin/settings/languages.json
trans.es = public/language/es/admin/settings/languages.json
trans.ms = public/language/ms/admin/settings/languages.json
trans.nb = public/language/nb/admin/settings/languages.json
trans.nn_NO = public/language/nn-NO/admin/settings/languages.json
trans.rw = public/language/rw/admin/settings/languages.json
[o:nodebb:p:nodebb:r:admin-settings-navigation]
file_filter = public/language/<lang>/admin/settings/navigation.json
source_file = public/language/en-GB/admin/settings/navigation.json
@@ -2121,59 +2068,6 @@ trans.gl = public/language/gl/admin/settings/reputation.json
trans.hu = public/language/hu/admin/settings/reputation.json
trans.hy = public/language/hy/admin/settings/reputation.json
[o:nodebb:p:nodebb:r:admin-settings-social]
file_filter = public/language/<lang>/admin/settings/social.json
source_file = public/language/en-GB/admin/settings/social.json
source_lang = en_GB
type = KEYVALUEJSON
trans.nl = public/language/nl/admin/settings/social.json
trans.sc = public/language/sc/admin/settings/social.json
trans.sv = public/language/sv/admin/settings/social.json
trans.rw = public/language/rw/admin/settings/social.json
trans.bn = public/language/bn/admin/settings/social.json
trans.hr = public/language/hr/admin/settings/social.json
trans.id = public/language/id/admin/settings/social.json
trans.pt_PT = public/language/pt-PT/admin/settings/social.json
trans.de = public/language/de/admin/settings/social.json
trans.hu = public/language/hu/admin/settings/social.json
trans.pt_BR = public/language/pt-BR/admin/settings/social.json
trans.ja = public/language/ja/admin/settings/social.json
trans.sq_AL = public/language/sq-AL/admin/settings/social.json
trans.zh_TW = public/language/zh-TW/admin/settings/social.json
trans.cs = public/language/cs/admin/settings/social.json
trans.en_US = public/language/en-US/admin/settings/social.json
trans.fi = public/language/fi/admin/settings/social.json
trans.nb = public/language/nb/admin/settings/social.json
trans.nn_NO = public/language/nn-NO/admin/settings/social.json
trans.pl = public/language/pl/admin/settings/social.json
trans.th = public/language/th/admin/settings/social.json
trans.bg = public/language/bg/admin/settings/social.json
trans.lt = public/language/lt/admin/settings/social.json
trans.lv = public/language/lv/admin/settings/social.json
trans.ko = public/language/ko/admin/settings/social.json
trans.es = public/language/es/admin/settings/social.json
trans.fr = public/language/fr/admin/settings/social.json
trans.he = public/language/he/admin/settings/social.json
trans.fa_IR = public/language/fa-IR/admin/settings/social.json
trans.hy = public/language/hy/admin/settings/social.json
trans.ms = public/language/ms/admin/settings/social.json
trans.ru = public/language/ru/admin/settings/social.json
trans.sk = public/language/sk/admin/settings/social.json
trans.ar = public/language/ar/admin/settings/social.json
trans.el = public/language/el/admin/settings/social.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/social.json
trans.uk = public/language/uk/admin/settings/social.json
trans.sl = public/language/sl/admin/settings/social.json
trans.sr = public/language/sr/admin/settings/social.json
trans.tr = public/language/tr/admin/settings/social.json
trans.it = public/language/it/admin/settings/social.json
trans.ro = public/language/ro/admin/settings/social.json
trans.vi = public/language/vi/admin/settings/social.json
trans.zh_CN = public/language/zh-CN/admin/settings/social.json
trans.da = public/language/da/admin/settings/social.json
trans.et = public/language/et/admin/settings/social.json
trans.gl = public/language/gl/admin/settings/social.json
[o:nodebb:p:nodebb:r:admin-settings-sockets]
file_filter = public/language/<lang>/admin/settings/sockets.json
source_file = public/language/en-GB/admin/settings/sockets.json
@@ -2598,7 +2492,6 @@ trans.et = public/language/et/themes/persona.json
trans.it = public/language/it/themes/persona.json
trans.rw = public/language/rw/themes/persona.json
[o:nodebb:p:nodebb:r:aria]
file_filter = public/language/<lang>/aria.json
source_file = public/language/en-GB/aria.json
@@ -4082,3 +3975,55 @@ trans.hu = public/language/hu/users.json
trans.lv = public/language/lv/users.json
trans.pt_BR = public/language/pt-BR/users.json
[o:nodebb:p:nodebb:r:world]
file_filter = public/language/<lang>/world.json
source_file = public/language/en-GB/world.json
source_lang = en_GB
type = KEYVALUEJSON
trans.zh_TW = public/language/zh-TW/world.json
trans.de = public/language/de/world.json
trans.en@pirate = public/language/en-x-pirate/world.json
trans.ru = public/language/ru/world.json
trans.sc = public/language/sc/world.json
trans.en_US = public/language/en-US/world.json
trans.bn = public/language/bn/world.json
trans.hy = public/language/hy/world.json
trans.ro = public/language/ro/world.json
trans.fi = public/language/fi/world.json
trans.it = public/language/it/world.json
trans.pl = public/language/pl/world.json
trans.sk = public/language/sk/world.json
trans.ar = public/language/ar/world.json
trans.bg = public/language/bg/world.json
trans.el = public/language/el/world.json
trans.fa_IR = public/language/fa-IR/world.json
trans.sq_AL = public/language/sq-AL/world.json
trans.cs = public/language/cs/world.json
trans.he = public/language/he/world.json
trans.ja = public/language/ja/world.json
trans.ko = public/language/ko/world.json
trans.nb = public/language/nb/world.json
trans.nn_NO = public/language/nn-NO/world.json
trans.pt_PT = public/language/pt-PT/world.json
trans.sr = public/language/sr/world.json
trans.zh_CN = public/language/zh-CN/world.json
trans.da = public/language/da/world.json
trans.id = public/language/id/world.json
trans.lt = public/language/lt/world.json
trans.ms = public/language/ms/world.json
trans.nl = public/language/nl/world.json
trans.rw = public/language/rw/world.json
trans.sl = public/language/sl/world.json
trans.th = public/language/th/world.json
trans.es = public/language/es/world.json
trans.fr = public/language/fr/world.json
trans.gl = public/language/gl/world.json
trans.hr = public/language/hr/world.json
trans.uk = public/language/uk/world.json
trans.vi = public/language/vi/world.json
trans.sv = public/language/sv/world.json
trans.tr = public/language/tr/world.json
trans.et = public/language/et/world.json
trans.hu = public/language/hu/world.json
trans.lv = public/language/lv/world.json
trans.pt_BR = public/language/pt-BR/world.json

File diff suppressed because it is too large Load Diff

View File

@@ -31,7 +31,8 @@ RUN groupadd --gid ${GID} ${USER} \
USER ${USER}
RUN npm install --omit=dev
RUN npm install --omit=dev \
&& rm -rf .npm
# TODO: generate lockfiles for each package manager
## pnpm import \

View File

@@ -39,7 +39,7 @@ Our minimalist "Harmony" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 16 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* A version of Node.js at least 18 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)

View File

@@ -38,8 +38,9 @@ COPY --from=git --chown=${USER}:${USER} /usr/src/app/install/package.json /usr/s
USER ${USER}
RUN npm install
RUN npm install \
&& rm -rf .npm
FROM node:lts-slim AS final
ENV NODE_ENV=development \

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
postgres:
image: postgres:17.0-alpine
image: postgres:17.4-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb
@@ -24,7 +24,7 @@ services:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:7.4.1-alpine
image: redis:7.4.2-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
redis:
image: redis:7.4.1-alpine
image: redis:7.4.2-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF

View File

@@ -1,5 +1,3 @@
version: '3.8'
services:
nodebb:
build: .
@@ -26,7 +24,7 @@ services:
- mongo-data:/data/db
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
redis:
image: redis:7.4.1-alpine
image: redis:7.4.2-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ['redis-server', '--save', '60', '1', '--loglevel', 'warning'] # uncomment if you want to use snapshotting instead of AOF
@@ -36,7 +34,7 @@ services:
- redis
postgres:
image: postgres:17.0-alpine
image: postgres:17.4-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb

View File

@@ -52,6 +52,7 @@
"orphanExpiryDays": 0,
"resizeImageWidthThreshold": 2000,
"resizeImageWidth": 760,
"resizeImageKeepOriginal": 1,
"rejectImageWidth": 5000,
"rejectImageHeight": 5000,
"resizeImageQuality": 80,
@@ -106,11 +107,14 @@
"flags:actionOnReject": "rescind",
"notificationType_upvote": "notification",
"notificationType_new-topic": "notification",
"notificationType_new-topic-with-tag": "notification",
"notificationType_new-topic-in-category": "notification",
"notificationType_new-reply": "notification",
"notificationType_post-edit": "notification",
"notificationType_follow": "notification",
"notificationType_new-chat": "notification",
"notificationType_new-group-chat": "notification",
"notificationType_new-public-chat": "none",
"notificationType_group-invite": "notification",
"notificationType_group-leave": "notification",
"notificationType_group-request-membership": "notification",
@@ -190,5 +194,12 @@
"composer:allowPluginHelp": 1,
"maxReconnectionAttempts": 5,
"reconnectionDelay": 1500,
"disableCustomUserSkins": 0
"disableCustomUserSkins": 0,
"activitypubEnabled": 1,
"activitypubAllowLoopback": 0,
"activitypubProbe": 1,
"activitypubProbeTimeout": 2000,
"activitypubContentPruneDays": 30,
"activitypubUserPruneDays": 7,
"activitypubFilter": 0
}

View File

@@ -41,6 +41,14 @@
"textClass": "d-lg-none",
"text": "[[global:header.popular]]"
},
{
"route": "/world",
"title": "[[global:header.world]]",
"enabled": true,
"iconClass": "fa-globe",
"textClass": "d-lg-none",
"text": "[[global:header.world]]"
},
{
"route": "/users",
"title": "[[global:header.users]]",

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "3.10.3",
"version": "4.1.0",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,51 +29,52 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource/inter": "5.1.0",
"@fontsource/poppins": "5.1.0",
"@fortawesome/fontawesome-free": "6.6.0",
"@fontsource/inter": "5.1.1",
"@fontsource/poppins": "5.1.1",
"@fortawesome/fontawesome-free": "6.7.2",
"@isaacs/ttlcache": "1.4.1",
"@nodebb/spider-detector": "2.0.3",
"@popperjs/core": "2.11.8",
"@resvg/resvg-js": "2.6.2",
"@textcomplete/contenteditable": "0.1.13",
"@textcomplete/core": "0.1.13",
"@textcomplete/textarea": "0.1.13",
"ace-builds": "1.36.4",
"ace-builds": "1.39.0",
"archiver": "7.0.1",
"async": "3.2.6",
"autoprefixer": "10.4.20",
"bcryptjs": "2.4.3",
"benchpressjs": "2.5.1",
"bcryptjs": "3.0.2",
"benchpressjs": "2.5.3",
"body-parser": "1.20.3",
"bootbox": "6.0.0",
"bootstrap": "5.3.3",
"bootswatch": "5.3.3",
"chalk": "4.1.2",
"chart.js": "4.4.6",
"chart.js": "4.4.8",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"colors": "1.4.0",
"commander": "12.1.0",
"compare-versions": "6.1.1",
"compression": "1.7.5",
"compression": "1.8.0",
"connect-flash": "0.1.1",
"connect-mongo": "5.1.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "10.0.0",
"connect-redis": "7.1.1",
"connect-redis": "8.0.1",
"cookie-parser": "1.4.7",
"cron": "3.1.9",
"cron": "4.1.0",
"cropperjs": "1.6.2",
"csrf-sync": "4.0.3",
"daemon": "1.1.0",
"diff": "7.0.0",
"esbuild": "0.24.0",
"express": "4.21.1",
"esbuild": "0.25.0",
"express": "4.21.2",
"express-session": "1.18.1",
"express-useragent": "1.0.15",
"fetch-cookie": "3.0.1",
"fetch-cookie": "3.1.0",
"file-loader": "6.2.0",
"fs-extra": "11.2.0",
"fs-extra": "11.3.0",
"graceful-fs": "4.2.11",
"helmet": "7.2.0",
"html-to-text": "9.0.5",
@@ -84,7 +85,7 @@
"jquery-form": "4.3.0",
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.14.1",
"jsesc": "3.0.2",
"jsesc": "3.1.0",
"json2csv": "5.0.7",
"jsonwebtoken": "9.0.2",
"lodash": "4.17.21",
@@ -92,73 +93,74 @@
"lru-cache": "10.4.3",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.10.0",
"mongodb": "6.14.0",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.5.6",
"nodebb-plugin-composer-default": "10.2.42",
"nodebb-plugin-dbsearch": "6.2.5",
"nodebb-plugin-emoji": "5.1.15",
"nodebb-plugin-emoji-android": "4.0.0",
"nodebb-plugin-markdown": "12.2.8",
"nodebb-plugin-mentions": "4.4.3",
"nodebb-plugin-ntfy": "1.7.7",
"nodebb-plugin-spam-be-gone": "2.2.2",
"nodebb-rewards-essentials": "1.0.0",
"nodebb-theme-harmony": "1.2.78",
"nodebb-theme-lavender": "7.1.10",
"nodebb-theme-peace": "2.2.8",
"nodebb-theme-persona": "13.3.41",
"nodebb-widget-essentials": "7.0.30",
"nodemailer": "6.9.16",
"nodebb-plugin-2factor": "7.5.9",
"nodebb-plugin-composer-default": "10.2.47",
"nodebb-plugin-dbsearch": "6.2.13",
"nodebb-plugin-emoji": "6.0.2",
"nodebb-plugin-emoji-android": "4.1.1",
"nodebb-plugin-markdown": "13.1.1",
"nodebb-plugin-mentions": "4.7.1",
"nodebb-plugin-spam-be-gone": "2.3.1",
"nodebb-plugin-web-push": "0.7.3",
"nodebb-rewards-essentials": "1.0.1",
"nodebb-theme-harmony": "2.0.38",
"nodebb-theme-lavender": "7.1.17",
"nodebb-theme-peace": "2.2.39",
"nodebb-theme-persona": "14.0.15",
"nodebb-widget-essentials": "7.0.35",
"nodemailer": "6.10.0",
"nprogress": "0.2.0",
"passport": "0.7.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.13.1",
"pg-cursor": "2.12.1",
"postcss": "8.4.47",
"pg": "8.13.3",
"pg-cursor": "2.12.3",
"postcss": "8.5.3",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.4.1",
"ioredis": "5.5.0",
"rimraf": "5.0.10",
"rss": "1.2.2",
"rtlcss": "4.3.0",
"sanitize-html": "2.13.1",
"sass": "1.80.6",
"semver": "7.6.3",
"sanitize-html": "2.14.0",
"sass": "1.85.1",
"satori": "0.12.1",
"semver": "7.7.1",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"sitemap": "8.0.0",
"socket.io": "4.8.1",
"socket.io-client": "4.8.1",
"@socket.io/redis-adapter": "8.3.0",
"sortablejs": "1.15.3",
"sortablejs": "1.15.6",
"spdx-license-list": "6.9.0",
"terser-webpack-plugin": "5.3.10",
"terser-webpack-plugin": "5.3.12",
"textcomplete": "0.18.2",
"textcomplete.contenteditable": "0.1.1",
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "5.0.0",
"tough-cookie": "5.1.2",
"validator": "13.12.0",
"webpack": "5.96.1",
"webpack": "5.98.0",
"webpack-merge": "6.0.1",
"winston": "3.16.0",
"winston": "3.17.0",
"workerpool": "9.2.0",
"xml": "1.0.1",
"xregexp": "5.1.1",
"xregexp": "5.1.2",
"yargs": "17.7.2",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "19.5.0",
"@commitlint/config-angular": "19.5.0",
"@commitlint/cli": "19.7.1",
"@commitlint/config-angular": "19.7.1",
"coveralls": "3.1.1",
"eslint": "8.57.1",
"eslint-config-nodebb": "0.2.1",
@@ -166,16 +168,16 @@
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "25.0.1",
"lint-staged": "15.2.10",
"mocha": "10.8.2",
"jsdom": "26.0.0",
"lint-staged": "15.4.3",
"mocha": "11.1.0",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "17.1.0",
"smtp-server": "3.13.6"
},
"optionalDependencies": {
"sass-embedded": "1.80.6"
"sass-embedded": "1.85.1"
},
"resolutions": {
"*/jquery": "3.7.1"
@@ -198,4 +200,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -2,6 +2,7 @@
const winston = require('winston');
const express = require('express');
const session = require('express-session');
const bodyParser = require('body-parser');
const fs = require('fs');
const path = require('path');
@@ -13,7 +14,10 @@ const nconf = require('nconf');
const Benchpress = require('benchpressjs');
const { mkdirp } = require('mkdirp');
const { paths } = require('../src/constants');
const sass = require('../src/utils').getSass();
const utils = require('../src/utils');
const sass = utils.getSass();
const { generateToken, csrfSynchronisedProtection } = require('../src/middleware/csrf');
const app = express();
let server;
@@ -73,6 +77,13 @@ web.install = async function (port) {
app.use(bodyParser.urlencoded({
extended: true,
}));
app.use(session({
secret: utils.generateUUID(),
resave: false,
saveUninitialized: false,
}));
try {
await Promise.all([
compileTemplate(),
@@ -103,8 +114,8 @@ function launchExpress(port) {
}
function setupRoutes() {
app.get('/', welcome);
app.post('/', install);
app.get('/', csrfSynchronisedProtection, welcome);
app.post('/', csrfSynchronisedProtection, install);
app.get('/testdb', testDatabase);
app.get('/ping', ping);
app.get('/sping', ping);
@@ -160,6 +171,7 @@ function welcome(req, res) {
minimumPasswordStrength: defaults.minimumPasswordStrength,
installing: installing,
percentInstalled: installing ? ((Date.now() - timeStart) / totalTime * 100).toFixed(2) : 0,
csrf_token: generateToken(req),
});
}

View File

@@ -26,7 +26,7 @@ if (!fs.existsSync(logDir)) {
mkdirp.sync(path.dirname(outputLogFilePath));
}
const output = logrotate({ file: outputLogFilePath, size: '1m', keep: 3, compress: true });
const output = logrotate({ file: outputLogFilePath, size: '10m', keep: 3, compress: true });
const silent = nconf.get('silent') === 'false' ? false : nconf.get('silent') !== false;
let numProcs;
const workers = [];

View File

@@ -10,8 +10,8 @@
"filter-start": "تاريخ البدء",
"filter-end": "تاريخ الانتهاء",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-user.placeholder": "قم بكتابة اسم مستخدم للتصفية...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-group.placeholder": "قم بكتابة اسم مجموعة للتصفية...",
"filter-per-page": "لكل صفحة"
}

View File

@@ -7,6 +7,8 @@
"privileges": "الصلاحيات",
"back-to-categories": "Back to categories",
"name": "Category Name",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Category Description",
"bg-color": "Background Colour",
"text-color": "Text Colour",
@@ -37,6 +39,7 @@
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"federation": "Federation",
"view-category": "View category",
"set-order": "Set order",
@@ -76,6 +79,22 @@
"analytics.topics-daily": "<strong>Figure 3</strong> &ndash; Daily topics created in this category</small>",
"analytics.posts-daily": "<strong>Figure 4</strong> &ndash; Daily posts made in this category</small>",
"federation.title": "Federation settings for \"%1\" category",
"federation.disabled": "Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.disabled-cta": "Federation Settings &rarr;",
"federation.syncing-header": "Synchronization",
"federation.syncing-intro": "A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat": "N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none": "This category is not currently following anybody.",
"federation.syncing-add": "Synchronize with...",
"federation.syncing-actorUri": "Actor",
"federation.syncing-follow": "Follow",
"federation.syncing-unfollow": "Unfollow",
"federation.followers": "Remote users following this category",
"federation.followers-handle": "Handle",
"federation.followers-id": "ID",
"federation.followers-none": "No followers.",
"alert.created": "Created",
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",

View File

@@ -0,0 +1,28 @@
{
"title": "Manage Custom User Fields",
"create-field": "Create Field",
"edit-field": "Edit Field",
"manage-custom-fields": "Manage Custom Fields",
"type-of-input": "Type of input",
"key": "Key",
"name": "Name",
"icon": "Icon",
"type": "Type",
"min-rep": "Minimum Reputation",
"input-type-text": "Input (Text)",
"input-type-link": "Input (Link)",
"input-type-number": "Input (Number)",
"input-type-date": "Input (Date)",
"input-type-select": "Select",
"input-type-select-multi": "Select Multiple",
"select-options": "Options",
"select-options-help": "Add one option per line for the select element",
"minimum-reputation": "Minimum reputation",
"minimum-reputation-help": "If a user has less than this value they won't be able to use this field",
"delete-field-confirm-x": "Do you really want to delete custom field \"%1\"?",
"custom-fields-saved": "Custom fields saved",
"visibility": "Visibility",
"visibility-all": "Everyone can see the field",
"visibility-loggedin": "Only logged in users can see the field",
"visibility-privileged": "Only privileged users like admins & moderators can see the field"
}

View File

@@ -22,6 +22,7 @@
"delete-content": "Delete User(s) <strong>Content</strong>",
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
"download-csv": "Download CSV",
"custom-user-fields": "Custom User Fields",
"manage-groups": "Manage Groups",
"set-reputation": "Set Reputation",
"add-group": "Add Group",

View File

@@ -38,6 +38,7 @@
"settings/tags": "الكلمات المفتاحية",
"settings/notifications": "التنبيهات",
"settings/api": "API Access",
"settings/activitypub": "Federation (ActivityPub)",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",

View File

@@ -0,0 +1,26 @@
{
"intro-lead": "What is Federation?",
"intro-body": "NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"general": "General",
"pruning": "Content Pruning",
"content-pruning": "Days to keep remote content",
"content-pruning-help": "Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning": "Days to cache remote user accounts",
"user-pruning-help": "Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"enabled": "Enable Federation",
"enabled-help": "If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback": "Allow loopback processing",
"allowLoopback-help": "Useful for debugging purposes only. You should probably leave this disabled.",
"probe": "Open in App",
"probe-enabled": "Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help": "If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"probe-timeout": "Lookup Timeout (milliseconds)",
"probe-timeout-help": "(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"server-filtering": "Filtering",
"count": "This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help": "Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",
"server.filter-help-hostname": "Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list": "Use this as an Allow List instead"
}

View File

@@ -41,9 +41,6 @@
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay",
"analytics.settings": "Analytics Settings",
"analytics.max-cache": "Analytics Cache Max Value",
"analytics.max-cache-help": "On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings": "Compression Settings",
"compression.enable": "Enable Compression",
"compression.help": "This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."

View File

@@ -15,7 +15,7 @@
"title-layout": "Title Layout",
"title-layout-help": "Define how the browser title will be structured ie. &#123;pageTitle&#125; | &#123;browserTitle&#125;",
"description.placeholder": "A short description about your community",
"description": "وصف الموقع",
"description": "Site Description",
"keywords": "الكلمات الدليله للموقع",
"keywords-placeholder": "Keywords describing your community, comma-separated",
"logo-and-icons": "Site Logo & Icons",
@@ -48,5 +48,16 @@
"background-color-help": "Color used for splash screen background when website is installed as a PWA",
"undo-timeout": "Undo Timeout",
"undo-timeout-help": "Some operations such as moving topics will allow for the moderator to undo their action within a certain timeframe. Set to 0 to disable undo completely.",
"topic-tools": "Topic Tools"
}
"topic-tools": "Topic Tools",
"home-page": "Home Page",
"home-page-route": "Home Page Route",
"home-page-description": "Choose what page is shown when users navigate to the root URL of your forum.",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")",
"default-language": "اللغة الافتراضية",
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي",
"default-language-help": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
}

View File

@@ -1,8 +0,0 @@
{
"settings": "Settings",
"guest-settings": "Guest Settings",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
}

View File

@@ -1,8 +0,0 @@
{
"home-page": "Home Page",
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
"home-page-route": "Home Page Route",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")"
}

View File

@@ -1,6 +0,0 @@
{
"language-settings": "اعدادات اللغة",
"description": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"default-language": "اللغة الافتراضية",
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي"
}

View File

@@ -20,7 +20,6 @@
"min-rep-chat": "Minimum reputation to send chat messages",
"min-rep-post-links": "Minimum reputation to post links",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",

View File

@@ -1,4 +0,0 @@
{
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
}

View File

@@ -9,9 +9,10 @@
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",
"resize-image-width-threshold-help": "(in pixels, default: 1520 pixels, set to 0 to disable)",
"resize-image-width-threshold-help": "(in pixels, default: 2000 pixels, set to 0 to disable)",
"resize-image-width": "Resize images down to specified width",
"resize-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)",
"resize-image-keep-original": "Keep original image after resize",
"resize-image-quality": "Quality to use when resizing images",
"resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.",
"max-file-size": "الحد الأقصى لحجم الملف (بالكيبيبايت)",

View File

@@ -88,5 +88,10 @@
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions",
"guest-settings": "Guest Settings",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
}

View File

@@ -2,6 +2,7 @@
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1",
"user-avatar-for": "User avatar for %1",
"profile-page-for": "Profile page for user %1",
"user-watched-tags": "User watched tags",
"delete-upload-button": "Delete upload button",
"group-page-link-for": "Group page link for %1"

View File

@@ -1,6 +1,8 @@
{
"category": "قسم",
"subcategories": "قسم فرعي",
"uncategorized": "Uncategorized",
"uncategorized.description": "Topics that do not strictly fit in with any existing categories",
"new-topic-button": "موضوع جديد",
"guest-login-post": "سجل الدخول للمشاركة",
"no-topics": "<strong>لا توجد مواضيع في هذه القسم</strong>لم لا تحاول إنشاء موضوع؟<br />",

View File

@@ -181,6 +181,14 @@
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"not-enough-reputation-custom-field": "You need %1 reputation for %2",
"custom-user-field-value-too-long": "Custom field value too long, %1",
"custom-user-field-select-value-invalid": "Custom field selected option is invalid, %1",
"custom-user-field-invalid-text": "Custom field text is invalid, %1",
"custom-user-field-invalid-link": "Custom field link is invalid, %1",
"custom-user-field-invalid-number": "Custom field number is invalid, %1",
"custom-user-field-invalid-date": "Custom field date is invalid, %1",
"invalid-custom-user-field": "Invalid custom user field, \"%1\" is already used by NodeBB",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
@@ -224,9 +232,11 @@
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"topic-event-unrecognized": "Topic event '%1' unrecognized",
"category.handle-taken": "Category handle is already taken, please choose another.",
"cant-set-child-as-parent": "Can't set child as parent category",
"cant-set-self-as-parent": "Can't set self as parent category",
"api.master-token-no-uid": "A master token was received without a corresponding `_uid` in the request body",
@@ -239,5 +249,12 @@
"api.500": "An unexpected error was encountered while attempting to service your request.",
"api.501": "The route you are trying to call is not implemented yet, please try again tomorrow",
"api.503": "The route you are trying to call is not currently available due to a server configuration",
"api.reauth-required": "The resource you are trying to access requires (re-)authentication."
"api.reauth-required": "The resource you are trying to access requires (re-)authentication.",
"activitypub.not-enabled": "Federation is not enabled on this server",
"activitypub.invalid-id": "Unable to resolve the input id, likely as it is malformed.",
"activitypub.get-failed": "Unable to retrieve the specified resource.",
"activitypub.pubKey-not-found": "Unable to resolve public key, so payload verification cannot take place.",
"activitypub.origin-mismatch": "The received object's origin does not match the sender's origin",
"activitypub.actor-mismatch": "The received activity is being carried out by an actor that is different from expected.",
"activitypub.not-implemented": "The request was denied because it or an aspect of it is not implemented by the recipient server"
}

View File

@@ -84,11 +84,17 @@
"modal-reason-offensive": "Offensive",
"modal-reason-other": "Other (specify below)",
"modal-reason-custom": "Reason for reporting this content...",
"modal-notify-remote": "Forward this report to %1",
"modal-submit": "Submit Report",
"modal-submit-success": "Content has been flagged for moderation.",
"modal-confirm-rescind": "Rescind Report?",
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"confirm-purge": "Are you sure you want to permanently delete these flags?",
"purge-cancelled": "Flag Purge Cancelled",
"bulk-purge": "Purge Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."

View File

@@ -50,6 +50,7 @@
"header.navigation": "الاستكشاف",
"header.manage": "Manage",
"header.drafts": "Drafts",
"header.world": "World",
"notifications.loading": "تحميل التنبيهات",
"chats.loading": "تحميل الدردشات",
"drafts.loading": "Loading Drafts",
@@ -110,6 +111,7 @@
"dnd": "عدم الإزعاج",
"invisible": "مخفي",
"offline": "غير متصل",
"remote-user": "This user is from outside of this forum",
"email": "عنوان البريد الإلكتروني",
"language": "اللغة",
"guest": "زائر",

View File

@@ -115,6 +115,8 @@
"composer.discard-all-drafts": "Discard all drafts",
"composer.no-drafts": "You have no drafts",
"composer.discard-draft-confirm": "Do you want to discard this draft?",
"composer.remote-pid-editing": "Editing a remote post",
"composer.remote-pid-content-immutable": "The content of remote posts cannot be edited. However, you are able change the topic title and tags.",
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",

View File

@@ -98,5 +98,9 @@
"notificationType-post-queue": "When a new post is queued",
"notificationType-new-post-flag": "When a post is flagged",
"notificationType-new-user-flag": "When a user is flagged",
"notificationType-new-reward": "When you earn a new reward"
"notificationType-new-reward": "When you earn a new reward",
"activitypub.announce": "<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual": "<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",
"activitypub.announce-multiple": "<strong>%1</strong>, <strong>%2</strong> and %3 others shared your post in <strong>%4</strong> to their followers."
}

View File

@@ -36,6 +36,7 @@
"chat": "Chatting with %1",
"flags": "Flags",
"flag-details": "Flag %1 Details",
"world": "World",
"account/edit": "Editing \"%1\"",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
@@ -62,6 +63,7 @@
"account/blocks": "Blocked users for %1",
"account/uploads": "Uploads by %1",
"account/sessions": "Login Sessions",
"account/shares": "Topics shared by %1",
"confirm": "تم التحقق من عنوان البريد الإلكتروني",
"maintenance.text": "%1 is currently undergoing maintenance.<br/>Please come back another time.",
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:",

View File

@@ -7,5 +7,7 @@
"alltime": "دائمًا",
"no-recent-topics": "لايوجد مواضيع جديدة",
"no-popular-topics": "لا يوجد مواضيع شائعة",
"load-new-posts": "Load new posts"
"load-new-posts": "Load new posts",
"uncategorized.title": "All known topics",
"uncategorized.intro": "This page shows a chronological listing of every topic that this forum has received.<br />The views and opinions expressed in the topics below are not moderated and may not represent the views and opinions of this website."
}

View File

@@ -13,8 +13,11 @@
"settings.mobileTopicTeasers": "Show topic teasers on mobile",
"settings.stickyToolbar": "Sticky toolbar",
"settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page",
"settings.autohideBottombar": "Auto hide bottom bar",
"settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down",
"settings.topicSidebarTools": "Topic sidebar tools",
"settings.topicSidebarTools.help": "This option will move the topic tools to the sidebar on desktop",
"settings.autohideBottombar": "Auto hide mobile navigation bar",
"settings.autohideBottombar.help": "The mobile bar will be hidden when the page is scrolled down",
"settings.topMobilebar": "Move the mobile navigation bar to the top",
"settings.openSidebars": "Open sidebars",
"settings.chatModals": "Enable chat modals"
}

View File

@@ -27,6 +27,7 @@
"restore": "استعادة",
"move": "نقل",
"change-owner": "Change Owner",
"manage-editors": "Manage Editors",
"fork": "فرع",
"link": "رابط",
"share": "نشر",
@@ -60,6 +61,8 @@
"user-restored-topic-on": "%1 restored this topic on %2",
"user-moved-topic-from-ago": "%1 moved this topic from %2 %3",
"user-moved-topic-from-on": "%1 moved this topic from %2 on %3",
"user-shared-topic-ago": "%1 shared this topic %2",
"user-shared-topic-on": "%1 shared this topic on %2",
"user-queued-post-ago": "%1 <a href=\"%2\">queued</a> post for approval %3",
"user-queued-post-on": "%1 <a href=\"%2\">queued</a> post for approval on %3",
"user-referenced-topic-ago": "%1 <a href=\"%2\">referenced</a> this topic %3",
@@ -103,6 +106,7 @@
"thread-tools.move-posts": "Move Posts",
"thread-tools.move-all": "نقل الكل",
"thread-tools.change-owner": "Change Owner",
"thread-tools.manage-editors": "Manage Editors",
"thread-tools.select-category": "Select Category",
"thread-tools.fork": "إنشاء فرع الموضوع",
"thread-tools.tag": "Tag Topic",
@@ -133,6 +137,7 @@
"bookmarks": "Bookmarks",
"bookmarks.has-no-bookmarks": "You haven't bookmarked any posts yet.",
"copy-permalink": "Copy Permalink",
"go-to-original": "View Original Post",
"loading-more-posts": "تحميل المزيد من المشاركات",
"move-topic": "نقل الموضوع",
"move-topics": "نقل المواضيع",
@@ -157,6 +162,7 @@
"move-posts-instruction": "Click the posts you want to move then enter a topic ID or go to the target topic",
"move-topic-instruction": "Select the target category and then click move",
"change-owner-instruction": "Click the posts you want to assign to another user",
"manage-editors-instruction": "Manage the users who can edit this post below.",
"composer.title-placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle-placeholder": "Enter your name/handle here",
"composer.hide": "Hide",
@@ -216,5 +222,7 @@
"downvote-post": "Downvote post",
"post-tools": "Post tools",
"unread-posts-link": "Unread posts link",
"thumb-image": "Topic thumbnail image"
"thumb-image": "Topic thumbnail image",
"announcers": "Shares",
"announcers-x": "Shares (%1)"
}

View File

@@ -1,5 +1,5 @@
{
"user-menu": "User menu",
"user-menu": "قائمة المستخدم",
"banned": "محظور",
"unbanned": "Unbanned",
"muted": "كتم",
@@ -16,7 +16,7 @@
"ban-account": "حظر الحساب",
"ban-account-confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban-account": "إزالة حظر الحساب",
"mute-account": "Mute Account",
"mute-account": "كتم الحساب",
"unmute-account": "Unmute Account",
"delete-account": "حذف الحساب",
"delete-account-as-admin": "Delete <strong>Account</strong>",
@@ -39,7 +39,7 @@
"reputation": "السمعة",
"bookmarks": "المفضلات",
"watched-categories": "الأقسام المُتابعة",
"watched-tags": "Watched tags",
"watched-tags": "الوسوم المُتابعة",
"change-all": "غير الكل",
"watched": "متابع",
"ignored": "تم تجاهله",
@@ -47,6 +47,7 @@
"default-category-watch-state": "حالة مشاهدة اﻻقسام الافتراضية",
"followers": "المتابعون",
"following": "يتابع",
"shares": "Shares",
"blocks": "الكتل",
"blocked-users": "Blocked users",
"block-toggle": "تبديل الكتلة",
@@ -59,8 +60,10 @@
"chat-with": "متابعة الدردشة مع %1",
"new-chat-with": "بدء دردشة جديدة مع %1",
"flag-profile": "ضع علامة على الملف الشخصي",
"profile-flagged": "Already flagged",
"follow": "تابع",
"unfollow": "إلغاء المتابعة",
"cancel-follow": "Cancel follow request",
"more": "المزيد",
"profile-update-success": "تم تحديث الملف الشخصي بنجاح",
"change-picture": "تغيير الصورة",
@@ -75,11 +78,11 @@
"upload-new-picture": "رفع صورة جديدة",
"upload-new-picture-from-url": "رفع صورة جديدة من رابط",
"current-password": "كلمة السر الحالية",
"new-password": "New Password",
"new-password": "كلمة السر الجديدة",
"change-password": "تغيير كلمة السر",
"change-password-error": "كلمة سر غير صحيحة",
"change-password-error-wrong-current": "كلمة السر الحالية ليست صحيحة",
"change-password-error-same-password": "Your new password matches your current password, please use a new password.",
"change-password-error-same-password": "كلمة السر الجديدة مطابقة لكلمة السر الحالية, فضلاً قم بإدخال كلمة سر جديدة.",
"change-password-error-match": "كلمة السر غير مطابقة لتأكيد كلمة السر",
"change-password-error-privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.",
"change-password-success": "تم تحديث كلمة السر خاصتك.",
@@ -115,11 +118,12 @@
"has-no-topics": "هذا المستخدم لم يكتب أي موضوع حتى الآن.",
"has-no-watched-topics": "هذا المستخدم لم يقم بمراقبة اية مواضيع حتى الآن.",
"has-no-ignored-topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
"has-no-read-topics": "This user hasn't read any topics yet.",
"has-no-read-topics": "هذا المستخدم لم يقم بقراءة أي مشاركة حتى الاّن.",
"has-no-upvoted-posts": "هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
"has-no-downvoted-posts": "هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
"has-no-controversial-posts": "هذا المستخدم ﻻيمتلك تصويت للأسفل لأي مشاركة حتى الآن.",
"has-no-blocks": "أنت لم تحظر اي مستخدم",
"has-no-shares": "This user has not shared any topics.",
"email-hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي",
"paginate-description": "عرض المواضيع والردود موزعة على صفحات عوضاً عن التمرير اللانهائي.",

View File

@@ -1,5 +1,5 @@
{
"all-users": "All Users",
"all-users": "كل المستخدمين",
"followed-users": "Followed Users",
"latest-users": "أحدث الأعضاء",
"top-posters": "اﻷكثر مشاركة",

View File

@@ -0,0 +1,18 @@
{
"name": "World",
"popular": "Popular topics",
"recent": "All topics",
"help": "Help",
"help.title": "What is this page?",
"help.intro": "Welcome to your corner of the fediverse.",
"help.fediverse": "The \"fediverse\" is a network of interconnected applications and websites that all talk to one another and whose users can see each other. This forum is federated, and can interact with that social web (or \"fediverse\"). This page is your corner of the fediverse. It consists solely of topics created by — and shared from — users <strong>you</strong> follow.",
"help.build": "There might not be a lot of topics here to start; that's normal. You will start to see more content here over time when you start following other users.",
"help.federating": "Likewise, if users from outside of this forum start following <em>you</em>, then your posts will start appearing on those apps and websites as well.",
"help.next-generation": "This is the next generation of social media, start contributing today!",
"onboard.title": "Your window to the fediverse...",
"onboard.what": "This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why": "There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
}

View File

@@ -7,6 +7,8 @@
"privileges": "Правомощия",
"back-to-categories": "Назад към категориите",
"name": "Име на категорията",
"handle": "Идентификатор на категорията",
"handle.help": "Идентификаторът на категорията се ползва за представяне на тази категория в други мрежи, подобно на потребителското име. Този идентификатор не трябва да съвпада със съществуващо потребителско име или потребителска група.",
"description": "Описание на категорията",
"bg-color": "Цвят на фона",
"text-color": "Цвят на текста",
@@ -37,6 +39,7 @@
"disable": "Изключване",
"edit": "Редактиране",
"analytics": "Анализи",
"federation": "Федериране",
"view-category": "Преглед на категорията",
"set-order": "Запазване на реда",
@@ -76,6 +79,22 @@
"analytics.topics-daily": "<strong>Фигура 3</strong> &ndash; Брой теми в тази категория на ден</small>",
"analytics.posts-daily": "<strong>Фигура 4</strong> &ndash; Брой публикации в тази категория на ден</small>",
"federation.title": "Настройки за федерирането на категорията „%1“",
"federation.disabled": "Федерирането е изключено за целия уеб сайт, така че настройките за федерирането на категорията са недостъпни.",
"federation.disabled-cta": "Настройки за федерирането &rarr;",
"federation.syncing-header": "Синхронизиране",
"federation.syncing-intro": "Една категория може да следва „група от източници“ чрез протокола ActivityPub. Ако бъде получено съдържание от който и да е източник от посочените по-долу, то ще бъде автоматично добавено в тази категория.",
"federation.syncing-caveat": "Забележка: настройките за синхронизиране тук установяват еднопосочна синхронизация. NodeBB ще се опита да се абонира/следва източника, но обратното не бива да се подразбира.",
"federation.syncing-none": "Тази категория в момента не следва никого.",
"federation.syncing-add": "Синхронизиране с…",
"federation.syncing-actorUri": "Източник",
"federation.syncing-follow": "Следване",
"federation.syncing-unfollow": "Спиране на следването",
"federation.followers": "Отдалечени потребители, които следват тази категория",
"federation.followers-handle": "Идентификатор",
"federation.followers-id": "Ид.",
"federation.followers-none": "Няма последователи.",
"alert.created": "Създадена",
"alert.create-success": "Категорията е създадена успешно!",
"alert.none-active": "Нямате активни категории.",

View File

@@ -0,0 +1,28 @@
{
"title": "Управление на персонализираните потребителски полета",
"create-field": "Създаване на поле",
"edit-field": "Редактиране на полето",
"manage-custom-fields": "Управление на персонализираните полета",
"type-of-input": "Вид на входните данни",
"key": "Ключ",
"name": "Име",
"icon": "Иконка",
"type": "Тип",
"min-rep": "Минимална репутация",
"input-type-text": "Въвеждане (текст)",
"input-type-link": "Въвеждане (връзка)",
"input-type-number": "Въвеждане (число)",
"input-type-date": "Въвеждане (дата)",
"input-type-select": "Избиране",
"input-type-select-multi": "Избиране на множество",
"select-options": "Опции",
"select-options-help": "Добавете по една опция на ред за избрания елемент",
"minimum-reputation": "Минимална репутация",
"minimum-reputation-help": "Ако потребителят има по-малко репутация от посочената, той няма да може да използва това поле",
"delete-field-confirm-x": "Наистина ли искате да изтриете персонализираното поле „%1“?",
"custom-fields-saved": "Персонализираните полета са запазени",
"visibility": "Видимост",
"visibility-all": "Всички могат да виждат полето",
"visibility-loggedin": "Само вписаните потребители могат да виждат полето",
"visibility-privileged": "Само потребителите с по-високи правомощия (като администратори и модератори) могат да виждат полето"
}

View File

@@ -22,6 +22,7 @@
"delete-content": "Изтриване на <strong>съдържанието</strong> на потребителя/ите",
"purge": "Изтриване на <strong>потребителя/ите</strong> и <strong>съдържанието</strong>",
"download-csv": "Сваляне във формат „CSV“",
"custom-user-fields": "Персонализирани потребителски полета",
"manage-groups": "Управление на групите",
"set-reputation": "Задаване на репутация",
"add-group": "Добавяне на група",

View File

@@ -38,6 +38,7 @@
"settings/tags": "Етикети",
"settings/notifications": "Известия",
"settings/api": "Достъп чрез ППИ",
"settings/activitypub": "Федериране (ActivityPub)",
"settings/sounds": "Звуци",
"settings/social": "Обществени",
"settings/cookies": "Бисквитки",

View File

@@ -0,0 +1,26 @@
{
"intro-lead": "Какво представлява федерирането?",
"intro-body": "NodeBB може да осъществява връзка с други инсталации на NodeBB, които поддържат това. Това се постига чрез протокол наречен <a href=\"https://activitypub.rocks/\">ActivityPub</a>. Ако е включено, NodeBB ще може да осъществява връзка и с други приложения и уеб сайтове, които ползват ActivityPub (например Мастодон, Peertube и т.н.)",
"general": "Общи",
"pruning": "Премахване на съдържанието",
"content-pruning": "Брой дни за съхранение на отдалечено съдържание",
"content-pruning-help": "Имайте предвид, че отдалеченото съдържание, за което е имало някакви действия (отговори или положителни/отрицателни гласове) ще бъде запазено. (0 = изключено)",
"user-pruning": "Брой дни за кеширане на отдалечените потребителски акаунти",
"user-pruning-help": "Отдалечените потребителски акаунти ще бъдат премахнати, само ако не са публикували нищо. Иначе ще бъдат извличани повторно. (0 = изключено)",
"enabled": "Включване на федерирането",
"enabled-help": "Ако е включено, този NodeBB ще може да осъществява връзка с всички клиенти ползващи ActivityPub в цялата федивселена.",
"allowLoopback": "Разрешаване на обработката на локална обратна връзка",
"allowLoopback-help": "Полезно само за дебъгване. Най-добре е това да бъде изключено",
"probe": "Отваряне в приложението",
"probe-enabled": "Дали да се опитва отваряне на нещата поддържащи ActivityPub в NodeBB",
"probe-enabled-help": "Ако е включено, NodeBB ще проверява всяка външна връзка дали поддържа ActivityPub и ако е така ще я зарежда направо в NodeBB.",
"probe-timeout": "Време за изчакване на проверката (милисекунди)",
"probe-timeout-help": "(По подразбиране: 2000) Ако проверката не получи отговор в рамките на зададеното време, потребителят ще бъде изпратен директно на адреса на връзката. Задайте по-голямо число, ако уеб сайтовете отговарят по-бавно и искате да им дадете повече време.",
"server-filtering": "Филтриране",
"count": "Този NodeBB в момента знае за наличието на <strong>%1</strong> сървър(а)",
"server.filter-help": "Посочете сървърите, с които не искате Вашият NodeBB да осъществява връзка. Или можете вместо това да посочите конкретни сървъри, с които <em>разрешавате</em> връзката. И двете възможности са налични, но може да изберете само една от тях.",
"server.filter-help-hostname": "Въведете само имената на сървърите по-долу (например <code>example.org</code>), като всеки сървър трябва да е на отделен ред.",
"server.filter-allow-list": "Това да се ползва като списък с разрешените сървъри"
}

View File

@@ -41,9 +41,6 @@
"sockets.default-placeholder": "По подразбиране: %1",
"sockets.delay": "Забавяне при повторно свързване",
"analytics.settings": "Настройки за анализите",
"analytics.max-cache": "Макс. стойност на кеша за анализите",
"analytics.max-cache-help": "При инсталации с натоварен трафик, кешът може да бъде изразходен, ако има повече едновременни потребители, от колкото е максималната стойност на кеша. (Изисква рестартиране)",
"compression.settings": "Настройки за компресирането",
"compression.enable": "Включване на компресирането",
"compression.help": "Тази настройка включва компресирането чрез „gzip“. За натоварени уеб сайтове най-добрият начин за използване на компресия е тя да се случва на нивото на обратния сървър-посредник (reverse proxy). Но с цел тестване, можете да го включите и тук."

View File

@@ -48,5 +48,16 @@
"background-color-help": "Цвят, който да се използва като фон за началния екран, когато уеб сайтът е инсталиран като приложение",
"undo-timeout": "Време за отмяна",
"undo-timeout-help": "Някои действия, като например преместването на теми, могат да бъдат отменени от модератора в рамките на определено време. Задайте 0, за да забраните изцяло отменянето.",
"topic-tools": "Инструменти за темите"
}
"topic-tools": "Инструменти за темите",
"home-page": "Начална страница",
"home-page-route": "Път на началната страница",
"home-page-description": "Изберете коя страница да бъде показана, когато потребителите отидат на главния адрес на форума.",
"custom-route": "Персонализиран път",
"allow-user-home-pages": "Разрешаване на потребителските начални страници",
"home-page-title": "Заглавие на началната страница (по подразбиране: „Начало“)",
"default-language": "Език по подразбиране",
"auto-detect": "Автоматично разпознаване на езика за гостите",
"default-language-help": "Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
"post-sharing": "Споделяне на публикации",
"info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации."
}

View File

@@ -1,8 +0,0 @@
{
"settings": "Настройки",
"guest-settings": "Настройки за гостите",
"handles.enabled": "Позволяване на имената за гостите",
"handles.enabled-help": "Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“.",
"topic-views.enabled": "Гостите да допринасят за броя на преглеждания на темите",
"reply-notifications.enabled": "Гостите да могат да предизвикват изпращането на известия за отговорите си"
}

View File

@@ -1,8 +0,0 @@
{
"home-page": "Начална страница",
"description": "Изберете коя страница да бъде показана, когато потребителите отидат на главния адрес на форума.",
"home-page-route": "Път на началната страница",
"custom-route": "Персонализиран път",
"allow-user-home-pages": "Разрешаване на потребителските начални страници",
"home-page-title": "Заглавие на началната страница (по подразбиране: „Начало“)"
}

View File

@@ -1,6 +0,0 @@
{
"language-settings": "Езикови настройки",
"description": "Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
"default-language": "Език по подразбиране",
"auto-detect": "Автоматично разпознаване на езика за гостите"
}

View File

@@ -20,7 +20,6 @@
"min-rep-chat": "Минимална репутация, необходима за изпращане на съобщения в разговори",
"min-rep-post-links": "Минимална репутация, необходима за публикуване на връзки",
"min-rep-flag": "Минимална репутация, необходима за докладване на публикации",
"min-rep-website": "Минимална репутация, необходима за добавяне на полето „Уебсайт“ към профила на потребителя",
"min-rep-aboutme": "Минимална репутация, необходима за добавяне на полето „За мен“ към профила на потребителя",
"min-rep-signature": "Минимална репутация, необходима за добавяне на полето „Подпис“ към профила на потребителя",
"min-rep-profile-picture": "Минимална репутация, необходима за добавяне на профилна снимка към профила на потребителя",

View File

@@ -1,4 +0,0 @@
{
"post-sharing": "Споделяне на публикации",
"info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации."
}

View File

@@ -9,9 +9,10 @@
"private-extensions": "Файлови разширения, които да бъдат частни",
"private-uploads-extensions-help": "Въведете списък от файлови разширения, разделени със запетаи, които искате да бъдат частни (например <code>pdf,xls,doc</code>). Ако оставите това поле празно, всички файлове ще бъдат частни.",
"resize-image-width-threshold": "Преоразмеряване на изображенията, ако са по-широки от определената ширина",
"resize-image-width-threshold-help": "(в пиксели; по подразбиране: 1520 пиксела. 0 = изключено)",
"resize-image-width-threshold-help": "(в пиксели; по подразбиране: 2000 пиксела. 0 = изключено)",
"resize-image-width": "Намаляване на размера на изображенията до определена ширина",
"resize-image-width-help": "(в пиксели; по подразбиране: 760 пиксела. 0 = изключено)",
"resize-image-keep-original": "Запазване на оригиналното изображение след преоразмеряване",
"resize-image-quality": "Качество при преоразмеряване на изображенията",
"resize-image-quality-help": "Използване на по-ниско качество за намаляване на размера на файловете за преоразмерените изображения.",
"max-file-size": "Максимален размер на файловете (в КиБ)",

View File

@@ -88,5 +88,10 @@
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
"restrictions.seconds-edit-after-new": "Брой секунди, през които публикациите могат да бъдат редактирани от нови потребители. (0 = изключено)",
"restrictions.milliseconds-between-messages": "Време между съобщенията в разговорите за нови потребители (мсек)",
"restrictions.groups-exempt-from-new-user-restrictions": "Избиране на групи, за които да не важат ограниченията за нови потребители"
}
"restrictions.groups-exempt-from-new-user-restrictions": "Избиране на групи, за които да не важат ограниченията за нови потребители",
"guest-settings": "Настройки за гостите",
"handles.enabled": "Позволяване на имената за гостите",
"handles.enabled-help": "Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“.",
"topic-views.enabled": "Гостите да допринасят за броя на преглеждания на темите",
"reply-notifications.enabled": "Гостите да могат да предизвикват изпращането на известия за отговорите си"
}

View File

@@ -2,6 +2,7 @@
"post-sort-option": "Настройка за подредбата на публикациите, %1",
"topic-sort-option": "Настройка за подредбата на темите, %1",
"user-avatar-for": "Изображение на потребителя за %1",
"profile-page-for": "Профилна страница за потребителя %1",
"user-watched-tags": "Наблюдавани от потребителя етикети",
"delete-upload-button": "Бутон за изтриване на каченото",
"group-page-link-for": "Връзка към груповата страница за %1"

View File

@@ -1,6 +1,8 @@
{
"category": "Категория",
"subcategories": "Подкатегории",
"uncategorized": "Без категория",
"uncategorized.description": "Теми, които не пасват на никоя конкретна категория",
"new-topic-button": "Нова тема",
"guest-login-post": "Впишете се, за да можете да публикувате",
"no-topics": "<strong>Все още няма теми в тази категория.</strong><br />Защо не създадете някоя?",

View File

@@ -181,6 +181,14 @@
"not-enough-reputation-min-rep-signature": "Репутацията Ви трябва да бъде поне %1, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на корицата",
"not-enough-reputation-custom-field": "Репутацията Ви трябва да бъде поне %1 за %2",
"custom-user-field-value-too-long": "Стойността в персонализираното поле е твърде дълга, %1",
"custom-user-field-select-value-invalid": "Избраната опция в персонализираното поле е твърде неправилна, %1",
"custom-user-field-invalid-text": "Текстът в персонализираното поле е неправилен, %1",
"custom-user-field-invalid-link": "Връзката в персонализираното поле е неправилна, %1",
"custom-user-field-invalid-number": "Числото в персонализираното поле е неправилно, %1",
"custom-user-field-invalid-date": "Датата в персонализираното поле е неправилна, %1",
"invalid-custom-user-field": "Неправилно персонализирано поле. „%1“ вече се ползва от NodeBB",
"post-already-flagged": "Вече сте докладвали тази публикация",
"user-already-flagged": "Вече сте докладвали този потребител",
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
@@ -224,9 +232,11 @@
"socket-reconnect-failed": "В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
"invalid-plugin-id": "Грешен идентификатор на добавка",
"plugin-not-whitelisted": "Добавката не може да бъде инсталирана само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP",
"plugin-installation-via-acp-disabled": "Инсталирането на добавки чрез ACP е изключено",
"plugins-set-in-configuration": "Не можете да променяте състоянието на добавката, тъй като то се определя по време на работата ѝ (чрез config.json, променливи на средата или аргументи при изпълнение). Вместо това може да промените конфигурацията.",
"theme-not-set-in-configuration": "Когато определяте активните добавки в конфигурацията, промяната на темите изисква да се добави новата тема към активните добавки, преди актуализирането ѝ в ACP",
"topic-event-unrecognized": "Събитието „%1“ на темата е неизвестно",
"category.handle-taken": "Идентификаторът на категорията е зает. Моля, изберете друг.",
"cant-set-child-as-parent": "Дъщерна категория не може да се зададе като базова такава",
"cant-set-self-as-parent": "Категорията не може да се зададе като базова категория на себе си",
"api.master-token-no-uid": "Беше получен главен идентификатор без съответстващо поле `_uid` в тялото на заявката",
@@ -239,5 +249,12 @@
"api.500": "При обработката на заявката Ви възникна неочаквана грешка.",
"api.501": "Пътят, който се опитвате да извикате, все още не съществува. Моля, опитайте отново утре.",
"api.503": "Пътят, който се опитвате да извикате, в момента не е достъпен, поради настройките на сървъра.",
"api.reauth-required": "Ресурсът, който се опитвате да достъпите, изисква (повторно) удостоверяване."
"api.reauth-required": "Ресурсът, който се опитвате да достъпите, изисква (повторно) удостоверяване.",
"activitypub.not-enabled": "Федерирането не е включено на този сървър",
"activitypub.invalid-id": "Входният идентификатор не може да бъде разпознат може да е неправилен.",
"activitypub.get-failed": "Посоченият материал не може да бъде получен.",
"activitypub.pubKey-not-found": "Публичният ключ не може да бъде разпознат, така че потвърждението на данните не може да бъде извършено.",
"activitypub.origin-mismatch": "Произходът на получения обект не съвпада с произхода на подателя",
"activitypub.actor-mismatch": "Полученото действие се изпълнява от източник, който е различен от очаквания.",
"activitypub.not-implemented": "Заявката беше отказана, тъй като тя или част от нея не се поддържа от сървъра, към който е насочена"
}

View File

@@ -84,11 +84,17 @@
"modal-reason-offensive": "Обидно",
"modal-reason-other": "Друго (опишете по-долу)",
"modal-reason-custom": "Причина за докладването на това съдържание…",
"modal-notify-remote": "Препращане на този доклад към %1",
"modal-submit": "Изпращане на доклада",
"modal-submit-success": "Съдържанието беше докладвано на модераторите.",
"modal-confirm-rescind": "Анулиране на доклада?",
"bulk-actions": "Групови действия",
"bulk-resolve": "Разрешаване на доклад(и)",
"confirm-purge": "Наистина ли искате да изтриете завинаги тези доклади?",
"purge-cancelled": "Изтриването на доклад е отменено",
"bulk-purge": "Изтриване на доклад(и)",
"bulk-success": "%1 доклада са обновени",
"flagged-timeago": "Докладвано <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Авт. докладвано] Получени %1 отрицателни гласа."

View File

@@ -50,6 +50,7 @@
"header.navigation": "Навигация",
"header.manage": "Управление",
"header.drafts": "Чернови",
"header.world": "Свят",
"notifications.loading": "Зареждане на известията",
"chats.loading": "Зареждане на разговорите",
"drafts.loading": "Зареждане на черновите",
@@ -110,6 +111,7 @@
"dnd": "Отпочиващ",
"invisible": "Невидим",
"offline": "Извън линия",
"remote-user": "Този потребител е извън този форум",
"email": "Е-поща",
"language": "Език",
"guest": "Гост",

View File

@@ -115,6 +115,8 @@
"composer.discard-all-drafts": "Изтриване на всички чернови",
"composer.no-drafts": "Нямате никакви чернови",
"composer.discard-draft-confirm": "Искате ли да изтриете тази чернова?",
"composer.remote-pid-editing": "Редактиране на отдалечена публикация",
"composer.remote-pid-content-immutable": "Съдържанието на отдалечени публикации не може да бъде редактирано. Може да промените само заглавието на темата и етикетите.",
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",

View File

@@ -98,5 +98,9 @@
"notificationType-post-queue": "Когато бъде добавена нова публикация в опашката",
"notificationType-new-post-flag": "Когато публикация бъде докладвана",
"notificationType-new-user-flag": "Когато потребител бъде докладван",
"notificationType-new-reward": "Когато получите нова награда"
"notificationType-new-reward": "Когато получите нова награда",
"activitypub.announce": "<strong>%1</strong> сподели Вашата публикация в <strong>%2</strong> със своите последователи.",
"activitypub.announce-dual": "<strong>%1</strong> и <strong>%2</strong> споделиха Вашата публикация в <strong>%3</strong> със своите последователи.",
"activitypub.announce-triple": "<strong>%1</strong>, <strong>%2</strong> и <strong>%3</strong> споделиха Вашата публикация в <strong>%4</strong> със своите последователи.",
"activitypub.announce-multiple": "<strong>%1</strong>, <strong>%2</strong> и %3 други споделиха Вашата публикация в <strong>%4</strong> със своите последователи."
}

View File

@@ -36,6 +36,7 @@
"chat": "Разговаря с %1",
"flags": "Доклади",
"flag-details": "Подробности за доклад %1",
"world": "Свят",
"account/edit": "Редактиране на „%1“",
"account/edit/password": "Редактиране на паролата на „%1“",
"account/edit/username": "Редактиране на потребителското име на „%1“",
@@ -62,6 +63,7 @@
"account/blocks": "Блокирани потребители за %1",
"account/uploads": "Качвания от %1",
"account/sessions": "Сесии на вписване",
"account/shares": "Теми, споделени от %1",
"confirm": "Е-пощата е потвърдена",
"maintenance.text": "%1 в момента е в профилактика.<br/>Моля, върнете се по-късно.",
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:",

View File

@@ -7,5 +7,7 @@
"alltime": "Цялото време",
"no-recent-topics": "Няма скорошни теми.",
"no-popular-topics": "Няма популярни теми.",
"load-new-posts": "Зареждане на новите публикации"
"load-new-posts": "Зареждане на новите публикации",
"uncategorized.title": "Всички познати теми",
"uncategorized.intro": "Тази страница показва хронологичен списък от всички теми, които този форум е получил.<br />Гледните точки и мненията в темите по-долу не са филтрирани по никакъв начин и може да не съвпадат с гледните точки и мненията на този уеб сайт."
}

View File

@@ -13,8 +13,11 @@
"settings.mobileTopicTeasers": "Показване на резюмета на темите на мобилни устройства",
"settings.stickyToolbar": "Статична лента с инструменти",
"settings.stickyToolbar.help": "Лентата с инструменти в страниците с теми и категории ще стои винаги в горния край на страницата",
"settings.autohideBottombar": "Автоматично скриване на долната лента",
"settings.autohideBottombar.help": "В изгледа за мобилни устройства долната лента ще се скрива, когато страницата се превърта надолу",
"settings.topicSidebarTools": "Странична лента с инструменти за темите",
"settings.topicSidebarTools.help": "Тази настройка ще премести инструментите за темите в страничната лента, когато се ползва настолната версия на уеб сайта",
"settings.autohideBottombar": "Автоматично скриване на лентата за навигация за мобилни устройства",
"settings.autohideBottombar.help": "Лентата за мобилни устройства ще се скрива, когато страницата бъде превъртяна надолу",
"settings.topMobilebar": "Преместване на лентата за навигация за мобилни устройства в горната част",
"settings.openSidebars": "Отваряне на страничните ленти",
"settings.chatModals": "Включване на прозорците за разговори"
}

View File

@@ -27,6 +27,7 @@
"restore": "Възстановяване",
"move": "Преместване",
"change-owner": "Промяна на собственика",
"manage-editors": "Управление на редакторите",
"fork": "Разделяне",
"link": "Връзка",
"share": "Споделяне",
@@ -60,6 +61,8 @@
"user-restored-topic-on": "%1 възстанови тази тема на %2",
"user-moved-topic-from-ago": "%1 премести тази тема от %2 %3",
"user-moved-topic-from-on": "%1 премести тази тема от %2 на %3",
"user-shared-topic-ago": "%1 сподели тази тема %2",
"user-shared-topic-on": "%1 сподели тази тема в %2",
"user-queued-post-ago": "%1 добави тази публикация в <a href=\"%2\">опашката за одобрение</a> %3",
"user-queued-post-on": "%1 добави тази публикация в <a href=\"%2\">опашката</a> за одобрение на %3",
"user-referenced-topic-ago": "%1 <a href=\"%2\">направи препратка</a> към тази тема %3",
@@ -103,6 +106,7 @@
"thread-tools.move-posts": "Преместване на публикациите",
"thread-tools.move-all": "Преместване на всички",
"thread-tools.change-owner": "Промяна на собственика",
"thread-tools.manage-editors": "Управление на редакторите",
"thread-tools.select-category": "Избиране на категория",
"thread-tools.fork": "Разделяне на темата",
"thread-tools.tag": "Поставяне на етикет на темата",
@@ -133,6 +137,7 @@
"bookmarks": "Отметки",
"bookmarks.has-no-bookmarks": "Все още не сте си запазвали отметки към никакви публикации.",
"copy-permalink": "Копиране на постоянна връзка",
"go-to-original": "Преглед на оригиналната публикация",
"loading-more-posts": "Зареждане на още публикации",
"move-topic": "Преместване на темата",
"move-topics": "Преместване на темите",
@@ -157,6 +162,7 @@
"move-posts-instruction": "Щракнете върху публикациите, които искате да преместите, а след това въведете ид. на тема или отидете в целевата тема",
"move-topic-instruction": "Изберете целевата категория и натиснете „Преместване“",
"change-owner-instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
"manage-editors-instruction": "Определете потребителите, които могат да редактират тази публикация по-долу.",
"composer.title-placeholder": "Въведете заглавието на темата си тук...",
"composer.handle-placeholder": "Въведете името тук",
"composer.hide": "Скриване",
@@ -216,5 +222,7 @@
"downvote-post": "Отрицателно гласуване за публикацията",
"post-tools": "Инструменти за публикациите",
"unread-posts-link": "Връзка към непрочетените публикации",
"thumb-image": "Иконка на темата"
"thumb-image": "Иконка на темата",
"announcers": "Споделяния",
"announcers-x": "Споделяния (%1)"
}

View File

@@ -47,6 +47,7 @@
"default-category-watch-state": "Състояние по подразбиране за наблюдаването на категории",
"followers": "Последователи",
"following": "Следва",
"shares": "Споделя",
"blocks": "Блокира",
"blocked-users": "Блокирани потребители",
"block-toggle": "Превключване на блокирането",
@@ -59,8 +60,10 @@
"chat-with": "Продължаване на разговора с %1",
"new-chat-with": "Започване на нов разговор с %1",
"flag-profile": "Докладване на профила",
"profile-flagged": "Вече е докладван",
"follow": "Следване",
"unfollow": "Спиране на следването",
"cancel-follow": "Отмяна на заявката за следване",
"more": "Още",
"profile-update-success": "Профилът беше обновен успешно!",
"change-picture": "Промяна на снимката",
@@ -120,6 +123,7 @@
"has-no-downvoted-posts": "Този потребител не е гласувал отрицателно досега.",
"has-no-controversial-posts": "Този потребител няма публикации с отрицателни гласове засега.",
"has-no-blocks": "Не сте блокирали никого.",
"has-no-shares": "Този потребител не е споделил нито една тема.",
"email-hidden": "Е-пощата е скрита",
"hidden": "скрито",
"paginate-description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",

View File

@@ -0,0 +1,18 @@
{
"name": "Свят",
"popular": "Популярни теми",
"recent": "Всички теми",
"help": "Помощ",
"help.title": "Каква е тази страница?",
"help.intro": "Добре дошли в своя ъгъл от федивселената.",
"help.fediverse": "„Федивселената“ е мрежа от взаимно свързани приложения и уеб сайтове, които говорят помежду си и чиито потребители могат да се виждат. Този форум е федериран и може да взаимодейства с тази социална мрежа (т.нар. „федивселена“). Тази страница е Вашият ъгъл от федивселената. В него ще виждате само темите създадени или споделени от потребители, които <strong>Вие</strong> следвате.",
"help.build": "В началото тук може да няма много теми. Това е нормално. Ще започнете да виждате повече съдържание тук, когато започнете да следвате други потребители.",
"help.federating": "По същия начин, ако потребители извън този форум започнат да следват <em>Вас</em>, тогава Вашите публикации ще започнат да се появяват в техните приложения и уеб сайтове.",
"help.next-generation": "Това е новото поколение социална мрежа. Започнете да допринасяте още днес!",
"onboard.title": "Вашият прозорец към федивселената…",
"onboard.what": "Това е Вашата персонализирана категория съставена само от съдържание извън този форум. Тук се появяват неща от хора, които следвате, както и такива споделени от тях.",
"onboard.why": "Много неща се случват извън този форум, и не всичко отговаря на Вашите интереси. Затова следването на конкретни хора е най-добрият начин да покажете, че искате да виждате повече от тях.",
"onboard.how": "Междувременно можете да използвате бутоните в горната част, за да видите до какво има достъп този форум. Така може да започнете да откривате ново съдържание!"
}

View File

@@ -7,6 +7,8 @@
"privileges": "Privileges",
"back-to-categories": "Back to categories",
"name": "Category Name",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Category Description",
"bg-color": "Background Colour",
"text-color": "Text Colour",
@@ -37,6 +39,7 @@
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"federation": "Federation",
"view-category": "View category",
"set-order": "Set order",
@@ -76,6 +79,22 @@
"analytics.topics-daily": "<strong>Figure 3</strong> &ndash; Daily topics created in this category</small>",
"analytics.posts-daily": "<strong>Figure 4</strong> &ndash; Daily posts made in this category</small>",
"federation.title": "Federation settings for \"%1\" category",
"federation.disabled": "Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.disabled-cta": "Federation Settings &rarr;",
"federation.syncing-header": "Synchronization",
"federation.syncing-intro": "A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat": "N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none": "This category is not currently following anybody.",
"federation.syncing-add": "Synchronize with...",
"federation.syncing-actorUri": "Actor",
"federation.syncing-follow": "Follow",
"federation.syncing-unfollow": "Unfollow",
"federation.followers": "Remote users following this category",
"federation.followers-handle": "Handle",
"federation.followers-id": "ID",
"federation.followers-none": "No followers.",
"alert.created": "Created",
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",

View File

@@ -0,0 +1,28 @@
{
"title": "Manage Custom User Fields",
"create-field": "Create Field",
"edit-field": "Edit Field",
"manage-custom-fields": "Manage Custom Fields",
"type-of-input": "Type of input",
"key": "Key",
"name": "Name",
"icon": "Icon",
"type": "Type",
"min-rep": "Minimum Reputation",
"input-type-text": "Input (Text)",
"input-type-link": "Input (Link)",
"input-type-number": "Input (Number)",
"input-type-date": "Input (Date)",
"input-type-select": "Select",
"input-type-select-multi": "Select Multiple",
"select-options": "Options",
"select-options-help": "Add one option per line for the select element",
"minimum-reputation": "Minimum reputation",
"minimum-reputation-help": "If a user has less than this value they won't be able to use this field",
"delete-field-confirm-x": "Do you really want to delete custom field \"%1\"?",
"custom-fields-saved": "Custom fields saved",
"visibility": "Visibility",
"visibility-all": "Everyone can see the field",
"visibility-loggedin": "Only logged in users can see the field",
"visibility-privileged": "Only privileged users like admins & moderators can see the field"
}

View File

@@ -22,6 +22,7 @@
"delete-content": "Delete User(s) <strong>Content</strong>",
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
"download-csv": "Download CSV",
"custom-user-fields": "Custom User Fields",
"manage-groups": "Manage Groups",
"set-reputation": "Set Reputation",
"add-group": "Add Group",

View File

@@ -38,6 +38,7 @@
"settings/tags": "Tags",
"settings/notifications": "Notifications",
"settings/api": "API Access",
"settings/activitypub": "Federation (ActivityPub)",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",

View File

@@ -0,0 +1,26 @@
{
"intro-lead": "What is Federation?",
"intro-body": "NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"general": "General",
"pruning": "Content Pruning",
"content-pruning": "Days to keep remote content",
"content-pruning-help": "Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning": "Days to cache remote user accounts",
"user-pruning-help": "Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"enabled": "Enable Federation",
"enabled-help": "If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback": "Allow loopback processing",
"allowLoopback-help": "Useful for debugging purposes only. You should probably leave this disabled.",
"probe": "Open in App",
"probe-enabled": "Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help": "If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"probe-timeout": "Lookup Timeout (milliseconds)",
"probe-timeout-help": "(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"server-filtering": "Filtering",
"count": "This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help": "Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",
"server.filter-help-hostname": "Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list": "Use this as an Allow List instead"
}

View File

@@ -41,9 +41,6 @@
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay",
"analytics.settings": "Analytics Settings",
"analytics.max-cache": "Analytics Cache Max Value",
"analytics.max-cache-help": "On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings": "Compression Settings",
"compression.enable": "Enable Compression",
"compression.help": "This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."

View File

@@ -48,5 +48,16 @@
"background-color-help": "Color used for splash screen background when website is installed as a PWA",
"undo-timeout": "Undo Timeout",
"undo-timeout-help": "Some operations such as moving topics will allow for the moderator to undo their action within a certain timeframe. Set to 0 to disable undo completely.",
"topic-tools": "Topic Tools"
}
"topic-tools": "Topic Tools",
"home-page": "Home Page",
"home-page-route": "Home Page Route",
"home-page-description": "Choose what page is shown when users navigate to the root URL of your forum.",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")",
"default-language": "Default Language",
"auto-detect": "Auto Detect Language Setting for Guests",
"default-language-help": "The default language determines the language settings for all users who are visiting your forum. <br />Individual users can override the default language on their account settings page.",
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
}

View File

@@ -1,8 +0,0 @@
{
"settings": "Settings",
"guest-settings": "Guest Settings",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
}

View File

@@ -1,8 +0,0 @@
{
"home-page": "Home Page",
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
"home-page-route": "Home Page Route",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")"
}

View File

@@ -1,6 +0,0 @@
{
"language-settings": "Language Settings",
"description": "The default language determines the language settings for all users who are visiting your forum. <br />Individual users can override the default language on their account settings page.",
"default-language": "Default Language",
"auto-detect": "Auto Detect Language Setting for Guests"
}

View File

@@ -20,7 +20,6 @@
"min-rep-chat": "Minimum reputation to send chat messages",
"min-rep-post-links": "Minimum reputation to post links",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",

View File

@@ -1,4 +0,0 @@
{
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
}

View File

@@ -9,9 +9,10 @@
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",
"resize-image-width-threshold-help": "(in pixels, default: 1520 pixels, set to 0 to disable)",
"resize-image-width-threshold-help": "(in pixels, default: 2000 pixels, set to 0 to disable)",
"resize-image-width": "Resize images down to specified width",
"resize-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)",
"resize-image-keep-original": "Keep original image after resize",
"resize-image-quality": "Quality to use when resizing images",
"resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.",
"max-file-size": "Maximum File Size (in KiB)",

View File

@@ -88,5 +88,10 @@
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions",
"guest-settings": "Guest Settings",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
}

View File

@@ -2,6 +2,7 @@
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1",
"user-avatar-for": "User avatar for %1",
"profile-page-for": "Profile page for user %1",
"user-watched-tags": "User watched tags",
"delete-upload-button": "Delete upload button",
"group-page-link-for": "Group page link for %1"

View File

@@ -1,6 +1,8 @@
{
"category": "বিভাগ",
"subcategories": "উপবিভাগ",
"uncategorized": "Uncategorized",
"uncategorized.description": "Topics that do not strictly fit in with any existing categories",
"new-topic-button": "নতুন টপিক",
"guest-login-post": "উত্তর দিতে লগিন করুন",
"no-topics": "<strong>এই বিভাগে কোন আলোচনা নেই! </strong><br /> আপনি চাইলে নতুন আলোচনা শুরু করতে পারেন।",

View File

@@ -181,6 +181,14 @@
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"not-enough-reputation-custom-field": "You need %1 reputation for %2",
"custom-user-field-value-too-long": "Custom field value too long, %1",
"custom-user-field-select-value-invalid": "Custom field selected option is invalid, %1",
"custom-user-field-invalid-text": "Custom field text is invalid, %1",
"custom-user-field-invalid-link": "Custom field link is invalid, %1",
"custom-user-field-invalid-number": "Custom field number is invalid, %1",
"custom-user-field-invalid-date": "Custom field date is invalid, %1",
"invalid-custom-user-field": "Invalid custom user field, \"%1\" is already used by NodeBB",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
@@ -224,9 +232,11 @@
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"topic-event-unrecognized": "Topic event '%1' unrecognized",
"category.handle-taken": "Category handle is already taken, please choose another.",
"cant-set-child-as-parent": "Can't set child as parent category",
"cant-set-self-as-parent": "Can't set self as parent category",
"api.master-token-no-uid": "A master token was received without a corresponding `_uid` in the request body",
@@ -239,5 +249,12 @@
"api.500": "An unexpected error was encountered while attempting to service your request.",
"api.501": "The route you are trying to call is not implemented yet, please try again tomorrow",
"api.503": "The route you are trying to call is not currently available due to a server configuration",
"api.reauth-required": "The resource you are trying to access requires (re-)authentication."
"api.reauth-required": "The resource you are trying to access requires (re-)authentication.",
"activitypub.not-enabled": "Federation is not enabled on this server",
"activitypub.invalid-id": "Unable to resolve the input id, likely as it is malformed.",
"activitypub.get-failed": "Unable to retrieve the specified resource.",
"activitypub.pubKey-not-found": "Unable to resolve public key, so payload verification cannot take place.",
"activitypub.origin-mismatch": "The received object's origin does not match the sender's origin",
"activitypub.actor-mismatch": "The received activity is being carried out by an actor that is different from expected.",
"activitypub.not-implemented": "The request was denied because it or an aspect of it is not implemented by the recipient server"
}

View File

@@ -84,11 +84,17 @@
"modal-reason-offensive": "Offensive",
"modal-reason-other": "Other (specify below)",
"modal-reason-custom": "Reason for reporting this content...",
"modal-notify-remote": "Forward this report to %1",
"modal-submit": "Submit Report",
"modal-submit-success": "Content has been flagged for moderation.",
"modal-confirm-rescind": "Rescind Report?",
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"confirm-purge": "Are you sure you want to permanently delete these flags?",
"purge-cancelled": "Flag Purge Cancelled",
"bulk-purge": "Purge Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."

View File

@@ -50,6 +50,7 @@
"header.navigation": "Navigation",
"header.manage": "Manage",
"header.drafts": "Drafts",
"header.world": "World",
"notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে",
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে",
"drafts.loading": "Loading Drafts",
@@ -110,6 +111,7 @@
"dnd": "Do not disturb",
"invisible": "অদৃশ্য",
"offline": "অফলাইন",
"remote-user": "This user is from outside of this forum",
"email": "ইমেইল",
"language": "ভাষা",
"guest": "অতিথি",

View File

@@ -115,6 +115,8 @@
"composer.discard-all-drafts": "Discard all drafts",
"composer.no-drafts": "You have no drafts",
"composer.discard-draft-confirm": "Do you want to discard this draft?",
"composer.remote-pid-editing": "Editing a remote post",
"composer.remote-pid-content-immutable": "The content of remote posts cannot be edited. However, you are able change the topic title and tags.",
"bootbox.ok": "OK",
"bootbox.cancel": "Cancel",
"bootbox.confirm": "Confirm",

View File

@@ -98,5 +98,9 @@
"notificationType-post-queue": "When a new post is queued",
"notificationType-new-post-flag": "When a post is flagged",
"notificationType-new-user-flag": "When a user is flagged",
"notificationType-new-reward": "When you earn a new reward"
"notificationType-new-reward": "When you earn a new reward",
"activitypub.announce": "<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual": "<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",
"activitypub.announce-multiple": "<strong>%1</strong>, <strong>%2</strong> and %3 others shared your post in <strong>%4</strong> to their followers."
}

View File

@@ -36,6 +36,7 @@
"chat": "Chatting with %1",
"flags": "Flags",
"flag-details": "Flag %1 Details",
"world": "World",
"account/edit": "Editing \"%1\"",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
@@ -62,6 +63,7 @@
"account/blocks": "Blocked users for %1",
"account/uploads": "Uploads by %1",
"account/sessions": "Login Sessions",
"account/shares": "Topics shared by %1",
"confirm": "Email Confirmed",
"maintenance.text": "%1 is currently undergoing maintenance.<br/>Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:",

View File

@@ -7,5 +7,7 @@
"alltime": "সবসময়",
"no-recent-topics": "কোন সাম্প্রতিক টপিক নেই।",
"no-popular-topics": "There are no popular topics.",
"load-new-posts": "Load new posts"
"load-new-posts": "Load new posts",
"uncategorized.title": "All known topics",
"uncategorized.intro": "This page shows a chronological listing of every topic that this forum has received.<br />The views and opinions expressed in the topics below are not moderated and may not represent the views and opinions of this website."
}

View File

@@ -13,8 +13,11 @@
"settings.mobileTopicTeasers": "Show topic teasers on mobile",
"settings.stickyToolbar": "Sticky toolbar",
"settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page",
"settings.autohideBottombar": "Auto hide bottom bar",
"settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down",
"settings.topicSidebarTools": "Topic sidebar tools",
"settings.topicSidebarTools.help": "This option will move the topic tools to the sidebar on desktop",
"settings.autohideBottombar": "Auto hide mobile navigation bar",
"settings.autohideBottombar.help": "The mobile bar will be hidden when the page is scrolled down",
"settings.topMobilebar": "Move the mobile navigation bar to the top",
"settings.openSidebars": "Open sidebars",
"settings.chatModals": "Enable chat modals"
}

View File

@@ -27,6 +27,7 @@
"restore": "পুনরূদ্ধার",
"move": "সরানো",
"change-owner": "Change Owner",
"manage-editors": "Manage Editors",
"fork": "শাখা",
"link": "লিঙ্ক",
"share": "শেয়ার",
@@ -60,6 +61,8 @@
"user-restored-topic-on": "%1 restored this topic on %2",
"user-moved-topic-from-ago": "%1 moved this topic from %2 %3",
"user-moved-topic-from-on": "%1 moved this topic from %2 on %3",
"user-shared-topic-ago": "%1 shared this topic %2",
"user-shared-topic-on": "%1 shared this topic on %2",
"user-queued-post-ago": "%1 <a href=\"%2\">queued</a> post for approval %3",
"user-queued-post-on": "%1 <a href=\"%2\">queued</a> post for approval on %3",
"user-referenced-topic-ago": "%1 <a href=\"%2\">referenced</a> this topic %3",
@@ -103,6 +106,7 @@
"thread-tools.move-posts": "Move Posts",
"thread-tools.move-all": "সমস্ত টপিক সরান",
"thread-tools.change-owner": "Change Owner",
"thread-tools.manage-editors": "Manage Editors",
"thread-tools.select-category": "Select Category",
"thread-tools.fork": "টপিক ফর্ক করুন",
"thread-tools.tag": "Tag Topic",
@@ -133,6 +137,7 @@
"bookmarks": "Bookmarks",
"bookmarks.has-no-bookmarks": "You haven't bookmarked any posts yet.",
"copy-permalink": "Copy Permalink",
"go-to-original": "View Original Post",
"loading-more-posts": "আরো পোষ্ট লোড করা হচ্ছে",
"move-topic": "টপিক সরান",
"move-topics": "টপিক সমূহ সরান",
@@ -157,6 +162,7 @@
"move-posts-instruction": "Click the posts you want to move then enter a topic ID or go to the target topic",
"move-topic-instruction": "Select the target category and then click move",
"change-owner-instruction": "Click the posts you want to assign to another user",
"manage-editors-instruction": "Manage the users who can edit this post below.",
"composer.title-placeholder": "আপনার টপিকের শিরোনাম দিন",
"composer.handle-placeholder": "Enter your name/handle here",
"composer.hide": "Hide",
@@ -216,5 +222,7 @@
"downvote-post": "Downvote post",
"post-tools": "Post tools",
"unread-posts-link": "Unread posts link",
"thumb-image": "Topic thumbnail image"
"thumb-image": "Topic thumbnail image",
"announcers": "Shares",
"announcers-x": "Shares (%1)"
}

View File

@@ -47,6 +47,7 @@
"default-category-watch-state": "Default category watch state",
"followers": "যাদের অনুসরণ করছেন",
"following": "যারা আপনাকে অনুসরণ করছে",
"shares": "Shares",
"blocks": "Blocks",
"blocked-users": "Blocked users",
"block-toggle": "Toggle Block",
@@ -59,8 +60,10 @@
"chat-with": "Continue chat with %1",
"new-chat-with": "Start new chat with %1",
"flag-profile": "Flag Profile",
"profile-flagged": "Already flagged",
"follow": "অনুসরন করুন",
"unfollow": "অনুসরন করা থেকে বিরত থাকুন",
"cancel-follow": "Cancel follow request",
"more": "আরো...",
"profile-update-success": "প্রোফাইল আপডেট সফল হয়েছে",
"change-picture": "ছবি পরিবর্তন",
@@ -120,6 +123,7 @@
"has-no-downvoted-posts": "This user hasn't downvoted any posts yet.",
"has-no-controversial-posts": "This user does not have any downvoted posts yet.",
"has-no-blocks": "You have blocked no users.",
"has-no-shares": "This user has not shared any topics.",
"email-hidden": "ইমেইল গোপন রাখা হয়েছে",
"hidden": "গোপন করা হয়েছে",
"paginate-description": "ইনফাইনাইট স্ক্রলের বদলে টপিক ও পোস্টের জন্য পেজিনেশন ব্যাবহার করা হোক",

View File

@@ -0,0 +1,18 @@
{
"name": "World",
"popular": "Popular topics",
"recent": "All topics",
"help": "Help",
"help.title": "What is this page?",
"help.intro": "Welcome to your corner of the fediverse.",
"help.fediverse": "The \"fediverse\" is a network of interconnected applications and websites that all talk to one another and whose users can see each other. This forum is federated, and can interact with that social web (or \"fediverse\"). This page is your corner of the fediverse. It consists solely of topics created by — and shared from — users <strong>you</strong> follow.",
"help.build": "There might not be a lot of topics here to start; that's normal. You will start to see more content here over time when you start following other users.",
"help.federating": "Likewise, if users from outside of this forum start following <em>you</em>, then your posts will start appearing on those apps and websites as well.",
"help.next-generation": "This is the next generation of social media, start contributing today!",
"onboard.title": "Your window to the fediverse...",
"onboard.what": "This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why": "There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
}

View File

@@ -7,6 +7,8 @@
"privileges": "Oprávnění",
"back-to-categories": "Back to categories",
"name": "Název kategorie",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Popis kategorie",
"bg-color": "Barva pozadí",
"text-color": "Barva textu",
@@ -37,6 +39,7 @@
"disable": "Zakázat",
"edit": "Upravit",
"analytics": "Analytika",
"federation": "Federation",
"view-category": "Zobrazit kategorii",
"set-order": "Set order",
@@ -76,6 +79,22 @@
"analytics.topics-daily": "<strong>Postava 3</strong> vytvořených témat za den pro tuto kategorii</small>",
"analytics.posts-daily": "<strong>Postava 4</strong> vytvořených příspěvků za den pro tuto kategorii</small>",
"federation.title": "Federation settings for \"%1\" category",
"federation.disabled": "Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.disabled-cta": "Federation Settings &rarr;",
"federation.syncing-header": "Synchronization",
"federation.syncing-intro": "A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat": "N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none": "This category is not currently following anybody.",
"federation.syncing-add": "Synchronize with...",
"federation.syncing-actorUri": "Actor",
"federation.syncing-follow": "Follow",
"federation.syncing-unfollow": "Unfollow",
"federation.followers": "Remote users following this category",
"federation.followers-handle": "Handle",
"federation.followers-id": "ID",
"federation.followers-none": "No followers.",
"alert.created": "Vytvořeno",
"alert.create-success": "Kategorie byla úspěšně vytvořena.",
"alert.none-active": "Nemáte žádné aktivní kategorie.",

View File

@@ -0,0 +1,28 @@
{
"title": "Správa vlastních uživatelských polí",
"create-field": "Vytvořit pole",
"edit-field": "Upravit pole",
"manage-custom-fields": "Manage Custom Fields",
"type-of-input": "Type of input",
"key": "Key",
"name": "Name",
"icon": "Icon",
"type": "Type",
"min-rep": "Minimum Reputation",
"input-type-text": "Input (Text)",
"input-type-link": "Input (Link)",
"input-type-number": "Input (Number)",
"input-type-date": "Input (Date)",
"input-type-select": "Select",
"input-type-select-multi": "Select Multiple",
"select-options": "Options",
"select-options-help": "Add one option per line for the select element",
"minimum-reputation": "Minimum reputation",
"minimum-reputation-help": "If a user has less than this value they won't be able to use this field",
"delete-field-confirm-x": "Do you really want to delete custom field \"%1\"?",
"custom-fields-saved": "Custom fields saved",
"visibility": "Visibility",
"visibility-all": "Everyone can see the field",
"visibility-loggedin": "Only logged in users can see the field",
"visibility-privileged": "Only privileged users like admins & moderators can see the field"
}

View File

@@ -22,6 +22,7 @@
"delete-content": "Odstranit <strong>Obsah</strong> uživatele",
"purge": "Odstranit <strong>uživatele</strong> a <strong>obsah</strong>",
"download-csv": "Stáhnout jako CSV",
"custom-user-fields": "Custom User Fields",
"manage-groups": "Spravovat skupiny",
"set-reputation": "Set Reputation",
"add-group": "Přidat skupinu",

Some files were not shown because too many files have changed in this diff Show More