Commit Graph

1288 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
1dae3d222f feat: add invitedBy to user info page, closes #13972, closes #13997 2026-02-17 19:58:10 -05:00
Barış Soner Uşaklı
2015777fd1 fix: when registering through an invite, prepopulate the email field on /register/complete with the email 2026-02-17 19:07:28 -05:00
Barış Soner Uşaklı
8c6ce198e1 feat: allow configuring unreadCutoff per user, closes #6811 2026-02-16 22:57:00 -05:00
Barış Soner Uşaklı
0e2a42d547 test: fix spec 2026-02-12 23:22:10 -05:00
Barış Soner Uşaklı
0b7df274c3 fix: unbans not triggering if user data is loaded wit 'banned' property only
this was happening because of `fieldsToRemove` running before unban logic and clearing out 'banned:expire' field to undefined
2026-02-12 22:49:55 -05:00
Barış Soner Uşaklı
9ac507e5b4 feat: track all caches created in acp
closes #13979
2026-02-12 10:31:18 -05:00
Barış Soner Uşaklı
b95cd88214 fix: regression from refactor of uploadedpicture refactor 2026-02-11 21:14:50 -05:00
Barış Soner Uşaklı
d52b135954 test: fix hasOwn 2026-02-10 21:43:44 -05:00
Barış Soner Uşaklı
ffc4c0dd99 test: group members test 2026-02-10 21:39:57 -05:00
Barış Soner Uşaklı
9a198c382e refactor: run searches in parallel 2026-02-10 21:12:41 -05:00
Barış Soner Uşaklı
dcbbc187ab fx: filter at the end of user.search
remove commented out code
2026-02-10 17:58:04 -05:00
Barış Uşaklı
62d88555ae feat: eslint10 (#13967)
* feat: eslint10

* lint: no-useless-assignment
2026-02-10 12:39:11 -05:00
Barış Soner Uşaklı
e4d852b4ca test: dont return cover:url if its not requested 2026-02-08 20:46:16 -05:00
Barış Soner Uşaklı
db07456bc0 test: fix username test
move cover:url code to user/data.js like uploadedpicture
2026-02-08 20:30:01 -05:00
Barış Soner Uşaklı
fb460725ad error:invalid-username doesnt have params 2026-02-08 13:14:33 -05:00
Barış Uşaklı
7703140b7c Xregexp remove, dont allow invalid slugs (#13963)
* feat: remove xregexp

add slugify tests,
dont accept invalid slugs like `.`, `..`
add isSlugValid function

* test: add more tests, check slug on rename as well
2026-02-08 13:11:40 -05:00
Barış Soner Uşaklı
0eaf2beeb2 feat: closes #13961, rename ban-reasons to custom reasons
use them for ban, mute and post queue depending on the type selected
if type is set to all, the reason is displayed in ban/mute and post queue
move reason label + dropdown + textarea  to a partial
2026-02-07 21:41:11 -05:00
Barış Uşaklı
d086ed2c27 feat: ban/mute reasons (#13960)
add acp page to create reasons
add dropdown to insert them into reason
change reason field into textarea
translate and parse reason before sending ban email
2026-02-07 14:32:05 -05:00
Barış Soner Uşaklı
01f56e6cdf Merge branch 'master' into develop 2026-01-28 12:42:33 -05:00
Barış Soner Uşaklı
eab4025bdd fix: pagination always getting set to default
dont allow 0 or negative
2026-01-28 10:48:09 -05:00
Barış Soner Uşaklı
fe081ebd7b Merge branch 'master' into develop 2026-01-23 12:35:35 -05:00
Barış Soner Uşaklı
e231c010f6 refactor: get rid of map, move parallel calls into promise.all 2026-01-22 11:49:16 -05:00
Barış Soner Uşaklı
f29c9f064b fix: closes #13258, dont mark digest as delivered if it fails
show fail count and sent count separately
2026-01-22 11:31:59 -05:00
Barış Soner Uşaklı
3272ea576f fix missing await on appendFile 2026-01-21 18:42:31 -05:00
Barış Soner Uşaklı
1b08aef2d0 fix: wrap fields in quotes in user csv export 2026-01-21 18:31:58 -05:00
Barış Soner Uşaklı
beb3f8ff94 Merge branch 'master' into develop 2026-01-20 20:15:07 -05:00
Barış Soner Uşaklı
07d2c9463e fix: remove bidi chars from displayname
fixes chat teasers and probably every other place where display name is shown
2026-01-20 18:42:31 -05:00
Barış Soner Uşaklı
6b3ec63621 refactor: add guards against bad data & infi loops 2026-01-20 12:05:52 -05:00
Barış Soner Uşaklı
37675689f8 refactor: move username check to createOrQueue 2026-01-19 22:43:39 -05:00
Barış Soner Uşaklı
7e27da61ab refactor: checkUsername function https://github.com/NodeBB/NodeBB/issues/10864 2026-01-19 22:26:09 -05:00
Barış Uşaklı
e2e1744824 User create / registeration queue refactor (#13905)
* feat: add options parameter to User.create

add emailVerification: ('send'|'verify'|'skip') param to User.create to control email verification

add a new method User.createOrQueue(). store options that will be passed to User.create() when registration is accepted in _opts

If there is no password passed to registration queue(SSO register) don't store hashedPassword

removed the isFirstUser hack in user.create, when creating the admin user in install.js passing `emailVerification: 'verify'` to immediately verify the email, same with all the hacks in tests

auth: if an SSO plugin sends back an info object, redirect to root and display the message

* refactor: make function private

* refactor: destruct return

* test: fix flag test

* test: group tests

* feat: show ssoIcon if available in register queue

* add icon/title
2026-01-19 18:40:48 -05:00
Barış Uşaklı
7b793527f9 Change owner rest route (#13881)
* fix: dont use sass-embedded on freebsd, #13867

* fix: #13715, dont reduce hardcap if usersPerPage is < 50

* fix: closes #13872, use translator.compile for notification text

so commas don't cause issues

* fix: remove bidiControls from notification.bodyShort

* refactor: move change owner call to rest api

deprecate socket method

* fix spec

* test: one more fix

* test: add 404

* test: fix tests :rage1:

* test: update test to use new method
2026-01-11 14:38:14 -05:00
Julian Lam
3ede64d8a1 refactor: move all methods in src/api/activitypub.js to src/activitypub.out.js 2025-10-22 14:41:56 -04:00
Barış Soner Uşaklı
312df52393 fix: only process unique slugs 2025-08-25 11:18:04 -04:00
Barış Soner Uşaklı
5a5ca8a5fb fix: closes #13526, dont send multiple emails when user is invited 2025-07-02 17:38:35 -04:00
Barış Soner Uşaklı
6c3e2a8e22 refactor: create date once per digest.send 2025-05-15 09:42:55 -04:00
Barış Soner Uşaklı
3faae559a8 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-05-15 09:38:49 -04:00
Barış Soner Uşaklı
3d96afb2d1 feat: use local date string for digest subject
closes #13420
2025-05-15 09:38:43 -04:00
Julian Lam
7e25946cd7 breaking: removal of filter:user.verify.code 2025-05-06 13:38:42 -04:00
Julian Lam
28b7a20339 lint: yup. 2025-04-29 15:13:22 -04:00
Julian Lam
f02d96614a fix: remote bare hash for remote users on prune as well 2025-04-29 10:28:18 -04:00
Julian Lam
4d1d7c3dca fix: remote categories should not show up in a user's follow lists 2025-04-29 10:28:18 -04:00
Barış Soner Uşaklı
97a232e9d5 dont make db call if ap disabled 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
74661381d8 refactor: use promise.all 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
c1b7196429 fix: spread fail, @julianlam
add ap check
2025-04-29 10:28:17 -04:00
Julian Lam
6e374200e5 send ap follow/undo-follow if remote category watch state changes 2025-04-29 10:28:17 -04:00
Julian Lam
9c1d5cd36e feat: #13255, deliver asserted topics to remote category followers 2025-04-29 10:28:17 -04:00
Julian Lam
7ccd6b73ae fix: delete shares zset on account deletion 2025-04-29 10:28:17 -04:00
Julian Lam
f483e883a7 feat: asserted topics and posts to remote categories will notify and add to unread based on remote category watch state 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
a5afad27e5 feat: chat allow/deny list, closes #13359 2025-04-25 11:54:11 -04:00