11784 Commits (0aad131204b1b8737a3005721b1599a744ad34a6)

Author SHA1 Message Date
Barış Soner Uşaklı 9a6cf3d967 fix: #9301, dont call sitemapstream if there are no entries in categories/pages/topics.xml 4 years ago
Julian Lam 50664487b9 test: additional tests for topic thumbs 4 years ago
Barış Soner Uşaklı 807b0d4348 fix: properly incase its the same path 4 years ago
Barış Soner Uşaklı 76bcc0c99c fix: numThumbs count on associate 4 years ago
Julian Lam 1490b32d1b fix: missing cache deletion calls for post-queue cache
/cc @barisusakli
4 years ago
Julian Lam 3e6640efb2 refactor: thumbs.associate accepts both relative path and url in path arg 4 years ago
Julian Lam a4b4a5566d feat: link to post-queue from topic event 4 years ago
Julian Lam 8fd78ce512 feat: post-queue topic event 4 years ago
Julian Lam 3f35fd335d feat: add post-queue cache 4 years ago
Julian Lam 36f2021186 refactor: move post queue retrival code to posts.getQueuedPosts 4 years ago
Julian Lam b81508c4e2 fix: init topic events from webserver.js 4 years ago
Julian Lam 6074a0fbbf refactor: call topic events init from within file itself 4 years ago
Julian Lam cc275e1016 Revert "feat: newsletter opt-in/out in UCP, closes #21"
This reverts commit 3c7cd9a6c4.
4 years ago
Julian Lam 3c7cd9a6c4 feat: newsletter opt-in/out in UCP, closes #21 4 years ago
Barış Soner Uşaklı 3595473485 feat: load user posts/topics via xhr on infinitescroll 4 years ago
Barış Soner Uşaklı b753c69cfe fix: check null topics 4 years ago
Barış Soner Uşaklı 58cd797e4c fix: guard against null topics 4 years ago
Barış Soner Uşaklı c953b1b3d1 fix: #9292, messageobj.content already parsed 4 years ago
Barış Soner Uşaklı 4b2bf12fd1 feat: #9294, put new categories at top 4 years ago
Julian Lam 9d17f397c0 fix(remountable-routes): more fixes to remountable routes
fix: ensure proper admin privilege checking on remounted `/admin` mount

fix: guard against plugins sending back missing mounts

fix: no need to make addRemountableRoutes awaitable
4 years ago
Julian Lam 16c1d6e937 style(remountable-routes): abstract removable routes code to a separate local fn 4 years ago
Julian Lam 1f28713f1a refactor(remountable-routes): rename `src/routes/accounts.js` to `src/routes/user.js` to better match the route prefix 4 years ago
Julian Lam bc68e990af fix(remountable-routes): bug with user routes remounting to itself 4 years ago
Julian Lam 9021f071d4 feat(remountable-routes): allow category and account routes to be remounted 4 years ago
Julian Lam f01af62b53 feat(remountable-routes): allow /admin and /post to be remountable 4 years ago
Julian Lam 92758ec50d refactor(remountable-routes): allow certain route prefixes to be mounted elsewhere 4 years ago
Barış Soner Uşaklı 765db86d4e fix: clear category cache on copy parent 4 years ago
Barış Soner Uşaklı ed3e9ce2e2 fix: delete category cache key on category create 4 years ago
Barış Soner Uşaklı c61cc37bba fix: typo 4 years ago
Barış Soner Uşaklı cf4002bcc9 perf: cache base_url 4 years ago
Barış Soner Uşaklı 5ce2820799 perf: single call to get digest topics, dont send duplicate topics 4 years ago
Barış Soner Uşaklı 90d5c9da44 perf: single db call to add all uids 4 years ago
Barış Soner Uşaklı a5fa212fc7 fix: wait for event.log to finish before killing process 4 years ago
Barış Soner Uşaklı 0185ea1b4f perf: make digests a little bit faster
and use batch.processArray
dont load data for users who have no email or have not confirmed their emails
4 years ago
Barış Soner Uşaklı b6493f896f fix: tests, only generate csrf_token on 404 gets 4 years ago
Barış Soner Uşaklı 94f72d6093 fix: #9287, generate csrf_token on 404 4 years ago
Julian Lam 783786cf8c fix: do not blindly escape a notification's bodyLong
For 7+ years we were escaping this value, but it is in many cases already sanitized (as it may be a post content). For those cases when it is not, I now run it through parse.raw.

Instead of escaping, it now strips p, img, and a tags.
4 years ago
Barış Soner Uşaklı 670cde78da feat: add invalid event name to error message 4 years ago
Peter Jaszkowiak cc9d6fd08b chore: eslint max-len 4 years ago
Peter Jaszkowiak 5c2f0f0557 chore: eslint no-restricted-syntax 4 years ago
Peter Jaszkowiak 115d19e289 chore: eslint prefer-rest-params, prefer-spread 4 years ago
Peter Jaszkowiak 23f212a4c0 chore: eslint prefer-destructuring 4 years ago
Peter Jaszkowiak 8d1462ffd8 chore: eslint object-curly-newline 4 years ago
Peter Jaszkowiak 62869bae3d chore: eslint function-paren-newline 4 years ago
Peter Jaszkowiak dab3b23575 chore: eslint no-var, vars-on-top 4 years ago
Peter Jaszkowiak b56d9e12b5 chore: eslint prefer-arrow-callback 4 years ago
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template 4 years ago
Peter Jaszkowiak 4ee0f1459d chore: eslint import/newline-after-import 4 years ago
Peter Jaszkowiak dad01e3051 chore: eslint no-bitwise 4 years ago
Barış Soner Uşaklı fca17cb713 fix: move service worker back to relative_path/service-worker.js 4 years ago
Barış Soner Uşaklı a4878a5b22 fix: markread selector 4 years ago
Barış Soner Uşaklı 7eebcbdbbc perf: only load thumbs for topics that actually have thumbs 4 years ago
Barış Soner Uşaklı 47299ea587
Categories refactor (#9257)
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft

* feat: new category filter/search WIP

* feat: remove categories from /tag

* fix: dont load all categories when showing move modal

* feat: allow adding custom categories to list

* breaking: dont load entire category tree on post queue

removed unused code
add hooks to filter/selector
add options to filter/selector

* feat: make selector modal work again

* feat: replace old search module

* fix: topic move selector

* feat: dont load all categories on create category modal

* fix: fix more categorySelectors

* feat: dont load entire category tree on group details page

* feat: dont load all categories on home page and user settings page

* feat: add pagination to /user/:userslug/categories

* fix: update schemas

* fix: more tests

* fix: test

* feat: flags page, dont return entire category tree

* fix: flag test

* feat: categories manage page

dont load all categories
allow changing root category
clear caches properly

* fix: spec

* feat: admins&mods page

dont load all categories

* fix: spec

* fix: dont load all children when opening dropdown

* fix: on search results dont return all children

* refactor: pass all options, rename options.cids to options.selectedCids

* fix: #9266

* fix: index 0

* fix: spec

* feat: #9265, add setObjectBulk

* refactor: shoter updateOrder

* feat: selectors on categories/category

* fix: tests and search filter

* fix: category update test

* feat: pagination on acp categories page

show order in set order modal

* fix: allow drag&drop on pages > 1 in /admin/manage/categories

* fix: teasers for deep nested categories

fix sub category display on /category page

* fix: spec

* refactor: use eslint-disable-next-line

* refactor: shorter
4 years ago
Barış Soner Uşaklı e40af441c9
fix: cache key collision 4 years ago
Julian Lam a6fa351b72 feat: pass req.session into buildReqObject 4 years ago
Julian Lam 4f97639009 feat: new hook `action:login.continue` 4 years ago
Julian Lam 67e3fb6498 fix: register returnTo logic to match login route
Login route saves the previous page by checking for the X-Return-To header. This header is automatically set by ajaxify.
Login takes this value and saves it to `req.session`.

Up until now, `/register` saved the previous URL in a hidden input, and redirected based on that value, but it occasionally conflicted with req.session.returnTo. It was also confusing because it did not match how login handled the values.

This commit updates the route handling so it works identically to `/login`.
4 years ago
Julian Lam 492cbc6227 fix: tests
/cc @pitaj
4 years ago
Peter Jaszkowiak 5e5d37c38f
fix(#9252): pass site domain to nodemailer (#9254) 4 years ago
Julian Lam f79aeef889 fix: posts.uploads.sync dissociates uploaded thumbs of the main pid 4 years ago
Julian Lam c729adeb08 fix: privileges page - tweak icon position and width, group name wrapping 4 years ago
gasoved 970bd06fd2 refactor: improvements 4 years ago
gasoved 53e0d4d2e0 feat: banned-users group 4 years ago
gasoved cabec378f4 fix: openapi test specs 4 years ago
gasoved 7c9674de6c fix: include admins 4 years ago
gasoved a2a7557cc0 refactor: update dom after diff deletion better 4 years ago
gasoved eaf9d2e44a fix: include admins, limit to category mods, correct privilege name 4 years ago
gasoved 72b050b4a8 test: post diff deletion tests 4 years ago
gasoved eb642f40b9 feat: #9109, ability to delete a post's diffs 4 years ago
Barış Soner Uşaklı fffdc4e0ca feat: #9234, add pagination to /api/recent/posts/:term? 4 years ago
Opliko 2bc74cffe6
fix: #9127, scope service worker to relative_path for the forum (#9239)
Adds a `Service-Worker-Allowed` header on `assets/src/service-worker.js` URL and uses `scope` option during registration to ensure the service worker is correctly scoped to the entire forum and only the forum.
4 years ago
Barış Soner Uşaklı d1364c3130
Categories refactor (#9233)
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft
4 years ago
Julian Lam d6f60f4502 fix: broken test after sorted-lists logic change 4 years ago
Julian Lam d5d24594e8 feat: allow sorted-lists on multiple pages
If multiple sorted-lists were on separate pages, saving one page would erase the sorted-lists saved on the other page. This was caused by naive deletion of the sorted-lists index on settings save.

At the same time, a bug was found where if fewer items were passed in, only that many items were removed from the database, leaving leftover orphan data in the database.

The logic now:

- Only removes sorted-lists if they are passed in (and empty)
- Deletes all sorted list items, not just the items passed in.
4 years ago
Barış Soner Uşaklı 9834f72fc7 fix: clear all locks on restart 4 years ago
Barış Soner Uşaklı f6cd2862bd feat: #9232, add profile picture into exported zip 4 years ago
Julian Lam a8be6fb8fb fix: regression where `filter:settings.set` no longer received sorted-lists 4 years ago
Barış Soner Uşaklı 5bc1f5b4e8 fix: #9231, fix redis pubsub connection
regression from fdfbc90255
4 years ago
Julian Lam 05c53394f3 fix: tests 4 years ago
Julian Lam 7419922040 fix: improper override of req.body.username in login logic 4 years ago
Julian Lam b820d23401 feat: new hook `filter:login.override`, deprecate `action:auth.overrideLogin` 4 years ago
Julian Lam 473d5f4aba fix: full settings hash not passed through to action:settings.set
The sorted lists were being filtered out
4 years ago
Julian Lam eb96046e97 Revert "refactor: use Map to track sorted lists in Settings.set()"
This reverts commit 65de2e76b4.
4 years ago
Julian Lam 65de2e76b4 refactor: use Map to track sorted lists in Settings.set() 4 years ago
Baris Usakli a5bf9779fd fix: #9223, don't overwrite stmp settings 4 years ago
Julian Lam 3052256db3 chore: deprecation notices for plugins using plugin old hook methods 4 years ago
Julian Lam 15ba0abb34 docs: update deprecation-removal version for plugin hook helper methods in 1.18.0 4 years ago
Barış Soner Uşaklı e8429f509b fix: handle delete and update for categories:name zset 4 years ago
Barış Soner Uşaklı 34c42c6fa3 feat: ability to search categories, #8813 4 years ago
Barış Soner Uşaklı a1c014462c revert: bring back backwards compat 4 years ago
Barış Soner Uşaklı 647d3ba810 fix: removed methods 4 years ago
Julian Lam fb84c78544 chore: remove deprecated `User.emailConfirm` [breaking]
Use `User.email.confirmByCode` instead.
4 years ago
Julian Lam 5a775e09dc chore: remove deprecated plugin hook `filter:privileges:isUserAllowedTo` [breaking]
Use `filter:privileges:isAllowedTo` instead.
4 years ago
Julian Lam d41de481a4 chore: remove deprecated plugin hook methods [breaking]
Call plugins.hooks.fire() instead.
4 years ago
Julian Lam cc0d562e9a chore: more removals of thumb specific backwards-compatibility [breaking] 4 years ago
Julian Lam 5f9f241e37 chore: remove deprecated `filter:admin/header.build` hook [breaking]
Use `filter:middleware.renderAdminHeader` instead.
4 years ago
Julian Lam 84dfdfe659 chore: remove deprecated v2 style responses for thumbs upload route [breaking] 4 years ago
Julian Lam 2ad0d0d0d8 chore: remove deprecated getObject routes [breaking]
`/api/post/pid/:pid`, `/api/topic/tid/:tid`, `/api/category/cid/:cid` have now been removed in favour of routes in the Write API (`/api/v3/(posts|topics|categories)/:id`)
4 years ago
Julian Lam 7b090c588b fix: incorrect return for Thumbs.get() if thumbs were disabled 4 years ago
Julian Lam dc84559d0b feat(topic-events): topic events GET route in write API 4 years ago
Julian Lam 449c379d22 feat(topic-events): server-side tests for topic events 4 years ago
Julian Lam 0d4a377558 feat(topic-events): clear out topic events when a topic is purged 4 years ago
Julian Lam 8e93bf7362 feat(topic-events): client-side handling on topic event log 4 years ago
Julian Lam df2fdd56ba fix(topic-events): repeated invocations of Posts.addTopicEvents caused dupes to be added to DOM 4 years ago
Julian Lam cec3fc934d refactor(topic-events): break out some logic in events.get into local modifyEvent method
+ events.log now returns a complete event object
4 years ago
Julian Lam 611d1f872d feat(topic-events): support for uids in topic event payloads 4 years ago
Julian Lam 425eca145b refactor(topic-events): fire topic event logging in topics/tools instead, pass uid into payload 4 years ago
Julian Lam ab2e1ecb40 feat(topic-events): work in progress topic events logic and client-side implementation 4 years ago
Julian Lam 8ff07bc196 fix: update js concatenation logic to bundle scripts.rjs into minfile regardless of build environment
The slowdown is fairly insignificant (< .1s), and the only change is the minified file is identical across environments, which is better from a debugging standpoint
4 years ago
Julian Lam 412d285850 fix(hooks): fallback handling for core invocations of hooks.fire
+ .on() which is the same as .register()
4 years ago
Julian Lam f975063b7d fix: #7125, allow list for page route, configurable via plugin hook 4 years ago
Julian Lam 8b72479f62 fix: remove 'filters' and 'categories' from flag details API return [breaking]
These options were originally used when the flag filters were shown in the sidebar. This has seen been removed, and so the information is now superfluous
4 years ago
Julian Lam 1603566bcc fix: filtering logic of flags [breaking]
When combining filters, the old logic assumed that every filter was
exclusive, unless that filter contained multiple items, in which
case it was added to a list of "or" filters that returned all
matching flags.

A fault was discovered in that if you passed in multiple "or"
states, it did not return flags with the expected filtering.

e.g. open flags, closed flags, flags of cid 1, flags of cid 2

This could return open flags of cid 3, since all of the filters
were "OR"'d.

This logic change updates the behaviour so disparate OR sets are
intersected (ANDed).
4 years ago
Julian Lam 942d924779 fix: error on flag list if no flag filters were saved in session 4 years ago
Julian Lam 6b1c97db79 feat: feature flag for auto-resolving a user's flags on ban [breaking]
The default behaviour has now been changed to 'off'. Going forward, a user's flags will no longer automatically resolve on ban.
4 years ago
Julian Lam 35c92d0cff fix: mod cid filter accidentally saved in session 4 years ago
Julian Lam 27cae0d5d8 fix: missing return for #9217 4 years ago
Julian Lam b2b1450e5d fix: #9217, render 400 error page on bad access to /register 4 years ago
Barış Soner Uşaklı 78896fc623 fix: redis check compat tests 4 years ago
Barış Soner Uşaklı fdfbc90255 feat: async/await redis connection 4 years ago
Barış Soner Uşaklı 33bf1b0e2c feat: async/await psql connection 4 years ago
Barış Soner Uşaklı 672959c13f feat: add group name to csv event 4 years ago
Julian Lam a186ea0fe3 fix: registration completion overriding returnTo if it was already set 4 years ago
Julian Lam 280285cda9 feat: allow interstitial callbacks to be async functions [breaking]
This change is breaking in the sense that if you have written
interstitial callbacks before that are async functions _with_ a
callback, those are no longer allowed. You will not need to call
next() as that argument will no longer be passed in to async
functions.
4 years ago
Barış Soner Uşaklı 5c1b742979 fix: add missing user delete event types 4 years ago
Barış Soner Uşaklı 7fb583dcfd Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı c608b0e8a3 fix: https://github.com/NodeBB/nodebb-plugin-webhooks/issues/3 4 years ago
Julian Lam d85ad10d34 fix: restored sanity checks for post move socket calls 4 years ago
Julian Lam 966c4117ec refactor(api): post move to write API 4 years ago
Julian Lam e118e59ce0 refactor(api): post diffs to use write API 4 years ago
Barış Soner Uşaklı c2e2370655 feat: add filter:email.cancel to allow plugins to cancel sending emails 4 years ago
Julian Lam f5fcd232f6 fix: regression caused by 77ab46686d
Access checks were added for topic GET route, but occasionally a post_uuid is passed in, which is available to everyone, and so checks should be skipped
4 years ago
Barış Soner Uşaklı 4fb907875e
fix: don't crash if fullname is not a string
https://community.nodebb.org/topic/15291/upgrade-error-fullname-substr-is-not-a-function
4 years ago
Barış Soner Uşaklı 1374e0eeba refactor: change var to const 4 years ago
Barış Soner Uşaklı 00ba89b6d6 fix: #9204, bypass groupname length check for system group in upgrade script 4 years ago
Barış Soner Uşaklı 9938a139fe fix: add missing await 4 years ago
Barış Soner Uşaklı 25ab99b91d refactor: single remove call 4 years ago
Julian Lam ab11435ed5 feat: grant plugins the ability to specify options to the SSO handler
... to be handled in the plugin itself (overriding the passport prototype's authorizationParams method)

+ new hook filter:auth.options
4 years ago
Julian Lam 9b289eca9d fix: ssoState passed to strategies even if not called for 4 years ago
Julian Lam 77ab46686d fix: access checks for tags and thumbs get route 4 years ago
Julian Lam c0fb1cb59c fix: #9194 global mods unable to pin or unpin topics 4 years ago
Barış Soner Uşaklı ef16cd2e6f fix: #9192, exit after logging error 4 years ago
gasoved 69419571a9 fix: make sure inviter user exists 4 years ago
Barış Soner Uşaklı 89e6c75d58 fix: #9185, fix string boolean values 4 years ago
Julian Lam 66da6bcd1c fix: #9184 proper relative_path usage in topic thumbs.get 4 years ago
Julian Lam b742229e59 fix: #9169, re-adding v2-style behaviour so as to not break the API... yet 4 years ago
Barış Soner Uşaklı aa95cc7d60 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı eaf62d39fd fix: #9177, handled multiple deleted users properly 4 years ago
Julian Lam 4ede18ce5f fix: broken test caused by errant .pop(), missing await 4 years ago
Julian Lam c07e1e16af feat: add unread-count badge if navigator contains /flags route 4 years ago
Julian Lam 6a1311b4bc refactor: flags lib to have a separate getFlagIdsWithFilters method
added quick filter for unresolved flags
4 years ago
Julian Lam 6cb5888c13 fix: unescape header navigation originalRoute [breaking] 4 years ago
Julian Lam 03a0e72fae refactor: split out logic dedicated to calculating unread counts, to a separate local method 4 years ago
Manuel Valle e14b67786c
Solve Custom home page route error bug (#9180)
When you select Custom Route as home you get a 404 error "/custom not found" error.
This because 'homePageRoute' property was used instead of 'homePageCustom'
4 years ago
Barış Soner Uşaklı 7069735aa2 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı da54697075 fix: #9176, limit description size 4 years ago
Julian Lam 97d678fd2a fix: return a user object, not an array of user objects (in v3 login check route) 4 years ago
Julian Lam 8c86f5bcec fix: bad execution flow in utilities.login 4 years ago
Julian Lam 534224133b fix: random loadFiles added by errant vscode autocompletion 4 years ago
Julian Lam 8bbb320867 feat: handle HTTP 429 as a response code 4 years ago
Julian Lam 56f929ed4f feat: add write API route for checking login credentials 4 years ago
Julian Lam 1cf0032d9f feat: allow override of local fns in login controller, 400 instead of 500 for wrong login type [breaking] 4 years ago
Barış Soner Uşaklı 6cbb77afda fix: add missing breadcrumb on /user/<slug>/categories 4 years ago
Barış Soner Uşaklı f0dd302c77 perf: use only required calls 4 years ago
Peter Jaszkowiak a51c5698c7 fix: `--help` usage info
yargs (via nconf) would exit when detecting a help flag

also improves the speed of `./nodebb help build`
4 years ago
Julian Lam 171017c38c fix: #9130, remove timestamp prefix from thumbnail names in API response 4 years ago
Barış Soner Uşaklı 8c31afae7d feat: #9173, show installed plugin versions in ./nodebb plugins 4 years ago
Julian Lam b9ba44edd7 fix: #9166 missing relative path in topic thumbs modal and topic list 4 years ago
Barış Soner Uşaklı 1968bf50f1 fix: #9163, fix total connection count on ACP
sockets.sockets is a JS map in 3.x
4 years ago
Julian Lam edb8da1ef9 feat(api): closes #9123 category and topic routes migrated to Write API 4 years ago
Julian Lam 9ecfac9b68 feat(api): #9123, migrate rest of the getObject controllers to Write API 4 years ago
Julian Lam cdff8d286a chore(api): add deprecation notices re: #9123 4 years ago
Julian Lam e267f29584 feat(api): #9123, migrate /api/post/pid/:pid to Write API 4 years ago
Barış Soner Uşaklı 33290850ee fix: #9126, skip base64 and long values 4 years ago
Barış Soner Uşaklı c1ecfd1ebf feat: #9135, don't try to reconnect forever 4 years ago
Julian Lam a555f02415 fix: inability for admins with setting privilege to save plugin settings 4 years ago
Julian Lam 895e3d939e fix: #9149, server-side handling of disableChatMessageEditing 4 years ago
Julian Lam d27815a8c0 fix: #9149, incorrect client-side `disableChatMessageEditing` value for admins/gmods 4 years ago
Julian Lam 2874036024 fix: tests 4 years ago
Julian Lam 223f0a5515 feat(acp): admin tags privilege 4 years ago
Julian Lam fb46a8d975 feat(acp): admins-mods privilege 4 years ago
Julian Lam 5b8558e9a5 feat: allow dashes in privilege group names 4 years ago
Julian Lam 3aa5beb832 feat: allow multiple privileges to be defined for a given admin socket call 4 years ago
Barış Soner Uşaklı fcc1e24ad0 feat: rename admin middleware header hook 4 years ago
Julian Lam da191341e8 feat(acp): added new admin privilege for groups management 4 years ago
Julian Lam 80ee3dfbd1 fix(api): tests 4 years ago
Barış Soner Uşaklı 931105e6cb fix: dont show deleted posts in navigator 4 years ago
Julian Lam 32e36f7b2e feat(api): group ownership API route, switch client-side to use API route 4 years ago
Julian Lam 1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib 4 years ago
Julian Lam 34ccabe3ab fix: bad assignment logic in middleware.renderHeader 4 years ago
Julian Lam 75b1bbd09f feat: explicitly add filter:admin/header.build hook
As it is not fired during middleware.processRender
4 years ago
Julian Lam 05d8b3c339 chore: add deprecation notice to topic thumb tpl value 4 years ago
Julian Lam da4f91186b fix: #9113, wrong path separator used in thumbs.get 4 years ago
Peter Jaszkowiak 2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
4 years ago
Julian Lam 713f029dc8 fix: removing ability to specify deprecated topic 'thumb' on topic creation 4 years ago
Julian Lam 600807fbe1 fix: don't return deleted: 0 for ephemeral groups 4 years ago
Julian Lam 438fa5c88f fix: send fewer items to client-side for ACP settings/email page 4 years ago
Julian Lam 878ee06715 refactor: schema backreference test to use map instead of reduce, properly check write-api routes 4 years ago
Barış Soner Uşaklı a2152dd100 feat: update html-to-text closes https://github.com/NodeBB/NodeBB/pull/8810 4 years ago
Barış Soner Uşaklı 4404e32ed9 fix: #9117, lower query before search 4 years ago
Barış Soner Uşaklı ab96f526d6 feat: remove max age since cache is cleared when thumbs change 4 years ago
Barış Soner Uşaklı 2d5a224b06 perf: don't load thumbs if disabled globally, cache thumb results 4 years ago
gasoved d28581eb6a
feat: show alt text instead of images in teasers (#9107)
* feat: show alt text instead of images in teasers

* refactor: from utils to local function
4 years ago
Barış Soner Uşaklı 8f938eba19 fix: #9074, fix svg uploads 4 years ago
Julian Lam ab98740821 fix: #9100 topic thumbs in OG image tags 4 years ago
Julian Lam 74d73313fd feat: migration of old topic thumbs to new format
closes #9099
4 years ago
Julian Lam 378a3a6945 fix: update version removal comments to 1.17 for some features 4 years ago
Julian Lam 4c87f30184 feat: allow plugins to override ACP relogin challenge
- used in 2factor
4 years ago
Barış Soner Uşaklı 80de572aa1 feat: add user.email.confirmByUid for sso plugins 4 years ago
Julian Lam 05dd859714 fix: postgres is slow™️ 4 years ago
Julian Lam 9f62df15bd chore: appease codeclimate 4 years ago
Julian Lam 24e754d120 feat: add thumbs to category data return 4 years ago
Julian Lam edf67f349f fix: use getSortedSetRange instead of getSortedSetsMembers 4 years ago
Julian Lam bd5c4a5cff fix: tests 4 years ago
Julian Lam e83baa97a0 fix: bad topic thumbs logic on local thumb upload 4 years ago
Julian Lam 3e54b70c06 fix: #9092, Topic thumbnails do not work with third-party uploaders 4 years ago
Julian Lam 2170c40007 fix: iteration logic bug 4 years ago
Julian Lam 9342d611be fix: enable topic thumbnails across the board [breaking] 4 years ago
Julian Lam a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes #9087
4 years ago
Julian Lam 67cf5e83b7 fix: changes to thumb resizing logic
- Resized thumb no longer skews aspect ratio
- Thumbs resized down to maximum thumb size by WIDTH only
- image.checkDimensions() now returns dimensions
4 years ago
Julian Lam 37c367d6ff feat: raise maximum thumb size to 512 4 years ago
Julian Lam 1c5cdb5121 feat: associate topic thumbs with post uploads (for the mainPid) 4 years ago
Julian Lam 08736b1812 fix: use file lib instead of direct fs module access 4 years ago
Julian Lam c043cfebd6 fix: added back missing topic thumb tests that were removed in last commit 4 years ago
Julian Lam 340387c18a fix: #9055, non-standard API response from addThumbs route
Also removed old thumb upload router handler, and updated uploadPost handling in composer to match new response schema
4 years ago
Julian Lam c09c238e3f fix: do not allow thumb deletion route to arbitrarily delete other files in uploads folder 4 years ago
Julian Lam 5950683316 feat: closes #9048, tests for topic thumbs routes, write API schema 4 years ago
Julian Lam 4152aa552e feat: tests for topic thumbs
Also added some error checking to addThumbs controller
4 years ago
Julian Lam ef7d6db912 feat: server-side work for #9047
- rename Thumbs.commit to Thumbs.migrate
- new PUT method that calls Thumbs.migrate
- `checkThumbPrivileges` now takes a single object parameter (ins. of req/res)
4 years ago
Julian Lam b5d910f53b feat: core work for #9042, thumb deletion now accepts uuids
+ common data validation for thumb addition and deletion
4 years ago
Julian Lam 1f0c1cd229 fix: references to since-removed Topics.thumbs.resizeAndUpload 4 years ago
Julian Lam 90497e3ef5 feat: more work on topic thumbs refactor
- addThumb and deleteThumb are now protected routes (duh)
- new getThumbs route GET /api/v3/topics/<tid>/thumbs
- Updated `assert.path` middleware to better handle if relative paths are received with upload_url
- Slight refactor of thumbs lib to use validator to differentiate between tid and UUID
4 years ago
Julian Lam 43dc3e3e48 fix: #9041, remove Topics.thumbs.resizeAndUpload() 4 years ago
Julian Lam 708b1c338f fix: #9040 4 years ago
Julian Lam 1257aa981e feat: expose uploaded thumbnails to client-side via API
+ plugin hook: filter:topics.getThumbs
4 years ago
Julian Lam 7e9e08f718 feat: server-side routes for handling multiple topic thumbnails
closes #8994, requires 'topic-thumb-refactor' branch of composer-default
4 years ago
Julian Lam 98cd9e3549 feat: allow uploadThumb controller to be called in code
it, and uploadsController.upload() now return the results of their operation
4 years ago
Julian Lam 4fc9da81a9 refactor: topic thumbs lib to topics.thumbs 4 years ago
Barış Soner Uşaklı 0f480be658 fix: #9085, dont prevent admins from deleting other users 4 years ago
Julian Lam efa4eca0fe fix: #9045, no post usage info if '/files/' path received 4 years ago
Barış Soner Uşaklı 60e7de0d13 feat: move upgrade script and make it shorter 4 years ago
Julian Lam 6037f5ee2c chore: add comment for clarification 4 years ago
Barış Soner Uşaklı 1f32d38778 fix: default values, clamp postsPerPage/topicsPerPage to max 4 years ago
Barış Soner Uşaklı 9da0ed400e fix: #9081, load raw settings before merging 4 years ago
Barış Soner Uşaklı bb6cc49c16 perf: dont build identical langs 4 years ago
Barış Soner Uşaklı 86f0f82be7 fix: #9068 4 years ago
Barış Soner Uşaklı 4a0d883359 breaking: #8808, remove utils.slugify 4 years ago
Barış Soner Uşaklı 1c45fa1ba5
feat: socket.io 3 changes (#8845)
* feat: socket.io 3 changes

* feat: replace socketio-wildcard with socket.onAny

up socket.io-redis to 6.x

* feat: remove mongodb/psql socket.io adapters

* feat: show data on fail

* fix: tests

* fix: typo

* fix: logger test fix

* fix: logger.io_close

* chore: up deps

* chore: update readme to reflect redis requirement

* fix: increase timeout show data if test fails
4 years ago
Barış Soner Uşaklı d2888d1d1f
Category tags (#8938)
* feat: wip category tags

* fix: tag search

* feat: remove debug

* fix: returns of searchTags and autocomplete

* fix: alpha sort

* fix: redis

* fix: delete zsets on category purge, fix another test

* fix: test
4 years ago
Barış Soner Uşaklı 792e9e703e fix: dont strip tags 4 years ago