Barış Soner Uşaklı
a598abcd8e
feat: use updateProfile for picture change
...
so it triggers action:user:updateProfile
4 years ago
Julian Lam
f806befd2f
fix: bug where loginSeconds setting was ignored for local login
4 years ago
Julian Lam
1155b0c42f
feat: allow payload to be passed to emailer test method
4 years ago
Julian Lam
00a68a9548
feat: add additional flag hooks [breaking]
...
`action:flags.create` on initial flag creation
`action:flags.notify` on notification to admins and moderators
`action:flags.addReport` on flag report addition (called during initial flag create, too)
4 years ago
Barış Soner Uşaklı
069ac60f62
feat: add uid of user who created flag to action:flags.create
4 years ago
Peter Jaszkowiak
b9fd2c87f3
chore: bump deps ( #9335 )
...
* chore: bump deps
* fix: husky git hooks
4 years ago
Barış Soner Uşaklı
2737f6531b
fix: notif pruning
4 years ago
Barış Soner Uşaklı
02f08111cf
feat: keep notifs for one month, load 50 notifications instead of 30
4 years ago
Julian Lam
9bf94ad50f
fix: allow interstitial callbacks to be functional (no cb required)
4 years ago
Barış Soner Uşaklı
cdf5d18f54
fix: don't publish before pubClient is connected
4 years ago
Julian Lam
86b0c57d7a
feat: also pass in uid to `filter:email.prepare`
4 years ago
Julian Lam
27ea3dcb2f
feat: new hook `filter:email.prepare`
4 years ago
Julian Lam
bf90d15881
feat: new hook static:email.send
...
deprecates filter:email.send
4 years ago
Barış Soner Uşaklı
0dad568cbe
perf: faster category tags upgrade script
4 years ago
Barış Soner Uşaklı
95033ef756
perf: use setObjectBulk
4 years ago
Barış Soner Uşaklı
a07509f770
perf: make upgrade script faster
4 years ago
Barış Soner Uşaklı
48f1e265f4
fix: remove unused async
4 years ago
Barış Soner Uşaklı
0959b1248b
perf: make upgrade script faster
...
use bulkAdd/remove
4 years ago
Barış Soner Uşaklı
14a6c349c2
feat: show time info for upgrade scripts
4 years ago
Barış Soner Uşaklı
293b7c2650
refactor: privileges, export modules directly ( #9325 )
...
fix unused/commented out methods in admin privileges
4 years ago
Julian Lam
984c9dd915
fix: in setupPageRoute helper, buildHeader after plugin hooks have fired
...
To allow for a plugin to call doLogin and have it properly reflect in the header
4 years ago
Julian Lam
73dc64d9ff
feat: add dashboard sub-pages to ACP menu
4 years ago
Julian Lam
0804d54759
spec: schema docs for new ACP dashboard subpage routes
4 years ago
Julian Lam
2f89b0d791
feat: recent logins sessions table in dashbaord subpage
4 years ago
Julian Lam
e1ed514b10
feat: topics dashboard details subpage
4 years ago
Julian Lam
c57c77030e
feat: update user list in dashboard/users on graph update
4 years ago
Julian Lam
f8e1a74c26
fix: wrong qs param, allow string to be passed to util.getDaysArray
4 years ago
Julian Lam
cc93822436
feat: show list of recent users in dashboard/users
4 years ago
Julian Lam
6fdcae7320
feat: req.query parsing and dynamically loading data instead
4 years ago
Julian Lam
f561799f74
refactor: abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins
4 years ago
Julian Lam
079a13d41a
feat: new hooks for notifications get/getCount
4 years ago
Peter Jaszkowiak
0d59fe3d2b
fix( #9315 ): api v3 post, put, del JSON
...
also allow `app.alertError` to be called without an argument
also fix `./nodebb build --dev` to actually build in dev mode
4 years ago
Julian Lam
dbe5f7027b
fix: wrong call to sortedSetAdd
4 years ago
Julian Lam
16d3c45782
feat: report login statistics from analytics data, instead of its own zset
4 years ago
Julian Lam
9a9f366d3b
feat: track login sessions for admin dashboard reporting
4 years ago
Julian Lam
020f0b8322
fix: session not persisting to database in some scenarios
...
In some edge cases (e.g. SSO plugin redirecting the user immediately), with modern browsers, the request is never "completed" for speed. This causes a condition where the session object never persists to the database, even though it has changed. This added line forces a db persist on a successful login.
Context: https://github.com/expressjs/session/pull/484
4 years ago
Julian Lam
504fd107c7
feat: track successful logins in analytics
4 years ago
Julian Lam
d3a9e76ae2
test(user): added additional tests for icon background colour
4 years ago
Julian Lam
955021247e
feat(user): icon background selector in change picture modal
4 years ago
Julian Lam
fbccf6e22f
refactor(user): all plugins to change list of icon background colours
...
One notable change is line 200, where a conditional was changed. The conditional used to check for `user.hasOwnProperty('picture')` and was added so that icons would only be included in the response if the picture was requested. This doesn't seem to apply as picture could be set regardless (see default avatar logic above), so I explicitly check `requestedFields` now.
4 years ago
Barış Soner Uşaklı
ed3d9dcbbf
feat: pass post object to filter:post.tools
4 years ago
Barış Soner Uşaklı
0e07f3c9ba
feat: allow defining a list of system tags
4 years ago
Barış Soner Uşaklı
25c8f02634
fix : #9307 , use _.flatten
4 years ago
Julian Lam
2fef462782
fix: awaiting res.render in send404 controller
...
>
> A plugin wanted to use `response:rotuer.page` to 404 a specific page on some condition. res.render returns early in send404 and so must be awaited otherwise multiple responses will be sent
4 years ago
Julian Lam
65c57c730c
docs: added comment re: #9305
4 years ago
ahwayakchih
34096b73ef
fix: do not overwrite `config.port` from URL, if it's already set
...
If URL was set to something like `http://example.com:8080 `, and port
was set to 4567, keep listening on port 4567 and keep linking through
URL that was specified.
This allows to listen on port 4567, while having NGINX (or any proxy)
set to listen on port 8080 and route traffic to port 4567.
So NodeBB can be "hidden" behind proxy while URL can still contain
non-standard port, i.e., port different than 80 and 443.
4 years ago
Julian Lam
8686fbfa3f
fix: switch back to getSortedSetRange
...
/cc @barisusakli
4 years ago
Barış Soner Uşaklı
9ce6f8ad93
feat: add tag filter to getSortedTopics
4 years ago
Barış Soner Uşaklı
5286f20862
refactor: remove dupe code
4 years ago
Julian Lam
7223074f1d
feat: ability to re-order topic thumbnails
4 years ago
Barış Soner Uşaklı
91734a6484
fix: settings v3
4 years ago
Barış Soner Uşaklı
0738dae895
feat: #9304 , add category/topic/username to post queue notification emails
4 years ago
Barış Soner Uşaklı
8f0386d9ac
feat: add failing test for list append/prepend with list ( #9303 )
...
* feat: add failing test for list append/prepend with list
* feat: mongo/psql
* feat: improve test
4 years ago
Julian Lam
1ae8dda8a8
chore: extra console.log
4 years ago
Julian Lam
7ebb6d3056
fix: thumbs.associate logic fix + tests
4 years ago
Barış Soner Uşaklı
7665adf7d1
fix: missing awaits, possible test fix
4 years ago
Barış Soner Uşaklı
9a6cf3d967
fix : #9301 , dont call sitemapstream if there are no entries in categories/pages/topics.xml
4 years ago
Julian Lam
50664487b9
test: additional tests for topic thumbs
4 years ago
Barış Soner Uşaklı
807b0d4348
fix: properly incase its the same path
4 years ago
Barış Soner Uşaklı
76bcc0c99c
fix: numThumbs count on associate
4 years ago
Julian Lam
1490b32d1b
fix: missing cache deletion calls for post-queue cache
...
/cc @barisusakli
4 years ago
Julian Lam
3e6640efb2
refactor: thumbs.associate accepts both relative path and url in path arg
4 years ago
Julian Lam
a4b4a5566d
feat: link to post-queue from topic event
4 years ago
Julian Lam
8fd78ce512
feat: post-queue topic event
4 years ago
Julian Lam
3f35fd335d
feat: add post-queue cache
4 years ago
Julian Lam
36f2021186
refactor: move post queue retrival code to posts.getQueuedPosts
4 years ago
Julian Lam
b81508c4e2
fix: init topic events from webserver.js
4 years ago
Julian Lam
6074a0fbbf
refactor: call topic events init from within file itself
4 years ago
Julian Lam
cc275e1016
Revert "feat: newsletter opt-in/out in UCP, closes #21"
...
This reverts commit 3c7cd9a6c4
.
4 years ago
Julian Lam
3c7cd9a6c4
feat: newsletter opt-in/out in UCP, closes #21
4 years ago
Barış Soner Uşaklı
3595473485
feat: load user posts/topics via xhr on infinitescroll
4 years ago
Barış Soner Uşaklı
b753c69cfe
fix: check null topics
4 years ago
Barış Soner Uşaklı
58cd797e4c
fix: guard against null topics
4 years ago
Barış Soner Uşaklı
c953b1b3d1
fix : #9292 , messageobj.content already parsed
4 years ago
Barış Soner Uşaklı
4b2bf12fd1
feat: #9294 , put new categories at top
4 years ago
Julian Lam
9d17f397c0
fix(remountable-routes): more fixes to remountable routes
...
fix: ensure proper admin privilege checking on remounted `/admin` mount
fix: guard against plugins sending back missing mounts
fix: no need to make addRemountableRoutes awaitable
4 years ago
Julian Lam
16c1d6e937
style(remountable-routes): abstract removable routes code to a separate local fn
4 years ago
Julian Lam
1f28713f1a
refactor(remountable-routes): rename `src/routes/accounts.js` to `src/routes/user.js` to better match the route prefix
4 years ago
Julian Lam
bc68e990af
fix(remountable-routes): bug with user routes remounting to itself
4 years ago
Julian Lam
9021f071d4
feat(remountable-routes): allow category and account routes to be remounted
4 years ago
Julian Lam
f01af62b53
feat(remountable-routes): allow /admin and /post to be remountable
4 years ago
Julian Lam
92758ec50d
refactor(remountable-routes): allow certain route prefixes to be mounted elsewhere
4 years ago
Barış Soner Uşaklı
765db86d4e
fix: clear category cache on copy parent
4 years ago
Barış Soner Uşaklı
ed3e9ce2e2
fix: delete category cache key on category create
4 years ago
Barış Soner Uşaklı
c61cc37bba
fix: typo
4 years ago
Barış Soner Uşaklı
cf4002bcc9
perf: cache base_url
4 years ago
Barış Soner Uşaklı
5ce2820799
perf: single call to get digest topics, dont send duplicate topics
4 years ago
Barış Soner Uşaklı
90d5c9da44
perf: single db call to add all uids
4 years ago
Barış Soner Uşaklı
a5fa212fc7
fix: wait for event.log to finish before killing process
4 years ago
Barış Soner Uşaklı
0185ea1b4f
perf: make digests a little bit faster
...
and use batch.processArray
dont load data for users who have no email or have not confirmed their emails
4 years ago
Barış Soner Uşaklı
b6493f896f
fix: tests, only generate csrf_token on 404 gets
4 years ago
Barış Soner Uşaklı
94f72d6093
fix : #9287 , generate csrf_token on 404
4 years ago
Julian Lam
783786cf8c
fix: do not blindly escape a notification's bodyLong
...
For 7+ years we were escaping this value, but it is in many cases already sanitized (as it may be a post content). For those cases when it is not, I now run it through parse.raw.
Instead of escaping, it now strips p, img, and a tags.
4 years ago
Barış Soner Uşaklı
670cde78da
feat: add invalid event name to error message
4 years ago
Peter Jaszkowiak
cc9d6fd08b
chore: eslint max-len
4 years ago
Peter Jaszkowiak
5c2f0f0557
chore: eslint no-restricted-syntax
4 years ago
Peter Jaszkowiak
115d19e289
chore: eslint prefer-rest-params, prefer-spread
4 years ago
Peter Jaszkowiak
23f212a4c0
chore: eslint prefer-destructuring
4 years ago
Peter Jaszkowiak
8d1462ffd8
chore: eslint object-curly-newline
4 years ago
Peter Jaszkowiak
62869bae3d
chore: eslint function-paren-newline
4 years ago