Commit Graph

57 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
84e065752f fix: #9622 (#9623)
dont allow regular user to remove system tags
2021-06-22 11:09:32 -04:00
Julian Lam
ec6d1e2321 fix: #9507 session reroll causes socket.io to become confused (#9534)
* fix: #9507 session reroll causes socket.io to become confused

* fix: added return

* fix: simpler logic for error handling

* fix: overly sensitive catch
2021-05-10 11:22:37 -04:00
psychobunny
a9978fcfd2 feat: rate limit file uploads 2021-04-18 21:57:07 -04:00
gasoved
077330b764 feat: scheduled topics (#9399)
* feat: scheduled topics

* refactor: linting fixes

* fix: tests

* fix(test): race condition

* fix: make a single request
2021-03-24 14:28:02 -04:00
Barış Soner Uşaklı
0e07f3c9ba feat: allow defining a list of system tags 2021-02-17 14:44:04 -05:00
Barış Soner Uşaklı
670cde78da feat: add invalid event name to error message 2021-02-08 18:36:41 -05:00
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
2021-02-07 15:09:52 -05:00
Julian Lam
ab2e1ecb40 feat(topic-events): work in progress topic events logic and client-side implementation 2021-01-27 13:16:49 -05:00
Barış Soner Uşaklı
d83d40cf9b fix: missing error message 2021-01-08 12:01:44 -05:00
Julian Lam
e5edbc6faf feat: automatically attempt socket.io reconnection on ajaxify
Also, updated messaging and toaster to accurately reflect offline-mode state
2020-12-30 13:59:00 -05:00
Barış Soner Uşaklı
c1ecfd1ebf feat: #9135, don't try to reconnect forever 2020-12-28 11:44:14 -05:00
Barış Soner Uşaklı
0f480be658 fix: #9085, dont prevent admins from deleting other users 2020-12-09 10:15:30 -05:00
Barış Soner Uşaklı
b46d2f93e6 fix: #9019, add missing lang strings 2020-12-01 12:38:23 -05:00
Barış Soner Uşaklı
5080f35752 fix: #8991, logout on password reset, dont verify email if password expired
dont allow same password on reset
2020-11-29 21:55:07 -05:00
Julian Lam
1e7cf1cbc4 fix: #8971, disallow flags of privileged users (mods, gmods, admins) 2020-11-27 11:54:32 -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
Timothy Fike
f85fe7faff don't invite an already invited email (#8688)
* don't invite an already invited email

* add email-invited translation string
2020-09-27 22:11:25 -04:00
Julian Lam
5ddf70221c feat: upon plugin installation via ACP, check against nbbpm first 2020-09-24 15:06:47 -04:00
Julian Lam
bacee6b467 fix: missing localisation for topic move error 2020-08-25 21:40:40 -04:00
Julian Lam
e3e55f25d0 refactor: flag sanity checks, +feat: flag limits
- Added new config flag:limitPerTarget, to disallow flags after an item has
  already been flagged x times (default 0, or infinite)
- New zset flags:byTarget, score is the number of times a flag has been made
  against that item
- "already-flagged" translation key removed, now "post-already-flagged" or
  "user-already-flagged" -- this fixed bug where flagging a user you've already
  flagged would tell you you've already flagged this post already.
- Refactored Flags.canFlag to throw errors only, instead of returning boolean
- Updated ACP form inputs for reputation settings page to be more bootstrappy
- +1 upgrade script
2020-07-15 17:10:49 -04:00
Barış Soner Uşaklı
c513b88dff feat: #8427, daily downvote limits 2020-07-09 12:51:05 -04:00
Barış Soner Uşaklı
7ed002a138 fix: #6711 2019-11-25 13:25:29 -05:00
Julian Lam
645d647248 feat: wip, better digest handling (+ eventual digest resend logic) (#7995)
* feat: wip, better digest handling (+ eventual digest resend logic)

- await emailer.send call in digest.send method
- save send success to a new sorted set digest:{interval}:byUid

* feat: continuing work on digest tools

- Added ACP page to view digest settings and delivery times per user

* feat: added paginator and stub buttons for resending digest

* feat: wrapping up digest revamp

- New language strings in ACP digest page
- Client-side ACP script for digest ACP page
- Websocket call for ACP page to execute digests
- Broke out logic to retrieve user digest settings to getUsersInterval

* fix: minor cleanup

* fix: #8010 and some style suggestions from baris

* fix: resolve confusing comment
2019-11-02 13:11:02 -04:00
Barış Soner Uşaklı
babb9d7c55 fix: #7913, dont allow urls in fullname/location, validate birthday 2019-09-23 23:50:04 -04:00
Julian Lam
1796b65d34 feat: option to restrict group leaving, closes #7770 2019-09-05 12:01:42 -04:00
Julian Lam
0e8ee31b90 fix: #7601 removed check for another user when sending messages
This is an old check back when the sorted set that messages were
appended to depended on what users were in the chat room. Once
messages were refactored (in 2017) to use roomIds, this is no
longer a limitation of the platform and users should be free to
talk to themselves all they want.
2019-07-16 15:11:55 -04:00
Julian Lam
0c09b7402d feat: logging password resets and errors into event log
closes #7343, also adds tests for password reset socket calls
2019-02-08 10:51:10 -05:00
Julian Lam
33d4956b76 fix: #7087, server-side protection against guest blocks 2018-12-10 14:14:37 -05:00
Barış Soner Uşaklı
e55fb43703 fix: #7086 2018-12-08 19:36:38 -05:00
Barış Soner Uşaklı
b7ead6dc9c Replace jimp with sharp (#6774)
* add probe image size and max image size

* replace jimp and image-probe with sharp

* better name for test

* resize with just path

* resize thumb inplace

* use filename
2018-09-20 17:05:52 -04:00
Barış Soner Uşaklı
14d810c113 show error if cropper fails 2018-08-09 14:10:30 -04:00
Barış Soner Uşaklı
6940612688 closes #6410 2018-05-29 10:28:02 -04:00
Barış Soner Uşaklı
6eea11a4fd closes #6529 2018-05-28 13:30:11 -04:00
Julian Lam
8e275df803 closes #6487 2018-05-04 12:39:00 -04:00
Andrew Rodrigues
a3224cc4ba added missing language key 2018-04-18 18:04:05 -04:00
Barış Soner Uşaklı
5281b84521 add missing translation 2018-03-23 14:27:14 -04:00
Julian Lam
1ce448f2a1 Merge remote-tracking branch 'origin/master' into develop 2018-02-16 21:23:25 -05:00
Julian Lam
da3ce2e1d5 added error text for multiple associations 2018-02-14 10:38:01 -05:00
Julian Lam
457194b333 Merge branch 'master' into develop 2018-01-17 11:02:02 -05:00
Barış Soner Uşaklı
72140e5338 closes #5991, closes #5884 2018-01-12 17:29:47 -05:00
Julian Lam
82a95a03be Chat message soft deletion -- closes #6181
Squashed commit of the following:

commit f84c06bdcc45f24ef7ffde6a8f33b48d8f97fc36
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 14:42:47 2017 -0500

    added restore handler for chat messages

commit 725cd370c6ea1e8f4a28298350f3dc024d4e668e
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 14:23:52 2017 -0500

    backend logic and testing complete for deletion and restoration of chat messages

commit 072da758319cc93fa4c6f8bc0d672a1b716dc06e
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 13:52:35 2017 -0500

    changing message delete logic to not remove mids, but to filter when retrieving

commit 68bf373305ab82737658a7c31dc5549af4d6d69f
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 12:37:58 2017 -0500

    logic to handle deletion of a deleted chat message -- added some failing tests

commit 6899d0d234fa752e227188aa69cfcabd0d0500cc
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 11:35:36 2017 -0500

    chat message deletion logic
2017-12-18 14:45:06 -05:00
Barış Soner Uşaklı
108c3c980a show invalid url error if request.head fails 2017-12-14 18:07:32 -05:00
Barış Soner Uşaklı
99eb1d1785 closes #6163 2017-12-11 10:53:29 -05:00
Julian Lam
553f894540 error message for disabled SSO registration 2017-12-05 14:16:22 -05:00
Barış Soner Uşaklı
d9e115c3e6 closes #6146 2017-12-05 13:50:06 -05:00
Julian Lam
252f611481 changed error text wording 2017-11-22 11:59:49 -05:00
Muhammad Osama Arshad
64895310a9 fix #5973 2017-11-22 09:50:58 +05:00
Barış Soner Uşaklı
18f4f27fe0 closes #6024 2017-10-31 18:03:54 -04:00
Julian Lam
4c82539e83 updated goback text, #5922 2017-09-11 15:38:10 -04:00
Julian Lam
38a7030639 Revert "Merge pull request #5923 from NodeBB/patch-5922"
This reverts commit f8ddabc884, reversing
changes made to 4976d13013.
2017-09-11 15:37:18 -04:00