15543 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
cd2eaafc2d Merge branch 'master' into develop 2026-01-23 17:34:18 -05:00
Barış Soner Uşaklı
da5605e0b7 fix: protocol 2026-01-23 17:34:11 -05:00
Barış Soner Uşaklı
3e0f3a6846 Merge branch 'master' into develop 2026-01-23 17:13:38 -05:00
Barış Soner Uşaklı
310e90c782 fix: closes #12986
fix paths in topic thumbs
2026-01-23 17:13:27 -05:00
Barış Soner Uşaklı
fe081ebd7b Merge branch 'master' into develop 2026-01-23 12:35:35 -05:00
Barış Soner Uşaklı
090b9f55bc fix: use min 2026-01-23 12:31:46 -05:00
Barış Soner Uşaklı
d25e7726a7 fix: #13918, make arrayLimit configurable increase default to 50
cap at 100
2026-01-23 12:31:09 -05:00
Julian Lam
69c5f94193 fix: proper attachment generation on replies, fixed replies getting thumb attachment when it wasn't part of it 2026-01-23 11:35:32 -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ı
252d1d09a0 fix: closes #13734, set process.env.NODE_ENV early using argv
if commander or one of the core deps isn't found then packageInstall.installAll is called and uses process.env.NODE_ENV, which was always undefined.
2026-01-21 20:31:16 -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ı
3272ea576f fix missing await on appendFile 2026-01-21 18:42:31 -05:00
Barış Soner Uşaklı
2ded681396 refactor: make custom user field icons fixed width in the acp 2026-01-21 18:41:15 -05:00
Barış Soner Uşaklı
7ac5446a13 refactor: use local cache for plugin isActive check 2026-01-21 18:39:45 -05:00
Barış Soner Uşaklı
1b08aef2d0 fix: wrap fields in quotes in user csv export 2026-01-21 18:31:58 -05:00
Julian Lam
ad27347fa2 fix: update buildRecipents to add option to skip target creation step, update ap actors for note to not bother building targets 2026-01-21 14:43:31 -05:00
Julian Lam
fac3185974 refactor: Actors.getLocalFollowers to Actors.getFollowers, can pass in both local and remote ids 2026-01-21 14:42:16 -05:00
Julian Lam
eb27b96430 fix: notes announce cache, use cache when retrieving tid posters 2026-01-21 12:53:41 -05:00
Julian Lam
e697d600d1 fix: optimizations
- plugins.isActive response now cached in nconf
- public addresses filtered out of actor assertion logic during
  qualification stage
- bump mentions to fix db call with empty values
- update buildRecipients to exclude public addresses and local URIs when
  building targeting array
2026-01-21 12:07:00 -05:00
Julian Lam
f9affbad58 fix: cache detection logic in context parseItem executing earlier than needed causing false positives 2026-01-21 10:51:15 -05:00
Barış Soner Uşaklı
ec4e7ef1b7 fix: closes #13199 normalize accept header
@julianlam tried accepts module ran into issues when the route was requested via browser or via $.ajax with the default headers,
for example accepts(req).type(activitypub._constants.acceptableTypes) still returns true when /post/123 is loaded via browser or via $.ajax
2026-01-20 22:19:22 -05:00
Barış Soner Uşaklı
7bc9fe3b75 refactor: dont include scheduled topics in unread 2026-01-20 21:08:38 -05:00
Barış Soner Uşaklı
d867d8adbb fix: closes #10682, strip unicode control chars
that explode rss module
2026-01-20 20:50:04 -05:00
Barış Soner Uşaklı
beb3f8ff94 Merge branch 'master' into develop 2026-01-20 20:15:07 -05:00
Barış Soner Uşaklı
13bf64c956 fix: closes #12458, on socket.io reconnect
load messages after last data-index
2026-01-20 20:14:40 -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ı
50c26dd583 fix: closes #11499 2026-01-20 17:57:55 -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ı
2ba8907ac8 refactor: tags were moved into topic hash a while ago 2026-01-20 11:57:22 -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ış Soner Uşaklı
84bd409a7c Merge branch 'master' into develop 2026-01-19 22:18:20 -05:00
Barış Soner Uşaklı
635715ef51 refactor: already checked inside user.isPasswordValid 2026-01-19 22:16:37 -05:00
Julian Lam
0262bb83f3 fix: restrict topic backfill to logged-in users when browsing to a category 2026-01-19 21:44:14 -05:00
Julian Lam
428b6e730a fix: replace attachment generation logic in notes.public
Previously, the logic retrieved the list of uploads, checked if they
were thumbs, and set attachment (and noteAttachment) depending on object
type. It was complicated and didn't really work so well, so I simplified
it.

Now thumbs.get is called, and attachment is appended with all thumbs and
uploads. Sizing is not provided. Maybe later. Image is also now set,
which is the first image in attachment.
2026-01-19 21:38:48 -05:00
Julian Lam
0c79eaa529 feat: topic crossposts generate topic events, #13908 2026-01-19 19:06:29 -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
6383bb58e9 fix: #13900, assertion re-index 2026-01-19 14:50:57 -05:00
Julian Lam
39582cbd02 fix: simplicity tweak 2026-01-19 14:44:22 -05:00
Julian Lam
560ad81f32 feat: remote account banning, #13904 2026-01-19 14:42:13 -05:00
Barış Soner Uşaklı
1cbc128a75 refactor: get rid of intersect and use a faster method to load recently created tids 2026-01-19 14:13:29 -05:00
Barış Soner Uşaklı
442f9f1d5b fix: closes #11606, detect musl and use sass instead 2026-01-17 14:25:32 -05:00
Barış Soner Uşaklı
bb6ed76e13 refactor: shorter params 2026-01-17 12:16:23 -05:00
Barış Soner Uşaklı
05e76eddee refactor: shorter params 2026-01-17 12:16:06 -05:00
Julian Lam
33c2de9c5b feat: opportunistic backfill, #13895 2026-01-16 15:12:24 -05:00
Julian Lam
4bab9fb446 fix: export sendMessage as _sendMessage for use in ap jobs lib 2026-01-16 15:12:24 -05:00
Julian Lam
c595edb4c0 refactor: move ap jobs to its own file 2026-01-16 15:12:24 -05:00
Barış Soner Uşaklı
7d36c75790 fix: closes #13897, display group create errors properly
fix typo in redirect after group deletion
2026-01-16 10:58:03 -05:00
Barış Soner Uşaklı
639ea42d5a refactor: put alltime in query string for term 2026-01-15 16:47:28 -05:00