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