10312 Commits (7a5dbd9ff584f27f2ac61155bdb070c226c3b4fb)

Author SHA1 Message Date
Barış Soner Uşaklı a662f118a5 fix: #7054 6 years ago
Barış Soner Uşaklı b9833483ca fix: #7209 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 1a3838e13c fix: missing notification 6 years ago
Baris Usakli 7809ba2800 fix: #7193, closes #7194 6 years ago
Julian Lam 0263b4daec
feat: added new hook `static:sockets.validateSession` (#7189)
* feat: added new hook

* fix: improper .bind() call, +req in static:sockets.validateSession

* fix: restored original sessionStore logic, +hook

original logic to retrieve the sessionStore was not faulty, but
was changed for the sake of changing things, which ultimately
led to issues with tests, etc.
6 years ago
Barış Soner Uşaklı 6f1fb4eb24 fix: #https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/49 6 years ago
Barış Soner Uşaklı 28459d04c6 fix: #7187 6 years ago
Baris Usakli 9aa1aa689d fix: #7174
always pass string in service
6 years ago
Baris Usakli 934e1854d3 remove unnecessary escape 6 years ago
Baris Usakli 0d409610c4 fix: #7181 6 years ago
Julian Lam b0eaa858b5 fix: #7169 Fixed logout being broken 6 years ago
Barış Soner Uşaklı 72afc1806e fix: uid filtering 6 years ago
Barış Soner Uşaklı 41fb5cca81 fix: dont crash if default cover is invalid 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ı 3917022a48 fix: #7139 6 years ago
Barış Soner Uşaklı 7e828404f6 fix: #7116
dont save relative_path in db for group covers
6 years ago
Baris Usakli f4ea2c43ab feat: #7120 6 years ago
Baris Usakli 0c1ac4d6a2 feat: #7032 6 years ago
Barış Soner Uşaklı d31684e8b8 fix: #7131 6 years ago
Barış Soner Uşaklı fef7e13c9e feat: small fixes 6 years ago
Barış Soner Uşaklı b2a74b4172 fix: remove cache 6 years ago
Barış Soner Uşaklı b9b9d8b2e9 feat: name topic controller 6 years ago
Barış Soner Uşaklı 0cb9bba4da feat: header 6 years ago
Barış Soner Uşaklı 60390c01f1 fix: loop 6 years ago
Barış Soner Uşaklı ae0fe5e880 feat: more naming 6 years ago
Barış Soner Uşaklı f88db22ca2 feat: give the rest of the middlewares names 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ı 4650a76036 fix: #7124 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ı d2c2d56f59 feat: change sortedSetsScore 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ı 14c4552304 dont modify session for spiders 6 years ago
Barış Soner Uşaklı 29b63ae7fb fix: #6979 6 years ago
Barış Soner Uşaklı 0eef3e1c27 fix: upgrade script key 6 years ago
Barış Soner Uşaklı 00afc5b3ab fix: remove log 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
Ben Lubar ff5b04beb9 Log port number of current instance in addition to pid. (#7110) 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
Barış Soner Uşaklı f103390aa5 fix: #7103
update counter when user navigates to /unread
fix new topic alert on /unread
moved unread code from footer to unread
6 years ago
Barış Soner Uşaklı 2f57a4b9a6 fix: dont update cid:<cid>:tids:votes if topic is pinned 6 years ago
Barış Soner Uşaklı d117df77f7 fix: #7102 6 years ago
Barış Soner Uşaklı 85a07e999b fix: #7102 6 years ago
Barış Soner Uşaklı 263c918088
feat: remove uid:<uid>:ignored:cids (#7099)
use cid:<cid>:ignorers instead
6 years ago
Barış Soner Uşaklı 26ccd8f626 fix: db info page
if there is no connection to db, connect first
6 years ago
Barış Soner Uşaklı a0f57c642c Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı a6c8e0ab4f fix: logAttempt conditional 6 years ago
Julian Lam 33d4956b76 fix: #7087, server-side protection against guest blocks 6 years ago
Barış Soner Uşaklı 78fa734017 feat: cache category tag whitelist 6 years ago
Barış Soner Uşaklı 81aa3a0b8a fix: don't crash in flags.validate if user blocked target 6 years ago
Barış Soner Uşaklı fe0f95a2b1 fix: #7085 6 years ago
Barış Soner Uşaklı e55fb43703 fix: #7086 6 years ago
Barış Soner Uşaklı 71163421aa fix: wrong variable #7085 6 years ago
Baris Usakli df4f8cee4b remove node 6 6 years ago
Baris Usakli e65d40c937 dont return undefined from sortedSetsCard if keys is empty or falsy 6 years ago
Baris Usakli 420227faae parseFloat scores 6 years ago
Julian Lam 4fba1492c1 feat: added new middleware authenticateOrGuest 6 years ago
Julian Lam eeaee8ccef fix: not calling authenticate middleware on resource direct access
routes
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
Julian Lam a07d9898df fix: #7071 buildSkinAsset won't rebuild continuously 6 years ago
Barış Soner Uşaklı 7ca62b8399 feat: closes #7070 6 years ago
Baris Usakli 96c1dc6276 unescape email subject 6 years ago
Baris Usakli eab297bdc9 fix: #7061 6 years ago
oh d7c55bc3f7 feat(email): don't escape html in notification bodies. (#7042)
allows for post replies, etc. to show the formatting of the orginal 
post, rather than looking garbled.

closes #7034
6 years ago
Baris Usakli d3c6cba33f closes #7060 6 years ago
Baris Usakli 67ac8e3d06 closes #7053 6 years ago
Barış Soner Uşaklı 54c127d1b2 feat: allow array results 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ı ec0c50d4e0 fix: #7041 6 years ago
Barış Soner Uşaklı 8d7c3897f2 fix: #7043 6 years ago
Barış Soner Uşaklı cb7c2d8c28 fix: add missing render function 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 8808a03307 fix: #7033 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
Peter Jaszkowiak 43c3bb02e5 fix: #6991, add timeout for version Github request 6 years ago
Baris Usakli 33d7735690 change deprecated message 6 years ago
SweetPPro dab1a1d638 fix for null category (#7029) 6 years ago
Barış Soner Uşaklı 29e9310aa5 dont crash for undefined categories 6 years ago
Barış Soner Uşaklı 6330d51446 less derpy output 6 years ago
Barış Soner Uşaklı ed1bf9a16f add more info to advanced db page 6 years ago
Barış Soner Uşaklı 4b486a808e fix custom home 6 years ago
Barış Soner Uşaklı 2c5e38d8f1 closes #7004
do not translate email subjects twice, emailer already translates the passed in subject param
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ı 112b5c861a change queue logic, if user has negative rep always queue their post 6 years ago
Barış Soner Uşaklı 1d5816b00a add new hook `filter:unread.categories` 6 years ago
Barış Soner Uşaklı 59eeff8f0f closes #7011 6 years ago
Barış Soner Uşaklı d0750bc587 closes #7007 6 years ago
Baris Usakli 1bb6067e19 suggested topics fix, if search doesn't return enough topics 6 years ago
Baris Usakli 8e5a6d9767 add banned:expire to user data 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ı 3f8e3dc3e8 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 13139fe77e return early for guests/spiders 6 years ago
Barış Soner Uşaklı 0524fd9caa
closes #6996 (#6997)
* closes #6996

* fix lint
6 years ago
Baris Usakli 7b9a2caec3 closes #6994 6 years ago
Barış Soner Uşaklı b8c08a5417 dont call db for guests 6 years ago
Barış Soner Uşaklı d8f114c982 dont check if guests/spiders are banned or load reason 6 years ago
Barış Soner Uşaklı 9d28b935fd dont load uid 0, -1 from db 6 years ago
Barış Soner Uşaklı d5af39ca5d make 1 call for parentCids 6 years ago
Barış Soner Uşaklı 01c942fc39 closes #6989 6 years ago
Barış Soner Uşaklı eba1a405d2 load category parents and childrens in one call
add more missing guest/spider checks
6 years ago
Barış Soner Uşaklı a6864a8055 add groupTitle test for guests 6 years ago
Barış Soner Uşaklı 1c981e638b rename query name 6 years ago
Barış Soner Uşaklı ca1e3a758b #6986 6 years ago
Barış Soner Uşaklı 48690a01b9 dont need to call multi if keys.length is 0 6 years ago
Barış Soner Uşaklı 20abc7fc47 closes #6985 6 years ago
Barış Soner Uşaklı b331ca26a1 add search to acp 6 years ago
Barış Soner Uşaklı 63c0a9a3b7 closes #6928 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
Barış Soner Uşaklı f75e2ed1ee fix lint 6 years ago
Barış Soner Uşaklı c36ddec08b promisify plugins 6 years ago
Barış Soner Uşaklı 33986f38e3 closes #6954 6 years ago
Barış Soner Uşaklı 1ce15e69ab dont require search and moustrap on topic page until needed 6 years ago
Barış Soner Uşaklı e17c4b2766 uid fixes 6 years ago
Barış Soner Uşaklı c02d584b53 reduce initial js payload/requests 6 years ago
Barış Soner Uşaklı f1a6d39537 dont crash if a loginStrategies is undefined 6 years ago
Barış Soner Uşaklı c72299ad71 refactor widgets admin
so we dont load the widget-settings.tpl in the upgrade script and only load areas
6 years ago
Barış Soner Uşaklı 9fecad138c limit number of js files minified, dont crash upgrade script of widget-settings is not found 6 years ago
Barış Soner Uşaklı f0dead7aba more tooltip work 6 years ago
Barış Soner Uşaklı 21402ba803 check joindate 6 years ago
Baris Usakli d0b67b00db closes #6949 6 years ago
Baris Usakli adb647a8ae export express app from webserver 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
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
Baris Usakli c5a093e1f2 closes #6950 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ı a57d94194f Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 157a7d1f0e prevent possible crash if category.posts is undefined 6 years ago
Barış Soner Uşaklı c593ffd75f
closes #6944 6 years ago
Barış Soner Uşaklı d63db8d20f arrow function 6 years ago
Barış Soner Uşaklı 69bb3293ee misc fixes
handle spider uids properly
6 years ago
Barış Soner Uşaklı afa84023a2 closes #6942 6 years ago
Barış Soner Uşaklı 96e986a865 optimize suggested topics/search 6 years ago
Barış Soner Uşaklı 07f83c5078 fix redis tests 6 years ago
Barış Soner Uşaklı f8e219c323 handle empty set, add test 6 years ago
Barış Soner Uşaklı afa6c71b72 make it a method use batch 6 years ago
Zheyu Shen f9036e2a6f Update groups members' title when changing group name (#6939)
* Update groups members' title when changing group name

* Fix eslint
6 years ago
Barış Soner Uşaklı 18219bd5f3 closes #6938 6 years ago
Barış Soner Uşaklı e6c4af7f6f fix lint 6 years ago
Barış Soner Uşaklı e1eebef398 does this work 6 years ago
Barış Soner Uşaklı e14b0b38be derprelic 6 years ago
Barış Soner Uşaklı 485fbf7386 show more lines in stack 6 years ago
Barış Soner Uşaklı b6771836cf closes #6937 6 years ago
Baris Usakli 3425370adb dont use indexOf in map 6 years ago
Barış Soner Uşaklı 973b5fcfe0 closes #6932 6 years ago
Baris Usakli 2c5157aeaa use max.min 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
Barış Soner Uşaklı 4724901588 use series 6 years ago
Julian Lam d027207f88 fix: flags detail page crash if reporter blocks author
Fixed an issue where the flags detail page would crash if the
reporting user flagged a post and then proceeded to block the
post author.

Retrieval of a flag's target data should be irrespective of
block status.

fixes #6925
6 years ago
Julian Lam 95cc27f1ff style(eslint): enforcing newline on chained calls 6 years ago
Julian Lam a5022ce425 fix: #6922, skin assets not including plugin LESS files 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
Barış Soner Uşaklı 75816deca7
add cache to redis (#6917)
* add cache to redis

move out cache module from mongo

* fix redis tests

* add callback noop

* fix typo

* del cache on field delete

* make redis/mongo caches separate
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
Baris Usakli 968be7d8de make lint happy 6 years ago
Baris Usakli 3c611d85ed closes #6912
- on category setParent dialog do not show children of current category
- break recursion if category parentCid is equal to child cid to prevent
infinite loop
- dont allow setting the parentCid of a category to one of it's children
6 years ago
Barış Soner Uşaklı 6f47446171 closes #6910 6 years ago
Julian Lam 3c8939a80d fix: interstitial redirects failing if done via ajaxify 6 years ago
Barış Soner Uşaklı 2df19c0ae4 fix typo 6 years ago
Barış Soner Uşaklı ed7399f9ed shorter code 6 years ago
Barış Soner Uşaklı 412358b070 #6903 6 years ago
Barış Soner Uşaklı 67d3b29204 #6903 6 years ago
Barış Soner Uşaklı ff38abc225 move bcrypt into password 6 years ago
Barış Soner Uşaklı 4e297921c4 dont show object cache if it doesnt exist 6 years ago
Barış Soner Uşaklı 4caaa046d7 dont load post data again
shorter async.parallel
6 years ago
Barış Soner Uşaklı d3e4daebec posts/delete cleanup 6 years ago
Barış Soner Uşaklı 0de60cfdca fix mongodb tests 6 years ago
Barış Soner Uşaklı 8ca36ad122 closes #6890 6 years ago
Julian Lam 157bea6966 fix: username trim on login, closes #6894 6 years ago
Julian Lam 5ccdc1c017 internationalising english labels in session time ACP block, #6883 6 years ago
Julian Lam 58b088c054 update html on session time ACP block, #6883 6 years ago
Barış Soner Uşaklı 2e579ee0f9 closes #6883 6 years ago
Barış Soner Uşaklı 5ee4529a8e if source has no parentCid assume 0 6 years ago
Barış Soner Uşaklı 9918389a43 closes #6884 6 years ago
Barış Soner Uşaklı 7aa937a657 remove dupe code in mongodb sorted 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
Baris Usakli 51792da430 dont crash if there is nothing to write 6 years ago
Baris Usakli 12f3f56b01 change to .exists 6 years ago
Baris Usakli 566564ed74 fix redis tests
fixed typo in groups/data.js
added postcount,viewcount to int fields
6 years ago
Barış Soner Uşaklı fb6067a7ca only parse if field is requested 6 years ago
Barış Soner Uşaklı f3a679e268 remove parseInts 6 years ago
Barış Soner Uşaklı aca50f1fe1 dont crash if topic is moved to pinned topic 6 years ago
Barış Soner Uşaklı da22940b80 dont retry absolute paths 6 years ago
Barış Soner Uşaklı ebd4b19a65 moved req.user up 6 years ago
Barış Soner Uşaklı 9c03881d5a add threshold for image resizing 6 years ago
Barış Soner Uşaklı 369e4854d2 remove parseInts 6 years ago
Barış Soner Uşaklı 541997a755 fix lint 6 years ago
Barış Soner Uşaklı 40f9ee3003 dont crash if topic does not exist 6 years ago
Barış Soner Uşaklı 2f198583c4 change to this 6 years ago
Barış Soner Uşaklı a2aae7f805 shorter error message 6 years ago
Barış Soner Uşaklı 69253d9a7f use chart.js legend 6 years ago
Barış Soner Uşaklı 1d15449076 write analytics before exiting 6 years ago
Barış Soner Uşaklı 5b842c98ac fix typo 6 years ago
Barış Soner Uşaklı 9f36ce3997 #6862 6 years ago
Barış Soner Uşaklı a73bcabad8 don't call .jpeg quality on pngs 6 years ago
Barış Soner Uşaklı 44a957faca remove more parseints 6 years ago
Barış Soner Uşaklı 728e7bdae9 remove more parseInts 6 years ago
Barış Soner Uşaklı 537b7ff7e8 remove more parseInts 6 years ago
Baris Usakli a228dc2de9 closes #6797 6 years ago
Baris Usakli 82cda248f3 fix plugin requires 6 years ago
Baris Usakli 138154a71c move modules 6 years ago
Baris Usakli 5293a6515c fix lint 6 years ago
Baris Usakli fdbefa3d1f remove more parseInts 6 years ago
Barış Soner Uşaklı 175e13edf6 group data 6 years ago
Barış Soner Uşaklı c738dc7d3e remove some more parseInts 6 years ago
Barış Soner Uşaklı 7a44424214 parse '123' to 123 if it has no default 6 years ago
Barış Soner Uşaklı d07e3e6d97 if not in defaults use string 6 years ago
Barış Soner Uşaklı 4fff5e9baf closes #6855 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ı 60c58870af
remove hotswap (#6835) 6 years ago
Barış Soner Uşaklı 92744a7200 closes #6852 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ı f53984aeae refactor user/category data 6 years ago
Barış Soner Uşaklı c3a903142a closes #6850 6 years ago
Barış Soner Uşaklı b2b33ffa57 topics data refactor 6 years ago
Barış Soner Uşaklı 26d4e0852f use includes instead of indexOf
use _.uniq instead of filter&indexOf
6 years ago
Baris Usakli a6c70412db temp fix for #6848 6 years ago
Barış Soner Uşaklı 54c638c3c8 fix upgrade script for notification types 6 years ago
Barış Soner Uşaklı 5ef708d765 fix navigation 6 years ago
Barış Soner Uşaklı 250e8c01ff closes #5008 6 years ago
Barış Soner Uşaklı da1a90a470 add search test 6 years ago
Barış Soner Uşaklı e6546e6263 #6848
this handles winston.error(err);
6 years ago
Barış Soner Uşaklı 9dd65cf772 closes #6822 6 years ago
Baris Usakli 8b8feb5b88 remove emitter 6 years ago
Baris Usakli 9251912282 move methods from posts to posts/data 6 years ago
Baris Usakli baf91089a6 remove unused methods 6 years ago
Baris Usakli 444fd70ba3 test pubsub 6 years ago
Baris Usakli b4d8b7cf38 move sorted topics code out of recent 6 years ago
Baris Usakli 837f411783 closes #6843 6 years ago
Barış Soner Uşaklı 986511e718 try with higher timeout 6 years ago
Barış Soner Uşaklı 1d15dc089b revert isCluster 6 years ago
Barış Soner Uşaklı 0aebb9caf8 closes #6844 6 years ago
Barış Soner Uşaklı 154d7076d9 dont pass options 6 years ago
Barış Soner Uşaklı 9dbe68a9cb testing again 6 years ago
Barış Soner Uşaklı aa567a5f2d print out connString and opts 6 years ago
Barış Soner Uşaklı 2d8d234c57 test mongodb again 6 years ago
Barış Soner Uşaklı f4df89fe90 closes #6840 6 years ago
Barış Soner Uşaklı 8079d3d3b7 add tids used to returned data 6 years ago
Barış Soner Uşaklı 85c60316ed
upgrade to winston 3.1, closes #6590 (#6838)
* upgrade to winston 3.1

* fix winston in web/install and tests
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ı c06480b82e add tests for blocked users teaser/unread 6 years ago
Barış Soner Uşaklı 687adea5dd closes #6836 6 years ago
Barış Soner Uşaklı d4db8c2d42 removed reset 6 years ago
Barış Soner Uşaklı c9a415c469 check if process.send exists 6 years ago
Barış Soner Uşaklı 1024a0efa1 add reset to pubsub for tests 6 years ago
Barış Soner Uşaklı a0f5461860
don't set and read from topic hash in parallel (#6831)
this was causing a test to fail, although very rarely
6 years ago
Barış Soner Uşaklı 1ec2d511b2 remove unnecessary code 6 years ago
Barış Soner Uşaklı ba21c5170a moved increase/decrease
moved these two methods into addPostToTopic&removePostFromTopic
6 years ago
Barış Soner Uşaklı e615391b22 convert values to string before removing 6 years ago
Barış Soner Uşaklı 5c7dd54815
fix zsets and update them on post move, closes #6823 (#6827) 6 years ago
Barış Soner Uşaklı 702be3f6de https://github.com/NodeBB/nodebb-theme-persona/issues/363 6 years ago
Barış Soner Uşaklı ed9b3a31df fix navigation items not getting saved if they are not modified at all
if you add 2 nav items and dont make any changes they weren't being saved, adding order fixes this issue
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
Barış Soner Uşaklı 5e1c33bb3b Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı a4d5c81de5 closes #6819 6 years ago
Baris Usakli 3886a704e0 fix lint 6 years ago
Baris Usakli 84737b5a49 use buildForSelect 6 years ago
Baris Usakli 6dc84deca9 allow admins mods to watch/ignore categories for other users 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ı 1df9961eb4 make lint happy 6 years ago
Barış Soner Uşaklı 8df6838561 closes #6816 6 years ago
Barış Soner Uşaklı b58ab48485 add test for /sessions controller 6 years ago
Barış Soner Uşaklı 002522834c closes #6815 6 years ago
Barış Soner Uşaklı b033d6f115 add tid to post-purge event 6 years ago
Barış Soner Uşaklı 13a1497617 closes #6801 6 years ago
Barış Soner Uşaklı 7bc69e9182 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 1bea247748 add username/email to user-delete event 6 years ago
Barış Soner Uşaklı 49ba5af5fa
closes #6810 (#6813) 6 years ago
Barış Soner Uşaklı 48d49cfcad Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı d1491feed9 add tid to topic rename and post delete restore events 6 years ago
Barış Soner Uşaklı f77091d1ed change user delete so it returns quickly 6 years ago
Barış Soner Uşaklı f45d24d351
change if to !== 0 6 years ago
Barış Soner Uşaklı b7eaf4191e return correct post count if its out of sync 6 years ago
Barış Soner Uşaklı 77beaf2e15
Allow local login,closes #6800 (#6803)
* WIP

* reset groups cache after every suite
6 years ago
Barış Soner Uşaklı d92ef9ca11
remove id 6 years ago
Ben Lubar cf4ea94e6d Fix single-host-cluster socket.io (#6802)
It was silently dropping every message because every node thought it was the master node.
6 years ago
Julian Lam f95308bf33 move sharp require into the method it is used in src/file.js 6 years ago
Julian Lam ebabcc5e3c if authenticate middleware is overridden by plugin, check for req.user and return notAllowed helper otherwise
/cc @LudwikJaniuk
6 years ago
Barış Soner Uşaklı 4b970a1072 use lodash, load 3 posts per iteration 6 years ago
Barış Soner Uşaklı 18d0deeccb
update deprecated methods (#6794) 6 years ago
Barış Soner Uşaklı 1cb2e1e368 remove console.log switch to series 6 years ago
Julian Lam c9dfb4e109 closes #6790 6 years ago
Julian Lam 02046889ec closes #6691 6 years ago
Ben Lubar 11b655163e Only run the DDL for session storage on the primary instance. (#6788)
This fixes a restart loop caused by deadlocks in large clusters.
6 years ago
Barış Soner Uşaklı 1590452697 filter topics you cant read @benlubar 6 years ago
Barış Soner Uşaklı 95501e8fee
closes #6738 closes #6290 (#6785)
* closes #6738 closes #6290

* fix test, delete keys

* delete all bans on user delete

* fix upgrade script to actually read reason
6 years ago
Barış Soner Uşaklı 4570daa033 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 3ed856f587 change if 6 years ago
Barış Soner Uşaklı 9724ef083e
remove v from query 6 years ago
Barış Soner Uşaklı 786311fa64
use value 6 years ago
Barış Soner Uşaklı 5a69f979a8
update processSortedSet to use withScores 6 years ago
Barış Soner Uşaklı cf75c79611
Unread changes closes #6781 (#6783)
* WIP

* more unread work

* faster teaser block handling

if user doesn't have anyone blocked don't check

* much faster filtering of blocked posts

* add missing uid

* add tidsByFilter to return

* dont load all pids to find previous non-blocked teaser

* fix unread filters

they no longer use unread/new unread/watched etc they are query strings now

* shorter nav item code

* add unreplied to filters

fix icons not clearing to 0
dont increment unread counters if there is a reply in a topic where you ignored the topic creator
6 years ago
Barış Soner Uşaklı 7f863b8af0 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 17ce482c9f closes #6780 6 years ago
Barış Soner Uşaklı 7787c9b4bb
fix wrong year on upgrade script 6 years ago
Barış Soner Uşaklı 24601694db
fix wrong year on upgrade script 6 years ago
Baris Usakli edefab1d69 closes #6728
add option to disable a category on creation
show disabled categories on manage privileges
6 years ago
Baris Usakli 4d5e164fd2 closes #6778 6 years ago
Barış Soner Uşaklı 59b988a205 change test so it checks url 6 years ago
Barış Soner Uşaklı 71ccd67665 closes #6722
calculate size of base64 image from buffer, still not perfect but better than string.length
6 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
6 years ago
Barış Soner Uşaklı 69c7260fe9 dont let sending more than max invites via bulk invite 6 years ago
Barış Soner Uşaklı 669a5135e1 closes #6768 6 years ago
Barış Soner Uşaklı dff86b1ac9 closes #6740
* flag notifications will go to the flag details page instead of the post or user that was flag
* if you assign a flag to yourself you won't get a notification about it
@benlubar
6 years ago
Barış Soner Uşaklı 089bf5d8bb
closes #6773 6 years ago
Julian Lam 382d06bbb0 fixes #6765 -- no need to have gmods and admins access login sessions page 6 years ago
Barış Soner Uşaklı d996ea27be closes #6763 6 years ago
Barış Soner Uşaklı 6a377568d2 closes #6764 fix typo in notif rescind 6 years ago
Barış Soner Uşaklı 08dfb3470c fix tests 6 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
6 years ago
Barış Soner Uşaklı 41aae6f418 closes #6749 6 years ago
Barış Soner Uşaklı 37ca5a1c63 filter falsy teasers 7 years ago
Barış Soner Uşaklı 93d52ef338 default to 'recent' sort 7 years ago
Barış Soner Uşaklı 25fed0aa8d change isPasswordCorrect to return false if user does not have password 7 years ago
Barış Soner Uşaklı 6f18cf368b closes #6741 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
Ben Lubar 97a3079bc0 Optimize PostgreSQL session store.
- Sets session ID to be a constant-sized character field inline in the
  table instead of a variable-length character field compressed outside
  of the row.
- Changes the session data from "json" to "jsonb" which is faster and
  smaller on disk with the drawback of not maintaining key order and
  whitespace (which we don't care about at all)
- Adds a clustered index on the session expiration timestamp, which will
  make periodic session purging much faster.

(For an example, WTDWTF currently has 482355 sessions in the table, and
 because there is no index on the expiration timestamp, PostgreSQL must
 check all the rows in the table every time.)

This upgrade script can run concurrently with a live NodeBB instance,
but any action that touches sessions will wait until the upgrade script
is done.

Does not touch the database if the database driver is not set to
PostgreSQL or if there is a Redis database configured.
7 years ago
Julian Lam c2c925cacd closes #6678 7 years ago
Julian Lam 29836aaad9 rename session account middleware to sessions, plural, prep for fixing #6678 7 years ago
Baris Usakli 5b45b2f72c closes #6729 7 years ago
Barış Soner Uşaklı 0519f84734
Promisify modules (#6723)
* WIP promisify

* promisify psql

* ability to skip some keys

* dont promisify client object

* remove async

* clone entire module so it has all properties

* add shim for node 6

* ignore sessionStore as well

* ignore pool on psql
7 years ago
Julian Lam c1725442ea added progress bar to username_email_history upgrade script 7 years ago
Julian Lam 545e678e8a fixes #6726 7 years ago
Julian Lam 5c04ec2d63 removed client-side chat message length check in favour of server-side check, firing new hook on messaging.checkContent for hooks to intercept 7 years ago
Julian Lam 1e3cdc99ac fixes #6702 7 years ago
Andrew Rodrigues a06b33a713 fix html characters when cloning children categories 7 years ago
Julian Lam aaa9561b7f Revert "moved filter:post.getPostSummaryByPids to before parsePosts call"
This reverts commit cf82407a8f.
7 years ago
Julian Lam cf82407a8f moved filter:post.getPostSummaryByPids to before parsePosts call
/@pitaj
7 years ago
Barış Soner Uşaklı ae4016d9e0 add getCateries to helpers 7 years ago
Andrew Rodrigues 12940b577b closes #6703 7 years ago
Julian Lam 2ce6a85756 properly closes #6698 7 years ago
Julian Lam f751d21d1e removed debug line 7 years ago
Julian Lam f9d3484ec6 fixes #6543 7 years ago
Julian Lam ed9dc113b0 sanitizing notes in flags details page, fixes #6698 7 years ago
Julian Lam a77630c6be closes #6697 7 years ago
Ben Lubar 33228bb7fe PostgreSQL database driver (#5861)
* [test/database/list] Fix test list 4 being used in two different tests

* [database/postgres] PostgreSQL database driver

* [database/postgres] Make transactions work based on continuation scope.

* [database/postgres] Implement nested transactions

* eslint --fix

* Add database changes from earlier this week to the PostgreSQL driver.

* Fix typo

* Fix postgres.incrObjectFieldBy returning undefined instead of null when given NaN

* [database/postgres] Fix sortedSetsCard returning an array of strings.

* Update socket.io postgres adapter

* Fix PostgreSQL erroring when multiple updates are made to the same sorted set entry in a single operation.

Add a test case to catch this error.

* Fix lint errors.

* Only prune sessions on one instance in a cluster to avoid deadlocks.

They're caught and handled by the database server, but they spam the logs.

* Fix arguments.slice.
7 years ago
Jimb Esser 3cccbbc1f2 Add option to enable/disable HSTS
Also fix HSTS middleware being added twice.
7 years ago
Barış Soner Uşaklı 1c286e4536 not even used 7 years ago
Barış Soner Uşaklı fa499aef18 closes #6680 7 years ago
Baris Usakli e7bd0cea74 fix lint 7 years ago
Baris Usakli bcef32c5af closes #6645 7 years ago
Baris Usakli 546b13b897 fix lint and tests 7 years ago
Baris Usakli 79ffae608e closes #6675 7 years ago
Baris Usakli 4200cff47c closes #6662 7 years ago
Julian Lam 3c6c0ed7a1 restoring passwordExpiry for use in continueLogin, fixed tests, hopefully 7 years ago
Julian Lam 786af5fbb3 derp 7 years ago
Julian Lam b6a5419ca1 closes #6674 7 years ago
Julian Lam 4f8815eb78 closes #6646 7 years ago
Julian Lam ea2bd33bfa fixes #6608, restored template values in widget containers 7 years ago
Julian Lam 7dfe953526 closes #6672 7 years ago
Julian Lam 48197e2d25 this upgrade script was written in 2018, not 2017, heh 7 years ago
Barış Soner Uşaklı c7d6cacd98 closes #6658 7 years ago
Ben Lubar 44373afc52 Fix socket.io not working properly in single-host clusters. (#6669)
This is because we don't use the cluster module, so the master nodejs process doesn't know about any of the clients through the socket API.
7 years ago
Julian Lam 3522ad0e05 Revert "closes #6664"
This reverts commit f27a0d252c.
7 years ago
Julian Lam f27a0d252c closes #6664 7 years ago
Julian Lam 506467ad6f closes #6663 7 years ago
Ben Lubar c1e98eefa7 Allow single-host clusters to not send pubsub and socket.io messages through the database. (#6659)
* Allow single-host clusters to not send pubsub and socket.io messages through the database.

* Fix lint errors.
7 years ago
Barış Soner Uşaklı 87b6808c4e refactor to use getCidsByPrivilege
switch to .includes
7 years ago
Ben Lubar f1a6537fc2 Add notification frequencies from nodebb-plugin-upvote-notifications. (#6640)
* Add notification frequencies from nodebb-plugin-upvote-notifications.

https://github.com/boomzillawtf/nodebb-plugin-upvote-notifications

* Fix editing settings clearing upvote notification preferences.
7 years ago
Sebastian G. Marinescu e35d4a7d85 closes #6283 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
Julian Lam 7558046e75 add brute-force protection for change password and email actions 7 years ago
Barış Soner Uşaklı 91f9c60660 closes #6643 7 years ago
Barış Soner Uşaklı 85a55d1740 closes 7 years ago
Barış Soner Uşaklı cfb9784527 closes #6641 7 years ago
Baris Usakli 16a7728ab8 fix redis warnings 7 years ago
Baris Usakli cc6a683bc4 closes #6631 7 years ago
Peter Jaszkowiak 65b4bafb16 Fix @scoped themes 7 years ago
Peter Jaszkowiak 7cd8274c0f Add series flag for `./nodebb build` 7 years ago
Barış Soner Uşaklı 8eea6017fe parseInt uid 7 years ago
Julian Lam 7a53fa9469 Added block and unblock button to profile dropdown menu, #6560 7 years ago
Julian Lam a34584e8f5 fixed blocking cache derp 7 years ago