2379 Commits (df8ea4bad3af3561703c2948e06114af04a0c7af)

Author SHA1 Message Date
Barış Soner Uşaklı 081c4fa6d4 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Julian Lam 430e7f5834 refactor: user deletion to use api lib 4 years ago
Barış Soner Uşaklı 8ae1f81cf4 feat: refactor groups.delete 4 years ago
Julian Lam 31ae8a8323 refactor: socket profile update to use api lib 4 years ago
Barış Soner Uşaklı d69e503d21 feat: move groups.join to api 4 years ago
Julian Lam 23086daead refactor: user create and profile update to use api lib 4 years ago
Barış Soner Uşaklı 5e2caf19f5 refactor: use single function for api code 4 years ago
Barış Soner Uşaklı 25e4a09816 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı 4418ff0716 fix: #8768 4 years ago
Julian Lam cc6e995ee2 fix: api bug where user profile editing continued even if not allowed 4 years ago
Barış Soner Uşaklı e6ea71c95a fix: test 4 years ago
Barış Soner Uşaklı 8c6a559188 fix: timestamp 4 years ago
Barış Soner Uşaklı 331d236f6e fix: #8763 4 years ago
Barış Soner Uşaklı a481024d27 fix: lastonline again 4 years ago
Barış Soner Uşaklı 97628e2ff2 fix: lastonline values 4 years ago
Barış Soner Uşaklı 59bbede8c7 fix: cant join system groups 4 years ago
Barış Soner Uşaklı a411df1321 fix: tests 4 years ago
Barış Soner Uşaklı a2edb86dfb feat: change user search to use filters array 4 years ago
Barış Soner Uşaklı 959314c921 feat: add filter 4 years ago
Barış Soner Uşaklı 682e926c6b feat: #8662, verified/unverified user groups 4 years ago
Barış Soner Uşaklı 700e1e4340 feat: more fixes 4 years ago
Barış Soner Uşaklı 40a05b70ef feat: more work 4 years ago
Barış Soner Uşaklı b038ac07d8 feat: wip admin/users 4 years ago
Barış Soner Uşaklı 30d6a2b84e fix: #8756, pass missing req to mock 4 years ago
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module 4 years ago
Julian Lam 4a63c20a72 chore: some optimizations for codeclimate 4 years ago
Julian Lam f870721fca feat(writeapi): file deletion route 4 years ago
Julian Lam a55b381791 feat(writeapi): admin settings update route 4 years ago
Julian Lam 2ec838fc59 feat(writeapi): token generation/delete routes, ACP updates 4 years ago
Julian Lam 0973feea16 feat(writeapi): post bookmarking 4 years ago
Julian Lam 9942c248eb feat(writeapi): post voting 4 years ago
Julian Lam 5e2a3ea6ec refactor(writeapi): post.tools.purge no longer a method 4 years ago
Julian Lam 414169fdfa feat(writeapi): post delete/restore/purge 4 years ago
Julian Lam f66c2fb60f feat(writeapi): post editing 4 years ago
Julian Lam 1605e5e443 feat(writeapi): topic tags 4 years ago
Julian Lam 9be5629458 feat(writeapi): topic follow/ignore 4 years ago
Julian Lam da25ce4d09 feat: topic delete/restore/purge/(un)pin/(un)lock 4 years ago
Julian Lam 49652e6f1b feat: management of API tokens via ACP 4 years ago
Julian Lam 7757f965eb fix: errors thrown if no password sent in to profile edit route 4 years ago
Julian Lam 6096f74ab2 feat(writeapi): adding missing files 4 years ago
Julian Lam 4c833d0bf0 feat(writeapi): topic posting and replying 4 years ago
Julian Lam 40dc1c38d3 feat(writeapi): added DELETE /groups/:slug/membership/:uid route 4 years ago
Julian Lam 68ecf41ecf fix(writeapi): client-side group join API call 4 years ago
Julian Lam 952dc211dd feat(writeapi): added group joining and deletion 4 years ago
Julian Lam d044c3223e feat(writeapi): abstracted ajax calls out to new api module 4 years ago
Julian Lam ba345e53e8 feat(writeapi): added POST /api/v1/groups 4 years ago
Julian Lam 3072de4812 feat: added DELETE /api/v1/categories/:cid route 4 years ago
Julian Lam e942ad8101 feat: added PUT /api/v1/categories/:cid route
Deprecated admin.categories.update socket call
Showing stack trace in console for errors, when in development mode
4 years ago
Julian Lam dc666fd8a9 feat: added POST /api/v1/categories route 4 years ago
Julian Lam a5af2dc819 feat: added PUT/DELETE /api/v1/users/:uid/ban routes 4 years ago
Julian Lam b5bbcbaeaa feat: added POST and DELETE /api/v1/users/:uid/follow routes 4 years ago
Julian Lam 7aed174ebc feat: added PUT /api/v1/users/:uid/password route 4 years ago
Julian Lam a1ddc210b2 feat: added DELETE /api/v1/users/:uid and DELETE /api/v1/users 4 years ago
Julian Lam d15d9e4492 fix(refactor): patching helpers.tryRoute for API routes, some re-org
Thanks @barisusakli for the tip
4 years ago
Julian Lam f6433ef2c5 fix(refactor): merging write-api auth middlewares with core middlewares 4 years ago
Julian Lam ec5c48b188 feat: migrating write-api skeleton into core 4 years ago
Barış Soner Uşaklı cb2f6f7c4a fix: test 4 years ago
Barış Soner Uşaklı 7bf6d3b8eb fix: dont let mods load postqueue for a cid they are not a mod of 4 years ago
Barış Soner Uşaklı 2ea9768e00 fix: show disabled categories in admin&mods 4 years ago
Barış Soner Uşaklı fbd85680fb fix: spec 4 years ago
Barış Soner Uşaklı 5d9a868142
feat: category filter on post queue (#8710)
* feat: category filter on post queue

category filter module

* feat: add spec
4 years ago
Peter Jaszkowiak 1aa336d837
refactor: shared constants (#8707)
define plugin name and theme name regexs in one location for consistency

define various shared paths in one place for consistency
4 years ago
Peter Jaszkowiak 55d5cccf2e
Document deprecations and remove old ones (#8706)
* chore: document deprecation removal versions

* chore: remove deprecations 2+ versions old
4 years ago
Julian Lam 38f88fc563 fix: #8699 tags route is case sensitive, though tags are not 4 years ago
psychobunny 6478b32d0e feat: upload maskable icon for PWA 4 years ago
Julian Lam b12e8d6312 feat: show top 5 trending plugins in new tab in Extend > Plugins 4 years ago
Julian Lam 07af621381 fix: typo in getCompatiblePlugins 4 years ago
psychobunny 31528a5202 fix: manifest - use absolute URL for start_url 4 years ago
Julian Lam 0fffe28941 fix: issue where the last flag filter could not be removed 4 years ago
Barış Soner Uşaklı 22cd265434 fix: tests 4 years ago
Barış Soner Uşaklı 220297d501 fix: use correct topic count for category 4 years ago
Barış Soner Uşaklı de824007d9 feat: allow custom req.query.filter on /unread /recent 5 years ago
Barış Soner Uşaklı 4be693f2e7
feat: fullname search (#8641)
* feat: fullname search

* fix: take last element

* fix: attempt to fix psql like query

* feat: upgrade sript, another fix attempt

* fix: psql test

* fix: psql scan

* feat: add debug for test

* feat: test collate

* feat: cleanup

* fix: upgrade script
5 years ago
Julian Lam 0891236142 fix: typo 5 years ago
Barış Soner Uşaklı c1c617b323 feat: add topicIndex to category page 5 years ago
Barış Soner Uşaklı 5f10d67db5
Remove sounds (#8617)
* feat: remove sounds

* feat: remove more sounds

* feat: disable sounds plugin

* fix: openapi
5 years ago
Julian Lam 0c20351702 feat: additional sorting options for flags
+ upvotes, +downvotes, +replies
5 years ago
Julian Lam 0e58d2b866 fix: update post-queue hook names 5 years ago
Julian Lam b6b94a56dc refactor: moved ip-blacklist and post-queue styles/tpls to themes
This is a breaking change!, re: #8580
5 years ago
Julian Lam 3efe2362e2 fix: sorting the flags list by newest is not considered a filter
... as it is default
5 years ago
Julian Lam 346db0d84d feat: flags list sorting, closes #8569 5 years ago
Julian Lam cabe62a06c fix: #8568 perPage not acting like a filter 5 years ago
Barış Soner Uşaklı 0189945996 refactor: remove util.promisify calls 5 years ago
Julian Lam 0903eb4b8c feat: limit privileges column to superadmins only 5 years ago
Julian Lam 9adaccd036 feat: +assetBaseUrl, -l10BaseUrl, -requireBaseUrl
Additional base URLs were necessary for benchpress and translator,
and in order to not clutter the API response with needless one-
time use base URLs, I decided to use a single base that is used
by all of the services, assetBaseUrl.
5 years ago
Julian Lam 9e3fd0e479 Revert "feat: #8493, plugin helper for standardised link/button injection"
This reverts commit 0bbb813e4b.
5 years ago
Sam Thompson 0bbb813e4b feat: #8493, plugin helper for standardised link/button injection 5 years ago
Julian Lam 9f3b78118a fix: send hard 404 instead of soft 404 for missing modules
We used to send a soft 404 because require.js would error out on
a 404, but it seems years ago, error handling was added to the
require() call, so a hard 404 will not throw errors to the console
5 years ago
Julian Lam 68f8d6e3a1 fix: #8549 send 308 Permanent Redirect on topic/category shortlinks 5 years ago
Julian Lam def16f9e97 feat: introduce overridable l10nBaseUrl config value 5 years ago
Barış Soner Uşaklı 2c35d0ba87 refactor: change incrementViewCount and markAsRead to async/await 5 years ago
Barış Soner Uşaklı dfabd0a3fe feat: remove administrator property from public routes 5 years ago
Barış Soner Uşaklı fb7bb8d400 feat: use category selector in category page
fix privilege shortcuts in group page after search
5 years ago
Barış Soner Uşaklı 91411cc47c feat: add privileges shortcut to groups list
fix issues with escape group names
5 years ago
Barış Soner Uşaklı c4829fd8c2 feat: allow changing requirejs base url 5 years ago
Barış Soner Uşaklı bbc7737e14 feat: ability to clear cache from acp 5 years ago
Barış Soner Uşaklı 69fb15276c fix: tests 5 years ago
Barış Soner Uşaklı 8d8117ffa1 feat: reduce amount of data loaded on acp admin page
get rid of socket call and use ajaxify.data.categories
5 years ago
Barış Soner Uşaklı 5e5815f051 fix: #8515, fix login redirect on subfolder 5 years ago
Barış Soner Uşaklı fd4c3cda42 fix: #4695, remove new notif alert 5 years ago
Barış Soner Uşaklı 37e56d94ce feat: series upload 5 years ago
Barış Soner Uşaklı 4eae927d14 feat: remove deprecated hooks 5 years ago
psychobunny a6ae69737b Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
psychobunny 2c83278f97 feat: quick access dropdown on groups page to access privileges page 5 years ago
Barış Soner Uşaklı 844f2b4ed0 feat: #8524, allow editing category of queued topic 5 years ago
Barış Soner Uşaklı 7260646d6c fix: #8500, allow regular users select topics on unread 5 years ago
Barış Soner Uşaklı 23a9a334cd feat: short more info 5 years ago
Barış Soner Uşaklı 00d39fb32c feat: #8460, export groups members as csv 5 years ago
Barış Soner Uşaklı 3dcf538773 feat: #8023, allow wildcard search for uid/email 5 years ago
Barış Soner Uşaklı 658dd03b03
feat: add tools to recent/unread (#8477)
* feat: add tools to recent/unread

* fix: open api spec

* fix: more api spec
5 years ago
Barış Soner Uşaklı ac6b571ed5 fix: dont allow searching by email/ip if not privileged 5 years ago
Barış Soner Uşaklı 59a2ace6f7 fix: only add blocksCount for self and admins 5 years ago
Barış Soner Uşaklı fd20e5c62c fix: tests 5 years ago
Barış Soner Uşaklı eb9704f85e feat: #8450, next/prev link tags on /unread /recent 5 years ago
Barış Soner Uşaklı 2355d9d5dd fix: escape navigation item fields, theme:id, category fields 5 years ago
Barış Soner Uşaklı 023de94ef8 fix: show controls @julianlam 5 years ago
Barış Soner Uşaklı e53a18f219 fix: #8437, #8433 5 years ago
Barış Soner Uşaklı 8383992dcc feat: move export functions into child processes 5 years ago
Barış Soner Uşaklı e80379dc0e feat: display stack trace on winston.error 5 years ago
Julian Lam 35a06a8419 feat: #8412 breadcrumbs for ip-blacklist/post queue/flags 5 years ago
Barış Soner Uşaklı 53a9517d54 fix: crash in export posts if post content is undefined 5 years ago
Julian Lam 4acb3fb210 feat: #8387 expose global and admin privs to flags detail page 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ı 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
Julian Lam 922d49be0b fix(style): switch..case 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 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ı 0a31e3e6b0 fix: #8320, dont load moderators separately for each category 5 years ago
Barış Soner Uşaklı 7f24200c73 feat: add folder to filter:uploadImage and filter:uploadFile 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ı 8bf980cb63 fix: tests, handle no sessions 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ı 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ı c47a1c4df4 fix: convert cids to string for comparison 5 years ago
Barış Soner Uşaklı 337be368eb fix: category selector disabled categories 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ı 7d08184372 fix: winston showing json object 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ı 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
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
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
Julian Lam ef52461fb6 fix: remove dead picture upload code #8260 5 years ago
Barış Soner Uşaklı c7ea84a2ae fix: wrong data returned in available.groups 5 years ago
Julian Lam f2f6fbf15a fix: #8232, unresolvable session mismatch on register cancel 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ı 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ı 5e91a67e78 feat: add user ip to admin/dev/info 5 years ago
Barış Soner Uşaklı f23bc347b1 fix: #8156 dont allow loading members from hidden groups 5 years ago
Barış Soner Uşaklı a5ef6b53b8 fix: admin relogin 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
Baris Usakli 4eb9652a2a fix: #8112, don't crash hook returns no data 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ı 5a8217de01 fix: #8105, fix export json on page load 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ı dec157d606 fix: #8085, fix cookie name 5 years ago
Baris Usakli 7af1c873a3 fix: #8077, show continue chat on all profile pages 5 years ago
Barış Soner Uşaklı 2679f37dec fix: profile showing posts from deleted topics 5 years ago
Baris Usakli 4d66978338 fix: #8073, configurable necroThreshold 5 years ago
Baris Usakli 366ad5cd69 fix: #8050, fix redirect after registration 5 years ago
Baris Usakli 0a96c92300 fix: #8034 5 years ago
Julian Lam df139928b6
feat: displaying one-click unsubscribe link in email footer (#8024)
closes #8016
5 years ago
Barış Soner Uşaklı 480a64aaa7 feat: #7467, pass query params when redirecting to posts 5 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
5 years ago
Barış Soner Uşaklı c4e58160cf fix: #8003, check children recursively 5 years ago
Barış Soner Uşaklı 1cedc4a0d6 feat: #7957, allow post queue based on group
allow multiple select in ACP pages
5 years ago
Barış Soner Uşaklı e020b85bf5 feat: add filter:topics.unreadCutoff 5 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
5 years ago
Julian Lam ddf3812cdc fix: passwords always expiring upon login 5 years ago
Baris Usakli 5b458fc7ca fix: #7953, allow icon only group badges 5 years ago
Barış Soner Uşaklı 75bcb0f484 fix: remove unused data from post/topic/user hashes 5 years ago
Barış Soner Uşaklı c5f7b66c3a fix: new nav items will show group select 5 years ago
Barış Soner Uşaklı c9bf6d0fe1 fix: #7945, show watched categories in ignored categories 5 years ago
Barış Soner Uşaklı 41f8da2e7c fix: fix the order of groups on user profile 5 years ago
Barış Soner Uşaklı b192605450 feat: add new hook to get custom category tids for unread 5 years ago
Aziz Khoury 94810fd637 feat: adding filter:login.check and loginFormEntry[] for the filter:login.build hook (#7861)
* adding filter:login.check and loginFormEntry[] for the filter:login.build hook, related to nodebb-plugin-spam-be-gone/issues/32

* do not exceed 50 lines per function

* spam-be-gone@0.6.4
5 years ago
Barış Soner Uşaklı 7effc89291 fix: profile page meta tags getting escaped twice 5 years ago
Barış Soner Uşaklı 9a7560049a feat: bypass cropper for gifs 5 years ago
Barış Soner Uşaklı ffe3670ff5 feat: deprecate file.isFileTypeAllowed
use image.isFileTypeAllowed, this function was always meant for images
5 years ago
Barış Soner Uşaklı 310c6fd33f
properly filter /unread /recent /popular /top (#7927)
* feat: add failing test for pagination

* feat: test

* fix: redis tests

* refactor: remove logs

* fix: add new test

* feat: make sortedSetRangeByScore work with keys on redis

* fix: hardcoded set name

* feat: show topics from readable categories on recent/popular/top

* feat: rewrite unread topics

respect watched categories and followed topics

* fix: term + watched
5 years ago
Barış Soner Uşaklı 7a0f607434 fix: account/categories 5 years ago
Barış Soner Uşaklı 96ab8d05aa fix: only allow png/jpg/bmp in cover/profile images 6 years ago
Barış Soner Uşaklı bbc2e95688 feat: add rss feed url for tags 6 years ago
Barış Soner Uşaklı 795d4183ca fix: lang key 6 years ago
Barış Soner Uşaklı 5b8550f060 fix: time cutoff and lang string 6 years ago
Barış Soner Uşaklı 86b16629f8 refactor: returned fields 6 years ago
Barış Soner Uşaklı 87f6ac59b1 fix: returned data 6 years ago
Barış Soner Uşaklı 955e00fd9d fix: dont send all category data back to recent&unread etc 6 years ago
Baris Usakli ecf39727cc fix: #7912 6 years ago
Barış Soner Uşaklı 307abaa8cc fix: only return necessary data for categories 6 years ago
Barış Soner Uşaklı 63bd3fc597 refactor: async/await emailer 6 years ago
Opliko b9583ed838 Add privilege for accessing user information (#7859)
* Add view users info global privilege

* Show user ip only to global mods and admins

* fix missing comma

* Hide link for users without correct privilege

* move getting privilege information to getAllData

* Hide the link from Global Moderators as well

* Give Global Moderator view:users:info privilege

* Restrict ip in post menu to view:users:info

* add some trailing commas....

* Add privilege to categories test

* Add group privilege to categories test

* add upgrade script

* fix style for TravisCI

* more styling - change spaces to tabs

* some more styling fixes (hopefully final one)

* fix style for Travis CI

* hide ip in chat messages

* Don't show even hidden ips on user profile page
6 years ago
Barış Soner Uşaklı ec3b5dd95a refactor: async/await routes/feeds 6 years ago
Barış Soner Uşaklı 3c6c40b177 refactor: async/await controllers/user.js 6 years ago
Barış Soner Uşaklı 5c0266d8c4 refactor: async/await uploads 6 years ago
Barış Soner Uşaklı 3e2ed21d3d refactor: move tos parsing to /tos 6 years ago
Barış Soner Uşaklı b9105ef9c6 refactor: async/await controllers/authentication 6 years ago
Barış Soner Uşaklı 22f8011686 refactor: remove async from isPasswordValid, function is sync 6 years ago
Barış Soner Uşaklı 6cda369872 refactor: make categories.buildForSelectCategories non async 6 years ago
Barış Soner Uşaklı 0843497dd4 fix: #7893, check private upload setting 6 years ago
Baris Usakli e291a60964 fix: page count for filters 6 years ago
Baris Usakli f9a804e014 refactor: async/await users 6 years ago
Barış Soner Uşaklı 19b63bfaa7 refactor: remove empty line 6 years ago
Barış Soner Uşaklı 1d7e0c6341 feat: allow floating pinned topics to top in getSortedTopics 6 years ago
Barış Soner Uşaklı 6f7ab5861e feat: promisify recent.getData 6 years ago
Barış Soner Uşaklı 2c4f04462f refactor: async/await controllers 6 years ago
Barış Soner Uşaklı 89cd31ed28 feat: faster initial stat loading 6 years ago
Barış Soner Uşaklı cb50b3f441 feat: cache stats, mongo count sucks 6 years ago
Barış Soner Uşaklı 3ff6e1bb64 feat: dashboard stats
show
yesterday/today
lastweek/this week
lastmonth/this month
6 years ago
Barış Soner Uşaklı 5362488584 refactor: async/await controllers/tags 6 years ago
Barış Soner Uşaklı f15c7f12b3 refactor: async/await 6 years ago
Baris Usakli 0722cc4715 refactor: globalmods/groups 6 years ago
Baris Usakli bd8736db38 refactor: controllers/category.js 6 years ago
Barış Soner Uşaklı 4eaa630b1c refactor: async/await controllers/api 6 years ago
Baris Usakli acf12e3dd8 feat: convert search controller to async/await 6 years ago
Barış Soner Uşaklı 6f375482a0 refactor: async/await admin/controllers 6 years ago
Barış Soner Uşaklı c9250a01a2 refactor: async/await, remove dupe code for homepage routes 6 years ago
Julian Lam 71b205a889 refactor: async/await for src/socket.io/groups.js 6 years ago
Barış Soner Uşaklı c6c13725f8 fix: typo 6 years ago
Barış Soner Uşaklı e635348693 feat: async 6 years ago
Barış Soner Uşaklı 32ea04a872 feat: async/await controllers/admin/dashboard 6 years ago
Barış Soner Uşaklı 647713f3fa fix: category description getting translated in ACP 6 years ago
Barış Soner Uşaklı 7162051905 fix: #7791 6 years ago
Julian Lam 29f96b199c fix(style): requiring parens in block bodies 6 years ago
Julian Lam 0921230976 fix(style): updated code to follow new eslint recommendations
Squashed commit of the following:

commit f9ce878b269b3568f0d649309aae1af4dcfdfeef
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:30:46 2019 -0400

    fix(style): updated code to follow new eslint recommendations

commit 80dd370e413f22badb96ff2138e7991dfff6d836
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:14:58 2019 -0400

    fix(deps): update dependency sitemap to v4

    Squashed commit of the following:

    commit f4dd9cabb21e26fdc21f8413be822ea7c64251f8
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee16dcc27a8dcc2e4479d1bc5e2d1b60e
    Merge: e3352b272 72590b346
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:09:55 2019 -0400

        Merge branch 'master' into renovate/sitemap-4.x

    commit e3352b272eb9400bdb00774973181397803765e4
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

commit 8e3c0cdcae22acc32d352be8bb72d60e7502dbc5
Author: Renovate Bot <bot@renovateapp.com>
Date:   Fri Aug 9 00:49:51 2019 +0000

    fix(deps): update dependency commander to v3

commit 2104449d38818f2fa4d44b3a58a0a168781acbfb
Author: Renovate Bot <bot@renovateapp.com>
Date:   Tue Aug 13 15:00:27 2019 +0000

    fix(deps): update dependency mongodb to v3.3.0

commit d2937f446a21131c070ae5d0ff33d67cfe465b8c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

commit 1b97e8b199f960dc24e5722702f27499ae049914
Author: Misty (Bot) <deploy@nodebb.org>
Date:   Tue Aug 13 09:28:39 2019 +0000

    Latest translations and fallbacks

commit 69a48957a2f0d23c4d194b664bda3a0431179c01
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 21:56:09 2019 -0400

    feat: async/await

commit b9b2a7e593a452de4bef6d0ab6abe368a3bdb8dd
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 20:58:29 2019 -0400

    feat: async/await refactor

    controllers/accounts

commit a8d43a175974a0c8ae3dc132bf51a7ed9a4c6305
Author: Baris Usakli <barisusakli@gmail.com>
Date:   Mon Aug 12 14:49:40 2019 -0400

    feat: async/await controllers/accounts

commit 2f25aae57bf9dbe98d655276770e56bed9ec023b
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 23:09:50 2019 -0400

    fix: #7831, fix pagination

    convert to async/await

commit c9e83f2374572264855a04156278eef256b0a20c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c4dd7583412c4e8d56e9c1688e48a44
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:13:41 2019 -0400

    fix: remove useless catchs and empty line

commit 2e4a71c0b6104738f15ffbfe3246105b922fdfb3
Author: Renovate Bot <bot@renovateapp.com>
Date:   Sat Aug 10 06:51:50 2019 +0000

    chore(deps): update dependency eslint-config-airbnb-base to v14
6 years ago
Barış Soner Uşaklı 72590b3462 feat: async/await admin/controllers 6 years ago
Barış Soner Uşaklı 7beef91c3f feat: async/await 6 years ago
Barış Soner Uşaklı 3cc7ec63e8 feat: async/await refactor
controllers/accounts
6 years ago
Baris Usakli a3541d887b feat: async/await controllers/accounts 6 years ago
Barış Soner Uşaklı 014e31533d fix: #7831, fix pagination
convert to async/await
6 years ago
Barış Soner Uşaklı 3ecac97d7e fix: #7826, fix order of categories on recent dropdown 6 years ago
Baris Usakli e9fd49e234 feat: convert categories controller to async/await 6 years ago
Jakub 90bcd65a00 add filter:manifest.build (#7821)
* add filter:manifest.build

Added a hook that lets plugins modify manifest.json, as suggested in https://community.nodebb.org/post/59670

* Added error handling

Thanks barisusakli

* Define next

* Pass data as an object

* Remove multiple spaces
6 years ago
Baris Usakli 3a9d83a44b feat: async refactor 6 years ago
Baris Usakli 9780f5b975 fix: #7809, dont check postDelay if submitting from queue 6 years ago
Barış Soner Uşaklı e72f3e4ffe feat: #7743 account/posts controller 6 years ago
Barış Soner Uşaklı 9b3f4b98d1 feat: #7743 finish topics controller 6 years ago
Barış Soner Uşaklı f8d341014a fix: #7763, parse about me on all profile pages 6 years ago
Barış Soner Uşaklı 7b95ebbb6a fix: #7748, if reputation system is disabled, dont check min reputation 6 years ago
Barış Soner Uşaklı 805dcd7ca2
Async refactor in place (#7736)
* feat: allow both callback&and await

* feat: ignore async key

* feat: callbackify and promisify in same file

* Revert "feat: callbackify and promisify in same file"

This reverts commit cea206a9b8e6d8295310074b18cc82a504487862.

* feat: no need to store .callbackify

* feat: change getTopics to async

* feat: remove .async

* fix: byScore

* feat: rewrite topics/index and social with async/await

* fix: rewrite topics/data.js

fix issue with async.waterfall, only pass result if its not undefined

* feat: add callbackify to redis/psql

* feat: psql use await

* fix: redis 🌋

* feat: less returns

* feat: more await rewrite

* fix: redis tests

* feat: convert sortedSetAdd

rewrite psql transaction to async/await

* feat: 🐶

* feat: test

* feat: log client and query

* feat: log bind

* feat: more logs

* feat: more logs

* feat: check perform

* feat: dont callbackify transaction

* feat: remove logs

* fix: main functions

* feat: more logs

* fix: increment

* fix: rename

* feat: remove cls

* fix: remove console.log

* feat: add deprecation message to .async usage

* feat: update more dbal methods

* fix: redis :voodoo:

* feat:  fix redis zrem, convert setObject

* feat: upgrade getObject methods

* fix: psql getObjectField

* fix: redis tests

* feat: getObjectKeys

* feat: getObjectValues

* feat: isObjectField

* fix: add missing return

* feat: delObjectField

* feat: incrObjectField

* fix: add missing await

* feat: remove exposed helpers

* feat: list methods

* feat: flush/empty

* feat: delete

* fix: redis delete all

* feat: get/set

* feat: incr/rename

* feat: type

* feat: expire

* feat: setAdd

* feat: setRemove

* feat: isSetMember

* feat: getSetMembers

* feat: setCount, setRemoveRandom

* feat: zcard,zcount

* feat: sortedSetRank

* feat: isSortedSetMember

* feat: zincrby

* feat: sortedSetLex

* feat: processSortedSet

* fix: add mising await

* feat: debug psql

* fix: psql test

* fix: test

* fix: another test

* fix: test fix

* fix: psql tests

* feat: remove logs

* feat: user arrow func

use builtin async promises

* feat: topic bookmarks

* feat: topic.delete

* feat: topic.restore

* feat: topics.purge

* feat: merge

* feat: suggested

* feat: topics/user.js

* feat: topics modules

* feat: topics/follow

* fix: deprecation msg

* feat: fork

* feat: topics/posts

* feat: sorted/recent

* feat: topic/teaser

* feat: topics/tools

* feat: topics/unread

* feat: add back node versions

disable deprecation notice
wrap async controllers in try/catch

* feat: use db directly

* feat: promisify in place

* fix: redis/psql

* feat: deprecation message

logs for psql

* feat: more logs

* feat: more logs

* feat: logs again

* feat: more logs

* fix: call release

* feat: restore travis, remove logs

* fix: loops

* feat: remove .async. usage
6 years ago
Barış Soner Uşaklı bd640a1107
Topic await errors (#7727)
* feat: derp await

* feat: restore user.getSettings

* feat: cleanup

* feat: make tid const

* feat: cleanup

* fix: tests

* feat: deprecate filter:controllers.topic.get

* feat: rewrite post-index logic

* feat: change calculation to match others

* fix: use .async

* feat: remove try/catch wrapper
6 years ago
Julian Lam 75ff4d7dea feat: returning category data in tags page
For nodebb/nodebb-theme-persona#483
6 years ago
Julian Lam a0c0ef1ba4
feat: ACP analytics API route (#7725)
* feat: added API route for retrieving analytics via REST API

* feat: sets is now optional, can pass in multiple sets

* fix: moved expand and added json button to panel header

* fix: matching api params to socket method

* fix: update json api button url on graph change

* fix: updated default counts based on passed in units
6 years ago
Barış Soner Uşaklı f24c14d712 feat: ability to sort watched topics, closes #3735 6 years ago
Barış Soner Uşaklı e48c7cd717 fix: dont show delete posts on profile 6 years ago
Barış Soner Uşaklı a39f0ef592 fix: #5570, create per category user post zsets 6 years ago
Barış Soner Uşaklı b53a60c278 feat: show best & latest posts on profile 6 years ago
Barış Soner Uşaklı 68e5d7adec fix: remove dupe code 6 years ago
Barış Soner Uşaklı 25ea634787 fix: #7659 add option to change cookie link url 6 years ago
Barış Soner Uşaklı 5fa5e999f8
Plugin metrics (#7626)
* feat: add enable/disable checkbox for plugin usage

* feat: submit plugin data to packages.nodebb.org

only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs

* fix: hash not working after first send

fix statusCode

* fix: remove url

* feat: show compatibilty

* feat: add install question for submit plugin usage
6 years ago
Julian Lam c7f95ccecc
feat: design revamp of ACP events page (#7664)
* feat: design revamp of ACP events page

- minor UX changes
- new filter controls, filters moved to sidebar
- form usable without js
- start/end filters NOT programmed yet

* feat: events ACP limit by date and perPage

* feat: pre-fill applied filters on template render

* fix: missing translation for ACP events perPage filter

* fix: added some comments to explain setHours behaviour

* fix: stop - start + 1

* fix: socket tests

* fix: +inf, not just inf

* fix: tests, because I am an idiot
6 years ago
Barış Soner Uşaklı 4b843ba16f fix: #7567, allow invite and approval at the same time 6 years ago
Barış Soner Uşaklı 035f624758
Remove implicit mod privs. closes #6345 (#7648)
* feat: add upgrade script to give mods privs

* feat: give all privileges when making a moderator

* feat: remove implicit privs

* feat: give global mods default privs

* feat: more priv fixes

* feat: use lodash

* fix: remove implicit mod priv from topic delete

* fix: more privs

* fix: posts.canEdit

* fix: canDelete and canEdit

* fix: tests, remove console.log

* feat: shorter functions

* feat: add tests

* fix: uids

* fix: redis random test fail
6 years ago
Barış Soner Uşaklı 4d9bc30d1f
feat: async3 upgrade (#7639)
* feat: async3 upgrade WIP

* fix: async.doWhilst

* fix: async early exit

* fix: psql doUntil

* fix: psql again
6 years ago
Julian Lam 603c526287 fix: bad usage of async requisition 6 years ago
Julian Lam f321b426b1 fix: 7638, returnTo accidentally saved into user hash 6 years ago
Barış Soner Uşaklı 15391da51e fix: #7431, add /unread link to topic route 6 years ago
Julian Lam 0d86781cb5 fix: #7599 image size measurement erroring out on missing path 6 years ago
Andrew Rodrigues 50260e137a fix: #7576 "Disable password changes" can be sidestepped 6 years ago
Andrew Rodrigues e114b16d7a fix: if editing password is disabled in ACP, prevent direct access via route/socket (related: #7576) 6 years ago
Barış Soner Uşaklı fe6d64ccbc fix: #7147 6 years ago
Barış Soner Uşaklı c6cd6c5705 fix: add post queue to /compose POST route 6 years ago
Andrew Rodrigues ddffc904f4 feat: allow file uploading on registration interstitial 6 years ago
Julian Lam c38db4f765 feat: #7515
This reverts commit 81f8cfe3da.
6 years ago
Barış Soner Uşaklı 81f8cfe3da Revert "feat: #7515"
This reverts commit ac889db16b.
6 years ago
Barış Soner Uşaklı ac889db16b feat: #7515 6 years ago
Aziz Khoury 3fbb6faf28 feat: update unban logic/invocation and refactor User.bans module
* auto unban when User.getUsersFields is called and the user is banned but has expired

* cleanups and removal of expiry_readable

* expiry_readable make an alias for backward compatibility

* User.bans.func vs User.*ban*Func

* console.log cleanups, plus todo message added

* use code util.deprecate

* fix: remove ununsed winston require
6 years ago
Baris Usakli fb58e23914 fix lint 6 years ago
Baris Usakli e479fad792 fix: #7517 6 years ago
Barış Soner Uşaklı abe4abb674
feat: add original sessionID to static:user.loggedOut 6 years ago
Barış Soner Uşaklı 4db0efe32d fix: #7476 6 years ago
Julian Lam 6415ba82c4 fix: #7493, adding robots noindex meta tag to compose and reset routes 6 years ago
Andrew Rodrigues 6bed51ef1c chore: comment cleanup 6 years ago
Andrew Rodrigues 240f563ab0 fix: #7477 6 years ago
Barış Soner Uşaklı dd8d4f206a fix: remove async.series, dont crash if postAtIndex is undefined 6 years ago
Julian Lam 697a6597f3
fix: #7444 Re-factor handling of og:image tags (#7463)
* fix: display proper site logo or og-image with sizes in head

* fix: refactor og:image logic, #7444

- Updated logic to set additional og:image tags based on more
  factors
- logo.png fallback

* feat: save image sizes on post upload, re: #7444

* fix: awaiting addTags in topic controller

* fix: pass strings to meta tags object

* fix: sending absolute image url to meta tag

* fix: removed unneeded async and requiring sync db

* feat: upgrade to calculate image sizes for all post uploads tracked

* fix: tests
6 years ago
Julian Lam 745a9589e9
Use topics:read privilege for topic filtering use cases (#7462)
* fix: use topics:read privilege for topic filtering use cases

* fix: tests

* fix: more broken tests
6 years ago
Julian Lam d2cfe6b946
Moved onSuccessfulLogin call from plugins to core, + auth verification hook (#7416)
* fix: #7412, calling controllers.onSuccessfulLogin in core

* feat: added plugin hook for auth validation
6 years ago
Baris Usakli 756dfd8ae6 fix: #7008 6 years ago
Barış Soner Uşaklı aecdf739fd fix: change user/system cpu usage 6 years ago
Barış Soner Uşaklı 5eaa14e746 fix: strip exif data on image uploads 6 years ago
Barış Soner Uşaklı db47753877 feat: add process cpu usage to admin 6 years ago
Julian Lam f972f75202 fix: incorrect returnTo set in registerComplete 6 years ago
Julian Lam eafe76debb feat: add vote status to getPostData API call 6 years ago
Julian Lam 7a5344533e fix: tests for #7385 6 years ago
Julian Lam 57069a5c48 fix: #7385 better handling for errors in Adv>Databases 6 years ago
Barış Soner Uşaklı c01d43e01d feat: quick search 6 years ago
Julian Lam 949b10f132 fix: no relative path needed in req.session.returnTo
re: julianlam/nodebb-plugin-session-sharing#73
6 years ago
Barış Soner Uşaklı 2996a5dc25 fix: #7359 6 years ago
Barış Soner Uşaklı c6ad8fae2a fix: #7354 6 years ago
Barış Soner Uşaklı 70d9c6c4ce fix: #7232 6 years ago
Barış Soner Uşaklı c72da5595a fix: #6806
3 new global privileges
view:users
view:tags
view:groups
6 years ago
Barış Soner Uşaklı 9d1fcf4e36 fix: closes #7217 6 years ago
Andrew Rodrigues 5031bfe8c0 feat: allow themes to define custom classes for categories via filter:admin.category.get
`datalist` isn't supported in all browsers but this will fallback to the original behavior. The first item in the list is the placeholder.
6 years ago
Barış Soner Uşaklı 5353960ae7 fix: #7316 6 years ago
Barış Soner Uşaklı 920efad04d fix: #7300 6 years ago
Barış Soner Uşaklı 7064fd0678 fix: #7235 6 years ago
Barış Soner Uşaklı a083d5f429 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı a22a3a9861 fix: log error to prevent headers already sent
retry on uniq index fail
6 years ago
Julian Lam 63061ffd37 feat: new hook filter:user.logout
- used for setting "next" for post logout redirection
6 years ago
Ricki Hirner 0a662e4882 Add Disallow: /compose to robots.txt 6 years ago
Julian Lam cee47f78b2 fix: #7289 timeago shorthand toggle fails on non-existant language
- Exposing timeagoCodes to frontend
- Timeago language and shorthand toggling will fall back to 'en'
  if the requested language does not exist
6 years ago
Julian Lam 059a4be204 feat: explicit handling of SSO success and failure 6 years ago
Julian Lam 831d079512 fix: #7274 incorrect handling of client script 404s 6 years ago
Barış Soner Uşaklı 9328eeca95 fix: escape hook method 6 years ago
Julian Lam 70a87d4399
feat: support for one-click unsubscribe from email clients (#7203)
* feat: sending notifs via ACP creates real notification

re: #7202

* feat: basic integration for one-click unsubscription #7202

* feat: tests for #7202 + bugfix

* feat: added and organized digest unsub tests

closes #7202
6 years ago
Baris Usakli 0d409610c4 fix: #7181 6 years ago
Julian Lam b0eaa858b5 fix: #7169 Fixed logout being broken 6 years ago
Julian Lam d81e0a5f5b fix: #7146 Better RTL handling on (de-)authentication
- RTL is applied (or unapplied) on login and logout depending on
  user language/guest-detected language.
- config is automatically saved into res.locals.config whenever
  loadConfig is called
- On login/logout, buildHeader is called instead of getting config
- On logout, req.uid is deleted instead of set to 0
6 years ago
Julian Lam 900f0a0b78 fix: #7118, invoking autoLocale middleware on logout
Also:
- firing client-side hook on header update
- updating bootbox locale on header update
6 years ago
Barış Soner Uşaklı 7e828404f6 fix: #7116
dont save relative_path in db for group covers
6 years ago
Barış Soner Uşaklı b9b9d8b2e9 feat: name topic controller 6 years ago
Barış Soner Uşaklı ae0fe5e880 feat: more naming 6 years ago
Barış Soner Uşaklı 9f5062682d fix: unread badge
- only increase unread badge if topic or category is watched
- fix logic for "there are new posts/topics" on /unread and /recent
6 years ago
Barış Soner Uşaklı 989879a6b5 fix: #7115 6 years ago
Barış Soner Uşaklı 14c4552304 dont modify session for spiders 6 years ago
Barış Soner Uşaklı eb7ae54f81
Category watch state (#7109)
* feat: wip, category watch change

* feat: pass data to client

* feat: allow changing state

* fix: account page categories

* fix: show in unread if topic is followed or category is watched

* feat: add default watch state to acp

* feat: save user category watch state

* feat: update unread recent pages

* fix: remove dupe code

* fix: flip conditions

* fix: handle empty arrays

* fix: ignore/watch on others profile

* feat: upgrade script for category states

if there are any users ignoring categories set their state in new zset and delete cid:<cid>:ignorers

* fix: upgrade

* fix: tests

* fix: redis count

* fix: more tests
6 years ago
Barış Soner Uşaklı 8169739069 fix: #7108 6 years ago
Barış Soner Uşaklı 62f01a839e fix: dont save data for non-positive uids 6 years ago
Julian Lam 5f3d1c76c8
fix: #7038, autoLocale logic not playing nicely with no-refresh auths (#7059)
* fix: #7038, autoLocale logic not playing nicely with no-refresh auths

- on login, req.query.lang is deleted (since it seems to be left over)
- on logout, the middleware.autoLocale is executed, which resets
  req.query.lang
- middleware.autoLocale is new, just refactored existing logic in
  webserver.js into new middleware method.

* style: tests, use lodash

* fix: timeago strings not switching languages on login or out
6 years ago
Barış Soner Uşaklı f581c052ee feat: #7023
- add category selector to privileges and category create modals
- allow category selector to work for multiple selectors on same page
6 years ago
Barış Soner Uşaklı a63ddbe2aa fix: #7040
if category doesn't exist return null and 404
6 years ago
Barış Soner Uşaklı 1f918ca8f8
Home route (#7039)
* fix: WIP home fix

* remove console.log

* fix: #6949

on redis run all tests in subfolder /forum
fix URI errors
fix sping/ping
6 years ago
Baris Usakli b86f155690 fix: #7037 6 years ago
Peter Jaszkowiak ba619c7ec8 style(eslint): match operator-linebreak preferences 6 years ago
Peter Jaszkowiak 89c025d102 feat: close #7002, console message if mismatched origins 6 years ago
Barış Soner Uşaklı 00a066985a cache categories:cid and cid:<cid>:children
these rarely change, no need to go to db for them
6 years ago
Barış Soner Uşaklı 1d5816b00a add new hook `filter:unread.categories` 6 years ago
Barış Soner Uşaklı d0750bc587 closes #7007 6 years ago
Barış Soner Uşaklı 53ad2bbd6e
Categories optimize (#6999)
* WIP

* fix category page

* fix counts, and copyPrivileges

* fix lint

* more fixes,

* redis fix

* fix test

* fix  category test

* remove getParentsAndChildren
6 years ago
Barış Soner Uşaklı 69ef05707a style 6 years ago
Barış Soner Uşaklı 01c942fc39 closes #6989 6 years ago
Barış Soner Uşaklı fc1c4acccf closes #6960 6 years ago
Baris Usakli b83e50f286 remove delayImageLoading from api @julianlam 6 years ago
Barış Soner Uşaklı 94e10c8c32 closes #6972 6 years ago
Peter Jaszkowiak 57b39d5ba2 fix(acp): small UI fixes for ACP privileges category selector (#6946)
- Add dropdown chevron
- Change translations
- Safety against `category` not an object
6 years ago
Barış Soner Uşaklı 7dabd13fea remove unused 6 years ago
Barış Soner Uşaklı de14102ee7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı d9452bf3d4 fix: custom navigation item not showing groups 6 years ago
Julian Lam b3f96d28aa fix(acp): hard-to-discover dropdown selector in ACP
Made the dropdown an MDL button fab with better positioning via
a p.lead so that it is more easily discoverable and obvious that
it is a button that can be pressed.

Fixes #6899
6 years ago
Barış Soner Uşaklı 69bb3293ee misc fixes
handle spider uids properly
6 years ago
Barış Soner Uşaklı b6771836cf closes #6937 6 years ago
Baris Usakli 2ee743d65c add itemsPerPage to search api 6 years ago
Baris Usakli 62787368c6 add searchonly option to searh api 6 years ago
renovate[bot] 64b9dabff8 chore(deps): update dependency eslint-config-airbnb-base to v13 (#6599)
* chore(deps): update dependency eslint-config-airbnb-base to v13

* chore: #6599, linting 😬
6 years ago
Julian Lam 501b3a79ca
Refactor skins to be built on server-side (#6849)
* WIP

* using bootswatch from npm instead of bootswatch CDN url

* feat: on-demand client css building for skins

* added ability for client-side to select a skin

* updated loading and saving logic of bootstrapSkin on client side user settings

* fix: broken test for #6849
6 years ago
Julian Lam 84433f29ab
Do not require a full refresh on login/logout (#6841)
* no-refresh login as well, plus lots of fixes for missing config on login

* replace config with new set on logout as well

* passing new payload data into new action:app.loggedIn hook, and old action:app.loggedOut hook

* fixed issues with socket.io not properly representing uid on server

* some light refactoring and cleanup

* minor cleanup, fixed spa logout not working after login

* have reconnection handler for socket.io wait 2s to confirm disconnection before reporting -- stops flicker if reconnecting immediately

* Dynamically replace chat and slideout menu on updateHeader()

... instead of just the menu items.

* more efficient calls to Benchpress and translator /cc @pitaj

* fix: chats and notification handlers not working after login

* fix: accidentally calling cb multiple times
6 years ago
Julian Lam 3c8939a80d fix: interstitial redirects failing if done via ajaxify 6 years ago
Barış Soner Uşaklı 412358b070 #6903 6 years ago
Julian Lam 157bea6966 fix: username trim on login, closes #6894 6 years ago
Barış Soner Uşaklı ea1e8fb8fe Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı c27be9db5a
Recent refactor (#6879)
* wip

* fix inf scroll

* remove duplicated code

* remove dupe code in /unread

* use topicList

* update tag page to use topicList

* fix tests

* combine ifs

* remove more dupe code

* disable timeout
6 years ago
Barış Soner Uşaklı 66ed48e088 closes #6875 6 years ago
Julian Lam 4919e9efa3 feat: allow disabling of GDPR features via ACP toggle, closes #6847 6 years ago
Barış Soner Uşaklı f3a679e268 remove parseInts 6 years ago
Barış Soner Uşaklı 9c03881d5a add threshold for image resizing 6 years ago
Barış Soner Uşaklı 44a957faca remove more parseints 6 years ago
Barış Soner Uşaklı 537b7ff7e8 remove more parseInts 6 years ago
Barış Soner Uşaklı 7a44424214 parse '123' to 123 if it has no default 6 years ago
Baris Usakli 881185ae59 closes #6857 6 years ago
Barış Soner Uşaklı ab7657d445 closes #6854 6 years ago
Barış Soner Uşaklı ac39112271 remove more parseInts 6 years ago
Barış Soner Uşaklı 9c022afae1
Parse int (#6853)
* Store config fields as JSON in the db

Fewer parseInts

* Remove unnecessary parseInts

* remove some dupe code add tests

* remove console.log

* remove more parseInts

* WIP: read meta.configs defaults from defaults.json

remove more parseInts

* more work

* add log for failing test

* update admin pwd

* fix tests, dont require posts/cache before configs are initialized

* handle saves

* Test boolean conditions

* remove more parseInts

* Fix boolean values

* remove lots more parseInts

* removed json parsing

* renamed var to number

* categories dont have timestamp
6 years ago
Barış Soner Uşaklı ee2f9e9434 remove some parseInts 6 years ago
Barış Soner Uşaklı f5fe91286e closes #6851 6 years ago
Barış Soner Uşaklı 26d4e0852f use includes instead of indexOf
use _.uniq instead of filter&indexOf
6 years ago
Barış Soner Uşaklı 6c15aee888 add cache hits/misses to posts cache 6 years ago
Barış Soner Uşaklı b57db7fd8e
update groups join to take array of group names (#6834)
* allow groups.join to take an array of group names

* pass an array to groups.join/leave in privileges

* split up groups/membership

* add hits/miss to group cache

* fix typo
6 years ago
Barış Soner Uşaklı cf1173b0c4 closes https://github.com/NodeBB/nodebb-theme-persona/issues/408 6 years ago
Barış Soner Uşaklı a3d463916c closes #6822 6 years ago
Baris Usakli 3886a704e0 fix lint 6 years ago
Baris Usakli 84737b5a49 use buildForSelect 6 years ago
Baris Usakli 71905bb2c6 fix watched categories 6 years ago
Baris Usakli 9ed4239d8e small changes and test for user/:slug/categories 6 years ago
André Zanghelini 523a2dc54c Add settings page to control watched categories (#6648)
* Add settings page to control watched categories

* Fix passing undefined to pushUnreadCount
6 years ago
Barış Soner Uşaklı b58ab48485 add test for /sessions controller 6 years ago
Barış Soner Uşaklı 49ba5af5fa
closes #6810 (#6813) 6 years ago
Barış Soner Uşaklı 77beaf2e15
Allow local login,closes #6800 (#6803)
* WIP

* reset groups cache after every suite
6 years ago
Baris Usakli edefab1d69 closes #6728
add option to disable a category on creation
show disabled categories on manage privileges
7 years ago
Barış Soner Uşaklı 59b988a205 change test so it checks url 7 years ago
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
7 years ago
Julian Lam 382d06bbb0 fixes #6765 -- no need to have gmods and admins access login sessions page 7 years ago
Barış Soner Uşaklı b43bfa3d5b closes #6759
-moved user.blocks.filter from unread controller to getUnreadTopics so
topics are filtered at other places this function is called
- when a new post is made do not send it to uids that have blocked the
poster
- update getUnreadTids so it does not return topics that have new posts
from blocked users
- update hasReadTopics so it does not return false data if topic has new
posts from blocked users
7 years ago
Barış Soner Uşaklı 41aae6f418 closes #6749 7 years ago
Barış Soner Uşaklı 446b125c83 escape post content 7 years ago
LudwikJaniuk c7f3b76b4e DRY req props that depend on auth (fix #6727) (#6731)
* DRY req props that depend on auth (fix #6727)

authentication leads to req.loggedIn and req.uid being set. However, a
later authentication event might outdate them. Here, I create one
function for setting those properties, and make sure it also is called
on the `action:middleware.authenticate` hook, which would be such an
authentication event. If there are other places, those should be added
as well.

* fix lint errors

* fix lint error

* change exports
7 years ago
Barış Soner Uşaklı 3e1b007f9f escape title in post queue 7 years ago