Commit Graph

2114 Commits

Author SHA1 Message Date
Julian Lam
b5d910f53b feat: core work for #9042, thumb deletion now accepts uuids
+ common data validation for thumb addition and deletion
2020-12-09 10:42:41 -05:00
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
2020-12-09 10:42:41 -05:00
Julian Lam
708b1c338f fix: #9040 2020-12-09 10:42:41 -05:00
Julian Lam
7e9e08f718 feat: server-side routes for handling multiple topic thumbnails
closes #8994, requires 'topic-thumb-refactor' branch of composer-default
2020-12-09 10:42:41 -05:00
Julian Lam
98cd9e3549 feat: allow uploadThumb controller to be called in code
it, and uploadsController.upload() now return the results of their operation
2020-12-09 10:42:41 -05:00
Julian Lam
efa4eca0fe fix: #9045, no post usage info if '/files/' path received 2020-12-08 08:58:19 -05:00
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
2020-12-06 12:36:40 -05:00
Barış Soner Uşaklı
648f6215ef fix: redirect external with absolute urls 2020-12-03 17:20:03 -05:00
Barış Soner Uşaklı
458bfc0faf fix: external path for subfolder installs 2020-12-03 14:52:27 -05:00
Barış Soner Uşaklı
64ac483ddd fix: #9032 2020-12-03 13:51:22 -05:00
Barış Soner Uşaklı
5d00b0895b fix: sso redirect on /login & /api/login 2020-12-03 10:29:18 -05:00
Barış Soner Uşaklı
6f68f4d20a fix: #9032, fix login redirect for sso plugins 2020-12-02 12:42:21 -05:00
Barış Soner Uşaklı
5f0f476b57 feat: #9005, use timestamp in profile/cover images
delete current one if keepAllUserImages is turned off
fix typo in data
2020-12-01 20:24:22 -05:00
Barış Soner Uşaklı
954dc5b7be feat: #8983, update pin tooltip in topic 2020-12-01 16:25:13 -05:00
Barış Soner Uşaklı
1eb5fabdb1 feat: #8900, postQueue setting for category 2020-11-30 22:36:30 -05:00
Barış Soner Uşaklı
202dcef42e fix: #9010, show rest of info even if clusterMonitor priv is not granted 2020-11-30 15:23:37 -05:00
Julian Lam
acb576662e fix(spec): from 6e6a7a8f8a 2020-11-27 15:51:56 -05:00
Barış Soner Uşaklı
6e6a7a8f8a fix: #8969, export csv to file 2020-11-27 15:38:22 -05:00
Julian Lam
007a3258a0 feat: add handler for 501 api response 2020-11-27 15:13:33 -05:00
Barış Soner Uşaklı
bf171adc83 fix: #8979 2020-11-27 12:26:45 -05:00
Julian Lam
1e7cf1cbc4 fix: #8971, disallow flags of privileged users (mods, gmods, admins) 2020-11-27 11:54:32 -05:00
Barış Soner Uşaklı
b8cafefce2 fix: winston usages 2020-11-26 13:56:34 -05:00
Julian Lam
906d7d734b refactor: move API banned response handler to separate internal method 2020-11-24 13:28:05 -05:00
Julian Lam
afb26bfe48 feat: show ban reason and expiry in write api responses, if user is banned 2020-11-24 10:26:14 -05:00
Julian Lam
6e5ec3f895 feat: automatically unban users in onSuccessfulLogin
This allows write API (and probably SSO login) to go through unimpeded if a user's ban has expired. Closes nodebb/nodebb-plugin-write-api#126
2020-11-23 16:06:06 -05:00
Barış Soner Uşaklı
77f0bff54f fix: #8929, fix popular, top rss feed urls 2020-11-23 14:36:02 -05:00
Barış Soner Uşaklı
b18e7e319b fix: spec 2020-11-23 14:18:47 -05:00
Barış Soner Uşaklı
3f337b5d7c feat: #8925, #8924 2020-11-23 13:58:44 -05:00
Barış Soner Uşaklı
5fa098326f fix: https://github.com/NodeBB/NodeBB/pull/8685
fix category link redirect on cold load
fix helpers.redirect if passed in url is external
fix ajaxify so it doesn't slice first character of external url
2020-11-23 12:25:57 -05:00
Barış Soner Uşaklı
9ee1fb490e fix: https://github.com/NodeBB/NodeBB/pull/8759 2020-11-23 11:18:42 -05:00
Barış Soner Uşaklı
672d4da078 feat: human readable uptime 2020-11-21 23:34:12 -05:00
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Julian Lam
046d0b1637 feat: allow pins to expire (if set) (#8908)
* fix: add back topic assert middleware for pin route

* feat: server-side handling of pin expiries

* refactor: togglePin to not require uid parameter [breaking]

* feat: automatic unpinning if pin has expiration set

* feat: client-side modal for setting pin expiration

* refactor: categories.getPinnedTids to accept multiple cids

... in preparation for pin expiry logic, direct access to *:pinned zsets is discouraged

* fix: remove references to since-removed jobs file for topics

* feat: expire pins when getPinnedTids is called

* refactor: make the togglePin change non-breaking

The 'action:topic.pin' hook now sends uid again, as before. However, if it is a system action (that is, a pin that expired), 'system' will be sent in instead of a valid uid
2020-11-20 11:31:14 -05:00
Barış Soner Uşaklı
8d060065a0 fix: spec 2020-11-18 23:24:51 -05:00
Barış Soner Uşaklı
e9585b9be2 fix: group userTitles translation escapes 2020-11-18 23:07:38 -05:00
Julian Lam
a0b7a82350 feat(api): account deletion routes for the Write API (#8881)
* feat(api): account deletion routes for the Write API

* refactor: rewrite client-side calls to account deletion to use api

* style: apply DRY
2020-11-17 17:29:50 -05:00
Barış Soner Uşaklı
120999bf63 feat: #7550, show message if post is queued when js is disabled 2020-11-17 14:47:06 -05:00
Barış Soner Uşaklı
35f932cd64 feat: #8171, add oldCategory if topic is moved 2020-11-17 13:56:04 -05:00
Barış Soner Uşaklı
1d6bcbebde feat: https://github.com/NodeBB/NodeBB/issues/8147 2020-11-16 21:31:55 -05:00
Julian Lam
e1d7c4d8aa fix: internal helper method hasGlobalPrivilege, DRY 2020-11-16 15:42:39 -05:00
gasoved
3ccebf112e feat: invites regardless of registration type, invite privilege, groups to join on acceptance (#8786)
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

* refactor: use GET /api/v3/users/:uid/invites/groups

Instead of GET /api/v3/users/:uid/inviteGroups

* fix: no need for /api/v3 prefix when using api module

* fix: tests

* refactor: change POST /api/v3/users/invite

To POST /api/v3/users/:uid/invites

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

* fix: move invite groups controller to write api, +tests

* fix: tests

Co-authored-by: Julian Lam <julian@nodebb.org>
2020-11-16 14:47:23 -05:00
Barış Soner Uşaklı
e4d2764d4c fix: #8884, remove header/footer cache 2020-11-15 16:43:06 -05:00
Barış Soner Uşaklı
5598130a92 refactor: async/await controllers/index.js 2020-11-14 20:18:47 -05:00
Barış Soner Uşaklı
f14e42d8bc fix: #8883 2020-11-14 19:56:01 -05:00
Barış Soner Uşaklı
51b7eca119 fix: run every hour, dont show message if average_time is 0 2020-11-12 22:23:50 -05:00
Opliko
04f4429f72 Resolve #7514 - optional timer for registration queue (#8796)
* feat: #7514 Optional timer for registration queue

* feat: show minutes in average time

* fix: don't show total number of minutes

* feat: implement requested changes

* fix: just store minutes instead of milliseconds

* feat: set default values
2020-11-12 22:23:07 -05:00
Barış Soner Uşaklı
567c5f2056 fix: #8869, dont escape category title,description twice 2020-11-11 12:48:22 -05:00
Julian Lam
f300c933a5 refactor: move session revocation route to write api 2020-11-10 14:27:38 -05:00
Barış Soner Uşaklı
2e44639210 fix: guest header/footer cache
allow clearing individual caches
2020-11-07 22:06:25 -05:00
Barış Soner Uşaklı
f1f9b225b0 feat: #8824, cache refactor (#8851)
* feat: #8824, cache refactor

ability to disable caches
ability to download contents of cache
refactor cache modules to remove duplicated code

* fix: remove duplicate hit/miss tracking

check cacheEnabled in getUncachedKeys
2020-11-06 23:13:12 -05:00