1898 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
e01cb1048a test: add one more topic to tag test
test partial tag removal
2026-03-11 20:21:33 -04:00
Barış Soner Uşaklı
0a94cecb0d fix: #14084, fix tags not getting properly removed from topics
this was happening because the same topic was passed to setObject bulk multiple times with different tag data.
the fix is to find the uniq tids first and then only call setObjectBulk once per topic
2026-03-11 17:21:06 -04:00
Barış Soner Uşaklı
f6f51f83c4 perf: make a single round trip for set(s)Remove
use bulkWrite
2026-03-10 11:01:01 -04:00
Barış Soner Uşaklı
92fcdd09ca fix: closes #14074, only return url & name
from uploads, add tests to post uploads and thumb uploads to check only name & url is returned
2026-03-10 10:46:17 -04:00
Barış Soner Uşaklı
a391d01d30 fix: closes #14073, fix teasers from child categories
add a test
2026-03-10 09:49:23 -04:00
Barış Soner Uşaklı
c83087181c test: fix btn tests 2026-03-09 20:28:07 -04:00
Barış Uşaklı
5c271e8958 scan. glob to regex (#14063)
* scan. glob to regex

* lint
2026-03-05 16:01:19 -05:00
Barış Soner Uşaklı
06bf2abfc4 fix: #14033, fix gif profile images
add test
2026-03-01 19:48:53 -05:00
Barış Soner Uşaklı
2d49da7889 fix: #14032, fix regression in room creation
add test
2026-03-01 15:45:32 -05:00
Barış Soner Uşaklı
04477f07db fix: parent cid 2026-03-01 14:21:09 -05:00
Barış Soner Uşaklı
64a072c92b fix: escape fullname in chatWithMessage 2026-02-27 00:19:17 -05:00
Julian Lam
29111ba7ca fix: allow break string and summary limits to be defined and applied 2026-02-26 15:43:09 -05:00
Barış Uşaklı
e4c945f636 refactor: allow passing an array to topics.purge and topics.purgePost… (#14018)
* refactor: allow passing an array to topics.purge and topics.purgePostsAndTopic

deprecate action:topic.purge, add action:topics.purge with array of deleted topics
update usage of topics.purge to pass in an array
fix an issue in posts/delete where cids were passed to parseInt, caused AP cids to get saved into category:NaN

* lint

* refactor: change style

* use array of tids
2026-02-26 13:09:42 -05:00
Julian Lam
b460506e4d fix: don't show magic break string in regularly parsed posts, tests for ap mocks lib 2026-02-26 12:32:24 -05:00
Barış Soner Uşaklı
872d7c74e5 test: remove assert 2026-02-24 17:42:43 -05:00
Barış Soner Uşaklı
de1f04d9d8 refactor: dont store ap pids in posts:pid
new zset postsRemote:pid
in topic purge only make 1 db call to reduce counters
2026-02-24 17:36:17 -05:00
Barış Soner Uşaklı
59f35e6fdb test: remove old test 2026-02-17 18:29:59 -05:00
Julian Lam
b1c097f84b test: update tests to allow title-less topics 2026-02-17 11:26:13 -05:00
Barış Soner Uşaklı
6e6900baf5 test: show topic data on test fail 2026-02-16 23:33:16 -05:00
Barış Soner Uşaklı
8c8782fd24 fix: #13990, don't blindly set user field on notification objects
that don't have a "from" property
2026-02-13 10:17:34 -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ı
5c73d33812 test: fix missing priv in tests 2026-02-12 17:14:45 -05:00
Julian Lam
fe8fd9d6e5 fix: gate crossposting behind new topics:crosspost privilege 2026-02-12 15:13:59 -05:00
Barış Soner Uşaklı
0c2ab23268 test: add test to check picture!=uploadedpicture 2026-02-11 21:19:43 -05:00
Barış Uşaklı
c65af19985 refactor: add createFieldChecker (#13973)
* refactor: add createFieldChecker

* refactor: use hasField in topic/data.js

* refactor: use hasField in categories/data.js

* test: fix category nickname logic

* test: fix spec
2026-02-11 11:38:03 -05:00
Barış Soner Uşaklı
87fdca2a8a test: add more info to failiing response 2026-02-10 21:31:47 -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ı
ca237e6766 test: favicon test 2026-02-09 12:53:02 -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ı
94873c33e1 test: another test fix 2026-02-08 19:21:35 -05:00
Barış Soner Uşaklı
6cb6cf7d4d fix: cant store URL in nconf 2026-02-08 19:15:08 -05:00
Barış Soner Uşaklı
157959df60 refactor: get rid of url.parse in core 2026-02-08 18:52:55 -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ı
0d19294a17 test: fix tests 2026-02-05 21:53:39 -05:00
Barış Soner Uşaklı
d6c694652c test: fix tests, update mentions composer 2026-02-05 20:19:16 -05:00
Barış Soner Uşaklı
94885109fa fix: closes #8642, stricter username check
don't allow invisible unicode characters
2026-02-03 21:41:19 -05:00
Barış Soner Uşaklı
61662f19ee feat: closes #13203, make users room owners on private chats 2026-02-02 09:49:52 -05:00
Barış Soner Uşaklı
07d1f22401 refactor: get rid of global.env, use process.env.NODE_ENV 2026-01-21 20:14:15 -05:00
Barış Soner Uşaklı
beb3f8ff94 Merge branch 'master' into develop 2026-01-20 20:15:07 -05:00
Barış Soner Uşaklı
512b1e7296 fix: remove lowercase bidi controls as well 2026-01-20 11:17:30 -05:00
Barış Soner Uşaklı
84bd409a7c Merge branch 'master' into develop 2026-01-19 22:18:20 -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
Julian Lam
560ad81f32 feat: remote account banning, #13904 2026-01-19 14:42:13 -05:00
Barış Soner Uşaklı
e505e36991 fix: make translator.unescape stricter like escape 2026-01-16 13:17:02 -05:00
Barış Soner Uşaklı
b2fa7304e9 fix: closes #13887, make translator.escape stricter
only match [[namespace:key]] allow underscores,dashes and dots in namespace key
add test
2026-01-16 13:00:41 -05:00
Barış Soner Uşaklı
918bb04491 test: add missing awaits, change error message 2026-01-16 12:51:11 -05:00
Barış Soner Uşaklı
57a73c4854 refactor: crossposts.get to support multiple tids 2026-01-14 18:47:52 -05:00
Julian Lam
6eea4df5ef fix: #13888, decode html entities for AP category name and description 2026-01-13 10:36:03 -05:00
Julian Lam
2f96eed4af fix: guard against negative uids crossposting 2026-01-12 14:07:45 -05:00
Julian Lam
d20906b592 tests: fix... tests 2026-01-12 12:55:18 -05:00