Commit Graph

629 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
4263efa091 feat: don't overwrite req.query.lang if it exists 2020-05-19 14:18:07 -04:00
Julian Lam
526b3cd9ec fix: #8142 invalid session warning if server-side session destroyed
Resolved regression caused by 5a0c7c1497
2020-05-15 16:41:35 -04:00
Barış Soner Uşaklı
ecd622fdf5 fix: failing tests @julianlam 2020-05-04 15:02:04 -04:00
Julian Lam
0053e779e8 feat: response:router.page, dep. filter variant 2020-05-04 09:52:36 -04:00
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.
2020-04-24 11:51:33 -04:00
Barış Soner Uşaklı
8e23dec84b fix: lint 2020-04-01 21:57:28 -04:00
Barış Soner Uşaklı
23571224b5 feat: add parent cids to body class 2020-03-26 12:04:04 -04:00
Julian Lam
f0db240a1d fix: #8184 global mods unable to revoke other user sessions 2020-02-26 12:26:52 -05:00
Julian Lam
eddbd86837 fix: tweak to session validation in addHeaders 2020-02-18 16:08:23 -05:00
Barış Soner Uşaklı
630f5d5b85 fix: only call clearCookie for logged in users 2020-02-18 16:06:05 -05:00
Barış Soner Uşaklı
5a0c7c1497 fix: register 2020-02-11 21:46:34 -05:00
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>
2020-02-06 15:52:37 -05:00
Julian Lam
0885ec6858 fix: #8144 pluginHooks in maintenance mode middleware 2020-02-06 15:43:14 -05:00
Barış Soner Uşaklı
a227cbe328 refactor: async/await middleware 2019-12-16 08:44:55 -05:00
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
2019-11-18 13:07:05 -05:00
Baris Usakli
cec0079573 refactor: shorter returns 2019-11-15 14:27:45 -05:00
Baris Usakli
efd1e88bbf feat: convert middleware.isAdmin to async/await 2019-11-15 14:24:24 -05:00
Baris Usakli
1eca5b3dae fix: show login fields if user has local password 2019-11-15 13:19:29 -05:00
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
2019-10-22 13:38:36 -04:00
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
2019-09-17 14:02:52 -04:00
Barış Soner Uşaklı
4eaa630b1c refactor: async/await controllers/api 2019-08-18 19:06:51 -04:00
Julian Lam
29f96b199c fix(style): requiring parens in block bodies 2019-08-13 15:12:27 -04:00
Julian Lam
0921230976 fix(style): updated code to follow new eslint recommendations
Squashed commit of the following:

commit f9ce878b26
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 80dd370e41
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 f4dd9cabb2
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee1
    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 e3352b272e
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

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

    fix(deps): update dependency commander to v3

commit 2104449d38
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 d2937f446a
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

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

    Latest translations and fallbacks

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

    feat: async/await

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

    feat: async/await refactor

    controllers/accounts

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

    feat: async/await controllers/accounts

commit 2f25aae57b
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 c9e83f2374
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c
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 2e4a71c0b6
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
2019-08-13 15:12:27 -04:00
Barış Soner Uşaklı
4b843ba16f fix: #7567, allow invite and approval at the same time 2019-06-04 11:10:20 -04:00
Baris Usakli
63e5d383d9 fix: #7623, wait for lastonline to update on /users 2019-05-23 12:23:01 -04:00
Julian Lam
b70e03a7b0 fix: broken test for meta tags on ajaxify 2019-05-16 10:51:22 -04:00
Julian Lam
a41769e61c feat: update meta tags on ajaxify (#7580), fixes #7544
* feat: wip -- refresh meta tags on ajaxify

* feat: wrapped up meta tags update on ajaxify feature

* fix: removed commented-out line

* fix: removed another commented-out line
2019-05-16 09:41:56 -04:00
Baris Usakli
cf5aeace6b feat: closes #7583 2019-05-09 14:49:38 -04:00
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
2019-04-05 14:14:48 -04:00
Baris Usakli
8f55ab1340 fix: #7494 2019-03-26 12:24:28 -04:00
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
2019-03-13 12:38:30 -04:00
Julian Lam
949b10f132 fix: no relative path needed in req.session.returnTo
re: julianlam/nodebb-plugin-session-sharing#73
2019-02-15 16:42:11 -05:00
Barış Soner Uşaklı
c72da5595a fix: #6806
3 new global privileges
view:users
view:tags
view:groups
2019-02-05 12:08:18 -05:00
Julian Lam
a23854e3ff feat: new hook type: response
Used in authentication middleware. Instead of firing an action
hook, it now fires a response hook.

Response hooks are invoked serially, and if headers are sent from
one of the hook listeners, all subsequent hook methods are not
called.

Response hooks should only be used in situations where res.send
(or other like methods) are invoked. Existing plugin hooks that
pass in res purely for data retrieval purposes have not changed).

fixes nodebb/nodebb-plugin-write-api#101
2019-01-19 14:49:22 -05:00
Julian Lam
f122fc44d0 fix: #7266 body does not contain skin class
A regression was identified where the skin was not shown in the
body class. This resolves the issue and adds a workaround so that
the fix does not become breaking for custom themes.
2019-01-19 12:03:12 -05:00
Barış Soner Uşaklı
ed5d2d6d15 feat: get rid of disk access 2019-01-18 15:32:34 -05:00
Julian Lam
c831ff0de3 fix: removal of timeago fallback middleware (#7259)
* fix: removal of timeago fallback middleware

Instead of loading English fallback on missing language, we opt
to not send a script tag for a missing language to begin with.

Timeago already loads with English as default, so it will just
continue to use English.

* fix: check userLang against supported language codes

* fix: cleaned up code as per @pitaj

* fix: added comments

* fix: more fixes as per @pitaj

* feat: added addl. test for timeago locales, fixed broken test
2019-01-17 12:25:53 -05:00
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
2018-12-21 11:49:11 -05:00
Barış Soner Uşaklı
b2a74b4172 fix: remove cache 2018-12-17 17:54:33 -05:00
Barış Soner Uşaklı
0cb9bba4da feat: header 2018-12-17 17:11:35 -05:00
Barış Soner Uşaklı
60390c01f1 fix: loop 2018-12-17 16:59:45 -05:00
Barış Soner Uşaklı
f88db22ca2 feat: give the rest of the middlewares names 2018-12-17 16:36:43 -05:00
Barış Soner Uşaklı
fdfbcc6efe feat: give names to more middlewares 2018-12-17 16:23:38 -05:00
Barış Soner Uşaklı
53793e1603 feat: give names to middlewares 2018-12-17 16:03:01 -05:00
Barış Soner Uşaklı
4650a76036 fix: #7124 2018-12-16 00:09:13 -05:00
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
2018-12-15 16:38:30 -05:00
Barış Soner Uşaklı
99e0895e99 fix: move the check to get methods
all .post methods will have csrf
2018-12-14 23:38:05 -05:00
Julian Lam
fbe6ccd773 style: lint fix 2018-12-14 22:52:47 -05:00
Barış Soner Uşaklı
989879a6b5 fix: #7115 2018-12-14 21:18:42 -05:00
Barış Soner Uşaklı
29b63ae7fb fix: #6979 2018-12-14 17:31:06 -05:00