150 Commits (dcb85ee7a1536b5001ca85c1bc4256dac5fc8893)

Author SHA1 Message Date
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
Barış Soner Uşaklı ecd622fdf5 fix: failing tests @julianlam 5 years ago
Julian Lam 0053e779e8 feat: response:router.page, dep. filter variant 5 years ago
Barış Soner Uşaklı 8e23dec84b fix: lint 5 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
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
Baris Usakli 63e5d383d9 fix: #7623, wait for lastonline to update on /users 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
Barış Soner Uşaklı c72da5595a fix: #6806
3 new global privileges
view:users
view:tags
view:groups
6 years ago
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
6 years ago
Barış Soner Uşaklı fdfbcc6efe feat: give names to more middlewares 6 years ago
Barış Soner Uşaklı 53793e1603 feat: give names to middlewares 6 years ago
Barış Soner Uşaklı 99e0895e99 fix: move the check to get methods
all .post methods will have csrf
6 years ago
Julian Lam fbe6ccd773 style: lint fix 6 years ago
Barış Soner Uşaklı 989879a6b5 fix: #7115 6 years ago
Barış Soner Uşaklı 29b63ae7fb fix: #6979 6 years ago
Julian Lam a07d9898df fix: #7071 buildSkinAsset won't rebuild continuously 6 years ago
Baris Usakli 67ac8e3d06 closes #7053 6 years ago
Julian Lam f96208a0c8 fix(uploads): ugly filenames on uploaded asset downloading
During regular processing, a timestamp is prepended to the filename
for any uploaded files. We don't want this to be part of the filename
if an end-user elects to download the file.

This commit adds a middleware to strip out that portion of the
basename and adds the appropriate Content-Disposition header for
files in /uploads/files

Fixes #6953
7 years ago
Barış Soner Uşaklı 69bb3293ee misc fixes
handle spider uids properly
7 years ago
Julian Lam a5022ce425 fix: #6922, skin assets not including plugin LESS files 7 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
7 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
7 years ago
Barış Soner Uşaklı 26d4e0852f use includes instead of indexOf
use _.uniq instead of filter&indexOf
7 years ago
Peter Jaszkowiak 04d31fe1d4 Precompile all templates
- Benchpress compilation is 33x faster now
- Native module with JS fallback and pre-built binaries
- Dev template build is <1sec now
- Minified template build is ~5sec (uglify accounts for almost all)
7 years ago
Barış Soner Uşaklı 85a55d1740 closes 7 years ago
Barış Soner Uşaklı d31d8fa806 move category pageview to controllers
so topic views are tracked as category views
7 years ago
Julian Lam c25d752573 Merge remote-tracking branch 'origin/master' into develop 7 years ago
Barış Soner Uşaklı c707e98423 closes #6331 7 years ago
Barış Soner Uşaklı e36657d48c add tpl path to error messages 7 years ago
Julian Lam 1ce448f2a1 Merge remote-tracking branch 'origin/master' into develop 7 years ago
Barış Soner Uşaklı 575b70b5ab add some checks to templatesOnDemand 7 years ago
Barış Soner Uşaklı ac1f7eefe5 closes #2304 7 years ago
Barış Soner Uşaklı 18ba08183c fix test 7 years ago
Peter Jaszkowiak fc19f3af61 Misc fixes and improvements (#6143)
* `setup` command fixes and improvements

- Enable using the `./nodebb setup` command for auto-setup with a JSON argument
- Change CLI so package-install and dependency install are separate steps
- Fix #6142

* Prevent compiling templates multiple times

- Multiple requests for same template get pooled
- Hopefully fixes the "templateFunction is not a function" error which happens if site is restarted during high-traffic times

* More helpful upgrade template
7 years ago
Peter Jaszkowiak c47c47f7e3 Use less memory to build translation files (#6070)
* Change languages build to use less memory

Add graceful-fs so no ned to worry about fs limits

* Specify encoding for fs.readFile

Use eachLimit since graceful-fs handles that now
8 years ago
Julian Lam 6852c92ed6 Merge remote-tracking branch 'origin/develop' 8 years ago
Peter Jaszkowiak dc87d7fc0f Use .js instead of .jst
Fix #5934
8 years ago
Julian Lam dea372a5c5 fixes #5932 8 years ago
Peter Jaszkowiak abffc29128 Use Benchpress (#5901)
* Use Benchpress

* Use Benchpress.compileParse

* Error for template load failure

* Use benchpressjs package

* Compile templates on demand

* Fix user settings page

* Fix admin search to exclude `.jst` files

* Fix 500-embed

So ajaxify can still show an error if the server goes down
8 years ago
Julian Lam 6ec1bfd660 added artificial delay on reset route so that the heat death of the universe will arrive before you manage to identify a valid reset code 8 years ago
Julian Lam f59f48c6e1 use setImmediate 8 years ago
Julian Lam c9c27b86c4 added back logic to strip leading slashes, but after the fix to app.all 8 years ago
Baris Usakli e9639833c5 add router.all 8 years ago
Julian Lam 233297367b strip leading slashes from path if double-slash is accidentally used, stripping trailing slash from relative path retrieved from config.json 8 years ago
Marc-Aurèle DARCHE 6248e5562f Fix /apple-touch-icon not sending uploaded file
This fixes the following error:

$ wget https://nodebb.yourdomain/apple-touch-icon

28/6 09:57:06 [28332] - error: /apple-touch-icon
 Error: ENOENT: no such file or directory, stat '/home/sweet/nodebb/public/assets/uploads/system/touchicon-orig.png'
    at Error (native)
8 years ago
Barış Soner Uşaklı 22131640fd closes #5749 8 years ago
Baris Usakli 062bced3dd cleanup and tests 8 years ago
Barış Soner Uşaklı 29135dfed3 timeago locale test 8 years ago
Barış Soner Uşaklı 01e2263c01 more tests 8 years ago