10997 Commits (2ea9768e0073e8023a8b87e3ff9811fd7c22bf26)

Author SHA1 Message Date
Barış Soner Uşaklı bef37e27cb
fix: test lock for user create (#8415)
* fix: test lock for user create

* fix: redis hdel with undefined

* feat: add test for undefined key in deleteObjectFields
5 years ago
Barış Soner Uşaklı f0526bff9f fix: add mising timestamp 5 years ago
Barış Soner Uşaklı a680a95e73 feat: add filter:user.getFields to match topic/posts 5 years ago
Manuel Valle 056f85f864
Topic hooks extension (#8413)
* Update data.js with new hook

Implemented new 'filter:topic.getFields' hook as in posts

* Update data.js

* Update data.js
5 years ago
Julian Lam 35a06a8419 feat: #8412 breadcrumbs for ip-blacklist/post queue/flags 5 years ago
Julian Lam f909ed2541 feat: show editor in post diffs if available 5 years ago
Julian Lam b3115ea813 fix: #8410 5 years ago
Julian Lam 58b3d608fc feat: allow post diffs to be restored, #8406 5 years ago
Barış Soner Uşaklı 7ed1a0140a fix: #8401, #8237
switch to @nodebb/socket.io-adapter-mongo
5 years ago
Barış Soner Uşaklı 18d892398f fix: add timestamp to initial username history 5 years ago
Barış Soner Uşaklı 53a9517d54 fix: crash in export posts if post content is undefined 5 years ago
Barış Soner Uşaklı 0041c02465 fix: messaging unread
dont mark chat room unread and then read right away for the user sending the message
5 years ago
Barış Soner Uşaklı 066b442e18 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Barış Soner Uşaklı bb3aa54006 feat: merge changes
allow selecting main topic to merge into
allow specifying a new title for merge topic
upon merge go to correct topic
new tests for merging with options
5 years ago
Barış Soner Uşaklı a024cc1344
fix: whitespace 5 years ago
Barış Soner Uşaklı 0595e71078
fix: typo 5 years ago
Barış Soner Uşaklı 89b010249d
fix: #8392, clear group member cache when group is renamed 5 years ago
Barış Soner Uşaklı 8627bee541 fix: #8386, use backgroundImage everywhere 5 years ago
Julian Lam 4acb3fb210 feat: #8387 expose global and admin privs to flags detail page 5 years ago
Barış Soner Uşaklı 3be4d5f7d5 feat: redirect /me to user profile 5 years ago
Julian Lam daeceb45bd fix: missing space in ACP menu dropdown 5 years ago
Julian Lam 942cc4b132 fix: #8385 5 years ago
Julian Lam 67aca822e6 feat: account content deletion, closes #8381 5 years ago
Julian Lam a82e9bd7f6
feat: privileges for Admin Control Panel (#8355)
* feat: acp privileges (WIP)

* fix: restore global privilege hooks

* refactor: using cid 0 in admin privs

* fix: no need for zebrastripe-reset

* feat: manage:categories privilege WIP

* feat: renamed prefix to admin:, settigns and dashboard privs

* fix: nofocus on acp privs group find modal

* refactor: privileges.x.get() to not used hardcoded privs

* fix: crash if unable to get latest version

* feat: setting acp priv

* Revert "fix: crash if unable to get latest version"

This reverts commit afdb235f48eb0072d88de45f3a1e0151281095b3.

* feat: user/privilege acp privs

* fix: category selector in manage/privileges

* fix: guests potentially becoming admins

* fix: bug in setting admin privs

* fix: some last minute things + api docs

* fix: some more last minute fixes
5 years ago
Barış Soner Uşaklı 30cc83c033 fix: #8374, revert event delete 5 years ago
Barış Soner Uşaklı fd6bf0c927 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Julian Lam 260a482caa fix: remove duplicate link to manage/tags in settings/tags 5 years ago
Barış Soner Uşaklı 3a078f59ec fix: tests 5 years ago
Barış Soner Uşaklı 1b5d5425b4 fix: handle search tag permission as well 5 years ago
Barış Soner Uşaklı 2100a03c1a refactor: change name to privileges to match other apis 5 years ago
cryptoethic f6b92d241a
fix: checking correct permissions for user search (#8371)
* fix: checking correct permissions for user search

* fix: missing permissions porperty in openapi /api/search
5 years ago
Barış Soner Uşaklı 842b8abb84
feat: add buildHeaderAsync (#8367)
* feat: add buildHeaderAsync

make helphers.notAllowed async

* fix: remove csrf from buildHeader

* fix: remove unused method, use middleware

* fix: /post/pid redirect doesn't need buildHeader

use buildHeaderAsync
5 years ago
Barış Soner Uşaklı dcb85ee7a1
#8344 (#8346)
* feat: wip

* feat: wrap middlewares

* feat: middleware errors

* feat: more middleware changes

* fix: remove unused async

* fix: prevent version errors from blocking acp render

* feat: wrap more middlewares
5 years ago
Julian Lam 023942da7d
refactor: making rendering of header and footer async functions
* refactor: make middleware.admin.renderHeader async

* refactor: making rendering of header and footer async functions

* fix: use app.renderAsync instead of promifying it
5 years ago
Julian Lam 922d49be0b fix(style): switch..case 5 years ago
Barış Soner Uşaklı 5a2b515431 feat: #8349, remove user posts from queue if user is deleted 5 years ago
Barış Soner Uşaklı e603ebc0c6 fix: #8323, let admins send validation emails without timeout 5 years ago
Barış Soner Uşaklı 2c9e865763 fix: retry failed setObject calls 5 years ago
Julian Lam 0633ad3277 fix: acp menu items
- Shuffled items in settings
- Moved post-queue and ip-blacklist to front-end
- Removed Settings > Sockets, merged with Settings > Advanced
5 years ago
Julian Lam a83f4259e8 fix: re-jigged tags acp pages 5 years ago
Julian Lam a51fff8bd1
refactor: remove general menu from ACP (#8347)
* refactor: remove general menu from ACP

* fix: incorrect translation keys, fixed tests
5 years ago
Barış Soner Uşaklı 5781a2dc65
feat: fix session mismatch errors by clearing cookie on logout (#8338)
* feat: fix session mismatch errors by clearing cookie on logout

* feat: remove app.upateHeader

ported from 2.0

* feat: handle if user doesn't click button and just refreshes page
5 years ago
Barış Soner Uşaklı 7d484fc0ad refactor: use getSortedSetMembers 5 years ago
Barış Soner Uşaklı 0009f54e6e feat: add getSortedSetMembers 5 years ago
Barış Soner Uşaklı 2727f472ed feat: add the data from page into filter:middleware.renderHeader 5 years ago
Barış Soner Uşaklı ec5582b53c
feat: add privilege give/rescind hooks (#8336)
* feat: add privilege give/rescind hooks

action:privileges.categories.give/rescind
action:privileges.global.give/rescind

breaking change, privileges.categories.give/rescind and privileges.global.give/rescind use full privilege name for groups ie `groups:find` instead of `find`

* fix: tests, privileges renamed
5 years ago
Julian Lam cf00cda07c refactor: src/flags.js because codeclimate 5 years ago
Julian Lam 8d995d1eb6 refactor: flags detail page
- Show account moderation history
- Ban and delete quick actions

Squashed commit of the following:

commit 0e782e65f4d48ae814708e510ec9d01bcdd914e0
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:24:53 2020 -0400

    fix(deps): use persona 10.1.41/vanilla 11.1.17

commit 369e073d3c3189d8ce181eb3d573489cbe54d4fc
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:23:24 2020 -0400

    fix: allow ban and delete exported methods to have cbs

commit b83a086ea31a77ec82d161306c0b9bc115cb2a3a
Merge: 525aae1ea 256ee45d3
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:54:25 2020 -0400

    Merge remote-tracking branch 'origin/master' into flags-improvements

commit 525aae1ea2e5d0103028a0f0c8dde05f172d088e
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:53:39 2020 -0400

    feat: integrate ban history and username changes to flag history list

commit 3e68ad28ba266f4c8620a676aa7f463f0a9d1df7
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:53 2020 -0400

    feat: allow ban and deletion from flag details page

commit a559ea1d8e8883385c2876868d855a0b93516c54
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:00 2020 -0400

    feat: export banAccount and deleteAccount methods from accounts module
5 years ago
Barış Soner Uşaklı f3afba6156 feat: filter followed tids by category 5 years ago
Barış Soner Uşaklı 1b9e8928eb feat: use getSortedSetsMembers to load followed tids 5 years ago
Barış Soner Uşaklı a015af4a41 feat: add batch size to cursors 5 years ago
Barış Soner Uşaklı 0a31e3e6b0 fix: #8320, dont load moderators separately for each category 5 years ago
Barış Soner Uşaklı 11bb6abb51 fix: show stack trace on startup errors 5 years ago
Barış Soner Uşaklı 9600ede579
feat: up cache size 5 years ago
Barış Soner Uşaklı 7f24200c73 feat: add folder to filter:uploadImage and filter:uploadFile 5 years ago
Barış Soner Uşaklı 3ec05eeaf8 fix: user faster method if sorting by smallest set 5 years ago
Barış Soner Uşaklı 4ee3543ea4 feat: tweak intersection code, add tests 5 years ago
Julian Lam 6f504c4142
Remove allowFileUploads ACP option (#8324)
* feat: allow awaitable upgrade scripts

* feat: allowFileUploads removal upgrade script

* refactor: remove unnecessary ACP option `allowFileUploads`

* fix: updated upgrade script template to not use callback arg

* fix: upgrade script as per @baris

* fix: add missing await

* fix: add missing await
5 years ago
Barış Soner Uşaklı e5228179c1
Mongo intersection (#8322)
* feat: intersection without aggregation

* feat: intersection

* feat: remove debug code
5 years ago
Julian Lam e327d1247e Revert "fix: #8142 invalid session warning if server-side session destroyed"
This reverts commit 526b3cd9ec.
5 years ago
Barış Soner Uşaklı cb662e15ce feat: improve grunt restart/rebuild speed 5 years ago
Barış Soner Uşaklı 4263efa091 feat: don't overwrite req.query.lang if it exists 5 years ago
Barış Soner Uşaklı 12c6bc2e07 feat: convert queries so they used indices directly 5 years ago
Julian Lam ae2db423ee feat: cookie SameSite property
More information:
https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00#section-4.1.1
https://web.dev/samesite-cookies-explained/
5 years ago
Barış Soner Uşaklı 7a801abade fix: tests on redis 5 years ago
Barış Soner Uşaklı 8bf980cb63 fix: tests, handle no sessions 5 years ago
Barış Soner Uşaklı a0d76ff0a6 fix: #8318, clean expired sessions on login and get 5 years ago
Barış Soner Uşaklı 2587112f9d feat: if only one value is passed used faster function 5 years ago
Barış Soner Uşaklı 81e33b9391 fix: #8317 5 years ago
Julian Lam 526b3cd9ec fix: #8142 invalid session warning if server-side session destroyed
Resolved regression caused by 5a0c7c1497
5 years ago
Barış Soner Uşaklı 5fd81c5c04 fix: check privileges before exporting post/topic data 5 years ago
Barış Soner Uşaklı f0323b6cfa feat: closes #8316, add more data to export profile 5 years ago
Barış Soner Uşaklı 1d3fa3bc4e feat: throw error if uid is missing for update 5 years ago
Barış Soner Uşaklı dfae664e29 fix: exporting posts 5 years ago
Barış Soner Uşaklı bdda022238 fix: undefined uid when downloading posts 5 years ago
Barış Soner Uşaklı 1ba6929cb3 fix: #8311, fix allowUserHomePage value
was always sending 1 even if allowUserHomePage was disabled in acp
5 years ago
Barış Soner Uşaklı 0e58fa33eb feat: match hook property to topic property 5 years ago
Barış Soner Uşaklı bfad457275 feat: add methods for adding/removing tags from topics 5 years ago
Barış Soner Uşaklı e20ad5c56e fix: dont crash if topic is null 5 years ago
Barış Soner Uşaklı c47a1c4df4 fix: convert cids to string for comparison 5 years ago
Barış Soner Uşaklı 97c086aba9 fix: missing await 5 years ago
Barış Soner Uşaklı 337be368eb fix: category selector disabled categories 5 years ago
Barış Soner Uşaklı a73c755b05 feat: closes #8308, edit post notif for watched topic posts 5 years ago
Barış Soner Uşaklı edf9fe3b7f feat: add null tests for sorted sets 5 years ago
Barış Soner Uşaklı 6a5e86dc66 fix: #8305, don't use null values 5 years ago
Barış Soner Uşaklı aad0880f7c feat: add filter:categories.getRecentTopicReplies
pass req.query to getRecentTopicReplies
5 years ago
Barış Soner Uşaklı 7e42988489 refactor: shorter function 5 years ago
Opliko c4545381d7
feat: Add hooks for user blocks (#8296)
* Add hooks for user blocks

* change naming

* Fix the filter...

fixes #8109
5 years ago
Barış Soner Uşaklı 7d08184372 fix: winston showing json object 5 years ago
Barış Soner Uşaklı 0431d75f0d fix: #8297, uids.length is different than topics.length 5 years ago
Julian Lam fcb81cb8ca fix: #8297 guest handles shown in category.tpl 5 years ago
Barış Soner Uşaklı 16a98eaf50 fix: only add to set if numRecentReplies>0 5 years ago
Barış Soner Uşaklı b25b51bd97 feat: add action:post.updatePostVoteCount 5 years ago
Barış Soner Uşaklı 6c59683b16 refactor: change to action:categories.updateRecentTid 5 years ago
Barış Soner Uşaklı ecd622fdf5 fix: failing tests @julianlam 5 years ago
Barış Soner Uşaklı 51933c1fcb feat: add filter:categories.updateRecentTid 5 years ago
Barış Soner Uşaklı 478ed6c16f refactor: match core field name pinned 5 years ago
Julian Lam 0053e779e8 feat: response:router.page, dep. filter variant 5 years ago
Barış Soner Uşaklı 9839346ec3 fix: #8290, if there are no filters go to ?reset=1
dont count ?page=1 as a filter
5 years ago
Barış Soner Uşaklı 5ebcdb1806 fix: #8287, fix users:flags as well 5 years ago
Barış Soner Uşaklı 4f1128fd2b fix: add missing await 5 years ago
Barış Soner Uşaklı 9d153fd388 fix: #8287, dont readd user after deletion
don't add user uid back to users:* sorted sets if they are deleted
upgrade script to fix users:* sorted sets
5 years ago
Barış Soner Uşaklı 4d6b2ec3ce fix: missing await 5 years ago
Barış Soner Uşaklı 0391856d7d fix: #8286, rescind notif when its resolved/rejected 5 years ago
Barış Soner Uşaklı 0ca84bd9f4 fix: #8284, parse ToS on register
rewrite intersitials to async/await
5 years ago
Barış Soner Uşaklı 0c7c70edaf fix: crash in topic controller 5 years ago
psychobunny fe03effe7d Revert "fix: crash when res.locals.linkTags is undefined"
This reverts commit 7cab2b0fea.
5 years ago
Andrew Rodrigues 7cab2b0fea
fix: crash when res.locals.linkTags is undefined 5 years ago
Barış Soner Uşaklı e80b81010c fix: #8272 user link in digest email 5 years ago
Julian Lam 5a1c6ee7ed fix: response hook logic
After some more thought, a response hook should be checking for
whether headers are sent, and executing (or not executing) the
default logic in that case.

Before, we were relying on hooks to call data.next() to continue
execution, but it makes more sense to have the listener either
send a response or not, and handle the behaviour afterwards.
5 years ago
Julian Lam ccc6118d30
Testing suite integration for openapi spec (#8263)
* feat: testing suite integration for openapi spec

The testing suite now takes the openapi spec into account. It will
check each route defined, make a call to it, and compare the
response with the defined schema. Any mismatches will cause the
test to fail.

* fix(openapi): removed debug stuff from tests

* fix(openapi): fixed some tests

* fix(openapi): added additional check to tests, test fixes

* fix(openapi): better tests, fixed spec errors

* fix(openapi): bad conditional in test

* fix: oops

* fix(openapi): more tests fixing

* fix(openapi): more tests

* fix(openapi): fix some more tests

* fix: verbose'd an info log

* fix: topic pagination route returns schema-optimized pagination block

* fix(openapi): more test/spec fixes

* fix(openapi): accidentally sending in authenticated jar for anon routes

* fix(openapi): more test/spec fixes

* fix(openapi): more spec fixes

* fix: timestampReadable Invalid Date

* fix(openapi): more tests... almost there

* fix(openapi): more tests fixing

* fix(openapi): finally all tests passing

* fix(openapi): added reverse test to compare response to spec

... and fixed all the tests that broke

* fix: remove tests related to group covers, as route is gone

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): object cache is not present for psql

* fix: tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Barış Soner Uşaklı 4eafe0f057 fix: #8269, return array of topics from hook 5 years ago
Opliko 6e5ebb6184
feat: manifest.json improvements from #8126 (#8264)
* feat: manifest.json improvements from #8126

* Fix short title placeholder

* use lowercase letters for hex colors
5 years ago
Barış Soner Uşaklı 153456278b feat: show error if json is invalid 5 years ago
Julian Lam ef52461fb6 fix: remove dead picture upload code #8260 5 years ago
Julian Lam 5bcaf71501 fix: path.resolve to logs file 5 years ago
Barış Soner Uşaklı c7ea84a2ae fix: wrong data returned in available.groups 5 years ago
Peter Jaszkowiak e68156e1f2
fix(deps): bump dependencies (#8239)
* fix(deps): bump dependencies

* fix(deps): commander@5

* fix(deps): use @nodebb/mubsub
5 years ago
Julian Lam f2f6fbf15a fix: #8232, unresolvable session mismatch on register cancel 5 years ago
Jonson Petard e6a1741c2e
Support package manager: cnpm and pnpm (#8222)
* feat: support pnpm, cnpm

* feat: store supportedPackageManager in default package.json

* feat: store supportedPackageManager in src/cli/package-install.js

Co-authored-by: a632079 <a632079@qq.com>
5 years ago
hb90dev 3ce885fff2
fixes sitemap base url issue when using with subfolder (#8247)
* fixes sitemap base url issue when using with subfolder

* fixes sitemap base url issue when using with subfolder

* uses directly relative path

* removes prefix variable
5 years ago
Barış Soner Uşaklı d77036dbd1 fix: #8249, don't send move notifications for deleted posts/topics 5 years ago
Julian Lam 1136a369f3 feat: local redoc view on development mode only 5 years ago
Julian Lam c82a263788 Revert "fix: override ACAO header for read API spec file"
This reverts commit 240d90919b.
5 years ago
Julian Lam 240d90919b fix: override ACAO header for read API spec file 5 years ago
Barış Soner Uşaklı 59cf0e80d2 fix: throw error if topic does not exist 5 years ago
Barış Soner Uşaklı e93578b81d fix: hookname 5 years ago
Barış Soner Uşaklı 0d1b5a7fb1 fix: #8230, add hook getUserDataByUserSlug 5 years ago
psychobunny 15d6975e96 fix: ignore case for group details route 5 years ago
Barış Soner Uşaklı 740e598a5d fix: lint 5 years ago
Barış Soner Uşaklı 8e23dec84b fix: lint 5 years ago
Barış Soner Uşaklı 00e299e93e feat: closes #8229, add targetUid to action:password.change 5 years ago
Barış Soner Uşaklı 23571224b5 feat: add parent cids to body class 5 years ago
Barış Soner Uşaklı 071506eb7d fix: invite properly 5 years ago
Barış Soner Uşaklı 8f4b99a41c fix: admins not seeing invite button 5 years ago
Barış Soner Uşaklı 0b5fac75b0 fix: #8217, add missing lang key 5 years ago
Julian Lam 93acd13999 fix: #8206 first message in chat has false `newSet` 5 years ago
Barış Soner Uşaklı d080c7b04c feat: add 2 hooks for modifying privileges 5 years ago
Barış Soner Uşaklı f07f4f8e1a fix: #8202, filter non-existing users in search by uid 5 years ago
psychobunny 266061c31a fix: notification bodyShort truncated if there is a comma in topic title 5 years ago
Julian Lam 1efb238a9a refactor: getUsersCSV to use batch lib 5 years ago
psychobunny e1c6c3b267 refactor: reorganized socket.io admin modules 5 years ago
Barış Soner Uşaklı 5e91a67e78 feat: add user ip to admin/dev/info 5 years ago
Barış Soner Uşaklı cba5b23e23 feat: change option name 5 years ago
Barış Soner Uşaklı 80f1bcad20 fix: call next 5 years ago
Baris Usakli 476f6717c4 feat: add no-build to ./nodebb setup 5 years ago
Baris Usakli cf6eadb91a fix: dont let regular users see other users watched categories 5 years ago
Barış Soner Uşaklı 32ada7c4e7 fix: #8188, fix bookmark if sorting is newest_to_oldest 5 years ago
Andrew Rodrigues ac241fb830 fix: duplicate ID + label 5 years ago
Julian Lam f0db240a1d fix: #8184 global mods unable to revoke other user sessions 5 years ago
Barış Soner Uşaklı e72a29b3fd fix: return null if field does not exist 5 years ago
Barış Soner Uşaklı 14e7866745 fix: #8179, limit length of location/website/fullname, check grouptitle 5 years ago
Barış Soner Uşaklı bc93b5676c fix: #8175 5 years ago
Opliko 41c20761e1
Remove deprecated mongo connection options, fixes #8079 (#8174)
fix #8079 
Unified Topology changes the concept of connecting and causes isConnected to always return true, making any reconnection options useless. Next major version of the driver will remove isConnected entirely.
So:
- reconnect tries
- reconnectInterval
- autoReconnect

Are deprecated and don't really do anything anymore (when unified topology is used at least) other than causing warnings at startup since the 3.4 version of the driver (the current version used by NodeBB is 3.5).

Reference: http://mongodb.github.io/node-mongodb-native/3.5/reference/unified-topology/
5 years ago
Andrew Rodrigues 3c9689a5ac
feat: settings sorted list (#8170)
* feat: settings sorted list

see https://github.com/NodeBB/nodebb-plugin-quickstart/pull/9/files for sample
5 years ago
Julian Lam 667608a02c fix: #8168 re-allowing slashes in homePageRoute
Resolves regression introduced by b0f3e48ac2
5 years ago
Julian Lam eddbd86837 fix: tweak to session validation in addHeaders 5 years ago
Barış Soner Uşaklı 630f5d5b85 fix: only call clearCookie for logged in users 5 years ago
Barış Soner Uşaklı 067034082f fix: #6422, update deleted/restored messages 5 years ago
Barış Soner Uşaklı 4d0636f847 fix: #8163, prevent account deletion 5 years ago
Barış Soner Uşaklı 5a0c7c1497 fix: register 5 years ago
Barış Soner Uşaklı e74954407f fix: #8157, update recent tid when post is moved 5 years ago
Barış Soner Uşaklı b73aa84ddc fix: tests 5 years ago
Barış Soner Uşaklı dd3893b134 fix: move start/stop every iteration 5 years ago
Barış Soner Uşaklı 4abe5eb7ff Revert "fix: #8154, move start/stop every iteration"
This reverts commit 300c04cef9.
5 years ago
Barış Soner Uşaklı 300c04cef9 fix: #8154, move start/stop every iteration 5 years ago
Barış Soner Uşaklı 690bb69d03 fix: #8154, respect stop 5 years ago
Barış Soner Uşaklı f23bc347b1 fix: #8156 dont allow loading members from hidden groups 5 years ago
Barış Soner Uşaklı 03a02e5d1d fix: #8155, don't validate name on update if groupName didn't change 5 years ago
Baris Usakli 236e1e6859 fix: return correct number of suggested topics 5 years ago
Julian Lam 398f0120b8 fix: logic for determining dailyStats hour vars
Reverts 9ecdb92f7c and fixes it
properly.
5 years ago
Julian Lam 9ecdb92f7c fix: fix daily analytics being one day off 5 years ago
Julian Lam 0b9ad416cb fix: remove debug line 5 years ago
Julian Lam 79737c53fd feat: guard against accidental ommision
...of analytics: prefix in get*StatsForSet methods
5 years ago
Julian Lam d6e3f3f058
fix: #8142, broken site if no server-side session (#8148)
* fix: #8142, broken site if no server-side session

During the `addHeader` middleware, a check is now done to see if
`req.session.meta` is present. This value is only present if the user
has a valid server-side session.  If it is missing, then it is probably
safe to assume that the server-side session was deleted (either
intentionally or accidentally). In that scenario, the client-side cookie
should be cleared.

Also, there was an issue where the sessionRefresh flag was never cleared
after a successful login, so that was fixed too.

* feat: exported method to get cookie config

* fix: don't clear cookie if cookie is being set

* fix: socket.io tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Julian Lam 0885ec6858 fix: #8144 pluginHooks in maintenance mode middleware 5 years ago
Barış Soner Uşaklı a5ef6b53b8 fix: admin relogin 5 years ago
Barış Soner Uşaklı c35a21d7f0 fix: #8135 5 years ago
Baris Usakli 1e50616c13 fix: handle mkdirp0.5->1.0x so it doesn't break upgrade 5 years ago
Baris Usakli 87225a90c3 fix: #8134, upgrade mkdirp to 1.0.x 5 years ago
Julian Lam b959c24a2b Merge branch 'master' of github.com:NodeBB/NodeBB 5 years ago
Julian Lam 111ed802cf fix: onSuccessfulLogin not working
In scenarios where onSuccessfulLogin was not called in the SSO plugin,
core's calling of onSuccessfulLogin was prematurely returning, because
it was checking the wrong value.

This commit fixes the issue by checking a different value.
5 years ago
Barış Soner Uşaklı 8c48f94b96 fix: #8139, dont allow restore if not deleted by self 5 years ago
Barış Soner Uşaklı 9969dd6335 fix: use view_deleted when filtering, closes #8137 5 years ago
Barış Soner Uşaklı d927b763c1 fix: escape invalid rules 5 years ago
Barış Soner Uşaklı 3cca929a88 fix: add missing await 5 years ago
Barış Soner Uşaklı 0ae1eb4f6e fix: missing await in SocketPosts.changeOwner 5 years ago
Barış Soner Uşaklı 23810cc64b fix: #8133, check if user is in room before removing 5 years ago
Barış Soner Uşaklı 30c503611c refactor: messaging 5 years ago
Barış Soner Uşaklı cd1fa27a8b fix: add missing await 5 years ago
Barış Soner Uşaklı ee4304b443 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Barış Soner Uşaklı f799f017ab fix: missing await 5 years ago
Baris Usakli 418c174d56 fix: dont return flag data to client 5 years ago
Barış Soner Uşaklı 51236df4ed fix: check if user has read priv before flagging 5 years ago
Barış Soner Uşaklı 1f13ab8a19 fix: restrict getUsersInRoom to members 5 years ago
Julian Lam 594cd7e176 fix: #8127 user join system message duplicated
- Now showing user-join message for chat owner in addition to the newly
  added user
- If a modal already exists for a room when createModal is called, don't
  return null, return the modal
5 years ago
Barış Soner Uşaklı bfaba89557 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Julian Lam 8bb5e71ebe fix: typo in #8116 5 years ago
Julian Lam 3fac09b1ab fix: build step defaults to series instead of parallel
- The logic for the build step now defaults to series instead of
  parallel, unless more than 4 CPU cores are detected by the os
  library.
- The `--series` flag still exists, and will enforce build in
  series, as before.
5 years ago
Julian Lam 8e5a2276af
feat: check flag values on save (assignee and state) (#8122)
* feat: add assignee checking when updating flag

Prior to this, it was possible to update the assignee to any value (or
any user. This commit adds checking to allow only admins, global
moderators, or in the case of flagged posts, moderators.

Also some prep work was added for value checking `state`.

* feat: value checking `state` on flag update

The state should be one of the constants defined earlier in the file.
5 years ago
Barış Soner Uşaklı 6a63c1a100 fix: escape system message, don't allow editing system messages 5 years ago
Barış Soner Uşaklı 8c6a7954cf fix: delete upload 5 years ago
Barış Soner Uşaklı 153b1a0eaa fix: check uploadName 5 years ago
Barış Soner Uşaklı 01d1ae78c8 fix: #8120, bubble errors from static hooks 5 years ago
Barış Soner Uşaklı b0f3e48ac2 fix: escape bootswatchSkin and homepageRoute 5 years ago
Barış Soner Uşaklı 3e52557689 fix: change owner missing await 5 years ago
Barış Soner Uşaklı e3952674ba fix: hsts always enabled 5 years ago
Barış Soner Uşaklı b7a57996f7 fix: escape topic.thumb 5 years ago
Baris Usakli 842916ea42 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Baris Usakli 4eb9652a2a fix: #8112, don't crash hook returns no data 5 years ago
Opliko 740de034fa #8115 - log post owner changes (#8117)
* log post owner changes

* log each post separately

* use map instad of a loop
5 years ago
Opliko 879acc85ae Add disable/enable category to category edit page (#8118) 5 years ago
Barış Soner Uşaklı e06c1bfcd2 fix: escape config.userLang/acpLang, don't allow invalid language codes 5 years ago
Barış Soner Uşaklı 61da8c29ac fix: group create/join/update name validation 5 years ago
Barış Soner Uşaklı 48f086279c fix: don't crash if groupData is missing 5 years ago
Barış Soner Uşaklı 5a8217de01 fix: #8105, fix export json on page load 5 years ago
arite 527745310d fix: #8103, fix advanced menu not displaying in ACP 5 years ago
Barış Soner Uşaklı 10989cccaa fix: meta description missing if url doesn't have post index 5 years ago
Barış Soner Uşaklı 9d074731f4 fix: login with weak password 5 years ago
Barış Soner Uşaklı f6d7a24a67 fix: dont check password strength on login 5 years ago
Barış Soner Uşaklı dec157d606 fix: #8085, fix cookie name 5 years ago
Barış Soner Uşaklı a227cbe328 refactor: async/await middleware 5 years ago
Barış Soner Uşaklı 1b992d8201 fix: #8058, fix incorrect digest setting display in ACP 5 years ago
Peter Jaszkowiak 8c314fe461 Support allowing classes
Otherwise `<input class="form-control">` can't work
5 years ago
Baris Usakli 3454a24b3c refactor: change to const/let 5 years ago
Baris Usakli a8df6d6298 fix: #8078, dont mark notifications read without a mergeId 5 years ago
Baris Usakli 7af1c873a3 fix: #8077, show continue chat on all profile pages 5 years ago
Julian Lam 4fc6944377 feat: better output for cli plugins list, closes #8075 5 years ago
Barış Soner Uşaklı 2679f37dec fix: profile showing posts from deleted topics 5 years ago
Barış Soner Uşaklı 05c9fe2735 feat: #5272, allow changing user groups from manage users page 5 years ago
Baris Usakli 4d66978338 fix: #8073, configurable necroThreshold 5 years ago
Baris Usakli b323df2fe0 fix: allow members to search as well 5 years ago
Baris Usakli c2cd7de891 fix: #8069, dont show hidden groups in search 5 years ago
Baris Usakli 33fd4a1c2b fix: missing await 5 years ago
Julian Lam f9a8ebfce9 feat: merge social authentication into plugins menu in ACP
* also reordered the menu in ACP so plugins come first
* added muted headers in desktop version to distinguish both lists
* fixes julianlam/nodebb-plugin-sso-google#21
* closes #8066
5 years ago
Barış Soner Uşaklı 1bda92e3fc fix: #8064, break-word on post-queue 5 years ago
Barış Soner Uşaklı de404102c0 fix: #8061, don't crash if there is a network problem 5 years ago
Barış Soner Uşaklı a688aaae51 fix: #8059, properly mark topic unread when using mark unread for all 5 years ago
Julian Lam 510737726c fix: unhandled promise rejection error on reset error
Also, removed buildAll() on reset.
6 years ago
Baris Usakli 366ad5cd69 fix: #8050, fix redirect after registration 6 years ago
Opliko 0efe27b1f2 fix: make _csrf a secure cookie if the website is using https (#8045)
* Make _csrf a secure cookie if the website is using https

* fix style for TravsCI

* Add `url_parsed` to databasemock
6 years ago
Baris Usakli 0a96c92300 fix: #8034 6 years ago
Baris Usakli cec0079573 refactor: shorter returns 6 years ago
Baris Usakli efd1e88bbf feat: convert middleware.isAdmin to async/await 6 years ago
Baris Usakli a254520485 fix: serialize 6 years ago
Baris Usakli 1eca5b3dae fix: show login fields if user has local password 6 years ago
Ben Lubar f65922297d fix abysmal postgresql performance in getSortedSetsMembers (#8030)
* refactor postgres upgrade function to use async

* add function wrapper for getting the elements of a sorted set to avoid postgres planning the query with a nested sequential scan

* fix fatal(?!) lint errors

* add missing await

* bump PostgreSQL version on Travis CI to one that isn't over 3 years out of date
6 years ago
Barış Soner Uşaklı eabc6f4763 fix: crash if post doesn't have topic data 6 years ago
Barış Soner Uşaklı e52ecfaf3f fix: don't touch objects that don't have the required fields 6 years ago
Barış Soner Uşaklı f4381ba366 fix: add missing await to sendValidationEmail 6 years ago
Julian Lam dee1d44722 fix: #8007 added tfoot to clear new group button 6 years ago
Julian Lam df139928b6
feat: displaying one-click unsubscribe link in email footer (#8024)
closes #8016
6 years ago
Barış Soner Uşaklı 480a64aaa7 feat: #7467, pass query params when redirecting to posts 6 years ago
Barış Soner Uşaklı b5a30006e2 feat: use helpers.setupAdminPageRoute 6 years ago
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
6 years ago
Barış Soner Uşaklı 0037a03886 fix: #8018, allow absolute urls in notification.path 6 years ago
Barış Soner Uşaklı 59242d31aa fix: #8010, fix isBanned call 6 years ago
Barış Soner Uşaklı ac5c560c54 feat: add action:messaging.save 6 years ago
Barış Soner Uşaklı c4e58160cf fix: #8003, check children recursively 6 years ago
Barış Soner Uşaklı b91c4790d1 fix: dont show delete topics on unread 6 years ago
Barış Soner Uşaklı 1cedc4a0d6 feat: #7957, allow post queue based on group
allow multiple select in ACP pages
6 years ago
Barış Soner Uşaklı 0e5e47f410 fix: parseInt cutoff 6 years ago
Barış Soner Uşaklı e020b85bf5 feat: add filter:topics.unreadCutoff 6 years ago
Opliko 989107d9b5 feat: Add filter:topic.delete and filter:topic.restore (#7946) (#7989)
* Add filter:topic.delete

* Don't return undefined data

* add topic.restore and pass canRestore to filter

* fix some bugs created by conflict resolution and new changes

* more readable hook

* fix styling for TravisCI

* literally just two newlines so that TravisCI builds again
6 years ago
Julian Lam cf7e0cfd2d
feat: no more session cookie for guests (#7982)
* feat: no more session cookie for guests

* fix(tests): added additional tests and fixed the broken test
6 years ago
Opliko df1efe5f96 feat: Implement WICG change-password-url (#7072) (#7990)
* feat:  Implement WICG change-password-url (#7072)

* fix style for TravisCI
6 years ago
uplift 1aa520b7a0 parseInt uid in room users check (#7988)
nodebb-write-api fails this check without parsing into an int
6 years ago
Barış Soner Uşaklı b01a47cbc1 feat: log errors from mubsub 6 years ago
Barış Soner Uşaklı d679218859
feat: upgrade to sitemap5 (#7980) 6 years ago
Barış Soner Uşaklı f9f85fc425
fix: cli/reset.js (#7979) 6 years ago
Julian Lam ddf3812cdc fix: passwords always expiring upon login 6 years ago
Barış Soner Uşaklı d72b0d1616 fix: delete follower/followingCount as well 6 years ago
Baris Usakli 485fbd2f14 feat: #7964, change all categories at once
allow passing cids to setCategoryWatchState and category.exists
6 years ago
Baris Usakli 990508a533 feat: closes #7952, translate widget-settings 6 years ago
Baris Usakli 554e67116f feat: remove ability to delete events from acp 6 years ago
Barış Soner Uşaklı 3775301f24 fix: #7958, give rewards one by one
no need to check group.exists when leaving groups, if group doesn't exists isMember will be false anyways
6 years ago
Barış Soner Uşaklı 88818a5bbf fix: rewards page acp not loading rewards 6 years ago
Baris Usakli f272daaf37 fix: #7960, dont try to save size for non images 6 years ago
Barış Soner Uşaklı 03827fa695 feat: resetting theme will reset skin
async/await cli/reset
6 years ago
Barış Soner Uşaklı 565f9726f7 fix: #7941, validate some input fields 6 years ago
Barış Soner Uşaklı 661a0f5068 fix: don't show deleted topics on unread 6 years ago
Baris Usakli 6b3eb0144e refactor: use arrow function 6 years ago
Baris Usakli c01b0fbd8c fix: #7951, don't send notification for system messages 6 years ago
Baris Usakli 5b458fc7ca fix: #7953, allow icon only group badges 6 years ago
Barış Soner Uşaklı ac4a500402 fix: remove 0 fields 6 years ago
Barış Soner Uşaklı 75bcb0f484 fix: remove unused data from post/topic/user hashes 6 years ago
Barış Soner Uşaklı 205d3f9d12 fix: groups not visible on widget panes 6 years ago
Barış Soner Uşaklı c5f7b66c3a fix: new nav items will show group select 6 years ago
Barış Soner Uşaklı 7823144bd9 fix: #7940, run upgrade scripts on startup 6 years ago
Barış Soner Uşaklı 38322ec308 fix: #7949, delete old user notifs 6 years ago
Barış Soner Uşaklı f983f536c6 fix: check threshold before setting bookmark 6 years ago
Barış Soner Uşaklı 4e28e575cf fix: mongo collection stats 6 years ago
Barış Soner Uşaklı 02d38caf47 refactor: async/await 6 years ago
Baris Usakli 91e8e3905c fix: #7947, disable unused cookie 6 years ago
Barış Soner Uşaklı c9bf6d0fe1 fix: #7945, show watched categories in ignored categories 6 years ago
Barış Soner Uşaklı f8c8038a06 refactor: remove log, topics.exists 6 years ago
Barış Soner Uşaklı 18bf865d83 fix: db.init calls 6 years ago
Barış Soner Uşaklı dc8d721c46 refactor: async/await 6 years ago
Barış Soner Uşaklı 1f0c6f3d60 refactor: async/await mongo 6 years ago
Baris Usakli d5dda26f97 fix: #7938, escape username in registration queue 6 years ago