Commit Graph

268 Commits

Author SHA1 Message Date
Julian Lam
a9bb108802 fix: wrong error message checked 2021-05-10 11:33:20 -04:00
Julian Lam
ec6d1e2321 fix: #9507 session reroll causes socket.io to become confused (#9534)
* fix: #9507 session reroll causes socket.io to become confused

* fix: added return

* fix: simpler logic for error handling

* fix: overly sensitive catch
2021-05-10 11:22:37 -04:00
Barış Soner Uşaklı
670cde78da feat: add invalid event name to error message 2021-02-08 18:36:41 -05:00
Peter Jaszkowiak
cc9d6fd08b chore: eslint max-len 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
23f212a4c0 chore: eslint prefer-destructuring 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
dab3b23575 chore: eslint no-var, vars-on-top 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
b56d9e12b5 chore: eslint prefer-arrow-callback 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
707b55b6a5 chore: eslint prefer-template 2021-02-08 18:06:44 -05:00
Barış Soner Uşaklı
5bc1f5b4e8 fix: #9231, fix redis pubsub connection
regression from fdfbc90255
2021-01-31 12:37:28 -05:00
Barış Soner Uşaklı
1c45fa1ba5 feat: socket.io 3 changes (#8845)
* feat: socket.io 3 changes

* feat: replace socketio-wildcard with socket.onAny

up socket.io-redis to 6.x

* feat: remove mongodb/psql socket.io adapters

* feat: show data on fail

* fix: tests

* fix: typo

* fix: logger test fix

* fix: logger.io_close

* chore: up deps

* chore: update readme to reflect redis requirement

* fix: increase timeout show data if test fails
2020-12-06 13:03:33 -05:00
Barış Soner Uşaklı
fcb10ebdbb feat: add socket connect/disconnect action hooks 2020-12-03 10:44:12 -05:00
Barış Soner Uşaklı
7e867cf95e fix: #7597, fix progress bar of cover/profile uploads
send big cover images in chunks
2020-12-02 18:38:01 -05:00
Barış Soner Uşaklı
700736535c fix: guests dont always have sid 2020-11-30 11:51:52 -05:00
Barış Soner Uşaklı
a4fe4d3cf5 fix: allow guests to see their replies immediately 2020-11-30 11:08:00 -05:00
Barış Soner Uşaklı
f4d217d829 fix: #8980, fix lang string 2020-11-27 12:38:43 -05:00
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Barış Soner Uşaklı
965671a97b fix: remove params from error log 2020-11-18 21:50:47 -05:00
Barış Soner Uşaklı
a05905f196 performance improvements (#8795)
* perf: nconf/winston/render

cache nconf.get calls
modify middleware.pageView to call next earlier
don't call winston.verbose on every hook see https://github.com/winstonjs/winston/issues/1669
translate header/footer separately and cache results for guests

* fix: copy paste fail

* refactor: style and fire hook only log in dev mode

* fix: cache key, header changes based on template

* perf: change replace

* fix: add missing await

* perf: category

* perf: lodash clone

* perf: remove escapeRegexChars
2020-10-26 10:43:18 -04:00
Barış Soner Uşaklı
ea31f50554 refactor: show more lines of stack trace 2020-10-19 22:43:18 -04:00
Barış Soner Uşaklı
bc880ee0ca refactor: remove sockets.reqFromSocket 2020-10-16 21:05:00 -04:00
Julian Lam
40598b368e refactor: topic creation to use api lib 2020-10-16 11:01:18 -04:00
Barış Soner Uşaklı
5e2caf19f5 refactor: use single function for api code 2020-10-15 12:12:01 -04:00
Julian Lam
b8703ba9f6 fix(writeapi): tests 2020-10-08 15:33:10 -04:00
Julian Lam
58043e07ba fix: use POST call for user creation in ACP
- Not entirely sure about error handling yet, more research needed
- Also added socket method deprecation utility method
2020-10-08 15:33:10 -04:00
Barış Soner Uşaklı
d6baf5c278 feat: show event/params on error 2020-08-06 11:25:13 -04:00
Barış Soner Uşaklı
4658121a7d fix: don't crash if content is undefined 2020-07-22 17:03:29 -04:00
Barış Soner Uşaklı
c2ca02dfc7 fix: #8474
make isPrimary and isCluster always booleans
they were strings when using ./nodebb start and boolean if they were in config.json and started with node app.js
2020-07-07 20:13:14 -04:00
Baris Usakli
91e8e3905c fix: #7947, disable unused cookie 2019-10-05 10:12:19 -04:00
Barış Soner Uşaklı
603908c10a refactor: async/await socket.io/index 2019-10-02 22:51:02 -04:00
Barış Soner Uşaklı
88dfbf213f refactor: async/await socket.io/admin 2019-09-07 18:22:03 -04:00
Barış Soner Uşaklı
b734defbfa feat: rewrite getRawPost to async/await
promisify SocketPosts
2019-08-07 17:38:23 -04:00
Barış Soner Uşaklı
44a3352003 fix: socket.io methods calling callbacks twice if method returns promise 2019-07-19 16:46:40 -04:00
Julian Lam
aee47b299a feat: awaitable websockets (#7645)
* feat: awaitable websockets

Adding in conditionals to check the method to call, and handling
it as a promise vs. a regular function depending on whether the
method itself is an asynchronous function.

* fix: switch to .then-checking for awaitable check

* fix: proper use of .then check
2019-06-10 12:06:26 -04:00
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.
2019-01-03 21:14:30 -05:00
Peter Jaszkowiak
89c025d102 feat: close #7002, console message if mismatched origins 2018-11-30 13:38:59 -05:00
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 😬
2018-11-07 15:53:14 -05:00
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
2018-10-21 16:47:51 -04:00
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.
2018-09-28 17:02:03 -04:00
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.
2018-07-25 11:04:18 -04:00
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.
2018-07-23 12:21:36 -04:00
Barış Soner Uşaklı
a37dc1856f #6561 2018-06-08 13:53:55 -04:00
Julian Lam
c25d752573 Merge remote-tracking branch 'origin/master' into develop 2018-02-23 14:48:38 -05:00
Julian Lam
a4a961639d only triggering forum updated messaging if hostname matches, fixes #6333 2018-02-20 15:32:44 -05:00
Ben Lubar
e85aabbe74 Allow running as a cluster without Redis (#6233)
* [database/*] Allow databases other than Redis to provide pubsub for clustering if Redis is not present

* [pubsub] Delay messages sent before the database is ready until the database is ready.

* [pubsub] Restore old behavior of not using the database in non-clustered NodeBB instances.

See comment: https://github.com/NodeBB/NodeBB/pull/6233#issuecomment-357814968
2018-01-18 13:02:56 -05:00
Julian Lam
73d4517d27 Revert "fixes #5894"
This reverts commit e2b40ddf34.
2017-08-23 21:38:58 -04:00
Baris Usakli
19ae2b3eb4 dont join online_users and uid_ if user does not exist 2017-08-23 15:30:13 -04:00
Baris Usakli
0d0ea0977f check error 2017-08-23 15:29:27 -04:00
Julian Lam
e2b40ddf34 fixes #5894 2017-08-23 15:11:15 -04:00
Barış Soner Uşaklı
e56178f72e remove init socket.io 2017-06-02 17:18:58 -04:00
Barış Soner Uşaklı
c0807ab327 closes #5639 2017-05-01 15:37:58 -04:00