Compare commits

..

1659 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
bd9f0077c1 perf: bypass getMultipleUserSettings 2021-07-07 10:06:34 -04:00
Barış Soner Uşaklı
b9d0219499 Merge branch 'paginate-notifications-fix-backport' of https://github.com/NodeBB/NodeBB into paginate-notifications-fix-backport 2021-07-05 10:12:06 -04:00
Barış Soner Uşaklı
7282e39e74 fix: conflicts 2021-07-05 10:11:42 -04:00
Barış Soner Uşaklı
dd04e56e00 fix: #9629, translate content property of meta tags 2021-06-23 11:04:50 -04:00
Barış Soner Uşaklı
9bc3faacde fix: toPid check 2021-06-23 10:14:39 -04:00
Barış Soner Uşaklı
44d9ac2a95 merge: fix conflicts 2021-06-22 15:32:22 -04:00
Barış Soner Uşaklı
be01951c41 merge 2021-06-18 12:43:18 -04:00
Barış Soner Uşaklı
9095057223 merge 2021-06-18 12:41:51 -04:00
Barış Soner Uşaklı
efc4fc3ddc fix: merge 2021-06-18 09:57:28 -04:00
Barış Soner Uşaklı
18a5f7d568 fix: keep query params when switching chat 2021-06-16 09:55:45 -04:00
Barış Soner Uşaklı
38b0b3e5f7 fix: lint 2021-06-01 11:32:18 -04:00
Barış Soner Uşaklı
8e23b9d766 feat: allow modifying default category privileges 2021-06-01 11:31:40 -04:00
Barış Soner Uşaklı
f6370cd6f5 fix: return null 2021-05-28 12:33:13 -04:00
Barış Soner Uşaklı
becff8bc22 feat: add filter:notifications.create 2021-05-28 12:32:15 -04:00
Barış Soner Uşaklı
d168790612 feat: add filter:categories.getSelectCategories
pass query to emits
2021-05-28 11:28:44 -04:00
Barış Soner Uşaklı
a852b374e9 feat: pass req.query to getUnreadData 2021-05-27 10:17:16 -04:00
Barış Soner Uşaklı
55835b3b72 feat: merge 2021-05-25 12:54:12 -04:00
Barış Soner Uşaklı
a79707ef9a fix: merge 2021-05-25 12:13:26 -04:00
Barış Soner Uşaklı
a68fc1dc50 feat: add req.query to flags.list/getCount 2021-05-19 10:11:37 -04:00
Barış Soner Uşaklı
536b66dc89 feat: add filter:flags.getFlagIdsWithFilters 2021-05-18 11:00:26 -04:00
Barış Soner Uşaklı
75d60bfaf2 feat: add filter:user.getWatchedCategories 2021-05-17 12:12:57 -04:00
Barış Soner Uşaklı
9f6ad7637e feat: pass req.query to getUserDataByUserSlug 2021-05-17 10:32:26 -04:00
Barış Soner Uşaklı
fdf7e65331 fix: inf scroll with subfolder install 2021-05-17 10:22:01 -04:00
Barış Soner Uşaklı
1cc32705fe feat: load user posts/topics via xhr on infinitescroll 2021-05-17 10:21:49 -04:00
Barış Soner Uşaklı
a60ea2ec7a fix: lint 2021-05-12 10:50:14 -04:00
Barış Soner Uşaklı
4066d994ff fix: tests 2021-05-12 10:50:05 -04:00
Barış Soner Uşaklı
de9bec2bb1 fix: tests 2021-05-12 10:49:55 -04:00
Barış Soner Uşaklı
3aecd20096 feat: add template to hook 2021-05-12 10:49:45 -04:00
Barış Soner Uşaklı
54804d4789 feat: add filter:account.getPostsFromUserSet 2021-05-12 10:49:34 -04:00
Barış Soner Uşaklı
55cefcba35 feat: #9533, allow redirect in build hooks 2021-05-07 09:34:37 -04:00
Barış Soner Uşaklı
3da8b93578 feat: add filter:categories.copySettingsFrom 2021-04-30 10:08:02 -04:00
Barış Soner Uşaklı
b265e6f68b feat: add filter 2021-04-26 11:02:55 -04:00
Barış Soner Uşaklı
a6a02fb773 feat: merge 2021-04-15 12:52:58 -04:00
Barış Soner Uşaklı
49583fe48b feat: allow slugs 2021-04-12 17:28:04 -04:00
Barış Soner Uşaklı
14e211fb68 fix: #9473 (#9476) 2021-04-08 14:16:59 -04:00
Tudor-Dan Ravoiu
7b98fab95c Translate categories (#9472)
* use appParseAndTranslate to translate category names

* translate parent categories on new category creation

Co-authored-by: Tudor-Dan Ravoiu <tudor-dan.ravoiu@ubisoft.com>
2021-04-08 09:10:01 -04:00
Barış Soner Uşaklı
a373731570 feat: add reverse of recent to getSortedTopics 2021-04-06 12:59:21 -04:00
Barış Soner Uşaklı
a76b5d15e0 feat: pass all data to filter:category.get 2021-03-31 12:09:38 -04:00
Julian Lam
a06b84d258 chore: bump version 2021-03-26 16:24:08 -04:00
Barış Soner Uşaklı
ecf212d307 feat: add hooks to language loading (#9426)
and flushNamespace method
2021-03-26 16:23:18 -04:00
Julian Lam
dc6fc65322 chore: bump version 2021-03-24 12:56:05 -04:00
Barış Soner Uşaklı
27b481765b fix: #9420, paginate after loading notifications 2021-03-24 12:54:47 -04:00
Misty (Bot)
43ff8e4197 chore: incrementing version number - v1.16.2-beta.0 2021-01-15 15:31:56 +00:00
Misty (Bot)
a972b5a77a Latest translations and fallbacks 2021-01-15 09:08:26 +00:00
Renovate Bot
3d1224e18d fix(deps): update socket.io packages to v3.1.0 2021-01-15 03:20:58 +00:00
Julian Lam
ab11435ed5 feat: grant plugins the ability to specify options to the SSO handler
... to be handled in the plugin itself (overriding the passport prototype's authorizationParams method)

+ new hook filter:auth.options
2021-01-13 16:57:48 -05:00
Julian Lam
9b289eca9d fix: ssoState passed to strategies even if not called for 2021-01-13 16:25:19 -05:00
Barış Soner Uşaklı
3d36208877 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-01-13 11:37:22 -05:00
Barış Soner Uşaklı
0a471b76b5 fix: use max 2021-01-13 11:37:15 -05:00
Barış Soner Uşaklı
c30b40abe7 fix: keep 60 topics minimum on topic list 2021-01-13 11:35:18 -05:00
Julian Lam
fdf0347240 style: update codeclimate config to be less sensitive to duplicate code blocks
After conversing with Dave from CodeClimate, he suggested these changes to adjust CodeClimate's detection so that it does not alert as frequently for code blocks that are similar, but functionally different. I also added a line to enforce the rule of threes, since CC often alerted only when two blocks were identical.
2021-01-13 10:26:43 -05:00
Misty (Bot)
fc3a0bd427 Latest translations and fallbacks 2021-01-13 09:08:53 +00:00
Julian Lam
77ab46686d fix: access checks for tags and thumbs get route 2021-01-12 17:38:35 -05:00
Julian Lam
c0fb1cb59c fix: #9194 global mods unable to pin or unpin topics 2021-01-12 14:02:12 -05:00
Barış Soner Uşaklı
286aa243f5 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-01-12 11:19:15 -05:00
Barış Soner Uşaklı
ef16cd2e6f fix: #9192, exit after logging error 2021-01-12 10:46:55 -05:00
Misty (Bot)
a26bfb3fda Latest translations and fallbacks 2021-01-12 09:08:47 +00:00
Renovate Bot
1901ecb244 fix(deps): update dependency nodebb-theme-slick to v1.3.8 2021-01-12 04:36:38 +00:00
gasoved
69419571a9 fix: make sure inviter user exists 2021-01-11 17:00:17 -05:00
Julian Lam
a407a51da6 fix: #9178 missing language strings (and fallbacks) for post-queue 2021-01-11 14:47:09 -05:00
Barış Soner Uşaklı
a82f943c76 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-01-11 14:35:48 -05:00
Barış Soner Uşaklı
89e6c75d58 fix: #9185, fix string boolean values 2021-01-11 14:35:23 -05:00
Julian Lam
e817d5beda fix: test for topicThumbs 2021-01-11 14:31:47 -05:00
Julian Lam
66da6bcd1c fix: #9184 proper relative_path usage in topic thumbs.get 2021-01-11 13:28:04 -05:00
Misty (Bot)
d90c7ff43b Latest translations and fallbacks 2021-01-11 09:08:27 +00:00
Misty (Bot)
6c855bf48e Latest translations and fallbacks 2021-01-10 09:08:11 +00:00
Misty (Bot)
96280d76af Latest translations and fallbacks 2021-01-09 09:07:47 +00:00
Julian Lam
b742229e59 fix: #9169, re-adding v2-style behaviour so as to not break the API... yet 2021-01-08 15:12:33 -05:00
Barış Soner Uşaklı
aa95cc7d60 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-01-08 14:19:37 -05:00
Barış Soner Uşaklı
eaf62d39fd fix: #9177, handled multiple deleted users properly 2021-01-08 14:19:25 -05:00
Julian Lam
4ede18ce5f fix: broken test caused by errant .pop(), missing await 2021-01-08 14:15:54 -05:00
Julian Lam
c07e1e16af feat: add unread-count badge if navigator contains /flags route 2021-01-08 14:15:54 -05:00
Julian Lam
6a1311b4bc refactor: flags lib to have a separate getFlagIdsWithFilters method
added quick filter for unresolved flags
2021-01-08 14:15:54 -05:00
Julian Lam
6cb5888c13 fix: unescape header navigation originalRoute [breaking] 2021-01-08 14:15:54 -05:00
Julian Lam
03a0e72fae refactor: split out logic dedicated to calculating unread counts, to a separate local method 2021-01-08 14:15:54 -05:00
Barış Soner Uşaklı
5cae95eb9f Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-01-08 13:33:00 -05:00
Barış Soner Uşaklı
d83d40cf9b fix: missing error message 2021-01-08 12:01:44 -05:00
Renovate Bot
36069da2f8 fix(deps): update dependency sortablejs to v1.13.0 2021-01-08 04:53:57 +00:00
Renovate Bot
5b3c48fd02 fix(deps): update dependency autoprefixer to v10.2.1 2021-01-08 03:17:34 +00:00
Manuel Valle
e14b67786c Solve Custom home page route error bug (#9180)
When you select Custom Route as home you get a 404 error "/custom not found" error.
This because 'homePageRoute' property was used instead of 'homePageCustom'
2021-01-07 21:44:02 -05:00
Barış Soner Uşaklı
8ece64ab82 fix: test for https://github.com/NodeBB/NodeBB/pull/9180 2021-01-07 21:42:19 -05:00
Barış Soner Uşaklı
7069735aa2 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-01-07 20:58:53 -05:00
Barış Soner Uşaklı
da54697075 fix: #9176, limit description size 2021-01-07 20:58:45 -05:00
Julian Lam
9534d95619 fix: broken test due to change in response code 2021-01-07 15:11:45 -05:00
Julian Lam
0da2843281 feat(api): schema definition for new credential checking route 2021-01-07 15:11:45 -05:00
Julian Lam
97d678fd2a fix: return a user object, not an array of user objects (in v3 login check route) 2021-01-07 15:11:45 -05:00
Julian Lam
8c86f5bcec fix: bad execution flow in utilities.login 2021-01-07 15:11:45 -05:00
Julian Lam
87a7d85e89 fix: missing breadcrumbs in schema 2021-01-07 15:11:45 -05:00
Julian Lam
534224133b fix: random loadFiles added by errant vscode autocompletion 2021-01-07 15:11:45 -05:00
Julian Lam
8bbb320867 feat: handle HTTP 429 as a response code 2021-01-07 15:11:45 -05:00
Julian Lam
56f929ed4f feat: add write API route for checking login credentials 2021-01-07 15:11:45 -05:00
Julian Lam
1cf0032d9f feat: allow override of local fns in login controller, 400 instead of 500 for wrong login type [breaking] 2021-01-07 15:11:45 -05:00
Renovate Bot
d3e041e292 chore(deps): update dependency husky to v4.3.7 2021-01-07 04:36:33 +00:00
Barış Soner Uşaklı
6cbb77afda fix: add missing breadcrumb on /user/<slug>/categories 2021-01-06 22:00:56 -05:00
Barış Soner Uşaklı
f0dd302c77 perf: use only required calls 2021-01-06 21:25:32 -05:00
Peter Jaszkowiak
a51c5698c7 fix: --help usage info
yargs (via nconf) would exit when detecting a help flag

also improves the speed of `./nodebb help build`
2021-01-06 20:43:07 -05:00
Barış Soner Uşaklı
072a0e32d8 feat: #8813, faster category search dropdown
when you have 4k+ categories manipulating DOM becomes very slow
clone the list and manipulate it outside of DOM, replace list on DOM when search is done
add utils.debounce so list is updated slower
2021-01-06 17:04:18 -05:00
Misty (Bot)
e3cd7a2343 chore: incrementing version number - v1.16.1
(cherry picked from commit 7fb032b396)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-01-06 19:17:56 +00:00
Misty (Bot)
b6d71710a0 chore: update changelog for v1.16.1 2021-01-06 19:17:56 +00:00
Julian Lam
171017c38c fix: #9130, remove timestamp prefix from thumbnail names in API response 2021-01-06 12:15:32 -05:00
Barış Soner Uşaklı
8c31afae7d feat: #9173, show installed plugin versions in ./nodebb plugins 2021-01-06 11:52:19 -05:00
Misty (Bot)
afe6d84710 Latest translations and fallbacks 2021-01-06 09:09:57 +00:00
Renovate Bot
e445ae5a7a fix(deps): update dependency autoprefixer to v10.2.0 2021-01-06 04:23:40 +00:00
Julian Lam
b9ba44edd7 fix: #9166 missing relative path in topic thumbs modal and topic list 2021-01-05 13:40:36 -05:00
Renovate Bot
fd045c67c9 fix(deps): update socket.io packages to v3.0.5 2021-01-05 13:38:31 +00:00
Barış Soner Uşaklı
0d7dfeeb86 chore: increase test timeout 2021-01-04 17:09:14 -05:00
Barış Soner Uşaklı
1968bf50f1 fix: #9163, fix total connection count on ACP
sockets.sockets is a JS map in 3.x
2021-01-04 16:58:29 -05:00
Renovate Bot
87e333b44f fix(deps): update dependency nodebb-theme-persona to v10.3.16 2021-01-04 20:20:22 +00:00
Renovate Bot
4524f825d4 fix(deps): update dependency benchpressjs to v2.4.0 2021-01-04 18:52:33 +00:00
Misty (Bot)
5fcf3ea61b chore: incrementing version number - v1.16.1-beta.0 2021-01-04 14:40:53 +00:00
Misty (Bot)
ebf1624a90 Latest translations and fallbacks 2021-01-02 09:07:42 +00:00
Renovate Bot
18ae7cf719 chore(deps): update dependency eslint to v7.17.0 2021-01-02 03:44:22 +00:00
Misty (Bot)
d1700c40e2 Latest translations and fallbacks 2020-12-31 09:09:40 +00:00
Andrew Rodrigues
4d6ddf6dbf feat: added note that you can now upload videos 2020-12-31 00:17:10 -05:00
Julian Lam
e5edbc6faf feat: automatically attempt socket.io reconnection on ajaxify
Also, updated messaging and toaster to accurately reflect offline-mode state
2020-12-30 13:59:00 -05:00
Renovate Bot
189be9e0be fix(deps): update dependency nodebb-theme-persona to v10.3.15 2020-12-30 02:16:52 +00:00
Julian Lam
041d45c3d2 fix: genericise .necro-post, bump persona to latest 2020-12-29 16:34:05 -05:00
Julian Lam
edb8da1ef9 feat(api): closes #9123 category and topic routes migrated to Write API 2020-12-29 10:32:01 -05:00
Julian Lam
77a5adb616 fix(tests): handle nested allOf blocks 2020-12-29 10:32:01 -05:00
Julian Lam
9ecfac9b68 feat(api): #9123, migrate rest of the getObject controllers to Write API 2020-12-29 10:32:01 -05:00
Julian Lam
cdff8d286a chore(api): add deprecation notices re: #9123 2020-12-29 10:32:01 -05:00
Julian Lam
e267f29584 feat(api): #9123, migrate /api/post/pid/:pid to Write API 2020-12-29 10:32:01 -05:00
Misty (Bot)
1002c14aa2 Latest translations and fallbacks 2020-12-29 09:08:10 +00:00
Barış Soner Uşaklı
33290850ee fix: #9126, skip base64 and long values 2020-12-28 12:10:48 -05:00
Barış Soner Uşaklı
3121215e87 fix: #9127, use assets path 2020-12-28 12:03:27 -05:00
Barış Soner Uşaklı
c1ecfd1ebf feat: #9135, don't try to reconnect forever 2020-12-28 11:44:14 -05:00
Julian Lam
a555f02415 fix: inability for admins with setting privilege to save plugin settings 2020-12-28 11:09:40 -05:00
Julian Lam
fb3f3f729f refactor(openapi): update TopicObject component to reference TopicObjectSlim in its schema 2020-12-28 10:48:58 -05:00
Julian Lam
895e3d939e fix: #9149, server-side handling of disableChatMessageEditing 2020-12-28 10:20:52 -05:00
Julian Lam
d27815a8c0 fix: #9149, incorrect client-side disableChatMessageEditing value for admins/gmods 2020-12-28 09:51:28 -05:00
Barış Soner Uşaklı
20c1b684ed fix: #9151, dont use service worker for posts requests 2020-12-27 21:18:41 -05:00
Misty (Bot)
f1ec4961d9 Latest translations and fallbacks 2020-12-27 09:06:08 +00:00
Misty (Bot)
29fcdc4c22 Latest translations and fallbacks 2020-12-26 09:06:53 +00:00
Barış Soner Uşaklı
183cabe90f fix: #9150, fix selector so it doesn't add img-responsive to profile pics 2020-12-25 23:19:45 -05:00
Renovate Bot
1dd1d3b064 fix(deps): update dependency nodebb-widget-essentials to v5.0.2 2020-12-25 02:43:17 +00:00
Misty (Bot)
d85e351f43 Latest translations and fallbacks 2020-12-24 09:08:02 +00:00
Julian Lam
2874036024 fix: tests 2020-12-23 17:48:54 -05:00
Julian Lam
223f0a5515 feat(acp): admin tags privilege 2020-12-23 17:44:17 -05:00
Julian Lam
d90aa95808 feat: add confirmation modal when assigning admin:admins-mods privilege 2020-12-23 14:18:14 -05:00
Julian Lam
fb46a8d975 feat(acp): admins-mods privilege 2020-12-23 14:18:14 -05:00
Julian Lam
5b8558e9a5 feat: allow dashes in privilege group names 2020-12-23 14:18:14 -05:00
Julian Lam
3aa5beb832 feat: allow multiple privileges to be defined for a given admin socket call 2020-12-23 14:18:14 -05:00
renovate[bot]
f55dddb2be fix(deps): update dependency nodebb-widget-essentials to v5.0.1 (#9144)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-23 12:49:34 -05:00
Barış Soner Uşaklı
fcc1e24ad0 feat: rename admin middleware header hook 2020-12-23 10:47:51 -05:00
Renovate Bot
6d980d26d7 fix(deps): update dependency nodebb-plugin-composer-default to v6.5.5 2020-12-23 10:03:55 -05:00
Misty (Bot)
c62a6b6ca8 Latest translations and fallbacks 2020-12-23 09:07:52 +00:00
Julian Lam
da191341e8 feat(acp): added new admin privilege for groups management 2020-12-22 21:45:51 -05:00
Julian Lam
3959a7bd9c fix(api): failing test due to missing file 2020-12-22 14:43:22 -05:00
Julian Lam
80ee3dfbd1 fix(api): tests 2020-12-22 14:39:48 -05:00
Barış Soner Uşaklı
931105e6cb fix: dont show deleted posts in navigator 2020-12-22 14:29:25 -05:00
Julian Lam
32e36f7b2e feat(api): group ownership API route, switch client-side to use API route 2020-12-22 14:26:31 -05:00
Julian Lam
98550d61d7 feat(api): add schema for groups update route 2020-12-22 13:22:01 -05:00
Julian Lam
4fc1337762 feat(api): added schema for email unsubscribe token 2020-12-22 13:22:01 -05:00
Julian Lam
501a7b7774 fix: bug in api path existence test
It was only checking for the path, but not ensuring that the method was also defined
2020-12-22 13:22:01 -05:00
Julian Lam
1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib 2020-12-22 13:22:01 -05:00
Julian Lam
e640a41a78 refactor(api): update group deletion calls to use write API 2020-12-22 13:22:01 -05:00
Renovate Bot
4919e5968d fix(deps): update dependency sharp to v0.27.0 2020-12-22 14:52:37 +00:00
Misty (Bot)
4ac13160b5 Latest translations and fallbacks 2020-12-22 09:09:07 +00:00
Barış Soner Uşaklı
2ef72a94c2 fix: #9136, fix move topic/post timeout errors 2020-12-21 11:19:51 -05:00
Julian Lam
34ccabe3ab fix: bad assignment logic in middleware.renderHeader 2020-12-21 10:02:28 -05:00
Julian Lam
75b1bbd09f feat: explicitly add filter:admin/header.build hook
As it is not fired during middleware.processRender
2020-12-21 09:59:19 -05:00
Julian Lam
05d8b3c339 chore: add deprecation notice to topic thumb tpl value 2020-12-21 09:59:19 -05:00
Renovate Bot
2610dfcf56 chore(deps): update dependency eslint to v7.16.0 2020-12-19 02:07:07 +00:00
Renovate Bot
37b35f7de0 fix(deps): update dependency nodebb-theme-persona to v10.3.12 2020-12-19 00:18:08 +00:00
Julian Lam
da4f91186b fix: #9113, wrong path separator used in thumbs.get 2020-12-18 16:50:31 -05:00
Peter Jaszkowiak
2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
2020-12-18 16:39:09 -05:00
Julian Lam
713f029dc8 fix: removing ability to specify deprecated topic 'thumb' on topic creation 2020-12-18 15:25:37 -05:00
Barış Soner Uşaklı
b369dc888b fix: #9129, event is fired on socket.io 2020-12-18 14:53:21 -05:00
Julian Lam
bbd97ccb48 fix: subfolder handling in tests 2020-12-18 14:01:41 -05:00
Julian Lam
5f038dffbd test: changed test a bit to see what is going on 2020-12-18 14:01:41 -05:00
Julian Lam
6062039de2 fix: .flat() not defined in v10, added debug router to exclusion list 2020-12-18 14:01:41 -05:00
Julian Lam
f416dc177a fix: all tests, wrap up work 2020-12-18 14:01:41 -05:00
Julian Lam
9c2de86a6e fix: two more routes 2020-12-18 14:01:41 -05:00
Julian Lam
cb32e32ae3 feat: fix more tests, add more routes, update api test suite 2020-12-18 14:01:41 -05:00
Julian Lam
14c51e3c60 feat: add registration/complete route, fix some other tests 2020-12-18 14:01:41 -05:00
Julian Lam
b9a61d2d45 fix: api tests 2020-12-18 14:01:41 -05:00
Julian Lam
600807fbe1 fix: don't return deleted: 0 for ephemeral groups 2020-12-18 14:01:41 -05:00
Julian Lam
9de35ec5a3 feat: add missing schemas for various ACP settings routes 2020-12-18 14:01:41 -05:00
Julian Lam
438fa5c88f fix: send fewer items to client-side for ACP settings/email page 2020-12-18 14:01:41 -05:00
Julian Lam
c079051b19 fix: errors in write-api schema 2020-12-18 14:01:41 -05:00
Julian Lam
8e5a413e4e chore: minor reordering of lines 2020-12-18 14:01:41 -05:00
Julian Lam
990f107736 fix: broken tests from last round of fixes 2020-12-18 14:01:41 -05:00
Julian Lam
a962935743 fix: bad error message for request body api test 2020-12-18 14:01:41 -05:00
Julian Lam
d6de925348 feat: add missing schema for category update and deletion
Deleted CategoryObj component, since CategoryObject is used more
2020-12-18 14:01:41 -05:00
Julian Lam
7fc329de2f fix: modify backreference test to not check router.all() calls 2020-12-18 14:01:41 -05:00
Julian Lam
eef052c1bf fix: add missing token generation route to write api spec 2020-12-18 14:01:41 -05:00
Julian Lam
d85181e031 feat: add schema for api ping routes 2020-12-18 14:01:41 -05:00
Julian Lam
878ee06715 refactor: schema backreference test to use map instead of reduce, properly check write-api routes 2020-12-18 14:01:41 -05:00
Julian Lam
df8d62ba06 feat: normalize paths before comparison 2020-12-18 14:01:41 -05:00
Julian Lam
dbe85630e3 feat: additional test to ensure any new routes added to express have a corresponding schema doc
re: #9103
2020-12-18 14:01:41 -05:00
Barış Soner Uşaklı
a2152dd100 feat: update html-to-text closes https://github.com/NodeBB/NodeBB/pull/8810 2020-12-18 11:18:49 -05:00
renovate[bot]
55a55ea284 chore(deps): update actions/setup-node action to v2 (#9115)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-18 11:01:44 -05:00
psychobunny
b8d4709eec fix(pwa): #9127 service-worker.js missing on subfolder installs 2020-12-18 10:03:36 -05:00
Renovate Bot
db4c68639d fix(deps): update dependency nodebb-theme-persona to v10.3.11 2020-12-17 20:32:37 -05:00
Barış Soner Uşaklı
b7b588f5c8 fix: trigger action:posts.edited 2020-12-17 20:30:13 -05:00
Misty (Bot)
6d01fd5028 chore: incrementing version number - v1.16.0
(cherry picked from commit 67ccc21760)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-12-17 23:59:27 +00:00
Misty (Bot)
1437c62f3a chore: update changelog for v1.16.0 2020-12-17 23:59:27 +00:00
renovate[bot]
fff0cea685 fix(deps): update dependency nodebb-plugin-composer-default to v6.5.4 (#9120)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-17 10:55:36 -05:00
Barış Soner Uşaklı
feecd66506 fix: api usage 2020-12-16 12:00:14 -05:00
Barış Soner Uşaklı
a15ef53c70 feat: add new client side hooks 2020-12-16 11:12:13 -05:00
Barış Soner Uşaklı
4404e32ed9 fix: #9117, lower query before search 2020-12-16 10:41:45 -05:00
Misty (Bot)
e99fe307b6 Latest translations and fallbacks 2020-12-16 09:11:01 +00:00
Barış Soner Uşaklı
ab96f526d6 feat: remove max age since cache is cleared when thumbs change 2020-12-15 19:15:10 -05:00
Barış Soner Uşaklı
3ed55799ab fix: #9114, fix client side groups update for memberPostCids 2020-12-15 16:32:24 -05:00
Barış Soner Uşaklı
acbf27ceea Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-12-14 21:49:14 -05:00
Barış Soner Uşaklı
2dee3cbe1a fix: test 2020-12-14 21:46:44 -05:00
renovate[bot]
30688b1b88 fix(deps): update dependency nodebb-theme-slick to v1.3.7 (#9112)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-14 21:28:41 -05:00
renovate[bot]
877f4673b0 fix(deps): update dependency nodebb-theme-lavender to v5.0.17 (#9111)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-14 21:26:50 -05:00
Barış Soner Uşaklı
2d5a224b06 perf: don't load thumbs if disabled globally, cache thumb results 2020-12-14 21:24:46 -05:00
Renovate Bot
ff18cdfa39 fix(deps): update dependency nodebb-theme-vanilla to v11.3.10 2020-12-15 01:43:47 +00:00
renovate[bot]
5d71834846 fix(deps): update dependency validator to v13.5.2 (#9094)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-14 20:35:45 -05:00
renovate[bot]
f37dbeedd5 fix(deps): update dependency nodebb-theme-vanilla to v11.3.9 (#9091)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-14 20:07:43 -05:00
gasoved
d28581eb6a feat: show alt text instead of images in teasers (#9107)
* feat: show alt text instead of images in teasers

* refactor: from utils to local function
2020-12-14 14:24:48 -05:00
gasoved
3ba0575584 fix: don't check "select all" if there are no enabled checkboxes 2020-12-14 08:08:57 -05:00
Misty (Bot)
850bf497ea Latest translations and fallbacks 2020-12-14 09:09:05 +00:00
Renovate Bot
2371b432af chore(deps): update dependency husky to v4.3.6 2020-12-13 20:52:53 +00:00
Renovate Bot
d036408d5a fix(deps): update dependency nodebb-plugin-composer-default to v6.5.3 2020-12-12 04:39:59 +00:00
Barış Soner Uşaklı
8f938eba19 fix: #9074, fix svg uploads 2020-12-11 22:50:42 -05:00
Julian Lam
ab98740821 fix: #9100 topic thumbs in OG image tags 2020-12-11 15:38:40 -05:00
Julian Lam
74d73313fd feat: migration of old topic thumbs to new format
closes #9099
2020-12-11 15:00:20 -05:00
Julian Lam
378a3a6945 fix: update version removal comments to 1.17 for some features 2020-12-11 12:26:53 -05:00
Julian Lam
4c87f30184 feat: allow plugins to override ACP relogin challenge
- used in 2factor
2020-12-11 11:50:24 -05:00
Misty (Bot)
e7ac767080 Latest translations and fallbacks 2020-12-11 09:07:17 +00:00
Barış Soner Uşaklı
80de572aa1 feat: add user.email.confirmByUid for sso plugins 2020-12-10 20:25:48 -05:00
Renovate Bot
b07fb9abca fix(deps): update dependency nodebb-plugin-composer-default to v6.5.2 2020-12-10 17:34:59 +00:00
Misty (Bot)
7eaedf4847 Latest translations and fallbacks 2020-12-10 09:07:57 +00:00
Julian Lam
05dd859714 fix: postgres is slow™️ 2020-12-09 19:23:23 -05:00
Julian Lam
f8dff94a15 fix: derp? 2020-12-09 19:05:26 -05:00
Julian Lam
9a4ea04a75 fix: attempted fix for psql test in topic thumbs 2020-12-09 18:57:45 -05:00
Julian Lam
9f62df15bd chore: appease codeclimate 2020-12-09 18:45:37 -05:00
Julian Lam
24e754d120 feat: add thumbs to category data return 2020-12-09 18:41:46 -05:00
Julian Lam
edf67f349f fix: use getSortedSetRange instead of getSortedSetsMembers 2020-12-09 17:12:59 -05:00
Julian Lam
bd5c4a5cff fix: tests 2020-12-09 16:46:19 -05:00
Julian Lam
e83baa97a0 fix: bad topic thumbs logic on local thumb upload 2020-12-09 16:30:11 -05:00
Julian Lam
ce8057f389 feat: broken test for bad topic thumbs logic 2020-12-09 16:23:31 -05:00
Julian Lam
3e54b70c06 fix: #9092, Topic thumbnails do not work with third-party uploaders 2020-12-09 15:47:58 -05:00
Julian Lam
dd448e2b1a fix: move topic thumb tests to root level, so they actually get run by mocha 2020-12-09 15:31:46 -05:00
Julian Lam
9681557f60 fix: tests for topic thumbs 2020-12-09 15:29:25 -05:00
Julian Lam
91899329fc chore(deps): bump persona to 10.3.9 2020-12-09 11:37:07 -05:00
Julian Lam
228cfa6710 chore(deps): bump composer to 6.5.1, re: #9067 2020-12-09 11:30:43 -05:00
Julian Lam
15f1a08940 chore(i18n): fallbacks for new topic thumb keys 2020-12-09 10:45:14 -05:00
Julian Lam
0db4912111 fix(deps): bump composer-default to 6.5.0 2020-12-09 10:42:41 -05:00
Julian Lam
2170c40007 fix: iteration logic bug 2020-12-09 10:42:41 -05:00
Julian Lam
ae9439748d fix: spec 2020-12-09 10:42:41 -05:00
Julian Lam
9342d611be fix: enable topic thumbnails across the board [breaking] 2020-12-09 10:42:41 -05:00
Julian Lam
a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes #9087
2020-12-09 10:42:41 -05:00
Julian Lam
67cf5e83b7 fix: changes to thumb resizing logic
- Resized thumb no longer skews aspect ratio
- Thumbs resized down to maximum thumb size by WIDTH only
- image.checkDimensions() now returns dimensions
2020-12-09 10:42:41 -05:00
Julian Lam
37c367d6ff feat: raise maximum thumb size to 512 2020-12-09 10:42:41 -05:00
Julian Lam
1c5cdb5121 feat: associate topic thumbs with post uploads (for the mainPid) 2020-12-09 10:42:41 -05:00
Julian Lam
08736b1812 fix: use file lib instead of direct fs module access 2020-12-09 10:42:41 -05:00
Julian Lam
c043cfebd6 fix: added back missing topic thumb tests that were removed in last commit 2020-12-09 10:42:41 -05:00
Julian Lam
5ec3b3d083 fix: tests 2020-12-09 10:42:41 -05:00
Julian Lam
d31aae167e fix(spec): broken link to status component 2020-12-09 10:42:41 -05:00
Julian Lam
cb7e4cda2a feat: helper method to get thumbs by pid 2020-12-09 10:42:41 -05:00
Julian Lam
41379e27c8 fix: hack uploader to handle a response from v3 write api 2020-12-09 10:42:41 -05:00
Julian Lam
340387c18a fix: #9055, non-standard API response from addThumbs route
Also removed old thumb upload router handler, and updated uploadPost handling in composer to match new response schema
2020-12-09 10:42:41 -05:00
Julian Lam
c09c238e3f fix: do not allow thumb deletion route to arbitrarily delete other files in uploads folder 2020-12-09 10:42:41 -05:00
Julian Lam
5950683316 feat: closes #9048, tests for topic thumbs routes, write API schema 2020-12-09 10:42:41 -05:00
Julian Lam
ef10b6b70d fix: missing file added 2020-12-09 10:42:41 -05:00
Julian Lam
4152aa552e feat: tests for topic thumbs
Also added some error checking to addThumbs controller
2020-12-09 10:42:41 -05:00
Julian Lam
ef7d6db912 feat: server-side work for #9047
- rename Thumbs.commit to Thumbs.migrate
- new PUT method that calls Thumbs.migrate
- `checkThumbPrivileges` now takes a single object parameter (ins. of req/res)
2020-12-09 10:42:41 -05:00
Julian Lam
b5d910f53b feat: core work for #9042, thumb deletion now accepts uuids
+ common data validation for thumb addition and deletion
2020-12-09 10:42:41 -05:00
Julian Lam
1f0c1cd229 fix: references to since-removed Topics.thumbs.resizeAndUpload 2020-12-09 10:42:41 -05:00
Julian Lam
90497e3ef5 feat: more work on topic thumbs refactor
- addThumb and deleteThumb are now protected routes (duh)
- new getThumbs route GET /api/v3/topics/<tid>/thumbs
- Updated `assert.path` middleware to better handle if relative paths are received with upload_url
- Slight refactor of thumbs lib to use validator to differentiate between tid and UUID
2020-12-09 10:42:41 -05:00
Julian Lam
43dc3e3e48 fix: #9041, remove Topics.thumbs.resizeAndUpload() 2020-12-09 10:42:41 -05:00
Julian Lam
708b1c338f fix: #9040 2020-12-09 10:42:41 -05:00
Julian Lam
1949d20a87 fix: spec 2020-12-09 10:42:41 -05:00
Julian Lam
1257aa981e feat: expose uploaded thumbnails to client-side via API
+ plugin hook: filter:topics.getThumbs
2020-12-09 10:42:41 -05:00
Julian Lam
7e9e08f718 feat: server-side routes for handling multiple topic thumbnails
closes #8994, requires 'topic-thumb-refactor' branch of composer-default
2020-12-09 10:42:41 -05:00
Julian Lam
98cd9e3549 feat: allow uploadThumb controller to be called in code
it, and uploadsController.upload() now return the results of their operation
2020-12-09 10:42:41 -05:00
Julian Lam
4fc9da81a9 refactor: topic thumbs lib to topics.thumbs 2020-12-09 10:42:41 -05:00
Barış Soner Uşaklı
0f480be658 fix: #9085, dont prevent admins from deleting other users 2020-12-09 10:15:30 -05:00
Barış Soner Uşaklı
ff2aa17bbc fix: show errors when user delete fails 2020-12-09 10:07:40 -05:00
Barış Soner Uşaklı
dd9ed23631 fix: dont start logout timer if adminReloginDuration is disabled 2020-12-09 09:56:09 -05:00
Misty (Bot)
8c125cab6c Latest translations and fallbacks 2020-12-09 09:09:16 +00:00
psychobunny
6d186be067 feat(deps): update lavender to allow category sections 2020-12-08 16:11:06 -05:00
Julian Lam
efa4eca0fe fix: #9045, no post usage info if '/files/' path received 2020-12-08 08:58:19 -05:00
Misty (Bot)
68251fffe7 Latest translations and fallbacks 2020-12-08 09:09:01 +00:00
Renovate Bot
024d1fef23 fix(deps): update dependency autoprefixer to v10.1.0 2020-12-08 08:41:45 +00:00
renovate[bot]
25f697b1f3 fix(deps): update dependency nodebb-theme-persona to v10.3.8 (#9084)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-07 22:06:29 -05:00
Barış Soner Uşaklı
60e7de0d13 feat: move upgrade script and make it shorter 2020-12-07 21:25:19 -05:00
Julian Lam
6037f5ee2c chore: add comment for clarification 2020-12-07 15:44:34 -05:00
Barış Soner Uşaklı
13d5a1440b fix: reconnectin no longer fires on socket.io 3 2020-12-07 14:31:20 -05:00
Barış Soner Uşaklı
1f32d38778 fix: default values, clamp postsPerPage/topicsPerPage to max 2020-12-07 12:51:11 -05:00
Barış Soner Uşaklı
9da0ed400e fix: #9081, load raw settings before merging 2020-12-07 12:01:44 -05:00
Renovate Bot
62463430a9 fix(deps): update socket.io packages to v3.0.4 2020-12-07 12:31:58 +00:00
Renovate Bot
48a31763eb chore(deps): update dependency husky to v4.3.5 2020-12-07 10:43:12 +00:00
Misty (Bot)
d95200ce60 Latest translations and fallbacks 2020-12-07 09:09:05 +00:00
Renovate Bot
c22cdb515d fix(deps): update dependency nodebb-theme-persona to v10.3.7 2020-12-07 05:39:03 +00:00
Barış Soner Uşaklı
74274b60ed feat: allow clicks on navigator, clean dupe code 2020-12-06 23:14:33 -05:00
renovate[bot]
5937fbafa3 fix(deps): update dependency nodebb-theme-persona to v10.3.6 (#9077)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-06 19:23:40 -05:00
Barış Soner Uşaklı
ed70e7028e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-12-06 19:11:03 -05:00
Barış Soner Uşaklı
bb6cc49c16 perf: dont build identical langs 2020-12-06 19:10:56 -05:00
renovate[bot]
a535350f2d fix(deps): update dependency nodebb-plugin-mentions to v2.13.6 (#9071)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-06 14:00:50 -05:00
renovate[bot]
19c438c608 fix(deps): update dependency nodebb-theme-slick to v1.3.6 (#9072)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-06 14:00:39 -05:00
Barış Soner Uşaklı
86f0f82be7 fix: #9068 2020-12-06 13:53:52 -05:00
Barış Soner Uşaklı
10cfdd4c5d fix: remove old utils.slugify tests 2020-12-06 13:28:14 -05:00
Barış Soner Uşaklı
4a0d883359 breaking: #8808, remove utils.slugify 2020-12-06 13:18:09 -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
renovate[bot]
d7f5efd960 fix(deps): update dependency nodebb-widget-essentials to v5 (#9070)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-06 12:50:13 -05:00
Barış Soner Uşaklı
d2888d1d1f Category tags (#8938)
* feat: wip category tags

* fix: tag search

* feat: remove debug

* fix: returns of searchTags and autocomplete

* fix: alpha sort

* fix: redis

* fix: delete zsets on category purge, fix another test

* fix: test
2020-12-06 12:36:40 -05:00
Barış Soner Uşaklı
792e9e703e fix: dont strip tags 2020-12-06 12:22:39 -05:00
Barış Soner Uşaklı
91c20ceca5 fix: #9065, settings v2/v3 conflict 2020-12-05 14:45:58 -05:00
Julian Lam
970ccb5a68 fix: #9063, missing handler for passwordless accounts in admin.checkPrivileges middleware 2020-12-05 09:50:49 -05:00
Renovate Bot
cf5c482d1f chore(deps): update dependency husky to v4.3.4 2020-12-05 13:40:46 +00:00
Renovate Bot
f4c4d671ca chore(deps): update dependency eslint to v7.15.0 2020-12-05 10:17:25 +00:00
Misty (Bot)
ba57876c96 Latest translations and fallbacks 2020-12-05 09:06:11 +00:00
Renovate Bot
8fb814ba08 fix(deps): update dependency nodebb-plugin-markdown to v8.12.4 2020-12-05 03:39:56 +00:00
Barış Soner Uşaklı
2345b70bda Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-12-04 21:01:43 -05:00
Barış Soner Uşaklı
a389a31b4a fix: timeago in navigation 2020-12-04 21:01:36 -05:00
renovate[bot]
0d08228015 fix(deps): update dependency nodebb-theme-persona to v10.3.5 (#9060)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 20:42:30 -05:00
renovate[bot]
84e4e480d0 fix(deps): update dependency nodebb-theme-persona to v10.3.4 (#9059)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 20:26:02 -05:00
Barış Soner Uşaklı
163d1a39ce fix: navigation fixes 2020-12-04 20:17:36 -05:00
Renovate Bot
3d7e2e1e8e fix(deps): update dependency nodebb-theme-persona to v10.3.3 2020-12-04 21:00:01 +00:00
Renovate Bot
3e6f7359a7 chore(deps): update dependency lint-staged to v10.5.3 2020-12-04 19:45:10 +00:00
renovate[bot]
f49ce4adb6 fix(deps): update dependency nodebb-theme-persona to v10.3.2 (#9056)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 14:22:47 -05:00
Barış Soner Uşaklı
73d2f51d7a fix: cache some jquery objects 2020-12-04 14:18:40 -05:00
renovate[bot]
344caf5c2e fix(deps): update dependency nodebb-theme-persona to v10.3.1 (#9054)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 13:05:27 -05:00
renovate[bot]
e7d72d8a79 fix(deps): update dependency nodebb-theme-lavender to v5.0.15 (#9053)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 13:04:24 -05:00
Barış Soner Uşaklı
63d0839550 fix: add ev.cancelable 2020-12-04 12:59:08 -05:00
renovate[bot]
dcd6fbafb2 fix(deps): update dependency nodebb-theme-persona to v10.3.0 (#9052)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 12:12:39 -05:00
Barış Soner Uşaklı
790f4e4521 fix: #9046, pretranslate string 2020-12-04 12:01:46 -05:00
Barış Soner Uşaklı
6669496dba Navigator (#9049)
* feat: navigator changes

* fix: remove extra code

* feat: add lang keys
2020-12-04 11:56:10 -05:00
Barış Soner Uşaklı
648f6215ef fix: redirect external with absolute urls 2020-12-03 17:20:03 -05:00
Barış Soner Uşaklı
184028ab78 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-12-03 14:56:58 -05:00
Barış Soner Uşaklı
458bfc0faf fix: external path for subfolder installs 2020-12-03 14:52:27 -05:00
Misty (Bot)
57cd1343f4 chore: incrementing version number - v1.15.5
(cherry picked from commit 8245015cee)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-12-03 19:27:46 +00:00
Misty (Bot)
b02993266c chore: update changelog for v1.15.5 2020-12-03 19:27:45 +00:00
Barış Soner Uşaklı
64ac483ddd fix: #9032 2020-12-03 13:51:22 -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ı
5d00b0895b fix: sso redirect on /login & /api/login 2020-12-03 10:29:18 -05:00
renovate[bot]
c7f2640a18 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.7 (#9039)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-03 09:37:41 -05:00
Julian Lam
3ea66f84e1 fix: use file lib instead of directly accessing fs (for Assert.path) 2020-12-03 07:41:14 -05:00
Barış Soner Uşaklı
698718f87c feat: allow modifiying browser title on ajaxify 2020-12-02 20:46:57 -05:00
psychobunny
c111bde126 chore: up persona 2020-12-02 19:55:20 -05:00
Barış Soner Uşaklı
ef6c3b0029 fix: check uid as well 2020-12-02 19:04:07 -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
Misty (Bot)
a1b658d945 chore: incrementing version number - v1.15.4
(cherry picked from commit e0f77d1791)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-12-02 22:15:27 +00:00
Misty (Bot)
252dddfc10 chore: update changelog for v1.15.4 2020-12-02 22:15:27 +00:00
Barış Soner Uşaklı
73746bb489 refactor: remove old hack 2020-12-02 14:14:56 -05:00
Barış Soner Uşaklı
6f68f4d20a fix: #9032, fix login redirect for sso plugins 2020-12-02 12:42:21 -05:00
Misty (Bot)
b771a5733b Latest translations and fallbacks 2020-12-02 09:09:11 +00:00
renovate[bot]
1870794068 fix(deps): update dependency nodebb-theme-vanilla to v11.3.8 (#9031)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-02 00:06:24 -05:00
renovate[bot]
4085f3e6bb fix(deps): update dependency nodebb-theme-slick to v1.3.5 (#9030)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-02 00:03:23 -05:00
renovate[bot]
f7d60c43d0 fix(deps): update dependency nodebb-theme-persona to v10.2.98 (#9029)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-02 00:02:13 -05:00
Barış Soner Uşaklı
86b7f8a5d4 fix: #8962, dont show null for purged targets 2020-12-01 23:53:29 -05:00
Barış Soner Uşaklı
3488daa1e8 fix: selector on hooks page 2020-12-01 21:01:46 -05:00
Barış Soner Uşaklı
5f0f476b57 feat: #9005, use timestamp in profile/cover images
delete current one if keepAllUserImages is turned off
fix typo in data
2020-12-01 20:24:22 -05:00
Renovate Bot
42b23a3b39 fix(deps): update dependency nodebb-theme-persona to v10.2.97 2020-12-01 22:51:42 +00:00
Barış Soner Uşaklı
954dc5b7be feat: #8983, update pin tooltip in topic 2020-12-01 16:25:13 -05:00
psychobunny
69864b8746 fix(openapi): spec for c1a7968d23 2020-12-01 16:07:42 -05:00
psychobunny
53abada5f0 Revert "feat: option to allow auto-joining of groups (optionally skip the "request membership" step)"
This reverts commit 685f3c6aa6.
2020-12-01 16:06:14 -05:00
psychobunny
1c1a0e0e0d Revert "chore: up persona"
This reverts commit dde3171c22.
2020-12-01 16:06:10 -05:00
psychobunny
af9e676291 Revert "fix(openapi): spec for 685f3c6aa6173383d6c31b87ed51cf8ed0ca44ce"
This reverts commit 1bb75e762e.
2020-12-01 16:06:03 -05:00
psychobunny
1bb75e762e fix(openapi): spec for 685f3c6aa6 2020-12-01 14:53:16 -05:00
psychobunny
dde3171c22 chore: up persona 2020-12-01 14:42:15 -05:00
psychobunny
685f3c6aa6 feat: option to allow auto-joining of groups (optionally skip the "request membership" step) 2020-12-01 14:41:11 -05:00
renovate[bot]
43bbfb6780 fix(deps): update dependency nodebb-plugin-composer-default to v6.4.10 (#9025)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-01 14:32:22 -05:00
psychobunny
c1a7968d23 feat: user notification settings for group.leave event 2020-12-01 14:11:56 -05:00
renovate[bot]
3f597a5539 fix(deps): update dependency nodebb-theme-vanilla to v11.3.7 (#9024)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-01 14:10:40 -05:00
renovate[bot]
110186b92c fix(deps): update dependency nodebb-plugin-composer-default to v6.4.9 (#9023)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-01 14:06:42 -05:00
renovate[bot]
8dc1437edb fix(deps): update dependency nodebb-theme-slick to v1.3.4 (#9022)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-01 14:05:36 -05:00
psychobunny
f7558c6052 fix: notification on group.leave incorrectly showing "Guest has left X group" 2020-12-01 13:58:15 -05:00
renovate[bot]
2c9cd2864c fix(deps): update dependency nodebb-theme-persona to v10.2.96 (#9021)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-01 13:52:54 -05:00
Barış Soner Uşaklı
b46d2f93e6 fix: #9019, add missing lang strings 2020-12-01 12:38:23 -05:00
Barış Soner Uşaklı
e45b5cba81 fix: #9018 2020-12-01 12:31:28 -05:00
renovate[bot]
1f5f2e1d96 fix(deps): update dependency nodebb-plugin-composer-default to v6.4.8 (#9017)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-01 10:32:06 -05:00
Barış Soner Uşaklı
0cba269165 feat: add defaults for composer help 2020-12-01 10:25:36 -05:00
Barış Soner Uşaklı
0f1fc10f6c fix: #9015, add default value for dailyDigestFreq 2020-12-01 10:00:05 -05:00
Misty (Bot)
4093ccf813 Latest translations and fallbacks 2020-12-01 09:09:48 +00:00
Barış Soner Uşaklı
cfb7b113e9 fix: spec 2020-11-30 22:54:27 -05:00
Barış Soner Uşaklı
f7c738deda fix: #8997, don't send notifications if uids already in group 2020-11-30 22:51:33 -05:00
Barış Soner Uşaklı
1eb5fabdb1 feat: #8900, postQueue setting for category 2020-11-30 22:36:30 -05:00
Barış Soner Uşaklı
14bb0a4469 feat: #8960, update view count after merge 2020-11-30 18:09:30 -05:00
psychobunny
4317cdea34 fix: #9002 ban templates not user friendly 2020-11-30 16:07:23 -05:00
Barış Soner Uşaklı
202dcef42e fix: #9010, show rest of info even if clusterMonitor priv is not granted 2020-11-30 15:23:37 -05:00
Barış Soner Uşaklı
d46740f860 fix: #9007 revoke old sessions after adding 2020-11-30 15:05:26 -05:00
psychobunny
54dc449fb9 fix(acp): #9008 undefined link for "no users browsing" state on dashboard 2020-11-30 14:07:28 -05:00
psychobunny
286243cd37 fix(acp): #9009 no-users-browsing untranslated on dashboard 2020-11-30 14:02:07 -05:00
Renovate Bot
9004319e0d fix(deps): update dependency nodebb-plugin-markdown to v8.12.3 2020-11-30 17:42:00 +00: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
Renovate Bot
7b39cf4bb7 fix(deps): update dependency validator to v13.5.1 2020-11-30 15:31:50 +00:00
Misty (Bot)
cfef2092de Latest translations and fallbacks 2020-11-30 09:08:58 +00:00
Barış Soner Uşaklı
92d1b8a65f fix: privs headers 2020-11-30 01:12:34 -05:00
renovate[bot]
4ddab38095 fix(deps): update dependency nodebb-theme-persona to v10.2.95 (#9001)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-29 23:36:01 -05:00
renovate[bot]
877d85549d fix(deps): update dependency nodebb-theme-persona to v10.2.94 (#9000)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-29 23:28:21 -05:00
Barış Soner Uşaklı
557f0f5631 feat: use correct code 2020-11-29 22:41:19 -05:00
Barış Soner Uşaklı
82bddcd882 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-29 22:34:23 -05:00
Barış Soner Uşaklı
f25000cb60 fix: pwd reset test 2020-11-29 22:30:40 -05:00
renovate[bot]
c44d9d2f69 fix(deps): update dependency nodebb-theme-persona to v10.2.93 (#8999)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-29 22:27:23 -05:00
Barış Soner Uşaklı
4c650aeead feat: #8989, convert widget nav to dropdown 2020-11-29 22:23:50 -05:00
Barış Soner Uşaklı
5080f35752 fix: #8991, logout on password reset, dont verify email if password expired
dont allow same password on reset
2020-11-29 21:55:07 -05:00
Barış Soner Uşaklı
8adbf54ae6 fix: don't show topic search if no search privilege 2020-11-29 15:50:34 -05:00
Barış Soner Uşaklı
3cd0c9a476 fix: #8998, allow guests to use write api to post/reply 2020-11-29 15:43:40 -05:00
Barış Soner Uşaklı
5a137a0dd6 fix: guest handles to user displayname as well 2020-11-29 15:38:02 -05:00
Misty (Bot)
f6765ec74d Latest translations and fallbacks 2020-11-29 09:06:02 +00:00
renovate[bot]
346b91eb16 fix(deps): update dependency nodebb-theme-persona to v10.2.92 (#8995)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-28 22:08:34 -05:00
Barış Soner Uşaklı
546f58bf1f fix: timestamp in queue, add post queue strings 2020-11-28 22:03:08 -05:00
Barış Soner Uşaklı
7f5efc3e93 fix: #8992, set email:confirmed for first admin user 2020-11-28 14:43:28 -05:00
Barış Soner Uşaklı
6f21832db7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-28 09:21:42 -05:00
Barış Soner Uşaklı
80f0750bd4 fix: typo in upgrade script, closes #8990 2020-11-28 09:21:33 -05:00
Misty (Bot)
eb5a5b6ac2 Latest translations and fallbacks 2020-11-28 09:06:46 +00:00
renovate[bot]
6c980db1e8 fix(deps): update dependency nodebb-theme-vanilla to v11.3.6 (#8987)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-27 17:13:10 -05:00
renovate[bot]
8258536a0b fix(deps): update dependency nodebb-theme-persona to v10.2.91 (#8986)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-27 17:13:00 -05:00
renovate[bot]
fad2d34266 fix(deps): update dependency autoprefixer to v10.0.4 (#8985)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-27 17:07:54 -05:00
Barış Soner Uşaklı
1269103fbb fix: #8984, post-queue ux 2020-11-27 16:56:18 -05:00
Barış Soner Uşaklı
a369c94c5e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-27 16:37:41 -05:00
Barış Soner Uşaklı
9ab4fb412b fix: order 2020-11-27 16:37:33 -05:00
Barış Soner Uşaklı
d3c04afb98 fix: #8982, copy color on tag rename, dont copy if target exists
refresh page on tag rename
2020-11-27 16:36:23 -05:00
Julian Lam
b596e94826 fix: tests 2020-11-27 16:26:32 -05:00
Barış Soner Uşaklı
77a6dbacc4 fix: api test 2020-11-27 16:15:01 -05:00
Barış Soner Uşaklı
cbbda45102 fix: remove dupe 2020-11-27 16:10:30 -05:00
Barış Soner Uşaklı
3de692cd52 fix: csv test 2020-11-27 16:07:52 -05:00
Barış Soner Uşaklı
700ef1af97 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-27 16:04:59 -05:00
Barış Soner Uşaklı
4afdf8bc27 fix: spec, remove old tests 2020-11-27 16:04:44 -05:00
Julian Lam
acb576662e fix(spec): from 6e6a7a8f8a 2020-11-27 15:51:56 -05:00
Julian Lam
88a60473d9 fix(spec): breaking tests 2020-11-27 15:45:16 -05:00
Barış Soner Uşaklı
6e6a7a8f8a fix: #8969, export csv to file 2020-11-27 15:38:22 -05:00
Julian Lam
007a3258a0 feat: add handler for 501 api response 2020-11-27 15:13:33 -05:00
Julian Lam
1b1205a9ce fix(spec): broken test due to canFlag addition 2020-11-27 13:36:30 -05:00
Renovate Bot
f5714452b1 fix(deps): update dependency nodebb-plugin-markdown to v8.12.2 2020-11-27 12:54:33 -05:00
Barış Soner Uşaklı
88e5cda5b4 fix: spec for /tag 2020-11-27 12:46:12 -05:00
Barış Soner Uşaklı
f4d217d829 fix: #8980, fix lang string 2020-11-27 12:38:43 -05:00
Barış Soner Uşaklı
bf171adc83 fix: #8979 2020-11-27 12:26:45 -05:00
Julian Lam
82ca376012 chore: fallbacks for nodebb.error 2020-11-27 11:58:05 -05:00
Julian Lam
1e7cf1cbc4 fix: #8971, disallow flags of privileged users (mods, gmods, admins) 2020-11-27 11:54:32 -05:00
Barış Soner Uşaklı
dadb2527da fix: #8974, with password login for approval queue 2020-11-27 11:34:14 -05:00
Barış Soner Uşaklı
c77361c8d7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-27 11:17:47 -05:00
Barış Soner Uşaklı
fdca8b16ca fix: #8974, dont show wrong message on register queue
configs don't support booleans
2020-11-27 11:17:28 -05:00
Julian Lam
5b269bc5aa chore: fallbacks for nodebb.topic 2020-11-27 11:05:14 -05:00
Renovate Bot
5664807d18 fix(deps): update dependency nodebb-theme-persona to v10.2.90 2020-11-27 11:02:50 -05:00
Renovate Bot
19fe249334 fix(deps): update dependency nodebb-theme-vanilla to v11.3.5 2020-11-27 11:02:41 -05:00
Renovate Bot
ad60bc0641 fix(deps): update dependency nodebb-theme-persona to v10.2.89 2020-11-27 10:59:54 -05:00
Julian Lam
12b3aa0d8f feat: add translation key for pin icon label with expiry 2020-11-27 10:55:03 -05:00
Barış Soner Uşaklı
cd072c0b74 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-27 10:46:48 -05:00
Barış Soner Uşaklı
5c3deb4b0e fix: #8973, fix timestamp on ban modal 2020-11-27 10:46:25 -05:00
Julian Lam
ad8e770037 feat: add pinExpiry and pinExpiryISO to topic data 2020-11-27 10:38:40 -05:00
Julian Lam
22715d5413 refactor: add TopicObjectSlim common schema 2020-11-27 10:38:40 -05:00
Barış Soner Uşaklı
c8554b78b9 fix: #8968, don't show topic search if search is not enabled 2020-11-27 10:30:33 -05:00
Misty (Bot)
664614bbe3 Latest translations and fallbacks 2020-11-27 09:09:22 +00:00
Barış Soner Uşaklı
4c7374ea33 fix: flicker on tooltips if server call takes long time 2020-11-26 21:37:17 -05:00
Renovate Bot
b2f0d38f5c fix(deps): update dependency autoprefixer to v10.0.3 2020-11-27 00:22:22 +00:00
gasoved
a56a657759 fix: missing select/clear all checkbox added to category privileges template (#8967) 2020-11-26 17:25:26 -05:00
Peter Jaszkowiak
ba3981e270 fix: use package.name for theme.id (#8965)
Prevents cases like #8953
2020-11-26 16:59:23 -05:00
Julian Lam
e1432caf92 feat: add cancel button to pin expiration modal 2020-11-26 15:57:31 -05:00
Julian Lam
15c6f32c93 refactor: pin/lock threadTools to use topicCommand, rewrote topicCommand to match categoryCommand signature 2020-11-26 15:57:31 -05:00
Renovate Bot
6c316be477 fix(deps): update dependency benchpressjs to v2.3.0 2020-11-26 20:40:25 +00:00
Barış Soner Uşaklı
07fe959ce5 chore: remove test code 2020-11-26 13:56:53 -05:00
Barış Soner Uşaklı
b8cafefce2 fix: winston usages 2020-11-26 13:56:34 -05:00
Barış Soner Uşaklı
414caac01b fix: #8957 2020-11-26 12:45:02 -05:00
Barış Soner Uşaklı
7e6427bca7 fix: dont go back after delete account actions 2020-11-26 12:26:03 -05:00
Barış Soner Uşaklı
5ceda14874 Revert "fix: #8955, popstate to purged topic should go to homepage"
This reverts commit 39dae0aaff.
2020-11-26 12:23:41 -05:00
Barış Soner Uşaklı
47a19d6763 fix: error message 2020-11-26 12:22:24 -05:00
Barış Soner Uşaklı
5bb5ec4618 fix: #8954, clear purged replies and toPids (#8959)
* fix: #8954, clear purged replies and toPids

* fix: redis test
2020-11-26 12:04:01 -05:00
Julian Lam
39dae0aaff fix: #8955, popstate to purged topic should go to homepage 2020-11-26 11:25:09 -05:00
Julian Lam
21d6225ce0 fix: 'already-deleting' error on subsequent account content deletions 2020-11-26 11:05:45 -05:00
Misty (Bot)
97c037f0a1 Latest translations and fallbacks 2020-11-26 09:07:31 +00:00
Barış Soner Uşaklı
93863bb3c6 fix: #8949, faster upgrade script 2020-11-26 00:01:59 -05:00
Misty (Bot)
d1ae08fa4a chore: incrementing version number - v1.15.3
(cherry picked from commit c0d406ae68)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-11-26 01:11:08 +00:00
Misty (Bot)
cf157c9bfd chore: update changelog for v1.15.3 2020-11-26 01:11:08 +00:00
Misty (Bot)
7de8b732c0 Latest translations and fallbacks 2020-11-26 01:03:05 +00:00
Barış Soner Uşaklı
720170a9f6 chore: bump persona 2020-11-25 19:57:03 -05:00
renovate[bot]
167ab3a4bc fix(deps): update dependency nodebb-theme-persona to v10.2.87 (#8946)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-25 19:34:41 -05:00
renovate[bot]
5af5cb8517 fix(deps): update dependency nodebb-theme-persona to v10.2.86 (#8945)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-25 18:11:40 -05:00
Barış Soner Uşaklı
6771ca150a fix: add topic uid to infinitescroll 2020-11-25 18:07:40 -05:00
Barış Soner Uşaklı
c037779fa1 feat: add topicOwnerPost #8778 2020-11-25 17:58:44 -05:00
Barış Soner Uşaklı
6a819944d5 chore: remove console.log 2020-11-25 16:54:09 -05:00
Julian Lam
d584516947 fix: #8943, session mismatch modal thrown on login (race condition) 2020-11-25 15:45:03 -05:00
Julian Lam
ac734b8335 fix: #8912 2020-11-25 15:31:49 -05:00
Barış Soner Uşaklı
4f37eddc5e feat: clear reset tokens on user delete 2020-11-25 14:55:25 -05:00
Barış Soner Uşaklı
e32cd31ec6 fix: #8918 2020-11-25 14:33:19 -05:00
Barış Soner Uşaklı
3af4d13fa5 fix: basepath for r.js modules 2020-11-25 12:46:09 -05:00
Barış Soner Uşaklı
db1c140ff9 refactor: remove unused require 2020-11-25 12:32:37 -05:00
gasoved
00e75de736 feat: select/clear all checkboxes in privilege table (#8941) 2020-11-25 12:24:32 -05:00
Barış Soner Uşaklı
61c6a762ad fix: test 2020-11-25 10:49:14 -05:00
Misty (Bot)
0dcc5b2bbf Latest translations and fallbacks 2020-11-25 09:08:39 +00:00
psychobunny
1c0e8c1663 fix: move meta.getServerTime call to admin namespace 2020-11-24 16:30:16 -05:00
Julian Lam
45a4f1361f chore(spec): replace ugly hack with another hack for optional properties 2020-11-24 14:45:47 -05:00
Barış Soner Uşaklı
f20c12ee40 fix: add client side check for userslug #8939 2020-11-24 14:37:54 -05:00
Julian Lam
90434a4668 Revert "fix(spec): always show thumb in topic response"
This reverts commit 493c568a75.
2020-11-24 14:26:47 -05:00
Julian Lam
493c568a75 fix(spec): always show thumb in topic response 2020-11-24 14:19:40 -05:00
Barış Soner Uşaklı
0ca40af834 fix: #8939, fix username change notification getting filtered out 2020-11-24 14:05:32 -05:00
Julian Lam
ae402e213e chore: move topic route schema up two levels as slug and index are optional 2020-11-24 13:48:02 -05:00
Julian Lam
b3b501d789 chore: move category route schema up two levels as slug and index are optional 2020-11-24 13:42:11 -05:00
Julian Lam
906d7d734b refactor: move API banned response handler to separate internal method 2020-11-24 13:28:05 -05:00
Julian Lam
afb26bfe48 feat: show ban reason and expiry in write api responses, if user is banned 2020-11-24 10:26:14 -05:00
Misty (Bot)
aa7a6991ff Latest translations and fallbacks 2020-11-24 09:07:46 +00:00
Renovate Bot
5815260650 fix(deps): update dependency nconf to ^0.11.0 2020-11-24 08:03:51 +00:00
Renovate Bot
db205e2eae chore(deps): update dependency lint-staged to v10.5.2 2020-11-24 06:53:23 +00:00
Renovate Bot
5363ebbb1d fix(deps): update dependency postcss to v8.1.10 2020-11-23 23:50:30 +00:00
Barış Soner Uşaklı
cf903e4e8f fix: #8931, fix lang string 2020-11-23 17:14:57 -05:00
Barış Soner Uşaklı
c62f29f0a1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-23 17:12:42 -05:00
Barış Soner Uşaklı
95a3f03009 fix: #8932, fix client side error when updating username 2020-11-23 17:11:20 -05:00
Julian Lam
eab4ca7104 fix: bug with Topics.resizeAndUploadThumb not checking for extension validity 2020-11-23 17:03:06 -05:00
Barış Soner Uşaklı
2b73a14e42 fix: #8933 2020-11-23 17:01:36 -05:00
Julian Lam
6e5ec3f895 feat: automatically unban users in onSuccessfulLogin
This allows write API (and probably SSO login) to go through unimpeded if a user's ban has expired. Closes nodebb/nodebb-plugin-write-api#126
2020-11-23 16:06:06 -05:00
Barış Soner Uşaklı
77f0bff54f fix: #8929, fix popular, top rss feed urls 2020-11-23 14:36:02 -05:00
Barış Soner Uşaklı
8f4060819f Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-23 14:21:14 -05:00
Julian Lam
5dd3b03125 fix: a derp 2020-11-23 14:18:49 -05:00
Barış Soner Uşaklı
b18e7e319b fix: spec 2020-11-23 14:18:47 -05:00
Julian Lam
4ca62dc45b fix: improper handling of scheme-relative URLs in topic thumb logic 2020-11-23 14:16:04 -05:00
renovate[bot]
abc32d6270 fix(deps): update dependency nodebb-theme-persona to v10.2.85 (#8928)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-23 14:07:57 -05:00
Barış Soner Uşaklı
3f337b5d7c feat: #8925, #8924 2020-11-23 13:58:44 -05:00
Barış Soner Uşaklı
5fa098326f fix: https://github.com/NodeBB/NodeBB/pull/8685
fix category link redirect on cold load
fix helpers.redirect if passed in url is external
fix ajaxify so it doesn't slice first character of external url
2020-11-23 12:25:57 -05:00
Julian Lam
f33a9185ff fix: on OP edit, call helper method to upload and resize thumb 2020-11-23 12:19:26 -05:00
Barış Soner Uşaklı
9ee1fb490e fix: https://github.com/NodeBB/NodeBB/pull/8759 2020-11-23 11:18:42 -05:00
Misty (Bot)
093f984b03 Latest translations and fallbacks 2020-11-23 09:07:59 +00:00
Misty (Bot)
e4d9934155 Latest translations and fallbacks 2020-11-22 09:06:25 +00:00
Barış Soner Uşaklı
c2bb61231e fix: spec 2020-11-21 23:39:52 -05:00
Barış Soner Uşaklı
672d4da078 feat: human readable uptime 2020-11-21 23:34:12 -05:00
Renovate Bot
d1cb5d4813 fix(deps): update dependency postcss to v8.1.9 2020-11-21 20:59:01 +00:00
Misty (Bot)
bc871dc029 Latest translations and fallbacks 2020-11-21 09:06:11 +00:00
Renovate Bot
80404216f6 chore(deps): update dependency eslint to v7.14.0 2020-11-21 01:13:29 +00:00
Barış Soner Uşaklı
0ffc091b6d chore: up persona 2020-11-20 17:43:58 -05:00
Barış Soner Uşaklı
2f2f0ab7ac chore: up persona 2020-11-20 17:28:12 -05:00
Barış Soner Uşaklı
5c9ff18e3c chore: up persona 2020-11-20 17:12:54 -05:00
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Julian Lam
3b1c03ed50 feat: allow ACP API access to bearer tokens
closes nodebb/nodebb-plugin-write-api#132
2020-11-20 15:26:16 -05:00
Julian Lam
98a05e4dde chore: add missing plugin hook deprecation warning 2020-11-20 15:22:49 -05:00
Barış Soner Uşaklı
ef3df47a6d refactor: remove breaking change in pin expiry 2020-11-20 14:05:02 -05:00
Julian Lam
046d0b1637 feat: allow pins to expire (if set) (#8908)
* fix: add back topic assert middleware for pin route

* feat: server-side handling of pin expiries

* refactor: togglePin to not require uid parameter [breaking]

* feat: automatic unpinning if pin has expiration set

* feat: client-side modal for setting pin expiration

* refactor: categories.getPinnedTids to accept multiple cids

... in preparation for pin expiry logic, direct access to *:pinned zsets is discouraged

* fix: remove references to since-removed jobs file for topics

* feat: expire pins when getPinnedTids is called

* refactor: make the togglePin change non-breaking

The 'action:topic.pin' hook now sends uid again, as before. However, if it is a system action (that is, a pin that expired), 'system' will be sent in instead of a valid uid
2020-11-20 11:31:14 -05:00
Misty (Bot)
e5d94d9096 Latest translations and fallbacks 2020-11-20 09:11:36 +00:00
Barış Soner Uşaklı
1be08b2e8b fix: guest displayname 2020-11-19 22:08:03 -05:00
Barış Soner Uşaklı
46eb77011d chore: pin autoprefixer to latest 2020-11-19 20:35:00 -05:00
Barış Soner Uşaklı
46acbfdaf1 fix: show messages after app load 2020-11-19 20:34:26 -05:00
Barış Soner Uşaklı
814771bdc7 fix: restart on js changes in vendor 2020-11-19 20:34:12 -05:00
Barış Soner Uşaklı
6ef7e8675f fix: #8915, fix queue not being cleared after firing click events
if you clicked elements early then on every ajaxify.end the same elements were getting click events @julianlam
2020-11-19 17:23:52 -05:00
Renovate Bot
b47a470b9b fix(deps): update dependency postcss to v8.1.8 2020-11-19 17:45:57 +00:00
Julian Lam
00aee84bf7 refactor: use categoryCommand local method for pin/lock in category tools (#8917)
* refactor: use categoryCommand local method for main actions in category tools

* fix: wrong command passed in
2020-11-19 11:51:44 -05:00
Misty (Bot)
28fa03bd7e chore: incrementing version number - v1.15.3-beta.0 2020-11-19 16:00:49 +00:00
Barış Soner Uşaklı
81984285bb chore: up persona 2020-11-19 10:36:47 -05:00
Barış Soner Uşaklı
8fb9117430 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-19 10:35:35 -05:00
Barış Soner Uşaklı
5f2fe883ca chore: up slick 2020-11-19 10:31:28 -05:00
renovate[bot]
589f7a567c fix(deps): update dependency nodebb-theme-vanilla to v11.3.4 (#8914)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-19 10:27:29 -05:00
renovate[bot]
38127b04b5 fix(deps): update dependency nodebb-theme-persona to v10.2.80 (#8913)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-19 10:27:16 -05:00
Barış Soner Uşaklı
dbd814c25f fix: spec, only call modifyUser on unique user objects 2020-11-19 10:23:19 -05:00
Barış Soner Uşaklı
903e9d82b8 feat: #8637 2020-11-19 09:52:16 -05:00
Tudor-Dan Ravoiu
39279a1e54 Run grunt with debugger enabled (#8911)
* Run grunt with debugger enabled

When forking a node.js thread we are also having the possibility to pass some node.js arguments, such as "--inspect=0.0.0.0". By providing this, we are adding the capability of doing live debugging even when the system is started with grunt.

* removed whitespace

* Update Gruntfile.js
2020-11-19 09:48:13 -05:00
Misty (Bot)
f7f119d5cc Latest translations and fallbacks 2020-11-19 09:09:21 +00:00
Barış Soner Uşaklı
ae5d4405c0 fix: setting 2020-11-19 01:14:13 -05:00
renovate[bot]
8e1b2458c2 fix(deps): update dependency nodebb-theme-persona to v10.2.79 (#8907)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-19 01:04:40 -05:00
Barış Soner Uşaklı
9ca44e6f54 feat: add displayname into user obj #8637 (#8909)
* feat: add displayname into user obj #8637

* fix: spec

* perf: dont load settings if acp setting is turned off
2020-11-19 00:52:19 -05:00
Barış Soner Uşaklı
8d060065a0 fix: spec 2020-11-18 23:24:51 -05:00
Barış Soner Uşaklı
e9585b9be2 fix: group userTitles translation escapes 2020-11-18 23:07:38 -05:00
Barış Soner Uşaklı
965671a97b fix: remove params from error log 2020-11-18 21:50:47 -05:00
Renovate Bot
b98561792a fix(deps): update dependency nodebb-theme-persona to v10.2.75 2020-11-18 21:20:43 +00:00
Misty (Bot)
5867a5b99f chore: incrementing version number - v1.15.2
(cherry picked from commit ce5c0ee6e7)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-11-18 19:42:38 +00:00
Misty (Bot)
37965d4528 chore: update changelog for v1.15.2 2020-11-18 19:42:38 +00:00
Barış Soner Uşaklı
fa4177c3bc fix: #6407, fix feeds
display latest posts instead of oldest in topic rss feed
fix missing await that was causing rss_tokens to not function
fix feed test
more tests for getTopicWithPosts
2020-11-18 14:25:39 -05:00
Misty (Bot)
8de48c3935 Latest translations and fallbacks 2020-11-18 09:15:10 +00:00
Barış Soner Uşaklı
4e9b10ab76 feat: #5274 2020-11-17 22:42:08 -05:00
Barış Soner Uşaklı
fb567a7a33 feat: #4456 2020-11-17 22:11:39 -05:00
renovate[bot]
5f6137f0e6 fix(deps): update dependency nodebb-theme-persona to v10.2.74 (#8905)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-17 21:31:12 -05:00
Barış Soner Uşaklı
a6afcfd531 feat: #8475, allow flagging self posts
dont count flags towards self posts
dont allow flagging your own account
2020-11-17 21:28:32 -05:00
Barış Soner Uşaklı
62b62821c1 fix: navigation highlight
/top was getting hightlighted in navigation if you went into a /topic
2020-11-17 21:20:20 -05:00
renovate[bot]
c2019b7b3a fix(deps): update dependency nodebb-theme-persona to v10.2.73 (#8904)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-17 20:57:03 -05:00
renovate[bot]
b7b1f2035b fix(deps): update dependency nodebb-plugin-composer-default to v6.4.7 (#8902)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-17 19:34:11 -05:00
renovate[bot]
bee8cfe4e0 fix(deps): update dependency nodebb-theme-persona to v10.2.72 (#8903)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-17 19:34:00 -05:00
Barış Soner Uşaklı
a87ccccc9c fix: benchpress warnings 2020-11-17 18:46:25 -05:00
Barış Soner Uşaklı
dfdc0c420c fix: benchpress warnings 2020-11-17 18:27:52 -05:00
Julian Lam
a0b7a82350 feat(api): account deletion routes for the Write API (#8881)
* feat(api): account deletion routes for the Write API

* refactor: rewrite client-side calls to account deletion to use api

* style: apply DRY
2020-11-17 17:29:50 -05:00
Renovate Bot
422aa7f0b6 fix(deps): update dependency nodebb-theme-vanilla to v11.3.3 2020-11-17 21:49:58 +00:00
Renovate Bot
3b6e71d5eb fix(deps): update dependency nodebb-theme-persona to v10.2.71 2020-11-17 20:30:43 +00:00
Barış Soner Uşaklı
9e154f1c9d Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-17 14:47:48 -05:00
Barış Soner Uşaklı
120999bf63 feat: #7550, show message if post is queued when js is disabled 2020-11-17 14:47:06 -05:00
Renovate Bot
d6dd1cb6f6 fix(deps): update dependency nodebb-theme-persona to v10.2.70 2020-11-17 19:45:17 +00:00
Barış Soner Uşaklı
35f932cd64 feat: #8171, add oldCategory if topic is moved 2020-11-17 13:56:04 -05:00
Barış Soner Uşaklı
b44ddecdf8 feat: #8204, separate notification type for group chats 2020-11-17 12:52:02 -05:00
Opliko
6e43086558 resolve #8444 - Allow nested objects in translations (#8793)
* feat: #8444 Allow nested objects in translations

* feat: #8444 Allow nested objects in translations

* style: don't change formatting

* fix: don't use the first string match if key isn't finished

* feat: #8444 Allow nested objects in translations

* feat: #8444 Allow nested objects in translations

* style: don't change formatting

* fix: don't use the first string match if key isn't finished

* feat: add nested translations test
2020-11-17 10:06:49 -05:00
Misty (Bot)
fbdde03217 Latest translations and fallbacks 2020-11-17 09:08:29 +00:00
Renovate Bot
2ce1fcd336 fix(deps): update dependency nodebb-theme-slick to v1.3.2 2020-11-17 06:33:19 +00:00
Renovate Bot
9f2d0d42be fix(deps): update dependency nodebb-theme-vanilla to v11.3.2 2020-11-17 05:54:49 +00:00
Renovate Bot
1581064362 fix(deps): update dependency nodebb-theme-persona to v10.2.69 2020-11-17 04:33:09 +00:00
Barış Soner Uşaklı
7928036a1b feat: add test for custom translations 2020-11-16 21:50:06 -05:00
Barış Soner Uşaklı
1d6bcbebde feat: https://github.com/NodeBB/NodeBB/issues/8147 2020-11-16 21:31:55 -05:00
Renovate Bot
84d545775e fix(deps): update dependency sharp to v0.26.3 2020-11-17 00:46:13 +00:00
Julian Lam
e1d7c4d8aa fix: internal helper method hasGlobalPrivilege, DRY 2020-11-16 15:42:39 -05:00
Julian Lam
d83eb7f89e refactor: client-side handlers for user invitations
DRY
2020-11-16 15:19:20 -05:00
gasoved
3ccebf112e feat: invites regardless of registration type, invite privilege, groups to join on acceptance (#8786)
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

* refactor: use GET /api/v3/users/:uid/invites/groups

Instead of GET /api/v3/users/:uid/inviteGroups

* fix: no need for /api/v3 prefix when using api module

* fix: tests

* refactor: change POST /api/v3/users/invite

To POST /api/v3/users/:uid/invites

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

* fix: move invite groups controller to write api, +tests

* fix: tests

Co-authored-by: Julian Lam <julian@nodebb.org>
2020-11-16 14:47:23 -05:00
Renovate Bot
dde9f1890f fix(deps): update dependency nodebb-plugin-mentions to v2.13.5 2020-11-16 19:32:46 +00:00
Peter Jaszkowiak
d30ea25629 feat(deps): benchpressjs@2.2.1 (#8887)
Better warnings, faster template compiles
2020-11-16 11:55:24 -05:00
Renovate Bot
b63b7ae5d7 fix(deps): update dependency json2csv to v5.0.5 2020-11-16 16:16:35 +00:00
Misty (Bot)
20c05e80e4 chore: incrementing version number - v1.15.2-beta.1 2020-11-16 15:21:11 +00:00
Julian Lam
0a0b4661be chore: remove debug log 2020-11-16 10:19:23 -05:00
Tudor-Dan Ravoiu
452d7f2b17 Create verified/unverified user groups (#8889)
Co-authored-by: Tudor-Dan Ravoiu <tudor-dan.ravoiu@ubisoft.com>
2020-11-16 10:10:28 -05:00
Misty (Bot)
996174a187 chore: incrementing version number - v1.15.2-beta.0 2020-11-16 14:49:07 +00:00
Renovate Bot
d1e804aa61 fix(deps): update dependency benchpressjs to v2.2.2 2020-11-16 11:42:47 +00:00
Misty (Bot)
ce9cf2a545 Latest translations and fallbacks 2020-11-16 09:11:10 +00:00
Barış Soner Uşaklı
2f4653a3cc fix: spec 2020-11-15 16:50:24 -05:00
Barış Soner Uşaklı
e4d2764d4c fix: #8884, remove header/footer cache 2020-11-15 16:43:06 -05:00
Barış Soner Uşaklı
9dac9630df fix: check tid in event handlers client side 2020-11-15 10:36:30 -05:00
Misty (Bot)
03329408b7 Latest translations and fallbacks 2020-11-15 09:06:46 +00:00
Barış Soner Uşaklı
5598130a92 refactor: async/await controllers/index.js 2020-11-14 20:18:47 -05:00
Barış Soner Uşaklı
f14e42d8bc fix: #8883 2020-11-14 19:56:01 -05:00
Barış Soner Uşaklı
29c2ca94f4 feat: add nodejs version to issue template 2020-11-14 13:14:34 -05:00
Misty (Bot)
7693ab90e2 Latest translations and fallbacks 2020-11-14 09:05:55 +00:00
renovate[bot]
85aaededae fix(deps): update dependency nodebb-theme-vanilla to v11.3.1 (#8878)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Barış Soner Uşaklı <baris@nodebb.org>
2020-11-13 16:31:17 -05:00
Renovate Bot
bbfb276a83 fix(deps): update dependency nodebb-theme-slick to v1.3.1 2020-11-13 21:22:43 +00:00
Renovate Bot
ec70329aed fix(deps): update dependency nodebb-theme-persona to v10.2.68 2020-11-13 20:30:36 +00:00
Barış Soner Uşaklı
8fbe832460 refactor: less dupe code 2020-11-13 14:42:44 -05:00
Julian Lam
fdab76f822 fix: #8872 missing admin/menu language key+fallback 2020-11-13 14:32:35 -05:00
Julian Lam
8518404e22 feat: allow groups to specify which cids to show member posts from (#8875)
* feat: allow groups to specify which cids to show member posts from

* docs: fix tests for openapi

* fix: test breakage caused by improper conditional

* feat: server-side checking of memberPostCids for validity

* feat: admin panel template update to select categories to include

* refactor: privilege helpers.isUserAllowedTo

... to helpers.isAllowedTo, allowing group names to be passed in
2020-11-13 14:15:37 -05:00
renovate[bot]
45922faebc fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.6 (#8877)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-13 14:02:18 -05:00
renovate[bot]
48e8252099 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.5 (#8876)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-13 13:13:24 -05:00
renovate[bot]
eab27f237f fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.4 (#8874)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-13 11:34:14 -05:00
Renovate Bot
5f5f0edb81 chore(deps): update dependency smtp-server to v3.8.0 2020-11-13 14:00:25 +00:00
Misty (Bot)
daf2e73c29 Latest translations and fallbacks 2020-11-13 09:08:52 +00:00
Barış Soner Uşaklı
51b7eca119 fix: run every hour, dont show message if average_time is 0 2020-11-12 22:23:50 -05:00
Opliko
04f4429f72 Resolve #7514 - optional timer for registration queue (#8796)
* feat: #7514 Optional timer for registration queue

* feat: show minutes in average time

* fix: don't show total number of minutes

* feat: implement requested changes

* fix: just store minutes instead of milliseconds

* feat: set default values
2020-11-12 22:23:07 -05:00
Julian Lam
b3e00489c8 fix: add back test timeout for exports 2020-11-12 15:57:36 -05:00
Julian Lam
bcccb331db docs: openapi schema for user/group exist check, session deletion 2020-11-12 15:53:15 -05:00
Julian Lam
97842c43d3 test: new api test to ensure each path's parameters are defined in context 2020-11-12 15:52:33 -05:00
Julian Lam
319cfeaa1c test: updated test name to be more specific 2020-11-12 14:32:49 -05:00
Julian Lam
dc9668e417 fix: pass length to messaging checkContent hook 2020-11-11 19:53:59 -05:00
Misty (Bot)
a2468b84b4 chore: incrementing version number - v1.15.1
(cherry picked from commit 2790a3a3fe)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-11-11 22:51:06 +00:00
Misty (Bot)
efb7d688f0 chore: update changelog for v1.15.1 2020-11-11 22:51:06 +00:00
Barış Soner Uşaklı
dc6e27730a Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-11 12:48:32 -05:00
Barış Soner Uşaklı
567c5f2056 fix: #8869, dont escape category title,description twice 2020-11-11 12:48:22 -05:00
Renovate Bot
1460a7a84d fix(deps): update dependency nodebb-plugin-mentions to v2.13.4 2020-11-11 15:52:59 +00:00
Julian Lam
769aba0aed fix: refresh flags list on bulk action success 2020-11-11 10:15:49 -05:00
Renovate Bot
72d1b3cdca fix(deps): update dependency diff to v5 2020-11-10 14:43:20 -05:00
Julian Lam
ee4d90f68f fix: test breakage from f300c933a5 2020-11-10 14:39:57 -05:00
Julian Lam
f300c933a5 refactor: move session revocation route to write api 2020-11-10 14:27:38 -05:00
renovate[bot]
e250c3f1fb fix(deps): update dependency nodebb-theme-persona to v10.2.67 (#8847)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-10 13:18:52 -05:00
renovate[bot]
ba7b23ac48 fix(deps): update dependency json2csv to v5.0.4 (#8865)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-10 13:15:10 -05:00
renovate[bot]
2946bb1679 fix(deps): update dependency postcss to v8.1.7 (#8866)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-10 13:14:25 -05:00
Barış Soner Uşaklı
9c5c32d4a5 feat: #8864, add action:events.log 2020-11-10 11:29:15 -05:00
renovate[bot]
20f4fe085f fix(deps): update dependency nodebb-theme-slick to v1.2.40 (#8863)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-10 11:10:11 -05:00
renovate[bot]
c18f449190 fix(deps): update dependency nodebb-plugin-mentions to v2.13.3 (#8862)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-10 10:50:21 -05:00
Misty (Bot)
e033da8a04 chore: incrementing version number - v1.15.1-beta.0 2020-11-10 14:16:12 +00:00
Barış Soner Uşaklı
62c0454cfe feat: show db info side by side 2020-11-09 13:27:40 -05:00
Misty (Bot)
0b57ec19ce Latest translations and fallbacks 2020-11-09 09:08:52 +00:00
Barış Soner Uşaklı
9f7902efdf fix: remove some unnecessary jquery wrappers 2020-11-08 20:26:43 -05:00
Barış Soner Uşaklı
978f1ee04f fix: send back jquery object to keep backwards compat 2020-11-08 20:02:27 -05:00
Barış Soner Uşaklı
a0164b1c38 fix: use header/footer cache in prod 2020-11-08 19:46:36 -05:00
Barış Soner Uşaklı
05a92885f2 fix: add missing maxAge to cache 2020-11-08 08:35:40 -05:00
Peter Jaszkowiak
e128264b66 refactor: change Benchpress.parse to .render (#8856)
It has been deprecated with no warning message for a while
Changing these over before enabling the warning message to reduce spam
2020-11-08 08:17:49 -05:00
Renovate Bot
14ba638345 fix(deps): update dependency benchpressjs to v2.1.0 2020-11-08 10:11:34 +00:00
Misty (Bot)
e6b9e8ddee Latest translations and fallbacks 2020-11-08 09:05:59 +00:00
Renovate Bot
381a32abe6 fix(deps): update dependency benchpressjs to v2.0.9 2020-11-08 05:30:12 +00:00
Barış Soner Uşaklı
3f5f38dd89 fix: clear header-cache after each suite 2020-11-07 22:57:03 -05:00
Barış Soner Uşaklı
255cf43ea9 fix: show msg on fail 2020-11-07 22:40:34 -05:00
Barış Soner Uşaklı
fe63c6aef3 fix: spec 2020-11-07 22:21:04 -05:00
Barış Soner Uşaklı
2e44639210 fix: guest header/footer cache
allow clearing individual caches
2020-11-07 22:06:25 -05:00
Tobias Dossinger
1ce983ccb9 add public/language/de/admin/menu.json & public/language/de/admin/settings/api.json (#8842)
Co-authored-by: Tobias Dossinger <tobiasdossinger@Jans-MBP-3.localdomain>
Co-authored-by: Julian Lam <julian@nodebb.org>
2020-11-07 17:25:08 -05:00
Julian Lam
8368c25b1d chore: fallback l10n for admin-settings-api 2020-11-07 17:05:03 -05:00
Julian Lam
d32e4e0213 feat: add language keys for admin-settings-api 2020-11-07 17:05:03 -05:00
Misty (Bot)
e81e88f3e9 Latest translations and fallbacks 2020-11-07 09:06:12 +00:00
Barış Soner Uşaklı
f1f9b225b0 feat: #8824, cache refactor (#8851)
* feat: #8824, cache refactor

ability to disable caches
ability to download contents of cache
refactor cache modules to remove duplicated code

* fix: remove duplicate hit/miss tracking

check cacheEnabled in getUncachedKeys
2020-11-06 23:13:12 -05:00
Renovate Bot
bcbc085497 chore(deps): update dependency eslint to v7.13.0 2020-11-07 03:40:16 +00:00
Renovate Bot
d227fe9fb6 chore(deps): update dependency eslint-config-airbnb-base to v14.2.1 2020-11-07 00:19:18 +00:00
Barış Soner Uşaklı
6255874e32 feat: move mkdirp to beforeBuild so it doesnt get called twice 2020-11-06 13:44:29 -05:00
Barış Soner Uşaklı
74951f5967 fix: #8846, possible fix 2020-11-06 12:46:27 -05:00
Barış Soner Uşaklı
0b30efba31 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-06 12:30:15 -05:00
Barış Soner Uşaklı
16d03975a0 fix: winston error message 2020-11-06 12:24:50 -05:00
Julian Lam
d263192271 feat: group exists API call in write api 2020-11-06 12:18:42 -05:00
Julian Lam
1446cec77f feat: user exist route in write api 2020-11-06 11:55:04 -05:00
Julian Lam
6b196a207f fix: permanent redirect on user api redirect shorthand 2020-11-06 11:54:46 -05:00
Julian Lam
f2bb42c076 fix: user exist route needs no authentication 2020-11-06 11:53:56 -05:00
Julian Lam
60e1e99b4f feat: new shorthand route /api/v3/users/bySlug/:userslug
closes #8844
2020-11-06 11:37:21 -05:00
renovate[bot]
7e273e7710 fix(deps): update dependency mongodb to v3.6.3 (#8841)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-06 10:25:49 -05:00
Renovate Bot
90bcfa6d16 chore(deps): update commitlint monorepo to v11 2020-11-06 09:21:48 -05:00
Julian Lam
512f6de6de feat: allow passwords with length > 73 characters (#8818)
* feat: allow passwords longer than 73 characters

Context: A bcrypt/blowfish limitation means that password length is capped at 72 characters. We can get around this without compromising on security
by hashing all incoming passwords with SHA512, and then sending that to bcrypt.

https://dropbox.tech/security/how-dropbox-securely-stores-your-passwords

* feat: add additional test for passwords > 73 chars

* fix: remove 'password-too-long' error message and all invocations

* test: added test to show that a super long password won't bring down NodeBB

* fix: remove debug log

* Revert "fix: remove 'password-too-long' error message and all invocations"

This reverts commit 1e312bf7ef.

* fix: added back password length checks, but at 512 chars

As processing a large string still uses a lot of memory
2020-11-06 08:40:00 -05:00
Misty (Bot)
113d3324fb Latest translations and fallbacks 2020-11-06 09:08:06 +00:00
Barış Soner Uşaklı
c61dee4b62 fix: #8840, don't crash if /compose route is called with no query params 2020-11-05 21:01:19 -05:00
Barış Soner Uşaklı
9e3eb5d41a feat: #8821, allow guest topic views 2020-11-05 20:52:43 -05:00
Julian Lam
f68bce86a9 fix: XSS in event:banned messaging modal 2020-11-05 19:18:17 -05:00
renovate[bot]
00f90cd98c fix(deps): update dependency nodebb-theme-persona to v10.2.66 (#8839)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-05 16:50:41 -05:00
Barış Soner Uşaklı
78ee83324c fix: #8838, fix chat dropdown timestamps
use shorthand like notification dropdown
2020-11-05 16:46:17 -05:00
Barış Soner Uşaklı
76cd5b0fc1 fix: #8836, truncate fullname 2020-11-05 16:25:55 -05:00
renovate[bot]
064c99cd9f fix(deps): update dependency nodebb-plugin-mentions to v2.13.2 (#8835)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-05 14:35:40 -05:00
Renovate Bot
e0cf9740d1 fix(deps): update dependency postcss to v8.1.6 2020-11-05 19:25:03 +00:00
Peter Jaszkowiak
de5a21f19b fix(#8828): web install templates now compiled (#8832) 2020-11-05 12:05:31 -05:00
renovate[bot]
40eb658bc1 fix(deps): update dependency @nodebb/socket.io-adapter-mongo to v3.1.1 (#8831)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-05 11:58:40 -05:00
psychobunny
eec630f1ef fix(acp): max-height for plugin menu list 2020-11-05 11:44:23 -05:00
renovate[bot]
7b8a5567c7 fix(deps): update dependency @nodebb/mubsub to v1.7.1 (#8830)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-05 11:40:54 -05:00
Renovate Bot
9f5ef9d0cb fix(deps): update dependency postcss to v8.1.5 2020-11-05 16:31:13 +00:00
Julian Lam
891a1ea2af fix: #8827, do not require admin:users privilege to ban users 2020-11-05 10:22:07 -05:00
Julian Lam
540a32cfdd chore: changing log to remove pre-release changelogs from changelog
... changelog
2020-11-04 15:56:45 -05:00
Misty (Bot)
a30aa5629c chore: incrementing version number - v1.15.0
(cherry picked from commit 71cdbbce0d1118c9631e77d1adeb5af519a2c3fa)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-11-04 20:50:38 +00:00
Misty (Bot)
155f74e45e chore: update changelog for v1.15.0 2020-11-04 20:50:38 +00:00
Julian Lam
1afd215050 feat: add back error handling for a number of api calls 2020-11-04 14:11:54 -05:00
Renovate Bot
b44c7e9658 fix(deps): update dependency nodebb-plugin-composer-default to v6.4.6 2020-11-04 13:48:24 -05:00
Renovate Bot
f06d4878c0 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.3 2020-11-04 18:34:00 +00:00
Barış Soner Uşaklı
4b63f9937c fix: check is banned in buildHeader
remove unused banReason
remove generateHeader function
2020-11-04 13:23:10 -05:00
Misty (Bot)
69f4d5ac7d chore: update changelog for v1.15.0-rc.5 2020-11-04 16:22:37 +00:00
Misty (Bot)
4bd2788ba3 chore: incrementing version number - v1.15.0-rc.5 2020-11-04 16:22:37 +00:00
Barış Soner Uşaklı
a338f52780 feat: #8823, remove hardcoded write concern 2020-11-04 11:10:23 -05:00
Barış Soner Uşaklı
518d4fa170 fix: undefined call 2020-11-04 08:57:19 -05:00
Renovate Bot
0d80190f79 fix(deps): update dependency nodebb-theme-vanilla to v11.3.0 2020-11-04 13:53:29 +00:00
Barış Soner Uşaklı
08ff4041aa fix: missing await 2020-11-03 17:13:05 -05:00
Barış Soner Uşaklı
5a2b14b751 fix: client side crash when creating groups 2020-11-03 16:54:44 -05:00
psychobunny
d40779a4ba feat(acp): autocomplete user search for welcome notifications 2020-11-03 14:10:39 -05:00
Barış Soner Uşaklı
f6623622be Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-11-03 11:17:32 -05:00
Barış Soner Uşaklı
715775a707 feat: #8817, add login clientside hooks
same as logout
2020-11-03 11:17:25 -05:00
Julian Lam
c0f699e655 fix: disallow registration attempts with password length > 4096
This is a stopgap measure for v1.15.0
2020-11-03 09:54:04 -05:00
Renovate Bot
35e725d17c chore(deps): update dependency mocha to v8.2.1 2020-11-03 14:37:17 +00:00
Julian Lam
e66c1f4017 Revert "fix(deps): update dependency textcomplete to ^0.18.0"
This reverts commit 8fe954997c.
2020-11-03 08:35:13 -05:00
Renovate Bot
df5d66e5fe fix(deps): update dependency textcomplete to ^0.18.0 2020-11-03 13:32:15 +00:00
Renovate Bot
2fa78e4384 chore(deps): update dependency lint-staged to v10.5.1 2020-11-03 12:52:18 +00:00
Barış Soner Uşaklı
b6d8687837 chore: add info log into tests 2020-11-02 20:34:12 -05:00
Barış Soner Uşaklı
4818ec377e fix: missing await 2020-11-02 15:13:22 -05:00
Julian Lam
1c8b8ce14a chore: update renovate config to automatically merge non-major version bumps #yolo 2020-11-02 14:45:25 -05:00
Misty (Bot)
1688294165 chore: update changelog for v1.15.0-rc.4 2020-11-02 19:42:54 +00:00
Misty (Bot)
57b4932074 chore: incrementing version number - v1.15.0-rc.4 2020-11-02 19:42:53 +00:00
Peter Jaszkowiak
eddf4a4f33 feat: use github actions for ci (#8811)
- test using minimum supported db versions
- ESLint will make review comments on PRs
- formatted configs
2020-11-02 13:12:29 -05:00
Peter Jaszkowiak
a3fa313298 Github actions lint demo (#8812)
* feat: use github actions for ci

- test using minimum supported db versions
- ESLint will make review comments on PRs
- formatted configs

* mess up eslint

* fix: lint maybe

Co-authored-by: Barış Soner Uşaklı <baris@nodebb.org>
2020-11-02 12:59:16 -05:00
Barış Soner Uşaklı
6e85920cb6 feat: allow mods/admins to see deleted posts on user profile 2020-11-02 12:03:21 -05:00
Misty (Bot)
841cbcc3e3 Latest translations and fallbacks 2020-11-01 09:05:53 +00:00
Julian Lam
87bff6cd65 fix: broken test 2020-10-30 17:17:31 -04:00
Renovate Bot
0c7d58605e fix(deps): update dependency nodebb-theme-persona to v10.2.65 2020-10-30 16:10:45 -04:00
Julian Lam
a53d49a2b0 fix: updated commitlint config to allow longer subjects, because nobody anywhere uses an email client that limits subject lines to 72 characters 2020-10-30 14:12:07 -04:00
Julian Lam
dda5d42610 fix: restore old behaviour of empty json w/ 401 code in admin middleware 2020-10-30 14:07:47 -04:00
Julian Lam
15e0731dd9 fix: deprecate middleware.isAdmin
Also, handle admin logout timer in middleware.admin.checkPrivileges
2020-10-30 12:30:58 -04:00
Julian Lam
4439864ce0 fix: post editing not taking plugin hook results into account 2020-10-30 10:05:26 -04:00
Misty (Bot)
2738041b38 chore: update changelog for v1.15.0-rc.3 2020-10-30 03:46:16 +00:00
Misty (Bot)
6de7760a1d chore: incrementing version number - v1.15.0-rc.3 2020-10-30 03:46:16 +00:00
Barış Soner Uşaklı
a02ae6f5df refactor: simpler check in user.blocks.filter 2020-10-29 22:33:28 -04:00
Barış Soner Uşaklı
27016d221c feat: rearrange buttons on manage/users 2020-10-29 13:39:08 -04:00
Julian Lam
57ed6be78b fix: #8805 define our own name for write API v3 2020-10-29 12:51:36 -04:00
Julian Lam
a08fb8e53b fix: removed superfluous assignment 2020-10-29 12:33:12 -04:00
Julian Lam
0b6ef61e40 fix: createNewPosts to build tpl with ajaxify.data
If the post template contains references to items outside of the scope of the post, then when the post is loaded via IS, the expected values are empty.

This was due to createNewPosts calling app.parseAndTranslate with a subset of the page payload. This works fine in Persona (and most other themes)
because they do not refer to properties outside of the post object, but it may be helpful to include the rest of the ajaxify data as well.
2020-10-29 12:29:29 -04:00
Julian Lam
266d7587b2 refactor: remove usage of middlewares
Specifically, middleware.isAdmin|exposePrivilegeSet|exposePrivileges
2020-10-29 07:56:28 -04:00
Julian Lam
bff53de03f fix: handle ACP category enable/disable states after call success 2020-10-29 07:16:41 -04:00
Julian Lam
a6a52430ce fix: remove setCategorySort and setTopicSort 2020-10-28 17:21:54 -04:00
Julian Lam
aa8faf58a0 refactor: remove /users/{uid}/settings/{setting} route
@baris Also, I am now allowing the following properties to be saved in User.saveSettings:
- categoryTopicSort
- topicPostSort
- setCategorySort
- setTopicSort
2020-10-28 17:21:54 -04:00
Barış Soner Uşaklı
e0b6781776 chore: bump persona 2020-10-28 16:52:46 -04:00
Barış Soner Uşaklı
9082062e90 fix: sort setting not using correct field name 2020-10-28 16:05:40 -04:00
renovate[bot]
c4431294a5 fix(deps): update dependency jsesc to v3.0.2 (#8802)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 12:30:48 -04:00
Julian Lam
2d29e603bd fix: update readme to include psql 2020-10-28 07:51:17 -04:00
Renovate Bot
7d0d0005ff fix(deps): update dependency nodebb-plugin-composer-default to v6.4.5 2020-10-28 07:37:33 -04:00
Misty (Bot)
2baccd3ce2 Latest translations and fallbacks 2020-10-28 09:10:35 +00:00
renovate[bot]
224502d8c3 chore(deps): update dependency eslint to v7.12.1 (#8799)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 00:21:01 -04:00
renovate[bot]
1f2eca6a52 chore(deps): update dependency lint-staged to v10.5.0 (#8797)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 00:20:46 -04:00
Barış Soner Uşaklı
6ac73ccb7e feat: #8801, disable express compression by default 2020-10-27 21:40:21 -04:00
Julian Lam
cc1c722092 fix: breaking test from 0db0231cff
Also lowered export timeout to 5s
2020-10-27 20:37:23 -04:00
Julian Lam
04185d94c1 fix: indentation 2020-10-27 20:37:23 -04:00
Julian Lam
8e7914ff72 fix: add back derpy 20 second sleep 2020-10-27 20:37:23 -04:00
Julian Lam
14e5c24ec5 fix(openapi): final fixes to schemas 2020-10-27 20:37:23 -04:00
Julian Lam
b2e9e3e048 fix(writeapi): more tweaks to schema files 2020-10-27 20:37:23 -04:00
Julian Lam
9f9e3c1582 fix(writeapi): fix components, + tag object schema 2020-10-27 20:37:23 -04:00
Julian Lam
3ebb3a3479 fix: missing method in test error output 2020-10-27 20:37:23 -04:00
Julian Lam
3c98cd3d95 fix: topic object in post editing data return 2020-10-27 20:37:23 -04:00
Julian Lam
a4f3270fc5 fix(writeapi): missing files for tests 2020-10-27 20:37:23 -04:00
Julian Lam
1392d064a1 fix(writeapi): normalizing data 2020-10-27 20:37:23 -04:00
Julian Lam
b092f65d95 fix(writeapi): tests 2020-10-27 20:37:23 -04:00
Julian Lam
ec03af7a38 feat: allow passing subset of user settings on update route 2020-10-27 20:37:23 -04:00
Julian Lam
618e098305 fix: bug where token generation route would fail on null case 2020-10-27 20:37:23 -04:00
Julian Lam
843aff582d refactor: api test suite to accept methods other than GET 2020-10-27 20:37:23 -04:00
Julian Lam
93f65f89e7 fix(writeapi): added examples to all parameter objects in schema 2020-10-27 20:37:23 -04:00
Julian Lam
b156b8b573 feat: wip, write api tests framework
re-using read api tests if possible
2020-10-27 20:37:23 -04:00
Renovate Bot
b3ca7de016 fix(deps): update dependency nodebb-theme-persona to v10.2.63 2020-10-27 17:27:53 -04:00
Barış Soner Uşaklı
a512d99472 refactor: remove unnecessary wrapper 2020-10-27 14:51:49 -04:00
Barış Soner Uşaklı
f0131e72ae Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-27 11:02:16 -04:00
Barış Soner Uşaklı
2e9f27d8ff fix: typo 2020-10-27 10:59:08 -04:00
Misty (Bot)
c3a7ab54dc chore: update changelog for v1.15.0-rc.2 2020-10-27 13:41:06 +00:00
Misty (Bot)
7c084134c7 chore: incrementing version number - v1.15.0-rc.2 2020-10-27 13:41:05 +00:00
Misty (Bot)
5605a0d1b7 Latest translations and fallbacks 2020-10-27 09:08:02 +00:00
renovate[bot]
12c590ad56 fix(deps): update dependency nodebb-theme-persona to v10.2.62 (#8798)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-26 22:00:31 -04:00
Barış Soner Uşaklı
93bdfe2f10 perf: reorder async calls 2020-10-26 21:09:51 -04:00
Barış Soner Uşaklı
88a07e69b5 feat: add filter:category.getFields 2020-10-26 15:14:54 -04:00
renovate[bot]
3108f628b6 chore(deps): update dependency eslint to v7.12.0 (#8791)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-26 12:50:26 -04:00
renovate[bot]
8353857b3b fix(deps): update dependency nodebb-plugin-mentions to v2.13.1 (#8790)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-26 12:49:55 -04:00
Misty (Bot)
4f49b3da8c chore: update changelog for v1.15.0-rc.1 2020-10-26 15:45:21 +00:00
Misty (Bot)
943424b539 chore: incrementing version number - v1.15.0-rc.1 2020-10-26 15:45:21 +00: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
Misty (Bot)
822c13f199 Latest translations and fallbacks 2020-10-26 09:08:20 +00:00
Misty (Bot)
89a1f481e0 Latest translations and fallbacks 2020-10-25 09:06:02 +00:00
renovate[bot]
9de8497dad fix(deps): update dependency nodebb-theme-persona to v10.2.61 (#8794)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-24 23:32:34 -04:00
Barış Soner Uşaklı
0db0231cff feat: move postercount to topic hash 2020-10-24 21:14:52 -04:00
Barış Soner Uşaklı
203db47b30 fix: return early for guests/spiders 2020-10-24 01:49:22 -04:00
Barış Soner Uşaklı
156e1396f2 fix: #8789,cache meta.settings 2020-10-23 14:20:47 -04:00
Barış Soner Uşaklı
7a3183520f fix: spec 2020-10-22 19:51:25 -04:00
Barış Soner Uşaklı
a7b6d0dfe5 feat: add free and total mem usage to info 2020-10-22 17:46:12 -04:00
Julian Lam
63e07c9433 fix: tests 2020-10-22 14:43:29 -04:00
Julian Lam
c26f2b6599 feat(writeapi): user settings API 2020-10-22 14:07:50 -04:00
Misty (Bot)
aab5f018b9 chore: update changelog for v1.15.0-rc.0 2020-10-21 21:19:57 +00:00
Misty (Bot)
8d48455b04 chore: incrementing version number - v1.15.0-rc.0 2020-10-21 21:19:57 +00:00
Barış Soner Uşaklı
db63f5e3f0 fix: #8781 2020-10-21 16:30:14 -04:00
Julian Lam
177a961000 feat: new filter filter:teasers.configureStripTags 2020-10-21 14:04:52 -04:00
Baris Usakli
1a4c0decb7 fix: reset button loading html 2020-10-21 13:05:46 -04:00
Julian Lam
d68ffea80d feat: send 'Vary' header when ACAO header set 2020-10-21 10:34:38 -04:00
Misty (Bot)
c31cab3457 Latest translations and fallbacks 2020-10-21 09:10:48 +00:00
Misty (Bot)
3964872289 chore: update changelog for v1.15.0-beta.30 2020-10-21 01:10:28 +00:00
Misty (Bot)
2dd3c9622f chore: incrementing version number - v1.15.0-beta.30 2020-10-21 01:10:28 +00:00
Barış Soner Uşaklı
e6440c0d21 fix: #8779, fix move all
add new language keys
2020-10-20 20:53:45 -04:00
Barış Soner Uşaklı
1f43e98f8b fix: allow admins adding users to global moderators
add new test
2020-10-20 18:43:45 -04:00
Barış Soner Uşaklı
bbafa1b82a Revert "fix: [breaking] send configured config URL as origin if not custom"
This reverts commit 205a10308e.
2020-10-20 18:38:50 -04:00
Julian Lam
a691be5952 fix: incorrect logic for post history editable bool 2020-10-20 16:09:40 -04:00
Julian Lam
205a10308e fix: [breaking] send configured config URL as origin if not custom
This is a breaking change if your install uses multiple URLs to access. You will need to update the Access-Control-Allow-Origin header in ACP > Advanced > Headers to supply all URLs you use to access your site
2020-10-20 15:25:20 -04:00
Barış Soner Uşaklı
7a019494e8 feat: add filter.topics.getPostReplies 2020-10-20 12:00:56 -04:00
Julian Lam
7a8f704900 fix: #8776 some users unable to restore old versions via history 2020-10-20 10:40:23 -04:00
Misty (Bot)
df1cfc4caf Latest translations and fallbacks 2020-10-20 09:09:22 +00:00
Barış Soner Uşaklı
75024c3580 refactor: remove console.log, extra require 2020-10-20 00:29:44 -04:00
Barış Soner Uşaklı
b26e9b5993 fix: #8595, dont save escaped data when renaming groups 2020-10-20 00:24:34 -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ı
3ee4936db6 fix: keep sortBy while searching 2020-10-19 22:16:34 -04:00
Barış Soner Uşaklı
85cfe49d65 fix: autocomplete.user on search page 2020-10-19 21:58:56 -04:00
Barış Soner Uşaklı
cf474ab246 fix: spec 2020-10-19 19:11:50 -04:00
Barış Soner Uşaklı
7bddec93ec fix: sortby 2020-10-19 18:56:39 -04:00
Misty (Bot)
1b50e1a062 Latest translations and fallbacks 2020-10-19 09:10:05 +00:00
Barış Soner Uşaklı
b3619d3d47 fix: #8774 2020-10-18 16:54:42 -04:00
Julian Lam
ff4fcc23b6 Update bundled logos with new branding (#8702)
* feat: updating logo assets, square logos missing still

* fix: squared logo for touch icon and notification fallback

* fix: update link to favicon

* feat: add default touch icon sizes, if one isn't uploaded

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2020-10-18 01:41:04 -04:00
Barış Soner Uşaklı
c107649b40 fix: #8732 2020-10-18 01:33:03 -04:00
Barış Soner Uşaklı
e362c342a3 fix: #8630, sort extra deps 2020-10-17 23:56:42 -04:00
Barış Soner Uşaklı
d9a16855d0 refactor: posts api 2020-10-17 22:59:12 -04:00
Barış Soner Uşaklı
272e73da53 refactor: post restore/delete/purge 2020-10-17 21:24:33 -04:00
renovate[bot]
4bfd008781 chore(deps): update dependency lint-staged to v10.4.2 (#8773)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-17 20:24:02 -04:00
Barış Soner Uşaklı
9738e20207 refactor: merge post.edit
fix: dont fadeout/fadeint if title/post didnt change
2020-10-17 15:07:04 -04:00
renovate[bot]
bb85c059de chore(deps): update dependency eslint to v7.11.0 (#8747)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-17 01:19:22 -04:00
renovate[bot]
08a240fa8e chore(deps): update dependency lint-staged to v10.4.1 (#8771)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-17 01:03:52 -04:00
renovate[bot]
a471b1afb3 chore(deps): update dependency mocha to v8.2.0 (#8772)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-16 23:49:41 -04:00
Barış Soner Uşaklı
2279e37261 refactor: deprecate socket.emit('users.search') use api route 2020-10-16 23:30:22 -04:00
Barış Soner Uşaklı
083c74e059 refactor: api categories 2020-10-16 22:41:38 -04:00
Barış Soner Uşaklı
e78c498e84 fix: missing doTopicAction, fix wrong api params 2020-10-16 21:36:59 -04:00
Barış Soner Uşaklı
bc880ee0ca refactor: remove sockets.reqFromSocket 2020-10-16 21:05:00 -04:00
Barış Soner Uşaklı
8fd3c04480 fix: test 2020-10-16 20:36:24 -04:00
Barış Soner Uşaklı
9d81660e24 Revert "Revert "fix: appropriate 404 handling for write API calls""
This reverts commit 135c2d6c7d.
2020-10-16 20:21:52 -04:00
Barış Soner Uşaklı
135c2d6c7d Revert "fix: appropriate 404 handling for write API calls"
This reverts commit b6cce75d97.
2020-10-16 20:21:32 -04:00
Julian Lam
9ee3cb9b62 refactor: topic follow/ignore to use api lib 2020-10-16 12:30:14 -04:00
Julian Lam
68d6818bca refactor: topic tools' actions to use api lib 2020-10-16 12:02:51 -04:00
Julian Lam
21974a77f8 feat: topic reply to use api lib (also + missing file) 2020-10-16 11:01:18 -04:00
Julian Lam
40598b368e refactor: topic creation to use api lib 2020-10-16 11:01:18 -04:00
Julian Lam
b6cce75d97 fix: appropriate 404 handling for write API calls 2020-10-16 11:01:18 -04:00
Julian Lam
ede9435f0e feat: send 401 for invalid-uid 2020-10-16 11:01:18 -04:00
Misty (Bot)
854d61a257 Latest translations and fallbacks 2020-10-16 09:08:42 +00:00
Barış Soner Uşaklı
c913900ed6 feat: async/await admin/search 2020-10-16 00:05:55 -04:00
Barış Soner Uşaklı
2927509af3 feat: ignore test folder 2020-10-15 23:28:12 -04:00
Barış Soner Uşaklı
bf480ee58b refactor: setupApiRoute signature 2020-10-15 23:12:19 -04:00
Barış Soner Uşaklı
688d7a2cc2 refactor: remove unused middleware 2020-10-15 22:50:23 -04:00
Barış Soner Uşaklı
b2ff1594b8 fix: redis hget
'node_redis: The HGET command contains a invalid argument type.\n' +
'Only strings, dates and buffers are accepted. Please update your code to use valid argument types.'
2020-10-15 22:25:56 -04:00
Julian Lam
e98285dbbb fix: reimplementing isPrivilegedOrSelfAndPasswordMatch 2020-10-15 21:45:57 -04:00
Barış Soner Uşaklı
84a179f48c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 20:51:55 -04:00
Julian Lam
3f347baadb fix: socket user bans 2020-10-15 20:31:25 -04:00
Julian Lam
14f9d8b0e5 feat: send back 403 on no-privileges error 2020-10-15 20:23:19 -04:00
Julian Lam
222b4c9533 fix: broken tests from api change 2020-10-15 19:33:20 -04:00
Julian Lam
2d252f2fa4 refactor: user bans to use api lib 2020-10-15 19:05:31 -04:00
Barış Soner Uşaklı
7d86be2bc2 fix: tests 2020-10-15 17:51:04 -04:00
Barış Soner Uşaklı
48a9b5d66e update logo 2020-10-15 17:31:03 -04:00
Barış Soner Uşaklı
e367c5403e refactor: move groups.leave, fix some tests 2020-10-15 17:29:38 -04:00
Barış Soner Uşaklı
bbbd9fee85 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 17:12:26 -04:00
Julian Lam
960e925e40 refactor: change password/user follow to use api lib 2020-10-15 17:09:39 -04:00
Barış Soner Uşaklı
081c4fa6d4 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 16:55:59 -04:00
Julian Lam
430e7f5834 refactor: user deletion to use api lib 2020-10-15 16:49:06 -04:00
Barış Soner Uşaklı
8ae1f81cf4 feat: refactor groups.delete 2020-10-15 16:36:53 -04:00
Julian Lam
77481947f0 refactor: socket profile update to use api lib 2020-10-15 16:22:40 -04:00
Julian Lam
31ae8a8323 refactor: socket profile update to use api lib 2020-10-15 16:21:54 -04:00
Barış Soner Uşaklı
d69e503d21 feat: move groups.join to api 2020-10-15 16:13:19 -04:00
Barış Soner Uşaklı
eed8deda61 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 16:07:39 -04:00
Barış Soner Uşaklı
51a60d3d46 fix: handler for group.join 2020-10-15 16:07:25 -04:00
Julian Lam
d07f0081b7 fix: add missing file 2020-10-15 15:52:07 -04:00
Julian Lam
23086daead refactor: user create and profile update to use api lib 2020-10-15 15:50:30 -04:00
Barış Soner Uşaklı
5e2caf19f5 refactor: use single function for api code 2020-10-15 12:12:01 -04:00
Barış Soner Uşaklı
25e4a09816 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 11:10:07 -04:00
Barış Soner Uşaklı
4418ff0716 fix: #8768 2020-10-15 11:09:57 -04:00
Julian Lam
cc6e995ee2 fix: api bug where user profile editing continued even if not allowed 2020-10-15 10:23:57 -04:00
Barış Soner Uşaklı
205e46647c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-14 23:39:19 -04:00
Barış Soner Uşaklı
43afe7ffab refactor: async/await src/user/approval 2020-10-14 23:38:16 -04:00
renovate[bot]
3b88545b03 fix(deps): update dependency benchpressjs to v2.0.8 (#8767)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 23:37:44 -04:00
Barış Soner Uşaklı
bae0f343e1 fix: module build 2020-10-14 23:32:30 -04:00
Barış Soner Uşaklı
3881ac309f refactor: async/await install/web.js 2020-10-14 23:20:45 -04:00
Barış Soner Uşaklı
1fd2eba6f2 refactor: async/await
src/cli/manage.js
src/meta/build.js
src/meta/css.js
src/meta/js.js
2020-10-14 22:49:39 -04:00
Barış Soner Uşaklı
b295d15eae fix: tests 2020-10-14 20:02:32 -04:00
Barış Soner Uşaklı
d89477cad0 refactor: use app.render 2020-10-14 19:18:07 -04:00
renovate[bot]
42aed15b96 fix(deps): update dependency sharp to v0.26.2 (#8765)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 18:57:17 -04:00
Julian Lam
9dd3cc0483 feat: allow plugins to define api routes
via new plugin hook static:api.routes
2020-10-14 17:44:27 -04:00
Julian Lam
a4ba23899e feat: require https if nodebb is configured with https url 2020-10-14 14:28:04 -04:00
Julian Lam
20bb9c7ec8 fix: csrf token only on non-GET routes 2020-10-14 14:02:03 -04:00
Barış Soner Uşaklı
3326d80c11 feat: add nyc config 2020-10-14 12:27:17 -04:00
Barış Soner Uşaklı
3673accdb8 refactor: api module
only return promise if callback is undefined
dont append baseUrl if url already starts with api
correctly handle writeapi readapi response for data/error
remove unused onError
dont append empty ? to url for get routes
2020-10-14 11:05:50 -04:00
Julian Lam
a784d10fff refactor: api module returns promise, error-first cb if cb passed in
no more separate onSuccess onError callbacks

/cc @baris
2020-10-14 10:02:02 -04:00
Misty (Bot)
d52992de1b Latest translations and fallbacks 2020-10-14 09:09:02 +00:00
Barış Soner Uşaklı
4b9444f1a5 fix: avatar selector 2020-10-14 00:12:09 -04:00
Barış Soner Uşaklı
e6ea71c95a fix: test 2020-10-13 23:40:04 -04:00
Barış Soner Uşaklı
8c6a559188 fix: timestamp 2020-10-13 23:29:19 -04:00
Barış Soner Uşaklı
331d236f6e fix: #8763 2020-10-13 23:19:07 -04:00
Barış Soner Uşaklı
a481024d27 fix: lastonline again 2020-10-13 23:02:49 -04:00
Barış Soner Uşaklı
71d82ec8e0 fix: caret 2020-10-13 22:59:52 -04:00
Barış Soner Uşaklı
b6d5888334 Merge branch 'admin/users' 2020-10-13 22:58:04 -04:00
Barış Soner Uşaklı
97628e2ff2 fix: lastonline values 2020-10-13 22:57:18 -04:00
renovate[bot]
25c447df05 fix(deps): update dependency nodebb-rewards-essentials to v0.1.4 (#8764)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-13 22:46:47 -04:00
Barış Soner Uşaklı
872bacf1c4 Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
2020-10-13 22:42:50 -04:00
Barış Soner Uşaklı
1289c10568 fix: upgrade script 2020-10-13 22:12:28 -04:00
Barış Soner Uşaklı
59bbede8c7 fix: cant join system groups 2020-10-13 22:08:09 -04:00
Barış Soner Uşaklı
a411df1321 fix: tests 2020-10-13 21:04:07 -04:00
Barış Soner Uşaklı
dd7424e5b5 refactor: remove unused search call 2020-10-13 20:44:07 -04:00
Barış Soner Uşaklı
2d6ea6e505 Merge branch 'master' into admin/users 2020-10-13 20:43:48 -04:00
Barış Soner Uşaklı
a2edb86dfb feat: change user search to use filters array 2020-10-13 20:37:38 -04:00
Barış Soner Uşaklı
959314c921 feat: add filter 2020-10-13 17:07:26 -04:00
Julian Lam
bfaeb27c11 Merge branch 'write-api-csrf' 2020-10-13 17:01:51 -04:00
Julian Lam
1e07886f30 feat: require csrf token if not using bearer token 2020-10-13 16:58:44 -04:00
psychobunny
0e0f1506d2 fix: update server param to /api/v3 2020-10-13 15:06:42 -04:00
Barış Soner Uşaklı
933989e013 Merge branch 'master' into admin/users 2020-10-13 14:56:06 -04:00
Barış Soner Uşaklı
682e926c6b feat: #8662, verified/unverified user groups 2020-10-13 14:55:56 -04:00
psychobunny
c68653d035 fix: typo 2020-10-13 14:43:20 -04:00
psychobunny
7aa4d104af fix: testing openapi write tests 2020-10-13 14:43:20 -04:00
psychobunny
16873800a6 fix(openapi): users.yaml 2020-10-13 14:00:54 -04:00
psychobunny
7b2301ff9c fix: enable tests 2020-10-13 13:10:49 -04:00
psychobunny
54e6003a7c fix: test fix for write API
need to rewrite users.yaml to fix properly
2020-10-13 13:07:54 -04:00
Renovate Bot
dcf7235466 fix(deps): update dependency nodebb-theme-persona to v10.2.60 2020-10-13 12:11:22 -04:00
Julian Lam
30b3fedca4 fix: password reset to invalidate all existing reset tokens for that uid 2020-10-13 11:48:32 -04:00
Barış Soner Uşaklı
700e1e4340 feat: more fixes 2020-10-13 01:49:12 -04:00
Barış Soner Uşaklı
40a05b70ef feat: more work 2020-10-13 01:29:21 -04:00
Barış Soner Uşaklı
b038ac07d8 feat: wip admin/users 2020-10-13 00:29:38 -04:00
Barış Soner Uşaklı
ba2e1c4c7e fix: show more lines 2020-10-12 20:42:08 -04:00
Barış Soner Uşaklı
7beaf49028 feat: set unread false for guests 2020-10-12 15:16:58 -04:00
renovate[bot]
411fa8bc84 fix(deps): update dependency nodebb-plugin-mentions to v2.13.0 (#8758)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-12 14:42:55 -04:00
Barış Soner Uşaklı
01265d08f3 feat: add stack to deprecate message 2020-10-12 14:33:21 -04:00
Barış Soner Uşaklı
30d6a2b84e fix: #8756, pass missing req to mock 2020-10-12 14:29:25 -04:00
Barış Soner Uşaklı
1ee9384875 fix: #8757, allow all slashes in category route 2020-10-12 14:18:59 -04:00
Misty (Bot)
0a4fd50aac Latest translations and fallbacks 2020-10-12 09:09:31 +00:00
Barış Soner Uşaklı
d76229c061 feat: add checkbox tests 2020-10-12 00:18:34 -04:00
Barış Soner Uşaklı
e92d4719cc feat: add test for serialize/deserialize form 2020-10-12 00:04:20 -04:00
Barış Soner Uşaklı
7db224f689 fix: timeago test for dev/prod 2020-10-11 22:40:28 -04:00
Barış Soner Uşaklı
cecdd2915e fix: timeago test 2020-10-11 22:39:37 -04:00
Barış Soner Uşaklı
ae5fb103ca feat: disable write api tests until fixed 2020-10-11 22:28:07 -04:00
Barış Soner Uşaklı
dc29f4dca2 refactor: switch to using slugify module 2020-10-11 21:49:37 -04:00
Barış Soner Uşaklı
bddfcb5867 feat: #8734, add slugify module, deprecate utils.slugify 2020-10-11 21:25:31 -04:00
Barış Soner Uşaklı
f16c8268cf feat: #8734, move bootstrap-tagsinput to package.json 2020-10-11 19:52:01 -04:00
Barış Soner Uşaklı
eab7489ec5 feat: #8734, move deserialize/serialize to package.json 2020-10-11 19:28:46 -04:00
renovate[bot]
cd34bfb1ed fix(deps): update dependency nodebb-theme-persona to v10.2.59 (#8755)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-11 17:26:57 -04:00
Barış Soner Uşaklı
948f26143c feat: #5964, #8734 remove colorpicker 2020-10-11 16:05:52 -04:00
Barış Soner Uşaklı
c954db84e4 refactor: require style 2020-10-11 10:14:02 -04:00
Barış Soner Uşaklı
931d44b5e2 fix: undefined api require, @julianlam 2020-10-11 10:13:51 -04:00
renovate[bot]
a77ba71e05 fix(deps): update dependency nodebb-theme-persona to v10.2.58 (#8754)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-11 00:40:13 -04:00
Barış Soner Uşaklı
e2d407b769 fix: watch tooltip 2020-10-11 00:38:18 -04:00
Barış Soner Uşaklı
aedd28e0a6 fix: module name 2020-10-10 23:45:58 -04:00
Barış Soner Uşaklı
8f436eb881 fix: pin sortablejs 2020-10-10 23:41:51 -04:00
Barış Soner Uşaklı
3bbb4e269d Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-10 23:35:02 -04:00
Barış Soner Uşaklı
c721625a95 feat: #8734 remove unused files 2020-10-10 23:34:56 -04:00
Barış Soner Uşaklı
cc705e5e2b feat: #8734, move sortable to package.json 2020-10-10 23:24:13 -04:00
renovate[bot]
0399ffaf5f fix(deps): update dependency nodebb-plugin-composer-default to v6.4.4 (#8752)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 23:09:58 -04:00
renovate[bot]
f8e2324ce7 fix(deps): update dependency benchpressjs to v2.0.7 (#8733)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 23:07:58 -04:00
Barış Soner Uşaklı
75c9668656 fix: admin jquerui requires 2020-10-10 23:01:32 -04:00
Barış Soner Uşaklı
8c019a6a3b fix: timeago locale switch 2020-10-10 22:26:48 -04:00
Barış Soner Uşaklı
300a87559f feat: #8734, move bootbox to package.json 2020-10-10 22:15:34 -04:00
Barış Soner Uşaklı
420a312982 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-10 21:55:03 -04:00
Barış Soner Uşaklı
3b231360d3 feat: load jquery-form before using 2020-10-10 21:54:32 -04:00
Barış Soner Uşaklı
fda2aedfd8 feat: #8734, jquery-ui, jquery-form, timeago (#8748)
* feat: #8734, jquery-ui, jquery-form, timeago

get rid of forum/footer.js move that code to app.js & wait for app to load before calling ajaxify.end
make sockets.js a requirejs module
move jquery-ui to node_modules and load via requirejs
move jquery-form to node_modules and load via requirejs
move timeago to node_modules and load via requirejs
only include the css for needed jquery-ui widgets

* feat: keep socket/io global for backwards compat

* refactor: move socket listener to chat
2020-10-10 21:47:27 -04:00
renovate[bot]
666064bf46 fix(deps): update dependency nodebb-plugin-composer-default to v6.4.3 (#8750)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 21:46:42 -04:00
Misty (Bot)
ea830871c2 Latest translations and fallbacks 2020-10-10 09:06:14 +00:00
renovate[bot]
1c94220b45 fix(deps): update dependency nodebb-theme-persona to v10.2.57 (#8749)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 00:56:55 -04:00
Julian Lam
87e3f26fe4 feat(openapi): schema validation for write api definitions file 2020-10-09 16:38:43 -04:00
Renovate Bot
414fe19c6e fix(deps): update dependency nodebb-theme-persona to v10.2.56 2020-10-09 15:51:46 -04:00
Renovate Bot
1bc99411b5 fix(deps): update dependency nodebb-theme-slick to v1.2.39 2020-10-09 15:50:11 -04:00
Barış Soner Uşaklı
59311a63a0 feat: remove unused textcomplete file 2020-10-09 14:49:59 -04:00
Julian Lam
944a7e0e28 fix(deps): bump vanilla/persona 2020-10-09 14:25:40 -04:00
Barış Soner Uşaklı
ae3a231fce feat: #8734, remove semver.browser
use compare-versions as a module
2020-10-09 14:10:38 -04:00
renovate[bot]
43df4b8e15 fix(deps): update dependency nodebb-theme-lavender to v5.0.14 (#8739)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:57:09 -04:00
renovate[bot]
ba62ebb620 fix(deps): update dependency socket.io-client to v2.3.1 (#8700)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:56:39 -04:00
psychobunny
9a5b8a798a fix: category RSS feed was displaying deleted topics 2020-10-09 12:54:02 -04:00
renovate[bot]
45aceb26a5 fix(deps): update dependency nodebb-theme-slick to v1.2.37 (#8741)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:33:35 -04:00
renovate[bot]
0c7af5029b fix(deps): update dependency nodebb-theme-vanilla to v11.2.21 (#8740)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:26:30 -04:00
renovate[bot]
4207dde4c2 fix(deps): update dependency nodebb-theme-persona to v10.2.54 (#8736)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:22:27 -04:00
Barış Soner Uşaklı
1531536d46 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-09 12:20:24 -04:00
Barış Soner Uşaklı
2c1897b373 feat: #8734, move slideout to package.json 2020-10-09 12:20:09 -04:00
psychobunny
dbb4cfe9d6 style(openapi): break write API routes into individual files 2020-10-09 12:16:25 -04:00
psychobunny
ffac3c7902 style(openapi): move schemas and responses out of write.yaml 2020-10-09 12:16:25 -04:00
Barış Soner Uşaklı
9c157de05d feat: #8734, move tinycon to package.json 2020-10-09 12:01:51 -04:00
Barış Soner Uşaklı
45e8a4d588 fix: #8734 make nprogress module 2020-10-09 11:48:52 -04:00
Barış Soner Uşaklı
43589a744d feat: #8734, move visibilityjs to package.json 2020-10-09 11:35:52 -04:00
Julian Lam
8af30a51b5 fix: regression caused by 7545951725
/cc @psychobunny
2020-10-09 10:58:42 -04:00
Barış Soner Uşaklı
a46cbb623d feat: #8734, move nprogress to package.json 2020-10-09 10:53:07 -04:00
Barış Soner Uşaklı
e02c57d963 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-09 10:42:22 -04:00
Barış Soner Uşaklı
aa08f8826c feat: #8734 move r.js to package.json 2020-10-09 10:40:46 -04:00
renovate[bot]
70c085ba5d fix(deps): update dependency nodebb-theme-persona to v10.2.52 (#8735)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 10:22:26 -04:00
Misty (Bot)
d5d05e17af Latest translations and fallbacks 2020-10-09 09:11:15 +00:00
Barış Soner Uşaklı
12c8b1c2bc fix: dont allow adding duplicates to privileges page
hightlight uid/group if it is added again from autocomplete
2020-10-08 18:32:36 -04:00
Barış Soner Uşaklı
f259063f08 fix: #8728, dont add admins to table 2020-10-08 18:08:04 -04:00
cryptoethic
b3ed26ac2c feat: revoke user sessions above threshold (#8731)
* feat: revoke user sessions above threshold

* fix: removed translations from en-US

* fix: defined default maxUserSessions in install\data\defaults.json
2020-10-08 17:33:18 -04:00
Julian Lam
4a63c20a72 chore: some optimizations for codeclimate 2020-10-08 15:58:42 -04:00
Julian Lam
ebcb664b41 fix(writeapi): tests 2020-10-08 15:33:10 -04:00
Julian Lam
229eb2c2d8 fix(writeapi): tests 2020-10-08 15:33:10 -04:00
Julian Lam
b8703ba9f6 fix(writeapi): tests 2020-10-08 15:33:10 -04:00
Julian Lam
8ecef7b891 refactor: middleware.assert.* 2020-10-08 15:33:10 -04:00
Julian Lam
41f55b7a5a fix(writeapi): tests 2020-10-08 15:33:10 -04:00
Julian Lam
cfee431c53 feat(writeapi): commented-out stub code for file upload 2020-10-08 15:33:10 -04:00
Julian Lam
f870721fca feat(writeapi): file deletion route 2020-10-08 15:33:10 -04:00
Julian Lam
a55b381791 feat(writeapi): admin settings update route 2020-10-08 15:33:10 -04:00
Julian Lam
2ec838fc59 feat(writeapi): token generation/delete routes, ACP updates 2020-10-08 15:33:10 -04:00
Julian Lam
2928b9b87a style: updates to openapi files 2020-10-08 15:33:10 -04:00
Julian Lam
c7d15dfa94 feat: filter:settings.get plugin hook 2020-10-08 15:33:10 -04:00
Julian Lam
3ea1aa4780 refactor(writeapi): update route prefix to api/v3, default error option 2020-10-08 15:33:10 -04:00
Julian Lam
f67824719c chore(writeapi): cleanup 2020-10-08 15:33:10 -04:00
Julian Lam
0973feea16 feat(writeapi): post bookmarking 2020-10-08 15:33:10 -04:00
Julian Lam
9942c248eb feat(writeapi): post voting 2020-10-08 15:33:10 -04:00
Julian Lam
5e2a3ea6ec refactor(writeapi): post.tools.purge no longer a method 2020-10-08 15:33:10 -04:00
Julian Lam
414169fdfa feat(writeapi): post delete/restore/purge 2020-10-08 15:33:10 -04:00
Julian Lam
f66c2fb60f feat(writeapi): post editing 2020-10-08 15:33:10 -04:00
Julian Lam
1605e5e443 feat(writeapi): topic tags 2020-10-08 15:33:10 -04:00
Julian Lam
9be5629458 feat(writeapi): topic follow/ignore 2020-10-08 15:33:10 -04:00
Julian Lam
da25ce4d09 feat: topic delete/restore/purge/(un)pin/(un)lock 2020-10-08 15:33:10 -04:00
Julian Lam
675a62dadd fix: remove debug log 2020-10-08 15:33:10 -04:00
Julian Lam
5fc7e7bfd0 feat: add new api page to ACP menu 2020-10-08 15:33:10 -04:00
Julian Lam
49652e6f1b feat: management of API tokens via ACP 2020-10-08 15:33:10 -04:00
Julian Lam
adcadbb2b5 fix: tests 2020-10-08 15:33:10 -04:00
Julian Lam
cb9369f10e fix: bad merge w/ category ACP page 2020-10-08 15:33:10 -04:00
Julian Lam
a905d7f022 refactor: rewrite modules/api.js in AMD style 2020-10-08 15:33:10 -04:00
Julian Lam
8e89f34dbf fix: bad logic in group assertion middleware 2020-10-08 15:33:10 -04:00
Julian Lam
8e7baac6ef fix(writeapi): calls to profile editing routes 200 even if user DNE 2020-10-08 15:33:10 -04:00
Julian Lam
7757f965eb fix: errors thrown if no password sent in to profile edit route 2020-10-08 15:33:10 -04:00
Julian Lam
549ca11056 fix: bug where middlewares seemingly ran in parallel 2020-10-08 15:33:10 -04:00
Julian Lam
6096f74ab2 feat(writeapi): adding missing files 2020-10-08 15:33:10 -04:00
Julian Lam
4c833d0bf0 feat(writeapi): topic posting and replying 2020-10-08 15:33:10 -04:00
Julian Lam
40dc1c38d3 feat(writeapi): added DELETE /groups/:slug/membership/:uid route 2020-10-08 15:33:10 -04:00
Julian Lam
68ecf41ecf fix(writeapi): client-side group join API call 2020-10-08 15:33:10 -04:00
Julian Lam
e1c40b2792 style: allowing some es6 features client-side 2020-10-08 15:33:10 -04:00
Julian Lam
952dc211dd feat(writeapi): added group joining and deletion 2020-10-08 15:33:10 -04:00
Julian Lam
d044c3223e feat(writeapi): abstracted ajax calls out to new api module 2020-10-08 15:33:10 -04:00
Julian Lam
ba345e53e8 feat(writeapi): added POST /api/v1/groups 2020-10-08 15:33:10 -04:00
Julian Lam
49994f3a15 fix(openapi): moved write-api to public/openapi 2020-10-08 15:33:10 -04:00
Julian Lam
3072de4812 feat: added DELETE /api/v1/categories/:cid route 2020-10-08 15:33:10 -04:00
Julian Lam
e942ad8101 feat: added PUT /api/v1/categories/:cid route
Deprecated admin.categories.update socket call
Showing stack trace in console for errors, when in development mode
2020-10-08 15:33:10 -04:00
Julian Lam
dc666fd8a9 feat: added POST /api/v1/categories route 2020-10-08 15:33:10 -04:00
Julian Lam
a5af2dc819 feat: added PUT/DELETE /api/v1/users/:uid/ban routes 2020-10-08 15:33:10 -04:00
Julian Lam
db5c5b2cfb fix: follow route to match spec 2020-10-08 15:33:10 -04:00
Julian Lam
b5bbcbaeaa feat: added POST and DELETE /api/v1/users/:uid/follow routes 2020-10-08 15:33:10 -04:00
Julian Lam
7aed174ebc feat: added PUT /api/v1/users/:uid/password route 2020-10-08 15:33:10 -04:00
Julian Lam
af2e424ffe fix: missing one property in openapi doc 2020-10-08 15:33:10 -04:00
Julian Lam
a1ddc210b2 feat: added DELETE /api/v1/users/:uid and DELETE /api/v1/users 2020-10-08 15:33:10 -04:00
Julian Lam
d15d9e4492 fix(refactor): patching helpers.tryRoute for API routes, some re-org
Thanks @barisusakli for the tip
2020-10-08 15:33:10 -04:00
Julian Lam
d8879d21db fix: error handling with POST /api/v1/users 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
Julian Lam
bba2a4638c fix: user creation POST route returns user data, updated openapi spec 2020-10-08 15:33:10 -04:00
Julian Lam
91b79f1793 feat: added openapi.yaml file for BEST documentation 2020-10-08 15:33:10 -04:00
Julian Lam
7b6d43bcc8 feat: added checkRequired middleware for API calls 2020-10-08 15:33:10 -04:00
Julian Lam
fd67355b03 fix(writeapi): authenticate middleware logic to work better with await 2020-10-08 15:33:10 -04:00
Julian Lam
f6433ef2c5 fix(refactor): merging write-api auth middlewares with core middlewares 2020-10-08 15:33:10 -04:00
Julian Lam
ec5c48b188 feat: migrating write-api skeleton into core 2020-10-08 15:33:10 -04:00
Barış Soner Uşaklı
dc152a558c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-08 09:55:25 -04:00
Barış Soner Uşaklı
7138d433b1 fix: selector, so it doesnt effect suggested topics 2020-10-08 09:55:15 -04:00
Misty (Bot)
af90b99706 Latest translations and fallbacks 2020-10-08 09:10:35 +00:00
renovate[bot]
bae2eadae9 fix(deps): update dependency nodebb-theme-persona to v10.2.51 (#8729)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-07 18:34:39 -04:00
Barış Soner Uşaklı
264818e517 fix: use proper api url
no need to parse all tags since https://api.github.com/repos/NodeBB/NodeBB/releases/latest gives the latest non-prerelease, non-draft releases
2020-10-07 18:21:23 -04:00
Barış Soner Uşaklı
8eb62e2210 fix: tests, get latest release tag recursively 2020-10-07 18:14:45 -04:00
renovate[bot]
804729fcec fix(deps): update dependency nodebb-theme-persona to v10.2.50 (#8727)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-07 17:50:03 -04:00
Julian Lam
fc603a5368 fix: use app.parseAndTranslate instead of benchpress.parse 2020-10-07 12:23:53 -04:00
psychobunny
20e0cc5cbb fix: sorted list delete button 2020-10-07 11:59:45 -04:00
psychobunny
cdb794888d style: linting 2020-10-07 11:47:44 -04:00
Misty (Bot)
174e239332 Latest translations and fallbacks 2020-10-07 09:09:45 +00:00
Barış Soner Uşaklı
ed092bf6b5 refactor: remove posts.tools.purge
moved the check to socketPosts.purge
2020-10-06 14:03:59 -04:00
Julian Lam
dde5b6b814 fix: unable to register async method as response hook listener
Also fixes #8723, /api/config now runs middleware.authenticateOrGuest
2020-10-06 09:32:13 -04:00
renovate[bot]
b01bc2ae0f fix(deps): update dependency nodebb-theme-persona to v10.2.49 (#8722)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-05 22:54:01 -04:00
renovate[bot]
0170261369 fix(deps): update dependency nodebb-theme-persona to v10.2.48 (#8721)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-05 22:10:20 -04:00
renovate[bot]
04b1daac16 fix(deps): update dependency nodebb-theme-persona to v10.2.47 (#8720)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-05 14:42:15 -04:00
Barış Soner Uşaklı
b955fd363d fix: dont allow sorting pinned topics on recent 2020-10-05 14:41:24 -04:00
Julian Lam
3c7f79cb8a fix: use console.info instead of console.log for sw registration 2020-10-05 13:45:09 -04:00
renovate[bot]
ba906d7d02 fix(deps): update dependency nodebb-theme-persona to v10.2.46 (#8719)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-05 13:32:39 -04:00
renovate[bot]
229421edbe fix(deps): update dependency nodebb-plugin-composer-default to v6.4.2 (#8718)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-05 13:15:10 -04:00
Barış Soner Uşaklı
1542a5d7e5 feat: remove post/header selector 2020-10-05 13:01:00 -04:00
Misty (Bot)
63696c400e chore: update changelog for v1.15.0-beta.29 2020-10-05 14:34:33 +00:00
Misty (Bot)
fca176d2bd chore: incrementing version number - v1.15.0-beta.29 2020-10-05 14:34:33 +00:00
Barış Soner Uşaklı
7cd83b9a6a fix: spec 2020-10-04 22:32:06 -04:00
Barış Soner Uşaklı
6924eb6c52 fix: spec 2020-10-04 22:15:56 -04:00
Barış Soner Uşaklı
cb2f6f7c4a fix: test 2020-10-04 22:11:41 -04:00
Barış Soner Uşaklı
7bf6d3b8eb fix: dont let mods load postqueue for a cid they are not a mod of 2020-10-04 22:10:24 -04:00
Barış Soner Uşaklı
2ea9768e00 fix: show disabled categories in admin&mods 2020-10-04 21:52:57 -04:00
Misty (Bot)
d93315e3ee Latest translations and fallbacks 2020-10-04 09:06:59 +00:00
renovate[bot]
b3a24f7410 fix(deps): update dependency nodebb-plugin-composer-default to v6.4.0 (#8716)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-03 22:04:26 -04:00
psychobunny
60afb110ef fix: prevent mutiple highlighted rows on category/topic pages 2020-10-03 17:12:42 -04:00
Misty (Bot)
6ee0cad289 Latest translations and fallbacks 2020-10-03 09:06:55 +00:00
Barış Soner Uşaklı
fbd85680fb fix: spec 2020-10-02 16:57:26 -04:00
renovate[bot]
c95a38987f fix(deps): update dependency nodebb-plugin-mentions to v2.11.0 (#8714)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-02 16:37:26 -04:00
renovate[bot]
fc2795d317 fix(deps): update dependency nodebb-theme-slick to v1.2.36 (#8713)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-02 16:37:15 -04:00
renovate[bot]
2b0deeb77a fix(deps): update dependency nodebb-theme-vanilla to v11.2.20 (#8715)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-02 16:35:38 -04:00
Barış Soner Uşaklı
5d9a868142 feat: category filter on post queue (#8710)
* feat: category filter on post queue

category filter module

* feat: add spec
2020-10-02 16:35:20 -04:00
renovate[bot]
f14b49457c fix(deps): update dependency nodebb-theme-persona to v10.2.45 (#8711)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-02 16:28:19 -04:00
Julian Lam
f1de084da3 fix: do not show TOC if fewer than 2 headings 2020-10-02 15:51:04 -04:00
psychobunny
caa8c00f89 fix: params cached in autocomplete module 2020-10-02 13:55:11 -04:00
psychobunny
7545951725 chore: refactor src/emailer.js 2020-10-02 11:01:39 -04:00
Misty (Bot)
c65ea5bfa6 Latest translations and fallbacks 2020-10-02 09:10:49 +00:00
Peter Jaszkowiak
1aa336d837 refactor: shared constants (#8707)
define plugin name and theme name regexs in one location for consistency

define various shared paths in one place for consistency
2020-10-01 23:02:44 -04:00
Barış Soner Uşaklı
e60357d20d feat: #6594, add top/popular sections to digest email (#8709) 2020-10-01 22:07:33 -04:00
Peter Jaszkowiak
55d5cccf2e Document deprecations and remove old ones (#8706)
* chore: document deprecation removal versions

* chore: remove deprecations 2+ versions old
2020-10-01 12:25:03 -04:00
Peter Jaszkowiak
017af63fb0 fix: #8686, deprecate plugin.json/library (#8705)
and also fix deprecated hooks with no alternative
2020-10-01 11:45:27 -04:00
Misty (Bot)
39b51707ce Latest translations and fallbacks 2020-10-01 09:09:51 +00:00
Julian Lam
d3951ebeaf fix: updating minimum node version in readme 2020-09-30 14:56:30 -04:00
psychobunny
5441651ea7 fix: update "install plugins" link to go to the download tab 2020-09-30 13:05:17 -04:00
renovate[bot]
1d0eaafb5f fix(deps): update dependency nodebb-theme-persona to v10.2.43 (#8701)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-30 13:00:37 -04:00
Barış Soner Uşaklı
72e82c4aca Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-30 12:57:30 -04:00
psychobunny
1761e13dbd feat: dedicated sorting buttons for plugin ordering in ACP 2020-09-30 12:49:34 -04:00
Barış Soner Uşaklı
c33dc90562 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-30 12:41:33 -04:00
Barış Soner Uşaklı
54737d3076 feat: #8233, search sub categories 2020-09-30 12:41:23 -04:00
psychobunny
c56236f081 fix: overflow on submitPluginUsage field 2020-09-30 12:30:23 -04:00
Julian Lam
38f88fc563 fix: #8699 tags route is case sensitive, though tags are not 2020-09-30 11:57:59 -04:00
Renovate Bot
2a1da61cd9 fix(deps): update dependency nodebb-theme-persona to v10.2.42 2020-09-30 10:09:27 -04:00
psychobunny
f4d76f1edd feat: move service-worker.js into its own file 2020-09-30 10:00:28 -04:00
Julian Lam
8437130ec2 fix: early button/anchor clicks do nothing
This reverts commit a395324b52, and
fixes the issue where the ACP became unusable because of the earlier
variant of this code.

Thanks @psychobunny for spotting.
2020-09-30 09:18:46 -04:00
Misty (Bot)
f693ce97bf Latest translations and fallbacks 2020-09-30 09:09:59 +00:00
Misty (Bot)
fd975a6694 chore: update changelog for v1.15.0-beta.28 2020-09-29 23:16:27 +00:00
Misty (Bot)
57f83162f9 chore: incrementing version number - v1.15.0-beta.28 2020-09-29 23:16:26 +00:00
Barış Soner Uşaklı
a395324b52 Revert "fix: early button/anchor clicks do nothing"
This reverts commit 966d3f7654.
2020-09-29 18:57:16 -04:00
psychobunny
14ba1a6dbb feat: analytics:maxCache setting in ACP
I removed a TODO from core. Watch your head as flying pigs are abound
2020-09-29 17:31:08 -04:00
Misty (Bot)
7067382494 chore: update changelog for v1.15.0-beta.27 2020-09-29 21:02:31 +00:00
Misty (Bot)
78fad24068 chore: incrementing version number - v1.15.0-beta.27 2020-09-29 21:02:30 +00:00
psychobunny
799dbec5af Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-29 15:17:34 -04:00
psychobunny
ffbf2d6d63 feat(openapi): refactor into indiv. files to match API & tpl routing 2020-09-29 15:17:09 -04:00
psychobunny
c7d27731b3 Revert "feat(openapi): refactor into indiv. files to match API & tpl routing"
This reverts commit 84f5e4cf3d.
2020-09-29 15:13:14 -04:00
renovate[bot]
9bdef70786 fix(deps): update dependency nodebb-theme-vanilla to v11.2.18 (#8697)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-29 14:50:19 -04:00
renovate[bot]
3e2816ae31 fix(deps): update dependency nodebb-theme-slick to v1.2.34 (#8696)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-29 14:46:27 -04:00
Julian Lam
f17d42ede6 fix(deps): bump persona 2020-09-29 14:42:24 -04:00
Julian Lam
966d3f7654 fix: early button/anchor clicks do nothing
This solves a small UX issue where clicking on a button (or anchor
that is not meant to be ajaxified) before ajaxify.end is called
leads to nothing happening because the appropriate click handler
has not been added.

This code will intercept premature clicks, wait until ajaxify.end
is called, and then re-send the click.
2020-09-29 14:40:38 -04:00
Barış Soner Uşaklı
ea0f3262f4 feat: #8695, allow sort for guests 2020-09-29 14:28:10 -04:00
Julian Lam
7f58e3ab09 fix: error on reset -p if plugin is not active
No need to throw error if plugin was not active, just silently OK
2020-09-29 14:01:30 -04:00
Renovate Bot
1e5621c049 fix(deps): update dependency sanitize-html to v2 2020-09-29 13:34:36 -04:00
psychobunny
84f5e4cf3d feat(openapi): refactor into indiv. files to match API & tpl routing 2020-09-29 11:49:17 -04:00
psychobunny
9c5b690799 feat: up recommended size to 512x512 + ACP labels for PWA 2020-09-29 08:30:34 -04:00
psychobunny
6478b32d0e feat: upload maskable icon for PWA 2020-09-29 07:49:21 -04:00
psychobunny
bf3c1c0878 fix: manifest test + remove duplicate test 2020-09-28 20:55:53 -04:00
Julian Lam
3fbddbe2ca fix(openapi): test for new trending plugins in ACP 2020-09-28 19:59:04 -04:00
Julian Lam
b12e8d6312 feat: show top 5 trending plugins in new tab in Extend > Plugins 2020-09-28 19:53:54 -04:00
Julian Lam
07af621381 fix: typo in getCompatiblePlugins 2020-09-28 19:53:54 -04:00
psychobunny
aa268d5eeb feat: register service worker, #8126 2020-09-28 17:46:43 -04:00
psychobunny
54705cc432 fix: typo 2020-09-28 17:45:30 -04:00
psychobunny
5172d73137 feat: add theme-color meta tag for browser address bar 2020-09-28 17:32:37 -04:00
psychobunny
f69697b3fa feat: basic service worker, minimum requirement for for a2hs; see #8126 2020-09-28 17:31:58 -04:00
psychobunny
31528a5202 fix: manifest - use absolute URL for start_url 2020-09-28 17:06:25 -04:00
psychobunny
46800b6639 fix: prefer webmanifest extension over json
https://w3c.github.io/manifest/#media-type-registration
2020-09-28 16:10:41 -04:00
psychobunny
4c1e717b2b fix: update notification delay ACP help text 2020-09-28 11:24:12 -04:00
psychobunny
4fc84e9f5c chore: lint notifications.js 2020-09-28 11:18:43 -04:00
psychobunny
5b427a0c3b feat: option in ACP to configure notification/email delay for chats 2020-09-28 11:15:45 -04:00
Renovate Bot
aacf8f22f5 chore(deps): update dependency eslint-plugin-import to v2.22.1 2020-09-28 10:35:51 -04:00
Misty (Bot)
f66cb05fcf Latest translations and fallbacks 2020-09-28 09:09:30 +00:00
Timothy Fike
f85fe7faff don't invite an already invited email (#8688)
* don't invite an already invited email

* add email-invited translation string
2020-09-27 22:11:25 -04:00
Timothy Fike
5078a8df25 ttl/pttl (#8689) 2020-09-27 22:10:46 -04:00
renovate[bot]
119ab71950 chore(deps): update dependency eslint to v7.10.0 (#8687)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-27 13:36:55 -04:00
Misty (Bot)
852ec92e93 Latest translations and fallbacks 2020-09-27 09:06:11 +00:00
Barış Soner Uşaklı
16039b1117 refactor: post edit 2020-09-25 15:54:55 -04:00
renovate[bot]
d0010c405e fix(deps): update dependency nodebb-theme-persona to v10.2.39 (#8684)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 15:21:52 -04:00
renovate[bot]
bb04f149f3 fix(deps): update dependency nodebb-theme-persona to v10.2.38 (#8683)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 14:58:26 -04:00
psychobunny
8dc11b3586 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-25 14:47:50 -04:00
psychobunny
b6f2f0e5d0 fix: #8681 change owner modal's search should check if user is banned 2020-09-25 14:47:22 -04:00
psychobunny
611f3c6155 feat: allow autocomplete to pass optional params to user.search 2020-09-25 14:46:25 -04:00
Misty (Bot)
5e01d28898 chore: update changelog for v1.15.0-beta.26 2020-09-25 18:42:10 +00:00
Misty (Bot)
62c440957e chore: incrementing version number - v1.15.0-beta.26 2020-09-25 18:42:10 +00:00
Julian Lam
f8032cd09b fix: add img-responsive to post queue post items 2020-09-25 12:22:58 -04:00
Misty (Bot)
7fa61fafbf Latest translations and fallbacks 2020-09-25 09:08:39 +00:00
Barış Soner Uşaklı
ff8a833a6d chore: up persona 2020-09-24 22:33:18 -04:00
Renovate Bot
30aa7e83a1 fix(deps): update dependency json2csv to v5.0.3 2020-09-24 20:19:23 -04:00
renovate[bot]
07172b6fe8 fix(deps): update dependency nodebb-theme-persona to v10.2.36 (#8680)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-24 19:19:17 -04:00
renovate[bot]
68a5e7e319 fix(deps): update dependency nodebb-theme-persona to v10.2.35 (#8679)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-24 18:32:32 -04:00
Renovate Bot
5a2adb4254 fix(deps): update dependency json2csv to v5.0.2 2020-09-24 16:43:04 -04:00
Julian Lam
5ddf70221c feat: upon plugin installation via ACP, check against nbbpm first 2020-09-24 15:06:47 -04:00
Misty (Bot)
8b855720f8 Latest translations and fallbacks 2020-09-24 09:10:01 +00:00
Barış Soner Uşaklı
342de83225 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-23 19:41:43 -04:00
Barış Soner Uşaklı
8e88ccd6a6 feat: up benchpress 2020-09-23 19:41:35 -04:00
psychobunny
4a0f54ae17 chore: up persona 2020-09-23 19:29:24 -04:00
Misty (Bot)
240a04b406 chore: update changelog for v1.15.0-beta.25 2020-09-23 17:27:28 +00:00
Misty (Bot)
1124d4ee41 chore: incrementing version number - v1.15.0-beta.25 2020-09-23 17:27:28 +00:00
psychobunny
2ad3305879 fix: language key in reset password 2020-09-23 11:46:02 -04:00
Julian Lam
0fffe28941 fix: issue where the last flag filter could not be removed 2020-09-23 10:24:06 -04:00
renovate[bot]
abe8377387 fix(deps): update dependency nodebb-theme-persona to v10.2.33 (#8675)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-23 08:30:48 -04:00
psychobunny
2cd5f959a0 feat: add row highlighting for popular and unread 2020-09-23 08:10:08 -04:00
psychobunny
48a8ec4ab2 feat: return to previous page and/or category after marking topic unread
... also return to category if pagination is active and previous page was another page in the thread
2020-09-23 07:57:45 -04:00
Misty (Bot)
6ebd2c80e7 Latest translations and fallbacks 2020-09-23 09:10:07 +00:00
Barış Soner Uşaklı
bd9b6c99e6 feat: add missing lang key 2020-09-23 01:04:58 -04:00
Barış Soner Uşaklı
032e600120 chore: up persona 2020-09-23 01:02:17 -04:00
Barış Soner Uşaklı
83d4e7efaa feat: add number of posters to topic 2020-09-23 00:59:42 -04:00
renovate[bot]
80dbf97a2f fix(deps): update dependency nodebb-theme-persona to v10.2.31 (#8673)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-22 22:45:05 -04:00
Misty (Bot)
72ab5ba1da chore: update changelog for v1.15.0-beta.24 2020-09-23 01:38:37 +00:00
Misty (Bot)
23ba071de7 chore: incrementing version number - v1.15.0-beta.24 2020-09-23 01:38:36 +00:00
Barış Soner Uşaklı
f2f3ba49b6 feat: hightlight matches in quick search
fix title hightlights
2020-09-22 21:20:02 -04:00
Barış Soner Uşaklı
e09f00ba0a Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-22 20:52:08 -04:00
Barış Soner Uşaklı
f8ef380b34 fix: multiword match highlight 2020-09-22 20:51:26 -04:00
renovate[bot]
7ecac97a95 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.57 (#8672)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-22 20:26:57 -04:00
renovate[bot]
c8a75631ac fix(deps): update dependency nodebb-theme-persona to v10.2.30 (#8671)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-22 20:25:54 -04:00
Barış Soner Uşaklı
d38c872259 feat: add loading indicator 2020-09-22 20:22:50 -04:00
psychobunny
82ab6cd3b1 fix: tooltip placement on navbar search 2020-09-22 19:25:56 -04:00
psychobunny
5407bf48e5 chore: up persona 2020-09-22 19:19:50 -04:00
psychobunny
683c01b0d3 fix: rogue tooltip on navbar profile icon 2020-09-22 19:12:12 -04:00
psychobunny
4c2eab4b52 chore: up persona 2020-09-22 19:01:07 -04:00
Julian Lam
81595095da feat: allow plugins to override tags and tag counts 2020-09-22 15:58:24 -04:00
Barış Soner Uşaklı
445a840b88 fix: #8580, @julianlam 2020-09-22 10:18:26 -04:00
psychobunny
d989cb9988 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-21 22:27:44 -04:00
Barış Soner Uşaklı
bbf6889ecc fix: topic count on category page if filter is author 2020-09-21 22:24:38 -04:00
psychobunny
703ac1b685 fix: match api when modifying ajaxify.data.deleted (int, not bool) 2020-09-21 22:20:17 -04:00
Barış Soner Uşaklı
9a7c3c689f fix: lock/unlock toggle issue 2020-09-21 22:03:51 -04:00
psychobunny
91133b0f48 chore: up persona 2020-09-21 21:40:56 -04:00
Barış Soner Uşaklı
ac43cd8b6f fix: #8665, trim email before checking validity 2020-09-21 20:50:56 -04:00
Barış Soner Uşaklı
ccddbb15c9 feat: edit test 2020-09-21 15:15:30 -04:00
Barış Soner Uşaklı
e72fe25920 fix: editing posts saving uncessary data 2020-09-21 15:12:13 -04:00
Barış Soner Uşaklı
654d583059 fix: api spec 2020-09-21 15:00:40 -04:00
Barış Soner Uşaklı
4f14dc7a58 fix: #8640, add bookmarks to intFields 2020-09-21 14:57:00 -04:00
psychobunny
bcac080543 chore: up persona 2020-09-21 13:23:04 -04:00
psychobunny
9dc4db1f14 chore: up persona 2020-09-21 13:12:43 -04:00
psychobunny
9da69dc35b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-21 13:12:05 -04:00
psychobunny
ba70a1bf88 chore: up persona 2020-09-21 13:11:49 -04:00
renovate[bot]
72cd5f139f fix(deps): update dependency nodebb-theme-persona to v10.2.24 (#8663)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-21 13:03:57 -04:00
renovate[bot]
55921ccf50 fix(deps): update dependency postcss to v8.0.6 (#8657)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-21 12:40:30 -04:00
renovate[bot]
0123209014 fix(deps): update dependency validator to v13.1.17 (#8659)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-21 12:40:12 -04:00
renovate[bot]
b175d671a2 fix(deps): update dependency sharp to v0.26.1 (#8660)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-21 12:39:54 -04:00
Barış Soner Uşaklı
02a48e1c64 fix: change user tooltip container to content 2020-09-21 12:04:29 -04:00
Barış Soner Uşaklı
fe2dc3101e fix: auth tests 2020-09-21 11:45:12 -04:00
Barış Soner Uşaklı
af43f0e48e fix: #8656, rename /api/me to /api/self 2020-09-21 11:11:56 -04:00
Misty (Bot)
9e7f5b9403 Latest translations and fallbacks 2020-09-21 09:09:16 +00:00
Misty (Bot)
bd10559121 Latest translations and fallbacks 2020-09-20 09:05:55 +00:00
Barış Soner Uşaklı
95c65e2da0 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-19 21:18:16 -04:00
Barış Soner Uşaklı
23de5613bd feat: add x-posts/x-votes keys 2020-09-19 21:17:44 -04:00
Misty (Bot)
4f9131fdc3 Latest translations and fallbacks 2020-09-19 09:06:43 +00:00
Barış Soner Uşaklı
047c414841 fix: add user tooltips to body
so they don't get cutoff  in containers with overflow:hidden
2020-09-18 21:28:52 -04:00
Misty (Bot)
e6ea208c06 chore: update changelog for v1.15.0-beta.23 2020-09-18 23:00:46 +00:00
Misty (Bot)
61a04eb9a0 chore: incrementing version number - v1.15.0-beta.23 2020-09-18 23:00:45 +00:00
Barış Soner Uşaklı
ddc0ac37ab feat: allow adding nested replies to a target component 2020-09-18 18:43:06 -04:00
Julian Lam
43571bac38 feat: hotkey "/" to open ACP search 2020-09-18 16:24:38 -04:00
Julian Lam
763cec31bd feat: ctr-s for save on privileges page too 2020-09-18 16:17:44 -04:00
Julian Lam
8093142340 feat: ctrl-s now saves on settingsv1/v2 forms
... because nobody ever uses ctrl-s on a browser window.
2020-09-18 15:40:16 -04:00
renovate[bot]
dc0a4a49b7 fix(deps): update dependency nodebb-widget-essentials to v4.1.2 (#8658)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-17 23:23:02 -04:00
Barış Soner Uşaklı
6669b23d9a feat: single href 2020-09-17 23:11:04 -04:00
Misty (Bot)
59ee74c282 chore: update changelog for v1.15.0-beta.22 2020-09-18 02:08:01 +00:00
Misty (Bot)
9c9329ee19 chore: incrementing version number - v1.15.0-beta.22 2020-09-18 02:08:01 +00:00
Barış Soner Uşaklı
22cd265434 fix: tests 2020-09-17 21:52:05 -04:00
Barış Soner Uşaklı
220297d501 fix: use correct topic count for category 2020-09-17 21:41:54 -04:00
Renovate Bot
2833624e4e chore(deps): update dependency lint-staged to v10.4.0 2020-09-16 09:31:34 -04:00
Misty (Bot)
8089542e09 chore: update changelog for v1.15.0-beta.21 2020-09-16 03:16:22 +00:00
Misty (Bot)
966cdc1376 chore: incrementing version number - v1.15.0-beta.21 2020-09-16 03:16:22 +00:00
Barış Soner Uşaklı
f1f82dd610 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-15 23:00:10 -04:00
Barış Soner Uşaklı
42298fe659 fix: clear old value on focus
hide results if input lost focus during search
2020-09-15 23:00:01 -04:00
Julian Lam
70d3ad025a fix(deps): postcss and autoprefixer version incompatibility 2020-09-15 20:34:56 -04:00
Renovate Bot
5ea172f9a6 fix(deps): update dependency nodebb-plugin-mentions to v2.10.0 2020-09-15 19:42:57 -04:00
Renovate Bot
606794818e fix(deps): update dependency autoprefixer to v10 2020-09-15 19:42:49 -04:00
Misty (Bot)
1650f30312 chore: update changelog for v1.15.0-beta.20 2020-09-15 23:21:06 +00:00
Misty (Bot)
c8e57ec195 chore: incrementing version number - v1.15.0-beta.20 2020-09-15 23:21:06 +00:00
Barış Soner Uşaklı
c9c9dd2f9b fix: skip elements if they dont have proper index 2020-09-15 18:49:11 -04:00
Misty (Bot)
9cde5105ad chore: update changelog for v1.15.0-beta.19 2020-09-15 20:20:42 +00:00
Misty (Bot)
2eb7c2842a chore: incrementing version number - v1.15.0-beta.19 2020-09-15 20:20:42 +00:00
Barış Soner Uşaklı
7148be2fd1 feat: allow passing in container to threadTools 2020-09-15 16:05:45 -04:00
Barış Soner Uşaklı
99f24c5997 fix: call to reskin 2020-09-15 09:55:52 -04:00
Renovate Bot
b1d781e858 chore(deps): update dependency eslint to v7.9.0 2020-09-14 16:12:28 -04:00
Misty (Bot)
b2ca968673 chore: update changelog for v1.15.0-beta.18 2020-09-14 18:55:07 +00:00
Misty (Bot)
e096791e3e chore: incrementing version number - v1.15.0-beta.18 2020-09-14 18:55:06 +00:00
Julian Lam
685633d031 fix(deps): bump theme versions 2020-09-14 14:31:15 -04:00
Barış Soner Uşaklı
7cd30650b2 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-14 14:28:03 -04:00
Barış Soner Uşaklı
437424375e feat: expose calculateTopicPostCount and getChildrenTree 2020-09-14 14:27:44 -04:00
Julian Lam
44309ee62f fix: move necro-post to be in-line with posts 2020-09-14 14:15:22 -04:00
Julian Lam
4fca79380a fix: tests, because redis is TOO FAST 2020-09-14 11:07:46 -04:00
Julian Lam
29b357bc66 refactor: expose new method for appending moderation note 2020-09-14 10:16:45 -04:00
Misty (Bot)
d617815823 chore: update changelog for v1.15.0-beta.17 2020-09-14 00:10:55 +00:00
Misty (Bot)
f1c2809220 chore: incrementing version number - v1.15.0-beta.17 2020-09-14 00:10:54 +00:00
renovate[bot]
8089387bae fix(deps): update dependency nodebb-plugin-composer-default to v6.3.56 (#8648)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-13 20:09:32 -04:00
Barış Soner Uşaklı
5e8c376115 fix: remove old test 2020-09-13 19:48:41 -04:00
Barış Soner Uşaklı
de824007d9 feat: allow custom req.query.filter on /unread /recent 2020-09-13 19:41:39 -04:00
Barış Soner Uşaklı
a8e18fdbe6 fix: client side crash if there are no topics 2020-09-13 19:40:01 -04:00
Misty (Bot)
21ae81b4af Latest translations and fallbacks 2020-09-13 09:06:13 +00:00
Barış Soner Uşaklı
38d3982bf1 fix: #8418
allow updating other profile fields when username isnt being changed
2020-09-12 21:48:56 -04:00
Barış Soner Uşaklı
4be693f2e7 feat: fullname search (#8641)
* feat: fullname search

* fix: take last element

* fix: attempt to fix psql like query

* feat: upgrade sript, another fix attempt

* fix: psql test

* fix: psql scan

* feat: add debug for test

* feat: test collate

* feat: cleanup

* fix: upgrade script
2020-09-11 23:20:49 -04:00
Barış Soner Uşaklı
9389749b79 feat: sorted set lex test 2020-09-11 21:12:49 -04:00
Renovate Bot
c5ca2609a6 fix(deps): update dependency nodebb-theme-persona to v10.2.22 2020-09-11 15:19:39 -04:00
Renovate Bot
8acdf3f615 fix(deps): update dependency nodebb-theme-vanilla to v11.2.16 2020-09-11 15:19:26 -04:00
Julian Lam
0891236142 fix: typo 2020-09-11 14:41:10 -04:00
Julian Lam
7e7366be13 fix: remove toolsVisible in post tools' menu [breaking] 2020-09-11 11:11:58 -04:00
Renovate Bot
ed0469b5bb fix(deps): update dependency nodebb-theme-persona to v10.2.21 2020-09-11 11:09:07 -04:00
Renovate Bot
134ebba636 fix(deps): update dependency nodebb-theme-vanilla to v11.2.15 2020-09-11 11:08:58 -04:00
Misty (Bot)
e08297ff73 chore: update changelog for v1.15.0-beta.16 2020-09-11 05:10:23 +00:00
Misty (Bot)
6043c9cbd8 chore: incrementing version number - v1.15.0-beta.16 2020-09-11 05:10:22 +00:00
Barış Soner Uşaklı
65d049c6f9 fix: tests 2020-09-11 00:55:43 -04:00
Barış Soner Uşaklı
2d5bd153e0 fix: check if unread_tids are followed 2020-09-11 00:39:45 -04:00
Renovate Bot
31635e3e58 fix(deps): update dependency nodebb-theme-vanilla to v11.2.14 2020-09-10 21:44:14 -04:00
Renovate Bot
2a13e583d4 fix(deps): update dependency nodebb-theme-persona to v10.2.20 2020-09-10 21:38:44 -04:00
Barış Soner Uşaklı
e90940949c fix: openapi 2020-09-10 18:50:07 -04:00
Barış Soner Uşaklı
c1c617b323 feat: add topicIndex to category page 2020-09-10 18:26:56 -04:00
renovate[bot]
4969c86909 fix(deps): update dependency mongodb to v3.6.2 (#8634)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-10 15:43:23 -04:00
Misty (Bot)
74f14829a0 Latest translations and fallbacks 2020-09-10 09:10:31 +00:00
Misty (Bot)
f878b92cc6 chore: update changelog for v1.15.0-beta.15 2020-09-09 21:28:17 +00:00
Misty (Bot)
10b94f9bfa chore: incrementing version number - v1.15.0-beta.15 2020-09-09 21:28:17 +00:00
Barış Soner Uşaklı
34eb1bd244 feat: up lavender/slick 2020-09-09 17:01:07 -04:00
renovate[bot]
8137cdc22d fix(deps): update dependency nodebb-theme-vanilla to v11.2.13 (#8633)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-09 16:56:56 -04:00
renovate[bot]
37e37c868d fix(deps): update dependency nodebb-theme-persona to v10.2.19 (#8632)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-09 16:56:27 -04:00
Barış Soner Uşaklı
632793b067 fix: dont use hardcoded fontawesome icons for lock pin 2020-09-09 16:40:03 -04:00
Barış Soner Uşaklı
f6d564667e feat: switch to using topic/select component for merge
automatically add the selected tids to the merge modal
2020-09-09 16:00:11 -04:00
Misty (Bot)
66ef90df9f Latest translations and fallbacks 2020-09-09 09:07:18 +00:00
Misty (Bot)
5e60d09201 chore: update changelog for v1.15.0-beta.14 2020-09-09 02:03:53 +00:00
Misty (Bot)
6ca4b86f7e chore: incrementing version number - v1.15.0-beta.14 2020-09-09 02:03:52 +00:00
Julian Lam
762e9fe88c feat: undo for posts move 2020-09-08 21:36:36 -04:00
Julian Lam
65d94a3b6d fix: #8629 and change undo timeout to 10 seconds 2020-09-08 21:35:20 -04:00
renovate[bot]
7ab8707285 fix(deps): update dependency nodebb-theme-vanilla to v11.2.12 (#8628)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-08 19:53:05 -04:00
renovate[bot]
2740655d2d fix(deps): update dependency nodebb-theme-persona to v10.2.18 (#8627)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-08 19:52:48 -04:00
Barış Soner Uşaklı
2bebdf017d fix: alert_id selector 2020-09-08 19:48:08 -04:00
Barış Soner Uşaklı
a78e1df965 fix: use text-right 2020-09-08 19:26:57 -04:00
Barış Soner Uşaklı
5a40d26b44 feat: #8626, new move posts modal 2020-09-08 19:22:38 -04:00
Julian Lam
885e0ebfde Revert "fix: bypass nbbpm for now"
This reverts commit 33c1bd5f01.
2020-09-08 11:42:35 -04:00
Julian Lam
61a8c6f037 chore: update commitlint config 2020-09-08 11:38:23 -04:00
Misty (Bot)
ca8d492b9a chore: update changelog for v1.15.0-beta.13 2020-09-08 14:08:41 +00:00
Misty (Bot)
bdd71c51a4 chore: incrementing version number - v1.15.0-beta.13 2020-09-08 14:08:41 +00:00
Misty (Bot)
0cec103489 Latest translations and fallbacks 2020-09-08 09:08:54 +00:00
renovate[bot]
d82a145b6f Update dependency nodebb-theme-slick to v1.2.32 (#8625)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-07 22:21:09 -04:00
renovate[bot]
d507ba3531 Update dependency @apidevtools/swagger-parser to v10.0.2 (#8622)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-07 21:51:53 -04:00
renovate[bot]
7738482be9 Update dependency husky to v4.3.0 (#8621)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-07 21:51:21 -04:00
renovate[bot]
fd6259c8f6 fix(deps): update dependency nodebb-theme-vanilla to v11.2.11 (#8624)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-07 21:51:06 -04:00
renovate[bot]
a1d310bd2c fix(deps): update dependency nodebb-theme-persona to v10.2.17 (#8623)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-07 21:50:56 -04:00
Barış Soner Uşaklı
a34b685c65 fix: remove lang keys, remove sounds menu 2020-09-07 21:44:23 -04:00
Barış Soner Uşaklı
8a752364a7 fix: lavender version 2020-09-07 21:09:03 -04:00
Misty (Bot)
61590c7e54 Latest translations and fallbacks 2020-09-07 09:08:02 +00:00
Barış Soner Uşaklı
5f10d67db5 Remove sounds (#8617)
* feat: remove sounds

* feat: remove more sounds

* feat: disable sounds plugin

* fix: openapi
2020-09-06 23:45:00 -04:00
renovate[bot]
251ea79bd2 fix(deps): update dependency nodebb-theme-slick to v1.2.30 (#8620)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-06 23:09:22 -04:00
Barış Soner Uşaklı
e3a0b4b1c1 fix: tests 2020-09-06 23:08:00 -04:00
Barış Soner Uşaklı
01681ab4bf Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-06 23:07:46 -04:00
renovate[bot]
0d85dc4818 fix(deps): update dependency nodebb-theme-persona to v10.2.16 (#8618)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-06 22:58:57 -04:00
renovate[bot]
b52301b1af fix(deps): update dependency nodebb-theme-vanilla to v11.2.10 (#8619)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-06 22:58:25 -04:00
Barış Soner Uşaklı
4bace773f9 fix: wider widget area 2020-09-06 22:48:50 -04:00
Barış Soner Uşaklı
5002e0f62c feat: refactor app.js 2020-09-06 22:36:09 -04:00
Barış Soner Uşaklı
19c448612d feat: remove global RELATIVE_PATH 2020-09-06 22:12:53 -04:00
Barış Soner Uşaklı
3cd3b7a172 feat: remove app.template 2020-09-06 22:07:39 -04:00
Barış Soner Uşaklı
630bac2aa5 feat: remove global window.templates 2020-09-06 21:55:31 -04:00
Barış Soner Uşaklı
fddeb5c0f8 feat: remove app.isConnected, use socket.connected 2020-09-06 21:51:45 -04:00
Barış Soner Uşaklı
33c1bd5f01 fix: bypass nbbpm for now 2020-09-06 21:46:35 -04:00
Barış Soner Uşaklı
46ab2711d4 fix: #8432, add CSP frame-ancestors 2020-09-06 17:10:43 -04:00
Barış Soner Uşaklı
6fc31df033 feat: use const/let 2020-09-06 17:04:43 -04:00
Barış Soner Uşaklı
4588e52120 fix: allow setting maximumAboutMeLength to 0 2020-09-05 18:30:39 -04:00
psychobunny
a38784f567 fix: additional commit for CF rocket loader 2020-09-04 22:43:03 -04:00
psychobunny
4d6659553b feat: allow nbb to work with cloudflare rocket loader 🚀 2020-09-04 22:29:21 -04:00
Barış Soner Uşaklı
53a5f1516e feat: move code 2020-09-04 22:16:38 -04:00
Barış Soner Uşaklı
b6917b9dee feat: #8602, dont send emails to unconfirmed addresses 2020-09-04 22:12:42 -04:00
renovate[bot]
69373fded7 fix(deps): update dependency nodebb-theme-vanilla to v11.2.9 (#8616)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-04 21:18:52 -04:00
renovate[bot]
3c0540c16e fix(deps): update dependency nodebb-theme-persona to v10.2.15 (#8614)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-04 20:58:04 -04:00
Barış Soner Uşaklı
94da9fe55e feat: add partials/footer/js.tpl
add ajaxify.coldLoad which gets called from partials/footer/js.tpl
2020-09-04 20:53:21 -04:00
Barış Soner Uşaklı
4031a8cab1 fix: stack trace 2020-09-04 17:34:47 -04:00
Barış Soner Uşaklı
54b497258f feat: add missing name to profile image upload 2020-09-04 01:16:11 -04:00
Barış Soner Uşaklı
b0a759223d feat: add action:user.removeCoverPicture 2020-09-04 01:06:10 -04:00
Barış Soner Uşaklı
962446a5ac feat: add user data to action:user.removeUploadedPicture 2020-09-04 00:55:16 -04:00
Barış Soner Uşaklı
9542ef1285 feat: add userData to action:user.delete 2020-09-04 00:40:58 -04:00
Barış Soner Uşaklı
a263897627 fix: #8604 2020-09-03 22:03:14 -04:00
Barış Soner Uşaklı
1b7ba2c8f1 feat: force upgrade scripts for test 2020-09-03 14:08:30 -04:00
Peter Jaszkowiak
64a457a441 fix(bug): #8611, custom route logic corrected (#8612) 2020-09-03 13:47:23 -04:00
Barış Soner Uşaklı
1e5981c0d6 feat: replace relative urls to absolute before sending email notifs
https://github.com/NodeBB/NodeBB/pull/8366/files
2020-09-03 12:02:07 -04:00
Barış Soner Uşaklı
c495aacc3e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-09-03 11:30:39 -04:00
Barış Soner Uşaklı
57f67e2b91 fix: don't toggle elements if there is no inputEl 2020-09-03 11:29:34 -04:00
renovate[bot]
391102766f chore(deps): update dependency eslint to v7.8.1 (#8597)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 08:57:30 -04:00
renovate[bot]
5ba23f2404 fix(deps): update dependency socket.io-redis to v5.4.0 (#8600)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 08:54:25 -04:00
renovate[bot]
dc1f1db9a1 chore(deps): update dependency lint-staged to v10.3.0 (#8608)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 08:53:43 -04:00
renovate[bot]
97e3543e96 fix(deps): update dependency nodebb-theme-vanilla to v11.2.8 (#8599)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 08:52:36 -04:00
renovate[bot]
1bb0896e49 fix(deps): update dependency nodebb-theme-persona to v10.2.12 (#8598)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 08:52:27 -04:00
renovate[bot]
5fc2f5f996 Update dependency mongodb to v3.6.1 (#8603)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 08:52:12 -04:00
Misty (Bot)
b7db0f200e Latest translations and fallbacks 2020-09-03 09:08:32 +00:00
Misty (Bot)
0a24260571 chore: update changelog for v1.15.0-beta.12 2020-09-03 02:14:17 +00:00
Misty (Bot)
b852c9b7e0 chore: incrementing version number - v1.15.0-beta.12 2020-09-03 02:14:16 +00:00
Julian Lam
f743f92088 refactor: socket posts delete/restore/purge so tid is not necessary (#8607)
* refactor: socket posts delete/restore/purge so tid is not necessary

* refactor: stop trying to be fancy

* fix: tests to not pass in tid into posts.deletePosts

* fix: some more unnecessary tid passing
2020-09-02 21:51:35 -04:00
renovate[bot]
dfeb65bb95 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.55 (#8606)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-02 19:58:16 -04:00
Misty (Bot)
f07ba8665e chore: update changelog for v1.15.0-beta.11 2020-09-02 18:29:34 +00:00
Misty (Bot)
c1ce7391e2 chore: incrementing version number - v1.15.0-beta.11 2020-09-02 18:29:34 +00:00
Barış Soner Uşaklı
09de364e93 feat: add client side action:flag.create 2020-09-02 14:06:04 -04:00
Misty (Bot)
2a4f4f5aec Latest translations and fallbacks 2020-09-02 09:09:47 +00:00
Misty (Bot)
b201bb2111 Latest translations and fallbacks 2020-09-01 09:06:02 +00:00
Misty (Bot)
9c34ecede6 chore: update changelog for v1.15.0-beta.10 2020-09-01 01:38:50 +00:00
Misty (Bot)
f252d4d73b chore: incrementing version number - v1.15.0-beta.10 2020-09-01 01:38:50 +00:00
renovate[bot]
05efeff619 chore(deps): update dependency mocha to v8.1.3 (#8588)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-31 21:17:06 -04:00
renovate[bot]
e1b9814219 chore(deps): update dependency eslint to v7.8.0 (#8594)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-31 21:16:51 -04:00
Julian Lam
0c20351702 feat: additional sorting options for flags
+ upvotes, +downvotes, +replies
2020-08-31 17:21:15 -04:00
Renovate Bot
27426c0629 fix(deps): update dependency nodebb-plugin-markdown to v8.12.1 2020-08-31 11:14:41 -04:00
Misty (Bot)
02a5fe9c68 Latest translations and fallbacks 2020-08-30 09:05:26 +00:00
Barış Soner Uşaklı
896fe9d65e fix: don't crash on outdated redis instances 2020-08-28 20:31:21 -04:00
Misty (Bot)
affc7927c5 chore: update changelog for v1.15.0-beta.9 2020-08-28 20:44:53 +00:00
Misty (Bot)
8dc513da24 chore: incrementing version number - v1.15.0-beta.9 2020-08-28 20:44:53 +00:00
Julian Lam
0e58d2b866 fix: update post-queue hook names 2020-08-28 11:50:21 -04:00
Misty (Bot)
3b960c3b64 chore: update changelog for v1.15.0-beta.8 2020-08-28 00:55:48 +00:00
Misty (Bot)
34bb869c96 chore: incrementing version number - v1.15.0-beta.8 2020-08-28 00:55:47 +00:00
Julian Lam
694f4b2bcf fix: accept/reject in post-queue instead of accept/delete 2020-08-27 20:05:08 -04:00
Misty (Bot)
e449ff9a4c chore: update changelog for v1.15.0-beta.7 2020-08-28 00:03:32 +00:00
Misty (Bot)
fd917b8eae chore: incrementing version number - v1.15.0-beta.7 2020-08-28 00:03:32 +00:00
Renovate Bot
64f4179ac5 fix(deps): update dependency nodebb-theme-vanilla to v11.2.5 2020-08-27 17:46:05 -04:00
Renovate Bot
777419b2e8 fix(deps): update dependency nodebb-theme-persona to v10.2.10 2020-08-27 17:42:14 -04:00
Julian Lam
8cc36de284 feat: new filter hook prior to post queue addition
filter:post.queue
2020-08-27 16:47:32 -04:00
Julian Lam
b587127560 fix: new openapi def for replies addition 2020-08-27 14:56:51 -04:00
Julian Lam
a9dfc9a74e feat: add replies to getPostSummaryByPids 2020-08-27 14:46:07 -04:00
Julian Lam
e0c7d65a92 Revert "feat: add reply count to getPostSummaryByPids"
This reverts commit de0f4aadb8.
2020-08-27 14:44:51 -04:00
Julian Lam
de0f4aadb8 feat: add reply count to getPostSummaryByPids 2020-08-27 13:21:18 -04:00
Misty (Bot)
a7f03b64b2 chore: update changelog for v1.15.0-beta.6 2020-08-27 14:08:45 +00:00
Misty (Bot)
a9019cbef5 chore: incrementing version number - v1.15.0-beta.6 2020-08-27 14:08:45 +00:00
Misty (Bot)
c25af08da0 Latest translations and fallbacks 2020-08-27 09:05:49 +00:00
Barış Soner Uşaklı
9f9164a9be fix: #8582 2020-08-26 22:04:18 -04:00
Julian Lam
fb3b4a0293 fix: debug logging 🐶 2020-08-26 22:03:04 -04:00
Julian Lam
56101ae5ae fix: ip-blacklist not working after #8580 2020-08-26 22:00:42 -04:00
Julian Lam
c681b4b2e0 fix: ip-blacklist not working after #8580 2020-08-26 22:00:42 -04:00
Julian Lam
dc5bd7601f fix: post-queue not working after #8580 2020-08-26 22:00:42 -04:00
Renovate Bot
efc30e97ec chore(deps): update dependency lint-staged to v10.2.13 2020-08-26 12:48:01 -04:00
Julian Lam
a93e19559d fix: #8411 missing language sources for ip-blacklist/post-queue 2020-08-26 11:20:34 -04:00
Julian Lam
4dc6e64a94 refactor: ip-blacklist and post-queue language files
closes #8411
2020-08-26 10:56:06 -04:00
Kyle Farris
2b785628e7 fix: removed invalid options for the sendmail transport (#8576)
* Removed invalid options for the sendmail transport that were causing Nodemailer to return the SMTPTransport instead.

* Removed options for rate limiting in admin email interface. Added new option for toggling whether to use pooled connections.
2020-08-26 10:46:59 -04:00
Julian Lam
6e805c1be7 feat: theme work for #8580, closes #8580 2020-08-26 10:38:21 -04:00
Julian Lam
b6b94a56dc refactor: moved ip-blacklist and post-queue styles/tpls to themes
This is a breaking change!, re: #8580
2020-08-26 10:36:29 -04:00
Misty (Bot)
073c4d7886 Latest translations and fallbacks 2020-08-26 09:05:41 +00:00
Misty (Bot)
0e90064e45 chore: update changelog for v1.15.0-beta.5 2020-08-26 02:04:46 +00:00
Misty (Bot)
81e4c4df97 chore: incrementing version number - v1.15.0-beta.5 2020-08-26 02:04:46 +00:00
Julian Lam
abb5e81d0d feat: allow undo of topic move 2020-08-25 21:43:05 -04:00
Julian Lam
cd8e7963de feat: added alert.timeoutfn
Also, various alert methods now pass two arguments,
alert and params
2020-08-25 21:42:59 -04:00
Julian Lam
bacee6b467 fix: missing localisation for topic move error 2020-08-25 21:40:40 -04:00
Julian Lam
5d60dce379 fix: select all checkbox does not re-enable bulk actions button 2020-08-25 21:11:17 -04:00
renovate[bot]
7ca967ee61 fix(deps): update dependency sharp to v0.26.0 (#8578)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-25 20:50:51 -04:00
renovate[bot]
c722b0e513 chore(deps): update dependency mocha to v8.1.2 (#8579)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-25 20:49:41 -04:00
Julian Lam
a4dbbc3749 feat: sort dependencies alphabetically
... when merging from install/package.json

/cc @pitaj
2020-08-25 11:06:51 -04:00
Misty (Bot)
6c4aed8cf4 chore: update changelog for v1.15.0-beta.4 2020-08-25 13:02:59 +00:00
Misty (Bot)
f2726a6df4 chore: incrementing version number - v1.15.0-beta.4 2020-08-25 13:02:59 +00:00
Barış Soner Uşaklı
9a84b4a9b7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-08-25 08:51:24 -04:00
Barış Soner Uşaklı
55533b11e5 fix: dupes in unread followed topics 2020-08-25 08:51:15 -04:00
Andrew Rodrigues
af9f328cad feat: up persona 2020-08-25 08:40:11 -04:00
Barış Soner Uşaklı
39f4bbaa0e fix: wrong data passed to getCategories 2020-08-24 10:12:08 -04:00
Misty (Bot)
5f15afff39 Latest translations and fallbacks 2020-08-23 09:05:22 +00:00
Misty (Bot)
11e2ccaba6 chore: update changelog for v1.15.0-beta.3 2020-08-22 21:58:59 +00:00
Misty (Bot)
39178c2d41 chore: incrementing version number - v1.15.0-beta.3 2020-08-22 21:58:59 +00:00
Barış Soner Uşaklı
354e6ccc66 feat: banning a user will resolve their post flags 2020-08-22 17:34:19 -04:00
Barış Soner Uşaklı
4f7cfd5372 fix: openapi spec 2020-08-22 17:33:57 -04:00
Barış Soner Uşaklı
c4ad14cb68 fix: api spec 2020-08-22 17:30:34 -04:00
Barış Soner Uşaklı
91d9333a50 fix: username, email history disappering if content was deleted 2020-08-22 17:13:26 -04:00
Misty (Bot)
074d7dfd86 Latest translations and fallbacks 2020-08-22 09:05:26 +00:00
Andrew Rodrigues
9fd3775325 fix: up composer 2020-08-21 18:34:11 -04:00
Julian Lam
840cb5105f fix: package-install clobbering scoped nodebb plugins 2020-08-21 17:08:15 -04:00
Misty (Bot)
d8a9f1c3be chore: update changelog for v1.15.0-beta.2 2020-08-21 20:18:01 +00:00
Misty (Bot)
59b50d0ae4 chore: incrementing version number - v1.15.0-beta.2 2020-08-21 20:18:01 +00:00
Julian Lam
4b0cb26b34 fix: empty "manage" menu showing in ACP
... if no privileges corresponding to those menu items
are given
2020-08-21 15:42:04 -04:00
Julian Lam
cc2686057c fix: hide nodebb version in ACP for non-superadmins 2020-08-21 15:35:42 -04:00
Julian Lam
cf2f1e956a refactor: changed way middleware was exported 2020-08-21 15:29:40 -04:00
Julian Lam
f00595b32d fix: change how admin middlewares are exported 2020-08-21 15:11:54 -04:00
Julian Lam
ae68a254d7 fix: one less return, to appease codeclimate 2020-08-21 15:06:35 -04:00
Julian Lam
03bd76dea2 fix: inability to access /admin if not superadmin
There was an odd issue where non-superadmins could not use
the /admin route to access the ACP, even though they had
appropriate access. For whatever reason, it could not
be reliably reproduced on my dev. As it turns out, the
reason was because I was checking the wrong privilege,
and my dev database had this wrong privilege leftover
from the initial development of the ACP admin privileges
feature. Dumb.

Anyhow, that fixes this issue.
2020-08-21 15:00:51 -04:00
Barış Soner Uşaklı
29e3ab247d fix: #8560, fix old upgrade script
db.connect no longer exists at the root
2020-08-21 14:14:46 -04:00
Julian Lam
9cbe9389f5 fix: use promises in privilege save
... instead of jQuery Deferreds
2020-08-21 12:02:53 -04:00
Julian Lam
7a5daff4c9 fix: overzealous click handler on flag list row 2020-08-21 11:52:49 -04:00
Misty (Bot)
f425cecded Latest translations and fallbacks 2020-08-21 09:06:52 +00:00
Julian Lam
9608b44f21 fix: +comment, -debug log 2020-08-20 16:10:16 -04:00
Misty (Bot)
aeca19d5f4 chore: update changelog for v1.15.0-beta.1 2020-08-20 20:05:01 +00:00
Misty (Bot)
4fa57fbb25 chore: incrementing version number - v1.15.0-beta.1 2020-08-20 20:05:00 +00:00
Julian Lam
5415c01c51 feat: theme changes for #8571 2020-08-20 14:56:41 -04:00
Julian Lam
a3a2279358 feat: logic for bulk actions in flags list, #8571 2020-08-20 14:51:24 -04:00
Julian Lam
589216e720 fix: multiple alerts in the same millisecond overwrite each other 2020-08-20 14:32:20 -04:00
Julian Lam
6521e4dac4 Revert "feat: expose global/admin privileges to all routes"
This reverts commit 4737f937ee.
2020-08-20 13:21:30 -04:00
Julian Lam
2a948d32a4 Revert "test(openapi): missing commonprops addition"
This reverts commit 0dc55bbc80.
2020-08-20 13:21:26 -04:00
Julian Lam
0dc55bbc80 test(openapi): missing commonprops addition 2020-08-20 10:50:45 -04:00
Julian Lam
563937950a fix: reintroduce 20s delay for api tests 2020-08-20 10:40:24 -04:00
Julian Lam
4737f937ee feat: expose global/admin privileges to all routes
@barisusakli revert if necessary 😬
2020-08-20 10:36:11 -04:00
Julian Lam
b2271eb64f fix: client-side error in flags/detail
... as the filter form is no longer present in the details page
2020-08-20 10:36:11 -04:00
Misty (Bot)
bb7bd1b421 Latest translations and fallbacks 2020-08-20 09:06:54 +00:00
Andrew Rodrigues
7daba7ddc1 fix: #8570 2020-08-19 15:26:09 -04:00
Misty (Bot)
bff809831a chore: incrementing version number - v1.15.0-beta.0 2020-08-19 13:43:32 +00:00
Misty (Bot)
d9a050354d chore: incrementing version number - v1.14.3-beta.16 2020-08-19 13:38:05 +00:00
Renovate Bot
df61d0806f chore(deps): update dependency grunt to v1.3.0 2020-08-19 09:28:17 -04:00
Julian Lam
3efe2362e2 fix: sorting the flags list by newest is not considered a filter
... as it is default
2020-08-19 09:15:18 -04:00
Julian Lam
e047b72c87 feat: additional tests for #8569 2020-08-19 09:04:37 -04:00
Julian Lam
360aa00d5a fix: flag list tests due to breaking change in API 2020-08-19 09:04:37 -04:00
Misty (Bot)
07ebc81a2f Latest translations and fallbacks 2020-08-19 09:06:02 +00:00
Julian Lam
d935f03636 fix(openapi): tests 2020-08-18 21:42:36 -04:00
Julian Lam
334be11382 fix: no-widgets messaging in ACP + copy 2020-08-18 21:39:10 -04:00
Julian Lam
346db0d84d feat: flags list sorting, closes #8569 2020-08-18 21:03:59 -04:00
Julian Lam
cabe62a06c fix: #8568 perPage not acting like a filter 2020-08-18 18:49:59 -04:00
Misty (Bot)
1101fa3394 Latest translations and fallbacks 2020-08-18 09:12:04 +00:00
Renovate Bot
877cdfb9ad chore(deps): update commitlint monorepo to v9.1.2 2020-08-17 13:12:37 -04:00
Renovate Bot
49aeda01b9 fix(deps): update dependency ipaddr.js to v2 2020-08-17 13:12:14 -04:00
psychobunny
bd557af218 feat: up theme 2020-08-17 10:41:55 -04:00
Misty (Bot)
6bb60b0965 Latest translations and fallbacks 2020-08-17 09:06:03 +00:00
Misty (Bot)
e2a253f2cb chore: incrementing version number - v1.14.3-beta.15 2020-08-16 17:40:56 +00:00
Barış Soner Uşaklı
35a538ec2a feat: allow adding multiple users to group 2020-08-16 13:09:36 -04:00
Barış Soner Uşaklı
f1e82b6441 feat: add filter:group.getOwnersAndMembers 2020-08-16 12:03:21 -04:00
Misty (Bot)
7f57d39cd5 Latest translations and fallbacks 2020-08-16 09:05:31 +00:00
Misty (Bot)
2b930c894a Latest translations and fallbacks 2020-08-15 09:05:37 +00:00
renovate[bot]
f1398da2e1 chore(deps): update dependency eslint to v7.7.0 (#8564)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-14 20:54:59 -04:00
Julian Lam
9c70b6620e feat: pass uid into filter:flags.list 2020-08-14 16:27:02 -04:00
Barış Soner Uşaklı
31c2b7d946 fix: #8562 2020-08-14 14:10:47 -04:00
Julian Lam
2adae87949 fix: progress bar clobbering upgrade script name 2020-08-14 12:21:38 -04:00
Julian Lam
ac75c9a052 fix: tweak upgrade script progress bar to only update 100 times in total 2020-08-14 12:16:43 -04:00
Julian Lam
80a2a700ce fix: navigation title unescape upgrade script tweak 2020-08-14 12:06:34 -04:00
Julian Lam
7456a0e34e fix: new language key for error handling 2020-08-14 11:33:36 -04:00
Julian Lam
de8eebbd7c fix: upgrade scripts not run properly if schemaDate is present
Only affected VERY old installs that don't use schemaLog
2020-08-14 11:28:44 -04:00
Misty (Bot)
ea53c95d67 Latest translations and fallbacks 2020-08-14 09:05:50 +00:00
Barış Soner Uşaklı
0189945996 refactor: remove util.promisify calls 2020-08-14 00:05:03 -04:00
Julian Lam
45c8de129c feat: added security policy for github 2020-08-13 16:56:52 -04:00
Barış Soner Uşaklı
bfaf648ec3 fix: #8556, catch errors from admin check 2020-08-13 14:56:58 -04:00
Barış Soner Uşaklı
326827382a fix: upgrade script for 1.15.0 2020-08-13 14:17:43 -04:00
Renovate Bot
87674d6852 fix(deps): update dependency nodebb-theme-lavender to v5.1.0 2020-08-13 13:48:41 -04:00
Misty (Bot)
2aa36b649a Latest translations and fallbacks 2020-08-13 09:06:42 +00:00
Barış Soner Uşaklı
846b7d2430 refactor: change pwd change logic
add one more test
2020-08-12 22:09:22 -04:00
renovate[bot]
bb8f7c74be chore(deps): update dependency jsdom to v16.4.0 (#8554)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-12 21:17:52 -04:00
renovate[bot]
fde4f11038 chore(deps): update dependency eslint-config-airbnb-base to v14.2.0 (#8396)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-12 21:17:35 -04:00
Julian Lam
6e34b9efa2 fix(docs): updating changelog 2020-08-12 20:53:51 -04:00
Barış Soner Uşaklı
b97b51a8ac feat: up deps 2020-08-12 15:37:09 -04:00
Barış Soner Uşaklı
a333cb6ca4 feat: one more test 2020-08-12 13:46:30 -04:00
Barış Soner Uşaklı
ecda4ad8ad feat: tests for password change 2020-08-12 13:42:55 -04:00
Julian Lam
16cee1b03b fix: improper targetUid check during password change 2020-08-12 13:23:58 -04:00
Julian Lam
0903eb4b8c feat: limit privileges column to superadmins only 2020-08-12 13:00:55 -04:00
Misty (Bot)
9500871e47 chore: incrementing version number - v1.14.3-beta.14 2020-08-12 04:35:41 +00:00
Peter Jaszkowiak
1d170e0c1c fix: #8547, remove old deps during upgrade (#8557) 2020-08-11 14:32:44 -04:00
Julian Lam
12edd18b46 feat: use nodebb-scoped bootswatch
closes #8527
2020-08-11 13:43:25 -04:00
Barış Soner Uşaklı
6e91885836 feat: use assetBaseUrl instead of hardcoding 2020-08-11 11:09:46 -04:00
Barış Soner Uşaklı
3f01f4a2b8 Revert "feat: load timeago strings client-side"
This reverts commit 558a2d739c.
2020-08-11 11:06:46 -04:00
Julian Lam
558a2d739c feat: load timeago strings client-side
9adaccd036 introduced the ability to
configure an assetBaseUrl, but the timeago strings were still
calling a hardcoded value as it was handled server-side. There's
no need for the strings to be loaded until timeago is initialised.
2020-08-11 11:00:45 -04:00
Barış Soner Uşaklı
79e847d424 fix: #8558, only navigate if user is in same topic 2020-08-11 10:20:17 -04:00
Misty (Bot)
b5a2e4b69f chore: incrementing version number - v1.14.3-beta.13 2020-08-10 15:18:56 +00:00
Julian Lam
8ff09630b6 fix(openapi): new api definition 2020-08-10 10:35:44 -04:00
Julian Lam
9adaccd036 feat: +assetBaseUrl, -l10BaseUrl, -requireBaseUrl
Additional base URLs were necessary for benchpress and translator,
and in order to not clutter the API response with needless one-
time use base URLs, I decided to use a single base that is used
by all of the services, assetBaseUrl.
2020-08-10 10:23:52 -04:00
Misty (Bot)
75ef4bbe34 Latest translations and fallbacks 2020-08-09 09:05:53 +00:00
Barış Soner Uşaklı
b61a4da50c feat: #8550, add upgrade script test
flush test db after tests are complete
2020-08-07 20:20:02 -04:00
Barış Soner Uşaklı
33c5988c34 refactor: rewrite src/upgrade.js with async/await 2020-08-07 19:52:04 -04:00
Barış Soner Uşaklı
231d34d0aa fix: upgrade script 2020-08-07 19:26:18 -04:00
Barış Soner Uşaklı
8887f0edaa fix: don't allow duplicate upgrade script names 2020-08-07 18:57:40 -04:00
Misty (Bot)
f4c986a79a chore: incrementing version number - v1.14.3-beta.12 2020-08-07 20:10:21 +00:00
Julian Lam
9e3fd0e479 Revert "feat: #8493, plugin helper for standardised link/button injection"
This reverts commit 0bbb813e4b.
2020-08-07 12:25:17 -04:00
Sam Thompson
0bbb813e4b feat: #8493, plugin helper for standardised link/button injection 2020-08-07 11:48:04 -04:00
Julian Lam
d6297b28e9 fix: tests 2020-08-07 11:45:15 -04:00
Julian Lam
9f3b78118a fix: send hard 404 instead of soft 404 for missing modules
We used to send a soft 404 because require.js would error out on
a 404, but it seems years ago, error handling was added to the
require() call, so a hard 404 will not throw errors to the console
2020-08-07 11:32:07 -04:00
Renovate Bot
8032c8bdfe fix(deps): update dependency nodebb-theme-persona to v10.2.5 2020-08-07 10:52:40 -04:00
Misty (Bot)
8a6bc10eb1 Latest translations and fallbacks 2020-08-07 09:06:08 +00:00
Barış Soner Uşaklı
d6baf5c278 feat: show event/params on error 2020-08-06 11:25:13 -04:00
Julian Lam
68f8d6e3a1 fix: #8549 send 308 Permanent Redirect on topic/category shortlinks 2020-08-06 10:49:15 -04:00
Julian Lam
def16f9e97 feat: introduce overridable l10nBaseUrl config value 2020-08-06 10:49:15 -04:00
Misty (Bot)
9846498df7 Latest translations and fallbacks 2020-08-06 09:06:05 +00:00
Barış Soner Uşaklı
3fceb83c5e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-08-05 22:32:26 -04:00
Barış Soner Uşaklı
58933c4cd1 feat: allow multiple empty lines 2020-08-05 22:32:13 -04:00
renovate[bot]
788a8bfe2a chore(deps): update dependency eslint-plugin-import to v2.22.0 (#8390)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-05 22:29:49 -04:00
Barış Soner Uşaklı
2c35d0ba87 refactor: change incrementViewCount and markAsRead to async/await 2020-08-05 22:05:35 -04:00
Barış Soner Uşaklı
dfabd0a3fe feat: remove administrator property from public routes 2020-08-05 14:24:00 -04:00
Renovate Bot
fe352eb1de chore(deps): update dependency mocha to v8.1.1 2020-08-04 15:27:35 -04:00
Barış Soner Uşaklı
4216c277d5 feat: focus username when modal is shown 2020-08-04 13:39:27 -04:00
Barış Soner Uşaklı
774e5d0429 feat: add helmet middlewares 2020-08-04 09:51:30 -04:00
Barış Soner Uşaklı
6812691d32 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-08-04 08:49:32 -04:00
Barış Soner Uşaklı
c39c51139b fix: remove default helmet 2020-08-04 08:49:23 -04:00
Misty (Bot)
3463fc51c6 Latest translations and fallbacks 2020-08-04 09:06:28 +00:00
Misty (Bot)
8618c32a72 chore: incrementing version number - v1.14.3-beta.11 2020-08-04 01:26:32 +00:00
Julian Lam
2ee6248316 refactor: for codeclimate 2020-08-03 21:01:36 -04:00
Julian Lam
a7071bb808 fix: map instead of forEach in privileges save 2020-08-03 20:50:17 -04:00
Julian Lam
a716a5529c feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals (#8541)
* feat: privileges save button, #8537, WIP

* fix: disable firefox autocomplete on privilege form fields

* feat: closes #8537 privilege changes commit on save

- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs

* fix(tests): remove duplicate template helper test

* fix(tests): broken template helper test

* feat: confirm dialogs for all privilege copy actions

Also, ability to add user to a privilege table without needing
to refresh the privilege table.

* feat: group row addition w/o table refresh

breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:

- filter:privileges.list, filter:privileges.admin.list,
  filter:privileges.global.list, filter:privileges.groups.list,
  filter:privileges.admin.groups.list,
  filter:privileges.gloval.groups.list

The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.

* fix: stale ajaxify data on privilege category switch

* fix: implicit privileges not showing for user privs

* fix: groups, not group, also fix tests

* fix(tests): again

* fix: wrong tpl rendered when adding group to global priv table
2020-08-03 20:42:45 -04:00
Julian Lam
0f10e0836b fix: remove duplicate configuration for helmet-hsts 2020-08-03 20:40:44 -04:00
renovate[bot]
ad68a338c4 fix(deps): update dependency helmet to v4 (#8543)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-03 11:04:39 -04:00
renovate[bot]
37418375f2 chore(deps): update dependency eslint to v7.6.0 (#8540)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-03 11:03:33 -04:00
renovate[bot]
4160e8285f fix(deps): update dependency mongodb to v3.6.0 (#8535)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-03 11:03:14 -04:00
renovate[bot]
72a78833fe chore(deps): update dependency mocha to v8.1.0 (#8536)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-03 10:57:53 -04:00
Misty (Bot)
8da742e065 Latest translations and fallbacks 2020-08-03 09:06:00 +00:00
renovate[bot]
b30ecffbf2 fix(deps): update dependency nodebb-theme-persona to v10.2.4 (#8544)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-02 12:34:09 -04:00
Misty (Bot)
903c407171 Latest translations and fallbacks 2020-08-02 09:05:38 +00:00
Misty (Bot)
fa341714fd chore: incrementing version number - v1.14.3-beta.10 2020-08-01 01:41:46 +00:00
Barış Soner Uşaklı
e7a502e0aa feat: add ability to search groups in group details page 2020-07-31 21:21:15 -04:00
Barış Soner Uşaklı
335169f2b1 fix: don't process invalid topics, fallback to 0 score 2020-07-31 18:20:24 -04:00
Barış Soner Uşaklı
6924a22238 fix: tests 2020-07-31 14:54:16 -04:00
Barış Soner Uşaklı
bb224184d8 fix: #8539, enforce content checks for post queue 2020-07-31 13:37:14 -04:00
Barış Soner Uşaklı
776e34a80f refactor: rewrite src/install with async/await 2020-07-31 12:49:25 -04:00
Julian Lam
6c00ec8435 refactor: removed rather redundant flag reporters zset 2020-07-31 11:38:05 -04:00
Julian Lam
0f2b6f1ff7 fix: bug; additional reports could be added by the same user repeatedly 2020-07-31 11:38:05 -04:00
Barış Soner Uşaklı
519e665939 fix: #8538, go to first unread instead of last read 2020-07-31 10:34:10 -04:00
Misty (Bot)
029f477434 Latest translations and fallbacks 2020-07-31 09:06:17 +00:00
Barış Soner Uşaklı
0d698a079e fix: #8533, validate and retry password during setup 2020-07-30 22:48:24 -04:00
Barış Soner Uşaklı
9e80a9efdd fix: #8534, dont show modal on search 2020-07-30 22:33:11 -04:00
Misty (Bot)
9945c4099f chore: incrementing version number - v1.14.3-beta.9 2020-07-30 19:17:00 +00:00
Barış Soner Uşaklı
fb7bb8d400 feat: use category selector in category page
fix privilege shortcuts in group page after search
2020-07-30 14:55:28 -04:00
Barış Soner Uşaklı
560f3eb173 feat: css fixes 2020-07-30 12:39:10 -04:00
Barış Soner Uşaklı
91411cc47c feat: add privileges shortcut to groups list
fix issues with escape group names
2020-07-30 12:26:37 -04:00
Julian Lam
fcdbdf63a3 refactor: flags object in post tools 2020-07-30 09:53:16 -04:00
Misty (Bot)
caa78cc1f6 Latest translations and fallbacks 2020-07-30 09:06:18 +00:00
Barış Soner Uşaklı
f1974fb900 refactor: pass only needed data 2020-07-29 21:48:31 -04:00
Barış Soner Uşaklı
9f346c53ab fix: language string 2020-07-29 21:29:06 -04:00
Misty (Bot)
b5dcce9c29 chore: incrementing version number - v1.14.3-beta.8 2020-07-29 23:00:58 +00:00
Barış Soner Uşaklı
f89ec20574 feat: allow passing groupName to user.search 2020-07-29 18:32:08 -04:00
Julian Lam
292d490443 feat: #8531, closes #8531 2020-07-29 16:57:28 -04:00
Julian Lam
c705e08a76 feat: allow direct link to flag from post tools, #8531 2020-07-29 16:55:18 -04:00
Barış Soner Uşaklı
8415d2f014 fix: api test 2020-07-29 14:29:07 -04:00
Barış Soner Uşaklı
c4829fd8c2 feat: allow changing requirejs base url 2020-07-29 14:14:45 -04:00
Barış Soner Uşaklı
9df871bee2 fix: tests 2020-07-29 12:53:36 -04:00
Barış Soner Uşaklı
bbc7737e14 feat: ability to clear cache from acp 2020-07-29 12:50:18 -04:00
Barış Soner Uşaklı
69fb15276c fix: tests 2020-07-29 12:19:07 -04:00
Barış Soner Uşaklı
8d8117ffa1 feat: reduce amount of data loaded on acp admin page
get rid of socket call and use ajaxify.data.categories
2020-07-29 11:57:20 -04:00
Barış Soner Uşaklı
7331faed9f fix: reverse uid checks 2020-07-29 11:48:32 -04:00
Barış Soner Uşaklı
303bffdb5f feat: remove require fallback for plugins 2020-07-29 11:19:29 -04:00
Barış Soner Uşaklı
2dfe9d49f4 fix: acp view category button if category is a link 2020-07-29 09:25:21 -04:00
Barış Soner Uşaklı
52718ce0ba fix: remove old test 2020-07-29 09:14:23 -04:00
Barış Soner Uşaklı
f5f7d8926b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-29 08:22:27 -04:00
Barış Soner Uşaklı
762b0be4b4 feat: remove /assets/stylesheet.css 2020-07-29 08:20:41 -04:00
Barış Soner Uşaklı
6250a2e242 feat: add node 14 2020-07-28 21:36:08 -04:00
Misty (Bot)
d580cf01c3 Latest translations and fallbacks 2020-07-28 09:06:14 +00:00
Barış Soner Uşaklı
5e5815f051 fix: #8515, fix login redirect on subfolder 2020-07-27 22:28:07 -04:00
Misty (Bot)
2531c44cdf chore: incrementing version number - v1.14.3-beta.7 2020-07-28 02:05:58 +00:00
Barış Soner Uşaklı
f48d155670 fix: tests 2020-07-27 21:50:07 -04:00
Barış Soner Uşaklı
fd4c3cda42 fix: #4695, remove new notif alert 2020-07-27 21:34:21 -04:00
Julian Lam
8473e165a6 fix: too small sortable handle for ACP>Manage>Categories
The handle was initially just the icon, but now it is the icon
and the category label itself.
2020-07-27 16:07:52 -04:00
Misty (Bot)
97088f6887 chore: incrementing version number - v1.14.3-beta.6 2020-07-27 17:43:36 +00:00
Misty (Bot)
93d1ceccdd Latest translations and fallbacks 2020-07-27 17:18:47 +00:00
Misty (Bot)
43e9c25d26 Latest translations and fallbacks 2020-07-27 17:09:09 +00:00
Barış Soner Uşaklı
db07dd8565 fix: less fixes for category dropdown 2020-07-27 13:03:34 -04:00
Barış Soner Uşaklı
24535a62e7 feat: make category tools in acp a dropdown
add view category, view privileges into dropdown
2020-07-27 12:39:32 -04:00
Barış Soner Uşaklı
37e56d94ce feat: series upload 2020-07-27 11:46:14 -04:00
renovate[bot]
7a59c2fc71 fix(deps): update dependency nodebb-theme-persona to v10.2.1 (#8529)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-25 20:48:05 -04:00
Barış Soner Uşaklı
8bd63f61e0 feat: resolve flag on delete/purge/ban/delete account 2020-07-25 18:26:09 -04:00
Barış Soner Uşaklı
c54b6b9c7e refactor: startup 2020-07-25 09:44:50 -04:00
Barış Soner Uşaklı
57135761ca fix: move check inside lock 2020-07-25 09:26:08 -04:00
Barış Soner Uşaklı
af91c26a6f refactor: get rid of bind calls 2020-07-25 09:14:13 -04:00
Barış Soner Uşaklı
e045436c07 feat: 8502, don't change topics sitemaps on every reply
sort by topic creation in ascending order
2020-07-24 16:11:18 -04:00
Barış Soner Uşaklı
0a9ea91fea feat: allow building custom languages during dev 2020-07-24 15:47:28 -04:00
Misty (Bot)
a33a8a5a27 chore: incrementing version number - v1.14.3-beta.5 2020-07-24 19:07:39 +00:00
Barış Soner Uşaklı
cc86f079e1 feat: add link-plugins.sh 2020-07-24 15:04:14 -04:00
Barış Soner Uşaklı
79009d8775 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-24 14:55:37 -04:00
Barış Soner Uşaklı
d1cb405d86 fix: #7351, display less errors with location and error message 2020-07-24 14:54:01 -04:00
Renovate Bot
d24a4bd305 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.53 2020-07-24 14:53:24 -04:00
Julian Lam
345fd72b30 fix: use shorter git url, #8527 2020-07-24 14:42:43 -04:00
Barış Soner Uşaklı
609e37a67b feat: remove deprecated utils.walk 2020-07-24 14:29:08 -04:00
Julian Lam
b714ed22e7 fix(deps): bump themes
closes #8510
2020-07-24 14:11:30 -04:00
Julian Lam
55b0e902fb feat: consolidation of flags to reduce flagspam, #8510
Squashed commit of the following:

commit c6d0939620
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 13:41:32 2020 -0400

    fix: more tests

commit 32f9af2a87
Merge: e50907535 4eae927d1
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:53:04 2020 -0400

    Merge remote-tracking branch 'origin/master' into singleton-flags

commit e509075351
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:52:46 2020 -0400

    fix: controllers-admin test

commit fd5af99e30
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:26:55 2020 -0400

    fix(tests): dummy commit to trigger travisCI

commit c452a6ffcf
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:05:09 2020 -0400

    fix(openapi): openapi spec changes

commit 8089a74e89
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:48:00 2020 -0400

    fix: reversing the order of reports for display purposes

commit a099892b37
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:45:44 2020 -0400

    refactor: run all flag creation calls in a single batch

commit b24999682f
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:08:23 2020 -0400

    feat: handling multiple reporters per flag, #8510

commit 08c75c0200
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Jul 16 20:53:18 2020 -0400

    feat: upgrade script for #8510
2020-07-24 14:10:37 -04:00
Barış Soner Uşaklı
3761f05c98 feat: change invalid language codes to default lang 2020-07-24 12:22:24 -04:00
Barış Soner Uşaklı
a294e1cdd1 feat: add npx, fixes ghfw 2020-07-24 12:03:35 -04:00
Barış Soner Uşaklı
ce6b20c4b7 feat: remove topics.async.getTopicData usage 2020-07-24 12:02:16 -04:00
Barış Soner Uşaklı
0cea713691 feat: remove deprecated checkGlobalPrivacySettings 2020-07-24 11:42:37 -04:00
Barış Soner Uşaklı
a0da2ba774 feat: remove deprecated isAdmin method 2020-07-24 11:40:21 -04:00
Barış Soner Uşaklı
2cdb935f1d feat: remove file.isFileTypeAllowed 2020-07-24 11:21:26 -04:00
Barış Soner Uşaklı
4eae927d14 feat: remove deprecated hooks 2020-07-24 10:39:51 -04:00
renovate[bot]
8c498fa1c9 chore(deps): update dependency @apidevtools/swagger-parser to v10.0.1 (#8517)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 10:05:13 -04:00
renovate[bot]
75fb2a478e fix(deps): update dependency commander to v6 (#8518)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 10:04:59 -04:00
Barış Soner Uşaklı
9869064ec5 feat: update readme 2020-07-24 10:02:07 -04:00
Barış Soner Uşaklı
b39e014047 feat: up node version to 10 2020-07-24 10:01:24 -04:00
renovate[bot]
c872bd8b22 chore(deps): update dependency nyc to v15.1.0 (#8353)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 10:00:12 -04:00
renovate[bot]
b2be329cfd chore(deps): update dependency eslint to v7.5.0 (#8463)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:57:27 -04:00
renovate[bot]
82ada1bd78 chore(deps): update dependency jsdom to v16.3.0 (#8483)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:57:00 -04:00
renovate[bot]
b2dc6d60ab chore(deps): update dependency grunt to v1.2.1 (#8462)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:56:41 -04:00
renovate[bot]
f1cc4e29f4 fix(deps): update dependency archiver to v5 (#8523)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:56:16 -04:00
renovate[bot]
2941b9f982 fix(deps): update dependency lru-cache to v6 (#8490)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:55:48 -04:00
renovate[bot]
9c17a6779c fix(deps): update dependency connect-redis to v5 (#8480)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:55:33 -04:00
Misty (Bot)
55b3e376c6 chore: incrementing version number - v1.14.3-beta.4 2020-07-24 06:01:31 +00:00
psychobunny
4c90fac412 fix: cursor for category select 2020-07-24 01:30:16 -04:00
psychobunny
bc26883aed refactor: setting codeclimate to A 2020-07-23 23:23:35 -04:00
psychobunny
8769e28b28 fix: api docs for admin/manage/groups/x 2020-07-23 23:00:02 -04:00
Barış Soner Uşaklı
b9cff5775c fix: edge case in test
if user is created the other one will be renamed
2020-07-23 21:42:23 -04:00
psychobunny
a6ae69737b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-23 18:34:20 -04:00
psychobunny
10e4ae629c feat: highlight privs row if group is added / navigating from group page 2020-07-23 18:34:07 -04:00
psychobunny
53f6139b8c feat: prevent navigation away from groups page if changes are unsaved 2020-07-23 18:06:55 -04:00
psychobunny
2c83278f97 feat: quick access dropdown on groups page to access privileges page 2020-07-23 17:59:52 -04:00
Barış Soner Uşaklı
42af4b572b fix: api tests 2020-07-23 16:54:36 -04:00
Barış Soner Uşaklı
844f2b4ed0 feat: #8524, allow editing category of queued topic 2020-07-23 16:43:56 -04:00
Barış Soner Uşaklı
7260646d6c fix: #8500, allow regular users select topics on unread 2020-07-23 09:27:00 -04:00
Barış Soner Uşaklı
4658121a7d fix: don't crash if content is undefined 2020-07-22 17:03:29 -04:00
Misty (Bot)
5a5abf3c4e chore: incrementing version number - v1.14.3-beta.3 2020-07-22 16:08:50 +00:00
Barış Soner Uşaklı
fefe994af5 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-22 11:46:22 -04:00
Barış Soner Uşaklı
ff3c343532 feat: remove js-enabled 2020-07-22 11:46:10 -04:00
renovate[bot]
ac257a6586 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.52 (#8522)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-22 11:41:11 -04:00
Misty (Bot)
bbab183fec chore: incrementing version number - v1.14.3-beta.2 2020-07-22 14:54:41 +00:00
Barış Soner Uşaklı
ec05783507 feat: remove js-enabled.css 2020-07-22 10:38:52 -04:00
Barış Soner Uşaklı
a3c8d45626 fix: crash if csrfToken does not exist 2020-07-21 21:07:31 -04:00
Barış Soner Uşaklı
6f889c9c83 fix: try again 2020-07-21 20:53:25 -04:00
Barış Soner Uşaklı
a46adb3fd5 fix: more tests 2020-07-21 20:43:16 -04:00
Barış Soner Uşaklı
65395ae59d fix: tests 2020-07-21 20:32:36 -04:00
Barış Soner Uşaklı
72c60d19c2 fix: tests 2020-07-21 20:08:40 -04:00
Barış Soner Uşaklı
67ca5e3256 fix: tests 2020-07-21 18:26:26 -04:00
Barış Soner Uşaklı
2a5f8ab27e feat: dont load all subscribers at once
increase batch to 500
2020-07-21 18:19:46 -04:00
Barış Soner Uşaklı
23a9a334cd feat: short more info 2020-07-21 18:08:53 -04:00
Misty (Bot)
2c06f6ace1 chore: incrementing version number - v1.14.3-beta.1 2020-07-21 01:43:15 +00:00
Barış Soner Uşaklı
2485a55092 feat: #8521, allow editing title before posting from queue 2020-07-20 21:28:17 -04:00
Barış Soner Uşaklı
8ddc8dd10f refactor: make msg pretty 2020-07-20 17:58:42 -04:00
Barış Soner Uşaklı
764969ab29 feat: show language when key isn't found 2020-07-20 17:56:03 -04:00
Barış Soner Uşaklı
1e7397b1b8 feat: allow searching categories in ACP 2020-07-20 13:17:08 -04:00
renovate[bot]
f06b1cecba fix(deps): update dependency nodebb-theme-persona to v10.1.68 (#8520)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-19 20:49:04 -04:00
Barış Soner Uşaklı
320008cd49 feat: #8509, don't scroll chat to bottom if user scrolled up 2020-07-19 14:34:31 -04:00
renovate[bot]
b5df576646 fix(deps): update dependency nodebb-plugin-mentions to v2.9.3 (#8516)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-18 22:03:20 -04:00
Renovate Bot
649c64e4d4 fix(deps): update dependency nodebb-plugin-dbsearch to v4.1.2 2020-07-17 16:46:25 -04:00
psychobunny
06143ca7d7 feat: added quick link to edit privileges on the category edit page 2020-07-17 16:27:47 -04:00
Renovate Bot
91bdc12a16 fix(deps): update dependency nodebb-plugin-mentions to v2.9.2 2020-07-17 15:46:25 -04:00
Renovate Bot
9e2c3ce005 chore(deps): update dependency @apidevtools/swagger-parser to v10 2020-07-16 19:42:20 -04:00
Barış Soner Uşaklı
3653151143 fix: #8508, dont allow moving topics if not moderator of target category 2020-07-16 16:47:49 -04:00
Julian Lam
1e14af4503 fix: composer textarea placeholder l10n /cc @pitaj 2020-07-16 16:25:36 -04:00
Renovate Bot
0e13fd0fc1 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.51 2020-07-16 10:08:45 -04:00
Misty (Bot)
3f87d5f9d0 chore: incrementing version number - v1.14.3-beta.0 2020-07-16 14:03:48 +00:00
Julian Lam
9fb9185fa7 feat: hide some filters behind 'more filters' button 2020-07-16 09:32:20 -04:00
Julian Lam
d52d7bdb10 feat: collapsible daily flags graph 2020-07-16 09:03:03 -04:00
Julian Lam
e3e55f25d0 refactor: flag sanity checks, +feat: flag limits
- Added new config flag:limitPerTarget, to disallow flags after an item has
  already been flagged x times (default 0, or infinite)
- New zset flags:byTarget, score is the number of times a flag has been made
  against that item
- "already-flagged" translation key removed, now "post-already-flagged" or
  "user-already-flagged" -- this fixed bug where flagging a user you've already
  flagged would tell you you've already flagged this post already.
- Refactored Flags.canFlag to throw errors only, instead of returning boolean
- Updated ACP form inputs for reputation settings page to be more bootstrappy
- +1 upgrade script
2020-07-15 17:10:49 -04:00
Misty (Bot)
cd94c24a86 chore: update changelog for v1.14.2 2020-07-15 16:03:40 +00:00
Misty (Bot)
e085c8463c Revert "chore: update changelog for v1.14.2"
This reverts commit 488e69fd80.
2020-07-15 16:01:10 +00:00
Misty (Bot)
1e4d683f4e chore: incrementing version number - v1.14.2
(cherry picked from commit 28970b030d)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-07-15 16:00:31 +00:00
Misty (Bot)
488e69fd80 chore: update changelog for v1.14.2 2020-07-15 16:00:31 +00:00
2607 changed files with 40882 additions and 33633 deletions

View File

@@ -17,6 +17,14 @@ checks:
similar-code:
config:
threshold: 65
plugins:
duplication:
enabled: true
config:
languages:
javascript:
mass_threshold: 110
count_threshold: 3
exclude_paths:
- "public/vendor/*"
- "test/*"

View File

@@ -7,7 +7,6 @@ node_modules/
logs/
/public/templates
/public/uploads
/public/sounds
/public/vendor
/public/src/modules/string.js
.idea/

View File

@@ -121,7 +121,7 @@
// "comma-spacing": "off",
// "no-trailing-spaces": "off",
// "key-spacing": "off",
// "no-multiple-empty-lines": "off",
"no-multiple-empty-lines": "off"
// "spaced-comment": "off",
// "space-in-parens": "off",
// "block-spacing": "off",

View File

@@ -9,6 +9,7 @@
- **NodeBB version:**
- **NodeBB git hash:**
- **NodeJS version:**
<!-- (to find your git hash, execute `git rev-parse HEAD` from the main NodeBB directory) -->
- **Installed NodeBB Plugins:**
<!-- (to find installed plugins run ./nodebb plugins) -->
@@ -19,6 +20,9 @@
<!--
1. First I did this...
2. Then, I clicked on this item...
A quick note: MP4 and MOV formatted video files are now allowed to be uploaded to GH.
Please upload if reproduction steps are hard to describe or reproduce reliably.
-->
- **What you expected:**
<!-- e.g. I expected *abc* to *xyz* -->

9
.github/SECURITY.md vendored Normal file
View File

@@ -0,0 +1,9 @@
# Reporting a security vulnerability
NodeBB's security policy is based around a private bug bounty program. Users are invited to explore NodeBB for vulnerabilities, and report them to the NodeBB team so that they can be patched.
If you have found a security vulnerability, **do not post it onto our GitHub tracker**. Some security vulnerabilities are quite severe and discretion is recommended. Email the NodeBB Security Team at security@nodebb.org, instead.
# Bug Bounty Program
Security vulnerability reports may be eligible for a bounty based on severity and confirmation from NodeBB team members. For full details regarding our bug bounty program, including the bounty amounts, please consult the following page: https://blog.nodebb.org/bounty

204
.github/workflows/test.yaml vendored Normal file
View File

@@ -0,0 +1,204 @@
name: Lint and test
on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop
defaults:
run:
shell: bash
jobs:
test:
name: Lint and test
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [10, 12, 14]
database: [mongo-dev, mongo, redis, postgres]
include:
# only run coverage once
- os: ubuntu-latest
node: 14
coverage: true
# test under development once
- database: mongo-dev
test_env: development
# only run eslint once
- os: ubuntu-latest
node: 14
database: mongo-dev
lint: true
runs-on: ${{ matrix.os }}
env:
TEST_ENV: ${{ matrix.test_env || 'production' }}
services:
postgres:
image: 'postgres:10-alpine'
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps port 5432 on service container to the host
- 5432:5432
redis:
image: 'redis:2.8.9'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps port 6379 on service container to the host
- 6379:6379
mongo:
image: 'mongo:3.2'
ports:
# Maps port 27017 on service container to the host
- 27017:27017
steps:
- uses: actions/checkout@v2
- run: cp install/package.json package.json
- name: Install Node
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
- name: NPM Install
uses: bahmutov/npm-install@v1
with:
useLockFile: false
- name: Setup on MongoDB
if: startsWith(matrix.database, 'mongo')
env:
SETUP: >-
{
"url": "http://127.0.0.1:4567",
"secret": "abcdef",
"admin:username": "admin",
"admin:email": "test@example.org",
"admin:password": "hAN3Eg8W",
"admin:password:confirm": "hAN3Eg8W",
"database": "mongo",
"mongo:host": "127.0.0.1",
"mongo:port": 27017,
"mongo:username": "",
"mongo:password": "",
"mongo:database": "nodebb"
}
CI: >-
{
"host": "127.0.0.1",
"port": 27017,
"database": "ci_test"
}
run: |
node app --setup="${SETUP}" --ci="${CI}"
- name: Setup on PostgreSQL
if: startsWith(matrix.database, 'postgres')
env:
SETUP: >-
{
"url": "http://127.0.0.1:4567",
"secret": "abcdef",
"admin:username": "admin",
"admin:email": "test@example.org",
"admin:password": "hAN3Eg8W",
"admin:password:confirm": "hAN3Eg8W",
"database": "postgres",
"postgres:host": "127.0.0.1",
"postgres:port": 5432,
"postgres:username": "postgres",
"postgres:password": "postgres",
"postgres:database": "nodebb"
}
CI: >-
{
"host": "127.0.0.1",
"database": "ci_test",
"port": 5432,
"username": "postgres",
"password": "postgres"
}
run: |
node -e "const { Client } = require('pg'); const c = new Client({ host: '127.0.0.1', port: 5432, user: 'postgres', password: 'postgres' }); c.connect().then(() => c.query('CREATE DATABASE nodebb')).then(() => c.query('CREATE DATABASE ci_test')).then(() => c.end())"
node app --setup="${SETUP}" --ci="${CI}"
- name: Setup on Redis
if: startsWith(matrix.database, 'redis')
env:
SETUP: >-
{
"url": "http://127.0.0.1:4567/forum",
"secret": "abcdef",
"admin:username": "admin",
"admin:email": "test@example.org",
"admin:password": "hAN3Eg8W",
"admin:password:confirm": "hAN3Eg8W",
"database": "redis",
"redis:host": "127.0.0.1",
"redis:port": 6379,
"redis:password": "",
"redis:database": 0
}
CI: >-
{
"host": "127.0.0.1",
"database": 1,
"port": 6379
}
run: |
node app --setup="${SETUP}" --ci="${CI}"
- name: Run ESLint
if: matrix.lint
run: npm run lint
- name: Node tests
run: npm test
- name: Extract coverage info
run: npm run coverage
- name: Test coverage
uses: coverallsapp/github-action@v1.1.2
if: matrix.coverage
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: ${{ matrix.os }}-node-${{ matrix.node }}-db-${{ matrix.database }}
parallel: true
finish:
needs: test
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v1.1.2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true

5
.gitignore vendored
View File

@@ -28,7 +28,6 @@ pidfile
# templates
/public/templates
/public/sounds
/public/uploads
/test/uploads
@@ -41,6 +40,7 @@ pidfile
/public/acp.min.js.map
/public/installer.css
/public/installer.min.js
/public/bootstrap.min.css
/public/logo.png
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
@@ -67,4 +67,5 @@ test/files/normalise.jpg.png
test/files/normalise-resized.jpg
package-lock.json
/package.json
*.mongodb
*.mongodb
link-plugins.sh

View File

@@ -1,47 +0,0 @@
services:
- mongodb
- redis-server
- postgresql
before_install:
- cp install/package.json package.json
- sudo apt-get update
- sudo apt-get --yes remove postgresql\*
- sudo apt-get install -y postgresql-12 postgresql-client-12
- sudo cp /etc/postgresql/{9.6,12}/main/pg_hba.conf
- sudo service postgresql restart 12
before_script:
- sleep 15 # wait for mongodb to be ready
- "mongo mydb_test --eval 'db.createUser({user:\"travis\", pwd: \"test\", roles: []});'"
- sh -c "if [ '$DB' = 'mongodb' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"mongo\\\",\\\"mongo:host\\\":\\\"127.0.0.1\\\",\\\"mongo:port\\\":27017,\\\"mongo:username\\\":\\\"\\\",\\\"mongo:password\\\":\\\"\\\",\\\"mongo:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":27017,\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
- sh -c "if [ '$DB' = 'redis' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567/forum\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"redis\\\",\\\"redis:host\\\":\\\"127.0.0.1\\\",\\\"redis:port\\\":6379,\\\"redis:password\\\":\\\"\\\",\\\"redis:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":6379,\\\"database\\\":1}\"; fi"
- sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database nodebb;' -U postgres; psql -c 'create database travis_ci_test;' -U postgres; node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"postgres\\\",\\\"postgres:host\\\":\\\"127.0.0.1\\\",\\\"postgres:port\\\":5433,\\\"postgres:password\\\":\\\"\\\",\\\"postgres:database\\\":\\\"nodebb\\\",\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":5433,\\\"username\\\":\\\"postgres\\\",\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
after_success:
- "npm run coveralls"
language: node_js
sudo: false
dist: xenial
env:
global:
- PGUSER=postgres
- PGPORT=5433
- CXX=g++-4.8
jobs:
- "DB=mongodb TEST_ENV=production"
- "DB=mongodb TEST_ENV=development"
- "DB=redis TEST_ENV=production"
- "DB=postgres TEST_ENV=production"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- mongodb-4.0-xenial
packages:
- g++-4.8
- mongodb-org-server
node_js:
- "12"
- "10"
branches:
only:
- master
- develop

View File

@@ -251,6 +251,106 @@ trans.zh_CN = public/language/zh-CN/modules.json
trans.zh_TW = public/language/zh-TW/modules.json
type = KEYVALUEJSON
[nodebb.post-queue]
file_filter = public/language/<lang>/post-queue.json
source_file = public/language/en-GB/post-queue.json
source_lang = en_GB
trans.ar = public/language/ar/post-queue.json
trans.bg = public/language/bg/post-queue.json
trans.bn = public/language/bn/post-queue.json
trans.cs = public/language/cs/post-queue.json
trans.da = public/language/da/post-queue.json
trans.de = public/language/de/post-queue.json
trans.el = public/language/el/post-queue.json
trans.en@pirate = public/language/en-x-pirate/post-queue.json
trans.en_US = public/language/en-US/post-queue.json
trans.es = public/language/es/post-queue.json
trans.et = public/language/et/post-queue.json
trans.fa_IR = public/language/fa-IR/post-queue.json
trans.fi = public/language/fi/post-queue.json
trans.fr = public/language/fr/post-queue.json
trans.gl = public/language/gl/post-queue.json
trans.he = public/language/he/post-queue.json
trans.hr = public/language/hr/post-queue.json
trans.hu = public/language/hu/post-queue.json
trans.id = public/language/id/post-queue.json
trans.it = public/language/it/post-queue.json
trans.ja = public/language/ja/post-queue.json
trans.ko = public/language/ko/post-queue.json
trans.lt = public/language/lt/post-queue.json
trans.lv = public/language/lv/post-queue.json
trans.ms = public/language/ms/post-queue.json
trans.nb = public/language/nb/post-queue.json
trans.nl = public/language/nl/post-queue.json
trans.pl = public/language/pl/post-queue.json
trans.pt_BR = public/language/pt-BR/post-queue.json
trans.pt_PT = public/language/pt-PT/post-queue.json
trans.ro = public/language/ro/post-queue.json
trans.ru = public/language/ru/post-queue.json
trans.rw = public/language/rw/post-queue.json
trans.sc = public/language/sc/post-queue.json
trans.sk = public/language/sk/post-queue.json
trans.sl = public/language/sl/post-queue.json
trans.sr = public/language/sr/post-queue.json
trans.sv = public/language/sv/post-queue.json
trans.th = public/language/th/post-queue.json
trans.tr = public/language/tr/post-queue.json
trans.uk = public/language/uk/post-queue.json
trans.vi = public/language/vi/post-queue.json
trans.zh_CN = public/language/zh-CN/post-queue.json
trans.zh_TW = public/language/zh-TW/post-queue.json
type = KEYVALUEJSON
[nodebb.ip-blacklist]
file_filter = public/language/<lang>/ip-blacklist.json
source_file = public/language/en-GB/ip-blacklist.json
source_lang = en_GB
trans.ar = public/language/ar/ip-blacklist.json
trans.bg = public/language/bg/ip-blacklist.json
trans.bn = public/language/bn/ip-blacklist.json
trans.cs = public/language/cs/ip-blacklist.json
trans.da = public/language/da/ip-blacklist.json
trans.de = public/language/de/ip-blacklist.json
trans.el = public/language/el/ip-blacklist.json
trans.en@pirate = public/language/en-x-pirate/ip-blacklist.json
trans.en_US = public/language/en-US/ip-blacklist.json
trans.es = public/language/es/ip-blacklist.json
trans.et = public/language/et/ip-blacklist.json
trans.fa_IR = public/language/fa-IR/ip-blacklist.json
trans.fi = public/language/fi/ip-blacklist.json
trans.fr = public/language/fr/ip-blacklist.json
trans.gl = public/language/gl/ip-blacklist.json
trans.he = public/language/he/ip-blacklist.json
trans.hr = public/language/hr/ip-blacklist.json
trans.hu = public/language/hu/ip-blacklist.json
trans.id = public/language/id/ip-blacklist.json
trans.it = public/language/it/ip-blacklist.json
trans.ja = public/language/ja/ip-blacklist.json
trans.ko = public/language/ko/ip-blacklist.json
trans.lt = public/language/lt/ip-blacklist.json
trans.lv = public/language/lv/ip-blacklist.json
trans.ms = public/language/ms/ip-blacklist.json
trans.nb = public/language/nb/ip-blacklist.json
trans.nl = public/language/nl/ip-blacklist.json
trans.pl = public/language/pl/ip-blacklist.json
trans.pt_BR = public/language/pt-BR/ip-blacklist.json
trans.pt_PT = public/language/pt-PT/ip-blacklist.json
trans.ro = public/language/ro/ip-blacklist.json
trans.ru = public/language/ru/ip-blacklist.json
trans.rw = public/language/rw/ip-blacklist.json
trans.sc = public/language/sc/ip-blacklist.json
trans.sk = public/language/sk/ip-blacklist.json
trans.sl = public/language/sl/ip-blacklist.json
trans.sr = public/language/sr/ip-blacklist.json
trans.sv = public/language/sv/ip-blacklist.json
trans.th = public/language/th/ip-blacklist.json
trans.tr = public/language/tr/ip-blacklist.json
trans.uk = public/language/uk/ip-blacklist.json
trans.vi = public/language/vi/ip-blacklist.json
trans.zh_CN = public/language/zh-CN/ip-blacklist.json
trans.zh_TW = public/language/zh-TW/ip-blacklist.json
type = KEYVALUEJSON
[nodebb.register]
file_filter = public/language/<lang>/register.json
source_file = public/language/en-GB/register.json
@@ -2300,56 +2400,6 @@ trans.zh_CN = public/language/zh-CN/admin/manage/groups.json
trans.zh_TW = public/language/zh-TW/admin/manage/groups.json
type = KEYVALUEJSON
[nodebb.admin-manage-ip-blacklist]
file_filter = public/language/<lang>/admin/manage/ip-blacklist.json
source_file = public/language/en-GB/admin/manage/ip-blacklist.json
source_lang = en_GB
trans.ar = public/language/ar/admin/manage/ip-blacklist.json
trans.bg = public/language/bg/admin/manage/ip-blacklist.json
trans.bn = public/language/bn/admin/manage/ip-blacklist.json
trans.cs = public/language/cs/admin/manage/ip-blacklist.json
trans.da = public/language/da/admin/manage/ip-blacklist.json
trans.de = public/language/de/admin/manage/ip-blacklist.json
trans.el = public/language/el/admin/manage/ip-blacklist.json
trans.en@pirate = public/language/en-x-pirate/admin/manage/ip-blacklist.json
trans.en_US = public/language/en-US/admin/manage/ip-blacklist.json
trans.es = public/language/es/admin/manage/ip-blacklist.json
trans.et = public/language/et/admin/manage/ip-blacklist.json
trans.fa_IR = public/language/fa-IR/admin/manage/ip-blacklist.json
trans.fi = public/language/fi/admin/manage/ip-blacklist.json
trans.fr = public/language/fr/admin/manage/ip-blacklist.json
trans.gl = public/language/gl/admin/manage/ip-blacklist.json
trans.he = public/language/he/admin/manage/ip-blacklist.json
trans.hr = public/language/hr/admin/manage/ip-blacklist.json
trans.hu = public/language/hu/admin/manage/ip-blacklist.json
trans.id = public/language/id/admin/manage/ip-blacklist.json
trans.it = public/language/it/admin/manage/ip-blacklist.json
trans.ja = public/language/ja/admin/manage/ip-blacklist.json
trans.ko = public/language/ko/admin/manage/ip-blacklist.json
trans.lt = public/language/lt/admin/manage/ip-blacklist.json
trans.lv = public/language/lv/admin/manage/ip-blacklist.json
trans.ms = public/language/ms/admin/manage/ip-blacklist.json
trans.nb = public/language/nb/admin/manage/ip-blacklist.json
trans.nl = public/language/nl/admin/manage/ip-blacklist.json
trans.pl = public/language/pl/admin/manage/ip-blacklist.json
trans.pt_BR = public/language/pt-BR/admin/manage/ip-blacklist.json
trans.pt_PT = public/language/pt-PT/admin/manage/ip-blacklist.json
trans.ro = public/language/ro/admin/manage/ip-blacklist.json
trans.ru = public/language/ru/admin/manage/ip-blacklist.json
trans.rw = public/language/rw/admin/manage/ip-blacklist.json
trans.sc = public/language/sc/admin/manage/ip-blacklist.json
trans.sk = public/language/sk/admin/manage/ip-blacklist.json
trans.sl = public/language/sl/admin/manage/ip-blacklist.json
trans.sr = public/language/sr/admin/manage/ip-blacklist.json
trans.sv = public/language/sv/admin/manage/ip-blacklist.json
trans.th = public/language/th/admin/manage/ip-blacklist.json
trans.tr = public/language/tr/admin/manage/ip-blacklist.json
trans.uk = public/language/uk/admin/manage/ip-blacklist.json
trans.vi = public/language/vi/admin/manage/ip-blacklist.json
trans.zh_CN = public/language/zh-CN/admin/manage/ip-blacklist.json
trans.zh_TW = public/language/zh-TW/admin/manage/ip-blacklist.json
type = KEYVALUEJSON
[nodebb.admin-manage-privileges]
file_filter = public/language/<lang>/admin/manage/privileges.json
source_file = public/language/en-GB/admin/manage/privileges.json
@@ -2400,56 +2450,6 @@ trans.zh_CN = public/language/zh-CN/admin/manage/privileges.json
trans.zh_TW = public/language/zh-TW/admin/manage/privileges.json
type = KEYVALUEJSON
[nodebb.admin-manage-post-queue]
file_filter = public/language/<lang>/admin/manage/post-queue.json
source_file = public/language/en-GB/admin/manage/post-queue.json
source_lang = en_GB
trans.ar = public/language/ar/admin/manage/post-queue.json
trans.bg = public/language/bg/admin/manage/post-queue.json
trans.bn = public/language/bn/admin/manage/post-queue.json
trans.cs = public/language/cs/admin/manage/post-queue.json
trans.da = public/language/da/admin/manage/post-queue.json
trans.de = public/language/de/admin/manage/post-queue.json
trans.el = public/language/el/admin/manage/post-queue.json
trans.en@pirate = public/language/en-x-pirate/admin/manage/post-queue.json
trans.en_US = public/language/en-US/admin/manage/post-queue.json
trans.es = public/language/es/admin/manage/post-queue.json
trans.et = public/language/et/admin/manage/post-queue.json
trans.fa_IR = public/language/fa-IR/admin/manage/post-queue.json
trans.fi = public/language/fi/admin/manage/post-queue.json
trans.fr = public/language/fr/admin/manage/post-queue.json
trans.gl = public/language/gl/admin/manage/post-queue.json
trans.he = public/language/he/admin/manage/post-queue.json
trans.hr = public/language/hr/admin/manage/post-queue.json
trans.hu = public/language/hu/admin/manage/post-queue.json
trans.id = public/language/id/admin/manage/post-queue.json
trans.it = public/language/it/admin/manage/post-queue.json
trans.ja = public/language/ja/admin/manage/post-queue.json
trans.ko = public/language/ko/admin/manage/post-queue.json
trans.lt = public/language/lt/admin/manage/post-queue.json
trans.lv = public/language/lv/admin/manage/post-queue.json
trans.ms = public/language/ms/admin/manage/post-queue.json
trans.nb = public/language/nb/admin/manage/post-queue.json
trans.nl = public/language/nl/admin/manage/post-queue.json
trans.pl = public/language/pl/admin/manage/post-queue.json
trans.pt_BR = public/language/pt-BR/admin/manage/post-queue.json
trans.pt_PT = public/language/pt-PT/admin/manage/post-queue.json
trans.ro = public/language/ro/admin/manage/post-queue.json
trans.ru = public/language/ru/admin/manage/post-queue.json
trans.rw = public/language/rw/admin/manage/post-queue.json
trans.sc = public/language/sc/admin/manage/post-queue.json
trans.sk = public/language/sk/admin/manage/post-queue.json
trans.sl = public/language/sl/admin/manage/post-queue.json
trans.sr = public/language/sr/admin/manage/post-queue.json
trans.sv = public/language/sv/admin/manage/post-queue.json
trans.th = public/language/th/admin/manage/post-queue.json
trans.tr = public/language/tr/admin/manage/post-queue.json
trans.uk = public/language/uk/admin/manage/post-queue.json
trans.vi = public/language/vi/admin/manage/post-queue.json
trans.zh_CN = public/language/zh-CN/admin/manage/post-queue.json
trans.zh_TW = public/language/zh-TW/admin/manage/post-queue.json
type = KEYVALUEJSON
[nodebb.admin-manage-registration]
file_filter = public/language/<lang>/admin/manage/registration.json
source_file = public/language/en-GB/admin/manage/registration.json
@@ -3300,6 +3300,56 @@ trans.zh_CN = public/language/zh-CN/admin/settings/notifications.json
trans.zh_TW = public/language/zh-TW/admin/settings/notifications.json
type = KEYVALUEJSON
[nodebb.admin-settings-api]
file_filter = public/language/<lang>/admin/settings/api.json
source_file = public/language/en-GB/admin/settings/api.json
source_lang = en_GB
trans.ar = public/language/ar/admin/settings/api.json
trans.bg = public/language/bg/admin/settings/api.json
trans.bn = public/language/bn/admin/settings/api.json
trans.cs = public/language/cs/admin/settings/api.json
trans.da = public/language/da/admin/settings/api.json
trans.de = public/language/de/admin/settings/api.json
trans.el = public/language/el/admin/settings/api.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/api.json
trans.en_US = public/language/en-US/admin/settings/api.json
trans.es = public/language/es/admin/settings/api.json
trans.et = public/language/et/admin/settings/api.json
trans.fa_IR = public/language/fa-IR/admin/settings/api.json
trans.fi = public/language/fi/admin/settings/api.json
trans.fr = public/language/fr/admin/settings/api.json
trans.gl = public/language/gl/admin/settings/api.json
trans.he = public/language/he/admin/settings/api.json
trans.hr = public/language/hr/admin/settings/api.json
trans.hu = public/language/hu/admin/settings/api.json
trans.id = public/language/id/admin/settings/api.json
trans.it = public/language/it/admin/settings/api.json
trans.ja = public/language/ja/admin/settings/api.json
trans.ko = public/language/ko/admin/settings/api.json
trans.lt = public/language/lt/admin/settings/api.json
trans.lv = public/language/lv/admin/settings/api.json
trans.ms = public/language/ms/admin/settings/api.json
trans.nb = public/language/nb/admin/settings/api.json
trans.nl = public/language/nl/admin/settings/api.json
trans.pl = public/language/pl/admin/settings/api.json
trans.pt_BR = public/language/pt-BR/admin/settings/api.json
trans.pt_PT = public/language/pt-PT/admin/settings/api.json
trans.ro = public/language/ro/admin/settings/api.json
trans.ru = public/language/ru/admin/settings/api.json
trans.rw = public/language/rw/admin/settings/api.json
trans.sc = public/language/sc/admin/settings/api.json
trans.sk = public/language/sk/admin/settings/api.json
trans.sl = public/language/sl/admin/settings/api.json
trans.sr = public/language/sr/admin/settings/api.json
trans.sv = public/language/sv/admin/settings/api.json
trans.th = public/language/th/admin/settings/api.json
trans.tr = public/language/tr/admin/settings/api.json
trans.uk = public/language/uk/admin/settings/api.json
trans.vi = public/language/vi/admin/settings/api.json
trans.zh_CN = public/language/zh-CN/admin/settings/api.json
trans.zh_TW = public/language/zh-TW/admin/settings/api.json
type = KEYVALUEJSON
[nodebb.admin-settings-post]
file_filter = public/language/<lang>/admin/settings/post.json
source_file = public/language/en-GB/admin/settings/post.json

File diff suppressed because it is too large Load Diff

View File

@@ -89,6 +89,7 @@ module.exports = function (grunt) {
clientUpdated: {
files: [
'public/src/**/*.js',
'public/vendor/**/*.js',
...clientUpdated,
'node_modules/benchpressjs/build/benchpress.js',
],
@@ -143,8 +144,17 @@ module.exports = function (grunt) {
if (worker) {
worker.kill();
}
const execArgv = [];
const inspect = process.argv.find(a => a.startsWith('--inspect'));
if (inspect) {
execArgv.push(inspect);
}
worker = fork('app.js', args, {
env: env,
env,
execArgv,
});
}

View File

@@ -1,15 +1,16 @@
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
# ![NodeBB](public/images/logo.svg)
[![Build Status](https://travis-ci.org/NodeBB/NodeBB.svg?branch=master)](https://travis-ci.org/NodeBB/NodeBB)
[![Coverage Status](https://coveralls.io/repos/github/NodeBB/NodeBB/badge.svg?branch=master)](https://coveralls.io/github/NodeBB/NodeBB?branch=master)
[![Dependency Status](https://david-dm.org/nodebb/nodebb.svg?path=install)](https://david-dm.org/nodebb/nodebb?path=install)
[![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB)
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and built on either a Redis or MongoDB database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
Additional functionality is enabled through the use of third-party plugins.
* [Demo & Meta Discussion](http://community.nodebb.org)
* [Demo](https://try.nodebb.org)
* [Developer Community](http://community.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
* [NodeBB Blog](http://blog.nodebb.org)
@@ -48,8 +49,9 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 8 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* Redis, version 2.8.9 or greater **or** MongoDB, version 2.6 or greater
* A version of Node.js at least 12 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 2.6 or greater **or** Redis, version 2.8.9 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
## Installation

View File

@@ -1,3 +1,26 @@
'use strict';
module.exports = { extends: ['@commitlint/config-angular'] };
module.exports = {
extends: ['@commitlint/config-angular'],
rules: {
'header-max-length': [1, 'always', 72],
'type-enum': [
2,
'always',
[
'breaking',
'build',
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test',
],
],
},
};

View File

@@ -20,6 +20,7 @@
"chatDeleteDuration": 0,
"chatMessageDelay": 200,
"newbiePostDelayThreshold": 3,
"postQueue": 0,
"postQueueReputationThreshold": 0,
"groupsExemptFromPostQueue": ["administrators", "Global Moderators"],
"minimumPostLength": 8,
@@ -28,7 +29,7 @@
"maximumTagsPerTopic": 5,
"minimumTagLength": 3,
"maximumTagLength": 15,
"allowTopicsThumbnail": 0,
"allowTopicsThumbnail": 1,
"registrationType": "normal",
"registrationApprovalType": "normal",
"allowAccountDelete": 1,
@@ -43,7 +44,7 @@
"rejectImageWidth": 5000,
"rejectImageHeight": 5000,
"resizeImageQuality": 80,
"topicThumbSize": 120,
"topicThumbSize": 512,
"minimumTitleLength": 3,
"maximumTitleLength": 255,
"minimumUsernameLength": 2,
@@ -79,13 +80,16 @@
"min:rep:website": 0,
"min:rep:aboutme": 0,
"min:rep:signature": 0,
"flags:limitPerTarget": 0,
"notificationType_upvote": "notification",
"notificationType_new-topic": "notification",
"notificationType_new-reply": "notification",
"notificationType_post-edit": "notification",
"notificationType_follow": "notification",
"notificationType_new-chat": "notification",
"notificationType_new-group-chat": "notification",
"notificationType_group-invite": "notification",
"notificationType_group-leave": "notification",
"notificationType_group-request-membership": "notification",
"notificationType_mention": "notification",
"notificationType_new-register": "notification",
@@ -102,6 +106,7 @@
"maximumGroupTitleLength": 40,
"preventTopicDeleteAfterReplies": 0,
"feeds:disableSitemap": 0,
"feeds:disableRSS": 0,
"sitemapTopics": 500,
"maintenanceMode": 0,
"maintenanceModeStatus": 503,
@@ -109,17 +114,22 @@
"maximumInvites": 0,
"username:disableEdit": 0,
"email:disableEdit": 0,
"email:sendmail:rateLimit": 2,
"email:sendmail:rateDelta": 1000,
"email:smtpTransport:pool": 0,
"hideFullname": 0,
"hideEmail": 0,
"showFullnameAsDisplayName": 0,
"allowGuestHandles": 0,
"guestsIncrementTopicViews": 1,
"allowGuestReplyNotifications": 1,
"incrementTopicViewsInterval": 60,
"recentMaxTopics": 200,
"disableRecentCategoryFilter": 0,
"maximumRelatedTopics": 0,
"disableEmailSubscriptions": 0,
"emailConfirmInterval": 10,
"removeEmailNotificationImages": 0,
"inviteExpiration": 7,
"dailyDigestFreq": "off",
"digestHour": 17,
"passwordExpiryDays": 0,
"hsts-maxage": 31536000,
@@ -133,5 +143,14 @@
"timeagoCutoff": 30,
"necroThreshold": 7,
"categoryWatchState": "watching",
"submitPluginUsage": 1
"submitPluginUsage": 1,
"showAverageApprovalTime": 1,
"autoApproveTime": 0,
"maxUserSessions": 10,
"useCompression": 0,
"updateUrlWithPostIndex": 1,
"composer:showHelpTab": 1,
"composer:allowPluginHelp": 1,
"maxReconnectionAttempts": 5,
"reconnectionDelay": 1500
}

View File

@@ -1,58 +1,51 @@
'use strict';
var async = require('async');
var prompt = require('prompt');
var winston = require('winston');
const prompt = require('prompt');
const winston = require('winston');
var questions = {
const util = require('util');
const promptGet = util.promisify((schema, callback) => prompt.get(schema, callback));
const questions = {
redis: require('../src/database/redis').questions,
mongo: require('../src/database/mongo').questions,
postgres: require('../src/database/postgres').questions,
};
module.exports = function (config, callback) {
async.waterfall([
function (next) {
winston.info('\nNow configuring ' + config.database + ' database:');
getDatabaseConfig(config, next);
},
function (databaseConfig, next) {
saveDatabaseConfig(config, databaseConfig, next);
},
], callback);
module.exports = async function (config) {
winston.info('\nNow configuring ' + config.database + ' database:');
const databaseConfig = await getDatabaseConfig(config);
return saveDatabaseConfig(config, databaseConfig);
};
function getDatabaseConfig(config, callback) {
async function getDatabaseConfig(config) {
if (!config) {
return callback(new Error('aborted'));
throw new Error('invalid config, aborted');
}
if (config.database === 'redis') {
if (config['redis:host'] && config['redis:port']) {
callback(null, config);
} else {
prompt.get(questions.redis, callback);
return config;
}
return await promptGet(questions.redis);
} else if (config.database === 'mongo') {
if ((config['mongo:host'] && config['mongo:port']) || config['mongo:uri']) {
callback(null, config);
} else {
prompt.get(questions.mongo, callback);
return config;
}
return await promptGet(questions.mongo);
} else if (config.database === 'postgres') {
if (config['postgres:host'] && config['postgres:port']) {
callback(null, config);
} else {
prompt.get(questions.postgres, callback);
return config;
}
} else {
return callback(new Error('unknown database : ' + config.database));
return await promptGet(questions.postgres);
}
throw new Error('unknown database : ' + config.database);
}
function saveDatabaseConfig(config, databaseConfig, callback) {
function saveDatabaseConfig(config, databaseConfig) {
if (!databaseConfig) {
return callback(new Error('aborted'));
throw new Error('invalid config, aborted');
}
// Translate redis properties into redis object
@@ -86,13 +79,13 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
ssl: databaseConfig['postgres:ssl'],
};
} else {
return callback(new Error('unknown database : ' + config.database));
throw new Error('unknown database : ' + config.database);
}
var allQuestions = questions.redis.concat(questions.mongo).concat(questions.postgres);
const allQuestions = questions.redis.concat(questions.mongo).concat(questions.postgres);
for (var x = 0; x < allQuestions.length; x += 1) {
delete config[allQuestions[x].name];
}
callback(null, config);
return config;
}

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.14.3",
"version": "1.16.2-beta.2",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -12,14 +12,20 @@
"scripts": {
"start": "node loader.js",
"lint": "npx eslint --cache ./nodebb .",
"pretest": "npm run lint",
"test": "npx nyc --reporter=html --reporter=text-summary npx mocha",
"coverage": "nyc report --reporter=text-lcov > ./coverage/lcov.info",
"coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage"
},
"nyc": {
"exclude": [
"src/upgrades/*",
"test/*"
]
},
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
"pre-commit": "npx lint-staged",
"commit-msg": "npx commitlint -E HUSKY_GIT_PARAMS"
}
},
"lint-staged": {
@@ -29,131 +35,143 @@
]
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "^0.8.2",
"ace-builds": "^1.4.9",
"archiver": "^4.0.0",
"archiver": "^5.0.0",
"async": "^3.2.0",
"autoprefixer": "^9.7.6",
"autoprefixer": "10.2.1",
"bcryptjs": "2.4.3",
"benchpressjs": "^2.0.2",
"benchpressjs": "2.4.0",
"body-parser": "^1.19.0",
"bootbox": "4.4.0",
"bootstrap": "^3.4.1",
"bootswatch": "git://github.com/thomaspark/bootswatch.git#c41a8f066feb8950c6f9c6bcf5a3c37d1085404e",
"chart.js": "^2.9.3",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.6",
"colors": "^1.4.0",
"commander": "^5.0.0",
"commander": "^6.0.0",
"compare-versions": "3.6.0",
"compression": "^1.7.4",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-mongo": "3.2.0",
"connect-multiparty": "^2.2.0",
"connect-pg-simple": "^6.1.0",
"connect-redis": "4.0.4",
"connect-redis": "5.0.0",
"cookie-parser": "^1.4.5",
"cron": "^1.8.2",
"cropperjs": "^1.5.6",
"csurf": "^1.11.0",
"daemon": "^1.1.0",
"diff": "^4.0.2",
"diff": "^5.0.0",
"express": "^4.17.1",
"express-session": "^1.17.0",
"express-useragent": "^1.0.13",
"graceful-fs": "^4.2.3",
"helmet": "^3.22.0",
"html-to-text": "^5.1.1",
"ipaddr.js": "^1.9.1",
"helmet": "^4.0.0",
"html-to-text": "6.0.0",
"ipaddr.js": "^2.0.0",
"jquery": "3.5.1",
"jsesc": "3.0.1",
"json2csv": "5.0.1",
"jquery-deserialize": "2.0.0-rc1",
"jquery-form": "4.3.0",
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.12.1",
"jsesc": "3.0.2",
"json2csv": "5.0.5",
"jsonwebtoken": "^8.5.1",
"less": "^3.11.1",
"lodash": "^4.17.15",
"logrotate-stream": "^0.2.6",
"lru-cache": "5.1.1",
"lru-cache": "6.0.0",
"material-design-lite": "^1.3.0",
"mime": "^2.4.4",
"mkdirp": "^1.0.4",
"mongodb": "3.5.9",
"mongodb": "3.6.3",
"morgan": "^1.10.0",
"mousetrap": "^1.6.5",
"@nodebb/mubsub": "^1.6.0",
"@nodebb/socket.io-adapter-mongo": "3.0.1",
"nconf": "^0.10.0",
"nodebb-plugin-composer-default": "6.3.50",
"nodebb-plugin-dbsearch": "4.1.1",
"@nodebb/bootswatch": "3.4.2",
"nconf": "^0.11.0",
"nodebb-plugin-composer-default": "6.5.5",
"nodebb-plugin-dbsearch": "4.1.2",
"nodebb-plugin-emoji": "^3.3.0",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.11.2",
"nodebb-plugin-mentions": "2.9.1",
"nodebb-plugin-markdown": "8.12.4",
"nodebb-plugin-mentions": "2.13.6",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.7.2",
"nodebb-rewards-essentials": "0.1.3",
"nodebb-theme-lavender": "5.1.0",
"nodebb-theme-persona": "10.1.65",
"nodebb-theme-slick": "1.2.29",
"nodebb-theme-vanilla": "11.1.33",
"nodebb-widget-essentials": "4.1.1",
"nodebb-plugin-spam-be-gone": "0.7.7",
"nodebb-rewards-essentials": "0.1.4",
"nodebb-theme-lavender": "5.0.17",
"nodebb-theme-persona": "10.3.18",
"nodebb-theme-slick": "1.3.8",
"nodebb-theme-vanilla": "11.3.10",
"nodebb-widget-essentials": "5.0.2",
"nodemailer": "^6.4.6",
"nprogress": "0.2.0",
"passport": "^0.4.1",
"passport-http-bearer": "^1.0.1",
"passport-local": "1.0.0",
"pg": "^8.0.2",
"pg-cursor": "^2.1.9",
"postcss": "7.0.32",
"postcss": "8.1.10",
"postcss-clean": "1.1.0",
"promise-polyfill": "^8.1.3",
"prompt": "^1.0.0",
"redis": "3.0.2",
"request": "2.88.2",
"request-promise-native": "^1.0.8",
"requirejs": "2.3.6",
"rimraf": "3.0.2",
"rss": "^1.2.2",
"sanitize-html": "^1.23.0",
"sanitize-html": "^2.0.0",
"semver": "^7.2.1",
"serve-favicon": "^2.5.0",
"sharp": "0.25.4",
"sharp": "0.27.0",
"sitemap": "^6.1.0",
"socket.io": "2.3.0",
"slideout": "1.0.1",
"socket.io": "3.1.0",
"socket.io-adapter-cluster": "^1.0.1",
"socket.io-adapter-postgres": "^1.2.1",
"socket.io-client": "2.3.0",
"socket.io-redis": "5.3.0",
"socketio-wildcard": "2.0.0",
"socket.io-client": "3.1.0",
"socket.io-redis": "6.0.1",
"sortablejs": "1.13.0",
"spdx-license-list": "^6.1.0",
"spider-detector": "2.0.0",
"textcomplete": "^0.17.1",
"textcomplete.contenteditable": "^0.1.1",
"timeago": "^1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "13.1.1",
"validator": "13.5.2",
"visibilityjs": "2.0.2",
"winston": "3.3.3",
"xml": "^1.0.1",
"xregexp": "^4.3.0",
"yargs": "16.2.0",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "9.0.1",
"@commitlint/cli": "9.1.1",
"@commitlint/config-angular": "9.1.1",
"@apidevtools/swagger-parser": "10.0.2",
"@commitlint/cli": "11.0.0",
"@commitlint/config-angular": "11.0.0",
"coveralls": "3.1.0",
"eslint": "7.3.1",
"eslint-config-airbnb-base": "14.1.0",
"eslint-plugin-import": "2.21.1",
"grunt": "1.1.0",
"eslint": "7.17.0",
"eslint-config-airbnb-base": "14.2.1",
"eslint-plugin-import": "2.22.1",
"grunt": "1.3.0",
"grunt-contrib-watch": "1.1.0",
"husky": "4.2.5",
"jsdom": "16.2.2",
"lint-staged": "10.2.11",
"mocha": "8.0.1",
"husky": "4.3.7",
"jsdom": "16.4.0",
"lint-staged": "10.5.3",
"mocha": "8.2.1",
"mocha-lcov-reporter": "1.3.0",
"nyc": "15.0.1",
"smtp-server": "3.7.0"
"nyc": "15.1.0",
"smtp-server": "3.8.0"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=8"
"node": ">=10"
},
"maintainers": [
{

View File

@@ -1,21 +1,27 @@
'use strict';
var winston = require('winston');
var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs');
var path = require('path');
var childProcess = require('child_process');
var less = require('less');
var async = require('async');
var uglify = require('uglify-es');
var nconf = require('nconf');
var Benchpress = require('benchpressjs');
const winston = require('winston');
const express = require('express');
const bodyParser = require('body-parser');
const fs = require('fs');
const path = require('path');
const childProcess = require('child_process');
const less = require('less');
const util = require('util');
const lessRenderAsync = util.promisify(
(style, opts, cb) => less.render(String(style), opts, cb)
);
const uglify = require('uglify-es');
const nconf = require('nconf');
var app = express();
var server;
const Benchpress = require('benchpressjs');
const mkdirp = require('mkdirp');
const { paths } = require('../src/constants');
var formats = [
const app = express();
let server;
const formats = [
winston.format.colorize(),
];
@@ -42,50 +48,52 @@ winston.configure({
],
});
var web = module.exports;
const web = module.exports;
var scripts = [
const scripts = [
'node_modules/jquery/dist/jquery.js',
'public/vendor/xregexp/xregexp.js',
'public/vendor/xregexp/unicode/unicode-base.js',
'node_modules/xregexp/xregexp-all.js',
'public/src/modules/slugify.js',
'public/src/utils.js',
'public/src/installer/install.js',
'node_modules/zxcvbn/dist/zxcvbn.js',
];
var installing = false;
var success = false;
var error = false;
var launchUrl;
let installing = false;
let success = false;
let error = false;
let launchUrl;
web.install = function (port) {
const viewsDir = path.join(paths.baseDir, 'build/public/templates');
web.install = async function (port) {
port = port || 4567;
winston.info('Launching web installer on port ' + port);
app.use(express.static('public', {}));
app.engine('tpl', function (filepath, options, callback) {
async.waterfall([
function (next) {
fs.readFile(filepath, 'utf-8', next);
},
function (buffer, next) {
Benchpress.compileParse(buffer.toString(), options, next);
},
], callback);
filepath = filepath.replace(/\.tpl$/, '.js');
Benchpress.__express(filepath, options, callback);
});
app.set('view engine', 'tpl');
app.set('views', path.join(__dirname, '../src/views'));
app.set('views', viewsDir);
app.use(bodyParser.urlencoded({
extended: true,
}));
async.parallel([compileLess, compileJS, copyCSS, loadDefaults], function (err) {
if (err) {
winston.error(err.stack);
}
try {
await Promise.all([
compileTemplate(),
compileLess(),
compileJS(),
copyCSS(),
loadDefaults(),
]);
setupRoutes();
launchExpress(port);
});
} catch (err) {
winston.error(err.stack);
}
};
@@ -180,120 +188,116 @@ function install(req, res) {
});
}
function launch(req, res) {
res.json({});
server.close();
req.setTimeout(0);
var child;
async function launch(req, res) {
try {
res.json({});
server.close();
req.setTimeout(0);
var child;
if (!nconf.get('launchCmd')) {
child = childProcess.spawn('node', ['loader.js'], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
if (!nconf.get('launchCmd')) {
child = childProcess.spawn('node', ['loader.js'], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
console.log('\nStarting NodeBB');
console.log(' "./nodebb stop" to stop the NodeBB server');
console.log(' "./nodebb log" to view server output');
console.log(' "./nodebb restart" to restart NodeBB');
} else {
// Use launchCmd instead, if specified
child = childProcess.exec(nconf.get('launchCmd'), {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
}
var filesToDelete = [
'installer.css',
'installer.min.js',
'bootstrap.min.css',
];
async.each(filesToDelete, function (filename, next) {
fs.unlink(path.join(__dirname, '../public', filename), next);
}, function (err) {
if (err) {
winston.warn('Unable to remove installer files');
console.log('\nStarting NodeBB');
console.log(' "./nodebb stop" to stop the NodeBB server');
console.log(' "./nodebb log" to view server output');
console.log(' "./nodebb restart" to restart NodeBB');
} else {
// Use launchCmd instead, if specified
child = childProcess.exec(nconf.get('launchCmd'), {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
}
const filesToDelete = [
'installer.css',
'installer.min.js',
'bootstrap.min.css',
];
await Promise.all(
filesToDelete.map(
filename => fs.promises.unlink(path.join(__dirname, '../public', filename))
)
);
child.unref();
process.exit(0);
});
}
function compileLess(callback) {
var installSrc = path.join(__dirname, '../public/less/install.less');
fs.readFile(installSrc, function (err, style) {
if (err) {
return winston.error('Unable to read LESS install file: ', err.stack);
}
less.render(style.toString(), {
filename: path.resolve(installSrc),
}, function (err, css) {
if (err) {
return winston.error('Unable to compile LESS: ', err.stack);
}
fs.writeFile(path.join(__dirname, '../public/installer.css'), css.css, callback);
});
});
}
function compileJS(callback) {
var code = '';
async.eachSeries(scripts, function (srcPath, next) {
fs.readFile(path.join(__dirname, '..', srcPath), function (err, buffer) {
if (err) {
return next(err);
}
code += buffer.toString();
next();
});
}, function (err) {
if (err) {
return callback(err);
}
try {
var minified = uglify.minify(code, {
compress: false,
});
if (!minified.code) {
return callback(new Error('[[error:failed-to-minify]]'));
}
fs.writeFile(path.join(__dirname, '../public/installer.min.js'), minified.code, callback);
} catch (e) {
callback(e);
}
});
}
function copyCSS(next) {
async.waterfall([
function (next) {
fs.readFile(path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'), 'utf8', next);
},
function (src, next) {
fs.writeFile(path.join(__dirname, '../public/bootstrap.min.css'), src, next);
},
], next);
}
function loadDefaults(next) {
var setupDefaultsPath = path.join(__dirname, '../setup.json');
fs.access(setupDefaultsPath, fs.constants.F_OK | fs.constants.R_OK, function (err) {
if (err) {
// setup.json not found or inaccessible, proceed with no defaults
return setImmediate(next);
}
winston.info('[installer] Found setup.json, populating default values');
nconf.file({
file: setupDefaultsPath,
});
next();
} catch (err) {
winston.error(err.stack);
throw err;
}
}
// this is necessary because otherwise the compiled templates won't be available on a clean install
async function compileTemplate() {
const sourceFile = path.join(__dirname, '../src/views/install/index.tpl');
const destTpl = path.join(viewsDir, 'install/index.tpl');
const destJs = path.join(viewsDir, 'install/index.js');
const source = await fs.promises.readFile(sourceFile, 'utf8');
const [compiled] = await Promise.all([
Benchpress.precompile(source, { filename: 'install/index.tpl' }),
mkdirp(path.dirname(destJs)),
]);
await Promise.all([
fs.promises.writeFile(destJs, compiled),
fs.promises.writeFile(destTpl, source),
]);
}
async function compileLess() {
try {
const installSrc = path.join(__dirname, '../public/less/install.less');
const style = await fs.promises.readFile(installSrc);
const css = await lessRenderAsync(style, { filename: path.resolve(installSrc) });
await fs.promises.writeFile(path.join(__dirname, '../public/installer.css'), css.css);
} catch (err) {
winston.error('Unable to compile LESS: \n' + err.stack);
throw err;
}
}
async function compileJS() {
let code = '';
for (const srcPath of scripts) {
// eslint-disable-next-line no-await-in-loop
const buffer = await fs.promises.readFile(path.join(__dirname, '..', srcPath));
code += buffer.toString();
}
const minified = uglify.minify(code, {
compress: false,
});
if (!minified.code) {
throw new Error('[[error:failed-to-minify]]');
}
await fs.promises.writeFile(path.join(__dirname, '../public/installer.min.js'), minified.code);
}
async function copyCSS() {
const src = await fs.promises.readFile(
path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'), 'utf8'
);
await fs.promises.writeFile(path.join(__dirname, '../public/bootstrap.min.css'), src);
}
async function loadDefaults() {
const setupDefaultsPath = path.join(__dirname, '../setup.json');
try {
await fs.promises.access(setupDefaultsPath, fs.constants.F_OK | fs.constants.R_OK);
} catch (err) {
// setup.json not found or inaccessible, proceed with no defaults
if (err.code !== 'ENOENT') {
throw err;
}
}
winston.info('[installer] Found setup.json, populating default values');
nconf.file({
file: setupDefaultsPath,
});
}

View File

@@ -1,6 +1,6 @@
'use strict';
var nconf = require('nconf');
var nconf = require('nconf');
var fs = require('fs');
var url = require('url');
var path = require('path');
@@ -18,7 +18,7 @@ nconf.argv().env().file({
file: pathToConfig,
});
var pidFilePath = path.join(__dirname, 'pidfile');
var pidFilePath = path.join(__dirname, 'pidfile');
var outputLogFilePath = path.join(__dirname, nconf.get('logFile') || 'logs/output.log');

View File

@@ -5,7 +5,6 @@
"socket": true,
"ajaxify": true,
"config": true,
"RELATIVE_PATH": true,
"utils": true,
"overrides": true,
"componentHandler": true,
@@ -18,7 +17,7 @@
"jquery": true,
"amd": true,
"browser": true,
"es6": false
"es6": true
},
"rules": {
"block-scoped-var": "off",
@@ -27,17 +26,15 @@
"object-shorthand": "off",
"prefer-arrow-callback": "off",
"prefer-spread": "off",
"prefer-object-spread": "off",
"prefer-reflect": "off",
"prefer-template": "off"
},
"parserOptions": {
"ecmaVersion": 5,
"ecmaVersion": 2018,
"ecmaFeatures": {
"arrowFunctions": false,
"classes": false,
"defaultParams": false,
"destructuring": false,
"experimentalObjectRestSpread": false,
"blockBindings": false,
"forOf": false,
"generators": false,
@@ -50,9 +47,7 @@
"objectLiteralShorthandProperties": false,
"impliedStrict": false,
"restParams": false,
"spread": false,
"superInFunctions": false,
"templateStrings": false
"superInFunctions": false
}
}
}

View File

@@ -63,7 +63,6 @@
"socket": true,
"ajaxify": true,
"config": true,
"RELATIVE_PATH": true,
"utils": true,
"overrides": true,
"componentHandler": true,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 13 KiB

16
public/images/logo.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="321" height="75" viewBox="0 0 321 75">
<defs>
<radialGradient id="nodebb-a" cx="65.599%" cy="0%" r="169.036%" fx="65.599%" fy="0%" gradientTransform="matrix(-.5183 .5916 -.38031 -.80624 .996 -.388)">
<stop offset="0%" stop-color="#2A6CBE"/>
<stop offset="38.688%" stop-color="#2062BC"/>
<stop offset="49.182%" stop-color="#1F5FBC"/>
<stop offset="66.583%" stop-color="#1C5ABD"/>
<stop offset="85.354%" stop-color="#1956BC"/>
<stop offset="100%" stop-color="#1851BE"/>
</radialGradient>
</defs>
<g fill="none" transform="translate(1 1)">
<path fill="#000306" stroke="#000306" stroke-width=".275" d="M195.810017,20 C210.691849,20 221.256813,28.7272272 221.484017,45.845679 C221.490864,46.3615394 221.461776,47.1194739 221.396754,48.1194827 C221.328352,49.1714504 220.455158,49.9897119 219.400969,49.9897119 L179.110557,49.9897119 C179.110557,56.6336943 182.723978,64.2757202 196.378026,64.2757202 C204.088827,64.2757202 211.625406,61.928339 218.987763,57.2335766 L219.553745,56.8677968 C220.246813,56.4139645 221.17656,56.6079034 221.630392,57.3009716 C221.757029,57.4943637 221.837254,57.7144077 221.864806,57.943925 C222.131013,60.1615294 222.004084,61.5832211 221.484017,62.2089999 C220.452051,63.4507301 210.901843,73 196.378026,73 C180.58738,73 169,61.8765432 169,46.3909465 C169,31.3415638 180.019372,20 195.810017,20 Z M162.92733,0 C164.031899,-4.2495073e-16 164.92733,0.8954305 164.92733,2 L164.928075,44.1266361 C164.975781,44.8118124 165,45.5058194 165,46.2079256 C165,61.5334332 153.460581,73 138,73 C122.427386,73 111,61.5334332 111,46.2079256 C111,30.882418 122.427386,19.4158511 138,19.4158511 C144.981278,19.4158511 151.163029,21.7538895 155.843826,25.7295173 L155.843557,4.54188628 C155.843557,2.03347175 157.877029,4.60788274e-16 160.385444,0 L162.92733,0 Z M81,20 C96.4605809,20 108,31.3415638 108,46.5 C108,61.6584362 96.4605809,73 81,73 C65.4273859,73 54,61.6584362 54,46.5 C54,31.3415638 65.4273859,20 81,20 Z M27.324263,20 C41.6099773,20 50,29.1649049 50,41.7801268 L50,67.5 C50,69.4329966 48.4329966,71 46.5,71 L42.2494331,71 C41.1448636,71 40.2494331,70.1045695 40.2494331,69 L40.2494331,42.5348837 C40.2494331,34.3403805 35.8276644,28.6257928 26.3038549,28.6257928 C10.0816327,28.6257928 9.75718821,35.7795705 9.75069932,44.6831843 L9.75056689,71 L2,71 C0.8954305,71 1.3527075e-16,70.1045695 0,69 L0,35.2932975 L0,35.2932975 C0,24.3935718 19.1609977,20 27.324263,20 Z M81,28.7242798 C70.8049793,28.7242798 63.6348548,36.4670782 63.6348548,46.5 C63.6348548,56.3148148 70.8049793,64.2757202 81,64.2757202 C91.1950207,64.2757202 98.3651452,56.3148148 98.3651452,46.5 C98.3651452,36.4670782 91.1950207,28.7242798 81,28.7242798 Z M138,28.2362872 C127.804979,28.2362872 120.634855,36.0644241 120.634855,46.2079256 C120.634855,56.1309161 127.804979,64.179564 138,64.179564 C148.195021,64.179564 155.365145,56.1309161 155.365145,46.2079256 C155.365145,36.0644241 148.195021,28.2362872 138,28.2362872 Z M195.810017,28.7242798 C186.721876,28.7242798 180.473779,33.9588477 179.224159,41.8106996 L211.259858,41.8106996 C210.010238,33.9588477 204.443752,28.7242798 195.810017,28.7242798 Z"/>
<path fill="url(#nodebb-a)" d="M277,19 L276.999615,57.7303365 C276.99251,64.180962 276.88949,68.6242617 276.88949,73 L276.88949,73 L255.649055,73 C242.962262,73 236,67.06 236,57.7257143 C236,51.4771429 239.558488,46.9257143 245.1283,45.0742857 C240.564149,43.1457143 237.779243,38.8257143 237.779243,33.5028571 C237.779243,24.8628571 244.664149,19 256.732074,19 L256.732074,19 L277,19 Z M299.267926,19 C311.335851,19 318.220757,24.8628571 318.220757,33.5028571 C318.220757,38.8257143 315.435851,43.1457143 310.8717,45.0742857 C316.441512,46.9257143 320,51.4771429 320,57.7257143 C320,67.06 313.037738,73 300.350945,73 L279.11051,73 L279.11051,73 C279.11051,68.6242617 279.00749,64.180962 279.000385,57.7303365 L279,19 L299.267926,19 Z M266.092452,49.8571429 L256.499999,49.8571429 C250.156602,49.8571429 246.984904,52.2485714 246.984904,56.9542857 C246.984904,61.8914286 249.924527,64.36 255.726414,64.36 L255.726414,64.36 L260.754716,64.36 C264.777358,64.36 266.092452,62.4314286 266.092452,56.5685714 L266.092452,56.5685714 L266.092452,49.8571429 Z M299.500001,49.8571429 L289.907548,49.8571429 L289.907548,56.5685714 C289.907548,62.4314286 291.222642,64.36 295.245284,64.36 L300.273586,64.36 C306.075473,64.36 309.015096,61.8914286 309.015096,56.9542857 C309.015096,52.2485714 305.843398,49.8571429 299.500001,49.8571429 Z M266.169811,27.64 L257.350942,27.64 C251.703772,27.64 248.764149,30.1857143 248.764149,34.5057143 C248.764149,38.8257143 251.703772,41.3714286 257.350942,41.3714286 L257.350942,41.3714286 L266.169811,41.3714286 L266.169811,27.64 Z M298.649058,27.64 L289.830189,27.64 L289.830189,41.3714286 L298.649058,41.3714286 C304.296228,41.3714286 307.235851,38.8257143 307.235851,34.5057143 C307.235851,30.1857143 304.296228,27.64 298.649058,27.64 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
public/images/logo@3x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
public/images/touch/144.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
public/images/touch/192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
public/images/touch/36.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
public/images/touch/48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
public/images/touch/512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
public/images/touch/72.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
public/images/touch/96.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -1,3 +0,0 @@
/*
The following stylesheet is only included on pages that can execute javascript
*/

View File

@@ -1,11 +1,6 @@
{
"post-cache": "التخزين المؤقت للمشاركات",
"posts-in-cache": "المشاركات المخزنة مؤقتاً",
"average-post-size": "متوسط ​​حجم المشاركة",
"length-to-max": "الطول / أقصى حد",
"percent-full": "1% كاملة",
"post-cache-size": "حجم التخزين المؤقت للمشاركات",
"items-in-cache": "العناصر في التخزين المؤقت",
"control-panel": "لوحة التحكم",
"update-settings": "تحديث إعدادات التخزين المؤقت"
"items-in-cache": "العناصر في التخزين المؤقت"
}

View File

@@ -3,6 +3,7 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"primary": "primary / run jobs",
"pid": "pid",
"nodejs": "nodejs",
"online": "online",

View File

@@ -1,4 +1,5 @@
{
"trending": "Trending",
"installed": "منصبة",
"active": "مفعلة",
"inactive": "معطلة",

View File

@@ -1,7 +1,7 @@
{
"available": "Available Widgets",
"explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.",
"none-installed": "No widgets found! Activate the essential widgets plugin in the <a href=\"%1\">plugins</a> control panel.",
"none-installed": "No widgets found! Activate the widget essentials plugin in the <a href=\"%1\">plugins</a> control panel.",
"clone-from": "Clone widgets from",
"containers.available": "Available Containers",
"containers.explanation": "Drag and drop on top of any active widget",

View File

@@ -11,6 +11,7 @@
"num-recent-replies": "# of Recent Replies",
"ext-link": "External Link",
"is-section": "Treat this category as a section",
"post-queue": "Post queue",
"tag-whitelist": "Tag Whitelist",
"upload-image": "Upload Image",
"delete-image": "Remove",
@@ -27,6 +28,8 @@
"enable": "Enable",
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"view-category": "View category",
"select-category": "Select Category",
"set-parent-category": "Set Parent Category",
@@ -64,7 +67,6 @@
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-purge": "<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success": "Category purged!",
"alert.copy-success": "Settings Copied!",
@@ -76,7 +78,9 @@
"alert.user-search": "Search for a user here...",
"alert.find-group": "Find a Group",
"alert.group-search": "Search for a group here...",
"alert.not-enough-whitelisted-tags": "Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!",
"collapse-all": "Collapse All",
"expand-all": "Expand All",
"disable-on-create": "Disable on create"
"disable-on-create": "Disable on create",
"no-matches": "No matches"
}

View File

@@ -8,6 +8,9 @@
"hidden": "Hidden",
"private": "Private",
"edit": "Edit",
"delete": "Delete",
"privileges": "Privileges",
"download-csv": "CSV",
"search-placeholder": "Search",
"create": "Create Group",
"description-placeholder": "A short description about your group",

View File

@@ -1,14 +1,16 @@
{
"global": "Global",
"global.no-users": "No user-specific global privileges.",
"admin": "Admin",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"edit-privileges": "Edit Privileges",
"select-clear-all": "Select/Clear All",
"chat": "Chat",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
"signature": "Signature",
"ban": "Ban",
"invite": "Invite",
"search-content": "Search Content",
"search-users": "Search Users",
"search-tags": "Search Tags",
@@ -33,10 +35,25 @@
"delete-topics": "Delete Topics",
"purge": "Purge",
"moderate": "Moderate",
"admin-dashboard": "Dashboard",
"admin-categories": "Categories",
"admin-privileges": "Privileges",
"admin-users": "Users",
"admin-settings": "Settings"
"admin-admins-mods": "Admins &amp; Mods",
"admin-groups": "Groups",
"admin-tags": "Tags",
"admin-settings": "Settings",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-admins-mods": "<strong>Are you sure you wish to grant the &quot;Admins &amp; Mods&quot; privilege to this user/group?</strong> Users with this privilege are able to promote and demote other users into privileged positions, <em>including super administrator</em>",
"alert.confirm-save": "Please confirm your intention to save these privileges",
"alert.saved": "Privilege changes saved and applied",
"alert.confirm-discard": "Are you sure you wish to discard your privilege changes?",
"alert.discarded": "Privilege changes discarded",
"alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -14,5 +14,6 @@
"alerts.editing": "Editing tag(s)",
"alerts.confirm-delete": "Do you want to delete the selected tags?",
"alerts.update-success": "Tag Updated!"
"alerts.update-success": "Tag Updated!",
"reset-colors": "Reset colors"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",
@@ -108,5 +102,7 @@
"alerts.prompt-email": "Emails: ",
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found! Search took %2 ms."
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download."
}

View File

@@ -19,7 +19,7 @@
"settings/general": "عامة",
"settings/homepage": "Home Page",
"settings/navigation": "Navigation",
"settings/reputation": "السمعة",
"settings/reputation": "Reputation & Flags",
"settings/email": "البريد الإلكتروني",
"settings/user": "Users",
"settings/group": "Groups",
@@ -31,6 +31,7 @@
"settings/pagination": "ترقيم الصفحات",
"settings/tags": "الكلمات المفتاحية",
"settings/notifications": "التنبيهات",
"settings/api": "API Access",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",
@@ -70,7 +71,7 @@
"logout": "Log out",
"view-forum": "View Forum",
"search.placeholder": "Search for settings",
"search.placeholder": "Press &quot;/&quot; to search for settings",
"search.no-results": "No results...",
"search.search-forum": "Search the forum for <strong></strong>",
"search.keep-typing": "Type more to see results...",

View File

@@ -5,6 +5,8 @@
"maintenance-mode.message": "Maintenance Message",
"headers": "Headers",
"headers.allow-from": "Set ALLOW-FROM to Place NodeBB in an iFrame",
"headers.csp-frame-ancestors": "Set Content-Security-Policy frame-ancestors header to Place NodeBB in an iFrame",
"headers.csp-frame-ancestors-help": "'none', 'self'(default) or list of URIs to allow.",
"headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB",
"headers.acao": "Access-Control-Allow-Origin",
"headers.acao-regex": "Access-Control-Allow-Origin Regular Expression",
@@ -30,5 +32,12 @@
"sockets.settings": "WebSocket Settings",
"sockets.max-attempts": "Max Reconnection Attempts",
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay"
"sockets.delay": "Reconnection Delay",
"analytics.settings": "Analytics Settings",
"analytics.max-cache": "Analytics Cache Max Value",
"analytics.max-cache-help": "On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings": "Compression Settings",
"compression.enable": "Enable Compression",
"compression.help": "This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."
}

View File

@@ -0,0 +1,16 @@
{
"tokens": "Tokens",
"settings": "Settings",
"lead-text": "From this page you can configure access to the Write API in NodeBB.",
"intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.",
"docs": "Click here to access the full API specification",
"require-https": "Require API usage via HTTPS only",
"require-https-caveat": "<strong>Note</strong>: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.",
"uid": "User ID",
"uid-help-text": "Specify a User ID to associate with this token. If the user ID is <code>0</code>, it will be considered a <em>master</em> token, which can assume the identity of other users based on the <code>_uid</code> parameter",
"description": "Description",
"no-description": "No description specified.",
"token-on-save": "Token will be generated once form is saved"
}

View File

@@ -6,6 +6,7 @@
"max-length": "Maximum length of chat messages",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages in milliseconds",
"notification-delay": "Notification delay for chat messages. (0 for no delay)",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable. (0 disabled)",
"restrictions.seconds-delete-after": "Number of seconds a chat message will remain deletable. (0 disabled)"
}

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -4,9 +4,6 @@
"address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.",
"from": "From Name",
"from-help": "The from name to display in the email.",
"sendmail-rate-limit": "Send <em>X</em> emails...",
"sendmail-rate-delta": "... every <em>X</em> milliseconds",
"sendmail-rate-help": "Instructs the NodeBB mailer to limit the number of messages sent at once in order to not overwhelm email receiving services. These options do not apply if SMTP Transport is enabled (below).",
"smtp-transport": "SMTP Transport",
"smtp-transport.enabled": "Use an external email server to send emails",
@@ -25,6 +22,8 @@
"smtp-transport.username": "Username",
"smtp-transport.username-help": "<b>For the Gmail service,</b> enter the full email address here, especially if you are using a Google Apps managed domain.",
"smtp-transport.password": "Password",
"smtp-transport.pool": "Enable pooled connections",
"smtp-transport.pool-help": "Pooling connections prevents NodeBB from creating a new connection for every email. This option only applies if SMTP Transport is enabled.",
"template": "Edit Email Template",
"template.select": "Select Email Template",
@@ -36,5 +35,7 @@
"subscriptions": "Email Digests",
"subscriptions.disable": "Disable email digests",
"subscriptions.hour": "Digest Hour",
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>"
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.settings": "Email notification settings",
"notifications.remove-images": "Remove images from email notifications"
}

View File

@@ -27,9 +27,12 @@
"log.alt-text-placeholder": "Alternative text for accessibility",
"favicon": "صورة المفضله",
"favicon.upload": "رفع",
"touch-icon": "Homescreen/Touch Icon",
"pwa": "Progressive Web App",
"touch-icon": "Touch Icon",
"touch-icon.upload": "رفع",
"touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
"touch-icon.help": "Recommended size and format: 512x512, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
"maskable-icon": "Maskable (Homescreen) Icon",
"maskable-icon.help": "Recommended size and format: 512x512, PNG format only. If no maskable icon is specified, NodeBB will fall back to the Touch Icon.",
"outgoing-links": "Outgoing Links",
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
"search-default-sort-by": "الترتيب الافتراضي للبحث",
@@ -38,4 +41,4 @@
"theme-color": "لون الثيم",
"background-color": "لون الخلفية",
"background-color-help": "Color used for splash screen background when website is installed as a PWA"
}
}

View File

@@ -1,5 +1,7 @@
{
"handles": "Guest Handles",
"settings": "Settings",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\""
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
}

View File

@@ -2,6 +2,5 @@
"notifications": "Notifications",
"welcome-notification": "Welcome Notification",
"welcome-notification-link": "Welcome Notification Link",
"welcome-notification-uid": "Welcome Notification User (UID)",
"notification-alert-timeout": "Notification Alert Timeout"
"welcome-notification-uid": "Welcome Notification User (UID)"
}

View File

@@ -34,6 +34,8 @@
"timestamp.cut-off-help": "Dates &amp; times will be shown in a relative manner (e.g. \"3 hours ago\" / \"5 days ago\"), and localised into various\n\t\t\t\t\tlanguages. After a certain point, this text can be switched to display the localised date itself\n\t\t\t\t\t(e.g. 5 Nov 2016 15:30).<br /><em>(Default: <code>30</code>, or one month). Set to 0 to always display dates, leave blank to always display relative times.</em>",
"timestamp.necro-threshold": "Necro Threshold (in days)",
"timestamp.necro-threshold-help": "A message will be shown between posts if the time between them is longer than the necro threshold. (Default: <code>7</code>, or one week). Set to 0 to disable.</em>",
"timestamp.topic-views-interval": "Increment topic views interval (in minutes)",
"timestamp.topic-views-interval-help": "Topic views will only increment once every X minutes as defined by this setting.",
"teaser": "Teaser Post",
"teaser.last-post": "Last &ndash; Show the latest post, including the original post, if no replies",
"teaser.last-reply": "Last &ndash; Show the latest reply, or a \"No replies\" placeholder if no replies",

View File

@@ -5,10 +5,16 @@
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile"
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile",
"flags": "Flag Settings",
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0"
}

View File

@@ -16,6 +16,7 @@
"allow-account-deletion": "السماح بحذف الحساب",
"hide-fullname": "إخفاء الإسم الكامل عن المستخدمين",
"hide-email": "إخفاء البريد الإلكتروني عن المستخدمين",
"show-fullname-as-displayname": "Show user's full name as their display name if available",
"themes": "القوالب",
"disable-user-skins": "منع المستخدمين من اختيار سمة مخصص",
"account-protection": "حماية الحساب",
@@ -43,6 +44,9 @@
"registration-type.disabled": "لا يوجد تسجيل",
"registration-type.help": "Normal - Users can register from the /register page.<br/>\nInvite Only - Users can invite others from the <a href=\"%1/users\" target=\"_blank\">users</a> page.<br/>\nAdmin Invite Only - Only administrators can invite others from <a href=\"%1/users\" target=\"_blank\">users</a> and <a href=\"%1/admin/manage/users\">admin/manage/users</a> pages.<br/>\nNo registration - No user registration.<br/>",
"registration-approval-type.help": "Normal - Users are registered immediately.<br/>\nAdmin Approval - User registrations are placed in an <a href=\"%1/admin/manage/registration\">approval queue</a> for administrators.<br/>\nAdmin Approval for IPs - Normal for new users, Admin Approval for IP addresses that already have an account.<br/>",
"registration-queue-auto-approve-time": "Automatic Approval Time",
"registration-queue-auto-approve-time-help": "Hours before user is approved automatically. 0 to disable.",
"registration-queue-show-average-time": "Show users average time it takes to approve a new user",
"registration.max-invites": "الحد الأقصى للدعوات لكل عضو",
"max-invites": "الحد الأقصى للدعوات لكل عضو",
"max-invites-help": "0 لعدم تحديد قيود، الإدارة تحصل على دعوات لامحدودة <br> هذا الخيار يعمل فقط عند تحديد خيار \"بالدعوات فقط\"",
@@ -62,6 +66,7 @@
"restrict-chat": "السماح فقط برسائل الدردشة من المستخدمين الذين أتبعهم",
"outgoing-new-tab": "Open outgoing links in new tab",
"topic-search": "Enable In-Topic Searching",
"update-url-with-post-index": "Update url with post index while browsing topics",
"digest-freq": "Subscribe to Digest",
"digest-freq.off": "Off",
"digest-freq.daily": "Daily",

View File

@@ -21,6 +21,8 @@
"reset.notify.text1": "نحيطك علما أن كلمة مرورك قد تم تغييرها في %1",
"reset.notify.text2": "إن لم يكن لديك علم بهذا، المرجو إشعار مدبر النظام بأسرع مايمكن.",
"digest.latest_topics": "آخر المستجدات من %1",
"digest.top-topics": "Top topics from %1",
"digest.popular-topics": "Popular topics from %1",
"digest.cta": "انقر هنا لمشاهدة %1",
"digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.",
"digest.day": "يوم",

View File

@@ -9,6 +9,7 @@
"invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود",
"invalid-uid": "مستخدم غير موجود",
"invalid-date": "A valid date must be provided",
"invalid-username": "اسم المستخدم غير مقبول",
"invalid-email": "البريد الاكتروني غير مقبول",
"invalid-fullname": "Invalid Fullname",
@@ -26,6 +27,7 @@
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ",
"email-invited": "Email was already invited",
"email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.",
"email-not-confirmed-chat": "لا يمكنك الدردشة حتى تقوم بتأكيد بريدك الإلكتروني، الرجاء إضغط هنا لتأكيد بريدك اﻹلكتروني.",
"email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.",
@@ -38,6 +40,7 @@
"username-too-long": "اسم المستخدم طويل",
"password-too-long": "كلمة السر طويلة ",
"reset-rate-limited": "Too many password reset requests (rate limited)",
"reset-same-password": "Please use a password that is different from your current one",
"user-banned": "المستخدم محظور",
"user-banned-reason": "Sorry, this account has been banned (Reason: %1)",
"user-banned-reason-until": "Sorry, this account has been banned until %1 (Reason: %2)",
@@ -88,7 +91,9 @@
"already-unbookmarked": "You have already unbookmarked this post",
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
"cant-remove-last-admin": "رجاءًا ، أضف مدير أخر قبل حذف صلاحيات الإدارة من حسابك.",
"account-deletion-disabled": "Account deletion is disabled",
"cant-delete-admin": "رجاءًا أزل صلاحيات الإدارة قبل حذف الحساب. ",
"already-deleting": "Already deleting",
"invalid-image": "Invalid image",
"invalid-image-type": "نوع الصورة غير مدعوم. الأنواع المدعومة هي : %1",
"invalid-image-extension": "امتداد الصورة غير مدعوم.",
@@ -128,6 +133,7 @@
"chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting",
"chat-deleted-already": "This chat message has already been deleted.",
"chat-restored-already": "This chat message has already been restored.",
"chat-room-does-not-exist": "Chat room does not exist.",
"already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
@@ -138,8 +144,14 @@
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"already-flagged": "لقد بلغت عن هذه المشاركة من قبل.",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"self-vote": "You cannot vote on your own post",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل",
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم",
@@ -157,10 +169,13 @@
"invalid-session-text": "يبدو أن فترة التسجيل لم تعد قائمة او هي غير مطابقة مع الخادم. يرجى إعادة تحميل هذه الصفحة.",
"no-topics-selected": "No topics selected!",
"cant-move-to-same-topic": "Can't move post to same topic!",
"cant-move-topic-to-same-category": "Can't move topic to the same category!",
"cannot-block-self": "You cannot block yourself!",
"cannot-block-privileged": "You cannot block administrators or global moderators",
"cannot-block-guest": "Guest are not able to block other users",
"already-blocked": "This user is already blocked",
"already-unblocked": "This user is already unblocked",
"no-connection": "There seems to be a problem with your internet connection"
"no-connection": "There seems to be a problem with your internet connection",
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP"
}

View File

@@ -1,8 +1,7 @@
{
"state": "الحالة",
"reporter": "المُبلغ",
"reported-at": "وقت التبليغ",
"description": "الوصف",
"reports": "Reports",
"first-reported": "First Reported",
"no-flags": "Hooray! No flags found.",
"assignee": "المحال إليه",
"update": "تحديث",
@@ -26,6 +25,7 @@
"filter-quick-mine": "Assigned to me",
"filter-cid-all": "All categories",
"apply-filters": "Apply Filters",
"more-filters": "More Filters",
"quick-actions": "اجراءات سريعه",
"flagged-user": "Flagged User",
@@ -43,6 +43,9 @@
"notes": "Flag Notes",
"add-note": "اضافة ملاحظة",
"no-notes": "No shared notes.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"note-added": "Note Added",
"note-deleted": "Note Deleted",
"history": "Account &amp; Flag History",
"no-history": "No flag history.",
@@ -53,9 +56,18 @@
"state-resolved": "تم حلها",
"state-rejected": "تم رفضها",
"no-assignee": "Not Assigned",
"note-added": "Note Added",
"modal-title": "Report Inappropriate Content",
"sort": "Sort by",
"sort-newest": "Newest first",
"sort-oldest": "Oldest first",
"sort-reports": "Most reports",
"sort-all": "All flag types...",
"sort-posts-only": "Posts only...",
"sort-downvotes": "Most downvotes",
"sort-upvotes": "Most upvotes",
"sort-replies": "Most replies",
"modal-title": "Report Content",
"modal-body": "Please specify your reason for flagging %1 %2 for review. Alternatively, use one of the quick report buttons if applicable.",
"modal-reason-spam": "Spam",
"modal-reason-offensive": "Offensive",
@@ -65,5 +77,10 @@
"modal-submit-success": "Content has been flagged for moderation.",
"modal-submit-confirm": "Confirm Submission",
"modal-submit-confirm-text": "You have a custom reason specified already. Are you sure you wish to submit via quick-report?",
"modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined."
"modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined.",
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)"
}

View File

@@ -52,14 +52,17 @@
"users": "الأعضاء",
"topics": "المواضيع",
"posts": "المشاركات",
"x-posts": "%1 posts",
"best": "الأفضل",
"votes": "Votes",
"x-votes": "%1 votes",
"voters": "Voters",
"upvoters": "الموافقين",
"upvoted": "مصوت بالموجب",
"downvoters": "مصوتين بالسالب",
"downvoted": "مصوت بالسالب",
"views": "المشاهدات",
"posters": "Posters",
"reputation": "السمعة",
"lastpost": "Last post",
"firstpost": "First post",

View File

@@ -35,6 +35,8 @@
"details.member_count": "عدد اﻷعضاء",
"details.creation_date": "تاريخ الإنشاء",
"details.description": "الوصف",
"details.member-post-cids": "Categories to display posts from",
"details.member-post-cids-help": "<strong>Note</strong>: Selecting no categories will assume all categories are included. Use <code>ctrl</code> and <code>shift</code> to select multiple options.",
"details.badge_preview": "معاينة الوسام",
"details.change_icon": "تغيير الأيقونة",
"details.change_label_colour": "Change Label Colour",

View File

@@ -1,6 +1,7 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 يكتب رسالة...",
@@ -58,10 +59,17 @@
"composer.upload-file": "Upload File",
"composer.zen_mode": "Zen Mode",
"composer.select_category": "Select a category",
"composer.textarea.placeholder": "Enter your post content here, drag and drop images",
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved"
"cover.saved": "Cover photo image and position saved",
"thumbs.modal.title": "Manage topic thumbnails",
"thumbs.modal.no-thumbs": "No thumbnails found.",
"thumbs.modal.resize-note": "<strong>Note</strong>: This forum is configured to resize topic thumbnails down to a maximum width of %1px",
"thumbs.modal.add": "Add thumbnail",
"thumbs.modal.remove": "Remove thumbnail",
"thumbs.modal.confirm-remove": "Are you sure you want to remove this thumbnail?"
}

View File

@@ -46,6 +46,7 @@
"profile-exported": "<strong>%1</strong> profile exported, click to download",
"posts-exported": "<strong>%1</strong> posts exported, click to download",
"uploads-exported": "<strong>%1</strong> uploads exported, click to download",
"users-csv-exported": "Users csv exported, click to download",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
@@ -60,7 +61,9 @@
"notificationType_post-edit": "When a post is edited in a topic you are watching",
"notificationType_follow": "When someone starts following you",
"notificationType_new-chat": "When you receive a chat message",
"notificationType_new-group-chat": "When you receive a group chat message",
"notificationType_group-invite": "When you receive a group invite",
"notificationType_group-leave": "When a user leaves your group",
"notificationType_group-request-membership": "When someone requests to join a group you own",
"notificationType_new-register": "When someone gets added to registration queue",
"notificationType_post-queue": "When a new post is queued",

View File

@@ -1,3 +1,4 @@
{
"post-queue": "Post Queue",
"description": "There are no posts in the post queue. <br> To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
@@ -7,5 +8,11 @@
"content": "Content",
"posted": "Posted",
"reply-to": "Reply to \"%1\"",
"content-editable": "You can click on individual content to edit before posting."
"content-editable": "Click on content to edit",
"category-editable": "Click on category to edit",
"title-editable": "Click on title to edit",
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
}

View File

@@ -18,6 +18,8 @@
"agree_to_terms_of_use": "أوافق على شروط الاستخدام",
"terms_of_use_error": "يجب عليك الموافقة على شروط الاستخدام",
"registration-added-to-queue": "تمت إضافتك في قائمة الإنتضار. ستتلقى رسالة إلكترونية عند الموافقة على تسجيلك من قبل الإدارة.",
"registration-queue-average-time": "Our average time for approving memberships is %1 hours %2 minutes.",
"registration-queue-auto-approve-time": "Your membership to this forum will be fully activated in up to %1 hours.",
"interstitial.intro": "نحتاج إلى بعض المعلومات الإضافية قبل أن نتمكن من إنشاء حسابك.",
"interstitial.errors-found": "تعذر علينا إتمام عملية التسجيل:",
"gdpr_agree_data": "I consent to the collection and processing of my personal information on this website.",

View File

@@ -7,6 +7,7 @@
"wrong_reset_code.message": "رمز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمزا جديدا</a>",
"new_password": "كلمة المرور الجديدة",
"repeat_password": "تأكيد كلمة المرور",
"changing_password": "Changing Password",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
"password_reset_sent": "If the specified address corresponds to an existing user account, a password reset email was sent. Please note that only one email will be sent per minute.",

View File

@@ -44,5 +44,6 @@
"search-preferences-saved": "تم حفظ تفضيلات البحث",
"search-preferences-cleared": "تم ازالة تفضيلات البحث",
"show-results-as": "عرض النتائج كـ",
"see-more-results": "See more results (%1)"
"see-more-results": "See more results (%1)",
"search-in-category": "Search in \"%1\""
}

View File

@@ -1,7 +1,5 @@
{
"topic": "موضوع",
"topic_id": "معرف الموضوع",
"topic_id_placeholder": "أدخل معرف الموضوع",
"no_topics_found": "لا توجد مواضيع !",
"no_posts_found": "لا توجد مشاركات!",
"post_is_deleted": "هذه المشاركة محذوفة!",
@@ -31,14 +29,18 @@
"tools": "أدوات",
"locked": "مقفل",
"pinned": "مثبت",
"pinned-with-expiry": "Pinned until %1",
"moved": "منقول",
"moved-from": "Moved from %1",
"copy-ip": "Copy IP",
"ban-ip": "Ban IP",
"view-history": "Edit History",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag_post": "Flag this post",
"flag_user": "Flag this user",
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"flag-post": "Flag this post",
"flag-user": "Flag this user",
"already-flagged": "Already Flagged",
"view-flag-report": "View Flag Report",
"merged_message": "This topic has been merged into <a href=\"%1\">%2</a>",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
@@ -79,10 +81,17 @@
"thread_tools.purge_confirm": "هل أنت متأكد أنك تريد تطهير هذا الموضوع؟",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "تم نقل هذا الموضوع إلى %1 بنجاح",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",
"post_delete_confirm": "هل أنت متأكد أنك تريد حذف هذه المشاركة؟",
"post_restore_confirm": "هل أنت متأكد أنك تريد استعادة هذه المشاركة؟",
"post_purge_confirm": "هل أنت متأكد أنك تريد تطهير هذه المشاركة؟",
"pin-modal-expiry": "Expiration Date",
"pin-modal-help": "You can optionally set an expiration date for the pinned topic(s) here. Alternatively, you can leave this field blank to have the topic stay pinned until it is manually unpinned.",
"load_categories": "تحميل الفئات",
"confirm_move": "انقل",
"confirm_fork": "فرع",
@@ -97,6 +106,9 @@
"fork_topic": "فرع الموضوع",
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
"fork_no_pids": "لم تختر أي مشاركة",
"no-posts-selected": "No posts selected!",
"x-posts-selected": "%1 post(s) selected",
"x-posts-will-be-moved-to-y": "%1 post(s) will be moved to \"%2\"",
"fork_pid_count": "1% مشاركة محددة",
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
@@ -105,7 +117,7 @@
"merge-options": "Merge options",
"merge-select-main-topic": "Select the main topic",
"merge-new-title-for-topic": "New title for topic",
"move_posts_instruction": "Click the posts you want to move",
"move_posts_instruction": "Click the posts you want to move then go to target topic and click move.",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "Enter your name/handle here",
@@ -143,5 +155,7 @@
"diffs.restore-description": "A new revision will be appended to this post's edit history.",
"diffs.post-restored": "Post successfully restored to earlier revision",
"timeago_later": "%1 later",
"timeago_earlier": "%1 earlier"
"timeago_earlier": "%1 earlier",
"first-post": "First post",
"last-post": "Last post"
}

View File

@@ -1,7 +1,7 @@
{
"banned": "محظور",
"offline": "غير متصل",
"deleted": "Deleted",
"deleted": "محذوف",
"username": "إسم المستخدم",
"joindate": "تاريخ الإنضمام",
"postcount": "عدد المشاركات",
@@ -111,12 +111,7 @@
"posts_per_page": "الردود في كل صفحة",
"max_items_per_page": "أقصى %1",
"acp_language": "Admin Page Language",
"notification_sounds": "تشغيل صوت عند تلقي تنبيه",
"notifications_and_sounds": "التنبيهات والأصوات",
"incoming-message-sound": "صوت الرسالة الواردة",
"outgoing-message-sound": "صوت الرسائل الصادرة",
"notification-sound": "صوت التنبيهات",
"no-sound": "بدون صوت",
"notifications": "Notifications",
"upvote-notif-freq": "معدل تكرار تنبيهات التصويت للأعلى",
"upvote-notif-freq.all": "كل التصويتات للأعلى",
"upvote-notif-freq.first": "First Per Post",
@@ -128,6 +123,7 @@
"open_links_in_new_tab": "فتح الروابط الخارجية في نافدة جديدة",
"enable_topic_searching": "تفعيل خاصية البحث داخل المواضيع",
"topic_search_help": "إذا قمت بتفعيل ميزة البحث في-الموضوع، سيتم تجاوز الخيار الافتراضي للمتصفح مما يؤدي للبحث بكامل الموضوع بدلا عن البحث في الجزء الظاهر في الشاشة.",
"update_url_with_post_index": "Update url with post index while browsing topics",
"scroll_to_my_post": "بعد اضافة رد على المشاركة, قم بإظهار المشاركة",
"follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد عليها",
"follow_topics_you_create": "متابعة المواضيع التي تقوم بإنشائها",

View File

@@ -11,6 +11,7 @@
"online-only": "المتصلون فقط",
"invite": "دعوة",
"prompt-email": "Emails:",
"groups-to-join": "Groups to be joined when invite is accepted:",
"invitation-email-sent": "تم إرسال دعوة بالبريد الإلكتروني إلى %1",
"user_list": "قائمة اﻷعضاء",
"recent_topics": "أحدث المواضيع",

View File

@@ -1,11 +1,6 @@
{
"post-cache": "Кеш за публикации",
"posts-in-cache": "Публикации в кеша",
"average-post-size": "Среден обем на публикация",
"length-to-max": "Дължина / максимум",
"percent-full": "Запълненост: %1%",
"post-cache-size": "Размер на кеша за публикации",
"items-in-cache": "Елементи в кеша",
"control-panel": "Контролен панел",
"update-settings": "Обновяване на настройките на кеша"
"items-in-cache": "Елементи в кеша"
}

View File

@@ -3,6 +3,7 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 възела отговориха в рамките на %2мсек!",
"host": "сървър",
"primary": "основен / изпълнение на задачите",
"pid": "ид. на процеса",
"nodejs": "nodejs",
"online": "на линия",

View File

@@ -1,4 +1,5 @@
{
"trending": "Популярни",
"installed": "Инсталирани",
"active": "Включени",
"inactive": "Изключени",

View File

@@ -11,6 +11,7 @@
"num-recent-replies": "Брой на скорошните отговори",
"ext-link": "Външна връзка",
"is-section": "Използване на тази категория като раздел",
"post-queue": "Опашка за публикации",
"tag-whitelist": "Списък от разрешени етикети",
"upload-image": "Качване на изображение",
"delete-image": "Премахване",
@@ -27,6 +28,8 @@
"enable": "Включване",
"disable": "Изключване",
"edit": "Редактиране",
"analytics": "Анализи",
"view-category": "Преглед на категорията",
"select-category": "Изберете категория",
"set-parent-category": "Задайте базова категория",
@@ -64,7 +67,6 @@
"alert.create-success": "Категорията е създадена успешно!",
"alert.none-active": "Нямате активни категории.",
"alert.create": "Създаване на категория",
"alert.confirm-moderate": "<strong>Наистина ли искате да дадете правомощието за модериране на тази потребителска група?</strong> Тази група е публична и всеки може свободно да се присъедини към нея.",
"alert.confirm-purge": "<p class=\"lead\">Наистина ли искате да изтриете категорията „%1“?</p><h5><strong class=\"text-danger\">Внимание!</strong> Всички теми и публикации в тази категория ще бъдат изтрити!</h5> <p class=\"help-block\">Изтриването на категорията ще премахне всички теми и публикации, и ще изтрие категорията от базата данни. Ако искате да премахнете категорията <em>временно</em>, можете просто да я „изключите“.</p>",
"alert.purge-success": "Категорията е изтрита!",
"alert.copy-success": "Настройките са копирани!",
@@ -76,7 +78,9 @@
"alert.user-search": "Потърсете потребител тук…",
"alert.find-group": "Търсене на група",
"alert.group-search": "Потърсете група тук…",
"alert.not-enough-whitelisted-tags": "Разрешените етикети са по-малко от минимума. Трябва да създадете още разрешени етикети!",
"collapse-all": "Свиване на всички",
"expand-all": "Разгъване на всички",
"disable-on-create": "Изключване при създаване"
"disable-on-create": "Изключване при създаване",
"no-matches": "Няма съвпадения"
}

View File

@@ -8,6 +8,9 @@
"hidden": "Скрита",
"private": "Частна",
"edit": "Редактиране",
"delete": "Изтриване",
"privileges": "Правомощия",
"download-csv": "CSV",
"search-placeholder": "Търсене",
"create": "Създаване на група",
"description-placeholder": "Кратко описание на групата",

View File

@@ -1,14 +1,16 @@
{
"global": "Глобални",
"global.no-users": "Няма глобални правомощия за отделни потребители.",
"admin": "Администратор",
"group-privileges": "Правомощия за групите",
"user-privileges": "Правомощия за потребителите",
"edit-privileges": "Редактиране на правомощията",
"select-clear-all": "Избиране/изчистване на всичко",
"chat": "Разговор",
"upload-images": "Качване на изображения",
"upload-files": "Качване на файлове",
"signature": "Подпис",
"ban": "Блокиране",
"invite": "Пращане на покана",
"search-content": "Търсене на съдържание",
"search-users": "Търсене на потребители",
"search-tags": "Търсене на етикети",
@@ -33,10 +35,25 @@
"delete-topics": "Изтриване на теми",
"purge": "Изчистване",
"moderate": "Модериране",
"admin-dashboard": "Табло",
"admin-categories": "Категории",
"admin-privileges": "Правомощия",
"admin-users": "Потребители",
"admin-settings": "Настройки"
"admin-admins-mods": "Администратори и модератори",
"admin-groups": "Групи",
"admin-tags": "Етикети",
"admin-settings": "Настройки",
"alert.confirm-moderate": "<strong>Наистина ли искате да дадете правомощието за модериране на тази потребителска група?</strong> Тази група е публична и всеки може свободно да се присъедини към нея.",
"alert.confirm-admins-mods": "<strong>Наистина ли искате да дадете правото „Администратори и модератори“ на този потребител/група?</strong> Потребителите с това право могат да променят правомощията на други групи, <em>включително да им дават правото на супер администратори</em>",
"alert.confirm-save": "Моля, потвърдете желанието си да запазите тези правомощия",
"alert.saved": "Промените по правомощията са запазени и приложени",
"alert.confirm-discard": "Наистина ли искате да отхвърлите промените по правомощията?",
"alert.discarded": "Промените по правомощията са отхвърлени",
"alert.confirm-copyToAll": "Наистина ли искате да приложите този набор от правомощия към <strong>всички категории</strong>?",
"alert.confirm-copyToAllGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички категории</strong>?",
"alert.confirm-copyToChildren": "Наистина ли искате да приложите този набор от правомощия към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.confirm-copyToChildrenGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.no-undo": "<em>Това действие е необратимо.</em>",
"alert.admin-warning": "Администраторите имат всички правомощия по подразбиране"
}

View File

@@ -14,5 +14,6 @@
"alerts.editing": "Редактиране на етикет(и)",
"alerts.confirm-delete": "Наистина ли искате да изтриете избраните етикети?",
"alerts.update-success": "Етикетът е променен!"
"alerts.update-success": "Етикетът е променен!",
"reset-colors": "Възстановяване на стандартните цветовете"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Добавяне на група",
"invite": "Покана",
"new": "Нов потребител",
"pills.latest": "Последни потребители",
"filter-by": "Филтриране по",
"pills.unvalidated": "Няма потвърдена е-поща",
"pills.no-posts": "Няма публикации",
"pills.top-posters": "С най-много публикации",
"pills.top-rep": "С най-много репутация",
"pills.inactive": "Недеен",
"pills.flagged": "С най-много доклади",
"pills.validated": "Потвърдена",
"pills.banned": "Блокиран",
"pills.search": "Търсене на потребители",
"50-per-page": "50 на страница",
"100-per-page": "100 на страница",
@@ -108,5 +102,7 @@
"alerts.prompt-email": "Е-пощи: ",
"alerts.email-sent-to": "Беше изпратено е-писмо за потвърждение до %1",
"alerts.x-users-found": "Намерени потребители: %1! Търсенето отне %2 милисекунди."
"alerts.x-users-found": "Намерени потребители: %1 (%2 секунди)",
"export-users-started": "Изнасяне на потребителите във формат „csv“… Това може да отнеме известно време. Ще получите известие, когато е готово.",
"export-users-completed": "Потребителите са изнесени във формат „csv“, щракнете за сваляне."
}

View File

@@ -19,7 +19,7 @@
"settings/general": "Общи",
"settings/homepage": "Начална страница",
"settings/navigation": "Навигация",
"settings/reputation": "Репутация",
"settings/reputation": "Репутация и доклади",
"settings/email": "Е-поща",
"settings/user": "Потребители",
"settings/group": "Групи",
@@ -31,6 +31,7 @@
"settings/pagination": "Странициране",
"settings/tags": "Етикети",
"settings/notifications": "Известия",
"settings/api": "Достъп чрез ППИ",
"settings/sounds": "Звуци",
"settings/social": "Обществени",
"settings/cookies": "Бисквитки",
@@ -70,7 +71,7 @@
"logout": "Изход",
"view-forum": "Преглед на форума",
"search.placeholder": "Търсене на настройки",
"search.placeholder": "Натиснете „/“ за търсене на настройки",
"search.no-results": "Няма резултати…",
"search.search-forum": "Търсене във форума за <strong></strong>",
"search.keep-typing": "Продължете да пишете, за да видите още резултати…",

View File

@@ -5,6 +5,8 @@
"maintenance-mode.message": "Съобщение за профилактиката",
"headers": "Заглавни части",
"headers.allow-from": "Задайте „ALLOW-FROM“, за да поставите NodeBB в „iFrame“",
"headers.csp-frame-ancestors": "Задайте заглавката „Content-Security-Policy frame-ancestors“ за да поставите NodeBB „iFrame“",
"headers.csp-frame-ancestors-help": "„none“ (нищо), „self“ (себе си по подразбиране) или списък от позволени адреси.",
"headers.powered-by": "Персонализиране на заглавната част „Захранван от“, която се изпраща от NodeBB",
"headers.acao": "Произход за разрешаване на управлението на достъпа",
"headers.acao-regex": "Регулярен израз за произхода за разрешаване на управлението на достъпа",
@@ -30,5 +32,12 @@
"sockets.settings": "Настройки за WebSocket",
"sockets.max-attempts": "Максимален брой опити за повторно свързване",
"sockets.default-placeholder": "По подразбиране: %1",
"sockets.delay": "Забавяне при повторно свързване"
"sockets.delay": "Забавяне при повторно свързване",
"analytics.settings": "Настройки за анализите",
"analytics.max-cache": "Макс. стойност на кеша за анализите",
"analytics.max-cache-help": "При инсталации с натоварен трафик, кешът може да бъде изразходен, ако има повече едновременни потребители, от колкото е максималната стойност на кеша. (Изисква рестартиране)",
"compression.settings": "Настройки за компресирането",
"compression.enable": "Включване на компресирането",
"compression.help": "Тази настройка включва компресирането чрез „gzip“. За натоварени уеб сайтове най-добрият начин за използване на компресия е тя да се случва на нивото на обратния сървър-посредник (reverse proxy). Но с цел тестване, можете да го включите и тук."
}

View File

@@ -0,0 +1,16 @@
{
"tokens": "Кодове",
"settings": "Настройки",
"lead-text": "На тази страница можете да настроите достъпа до ППИ за писане в NodeBB.",
"intro": "По подразбиране ППИ за писане удостоверява потребителите чрез бисквитката им за сесията, но NodeBB поддържа и удостоверяване чрез метода „Bearer“, използвайки кодовете от тази страница.",
"docs": "Щракнете тук за достъп до пълната документация на ППИ",
"require-https": "Ползването на ППИ да работи само чрез HTTPS",
"require-https-caveat": "<strong>Забележка</strong>: В някои случаи, когато се ползват програми за балансиране на натоварването, е възможно заявките към NodeBB да се препращат чрез HTTP тогава тази настройка трябва да остане изключена.",
"uid": "Потребителски ИД",
"uid-help-text": "Посочете потребителски ИД, който да бъде свързан с този код. Ако ИД е <code>0</code>, това ще се счита за <em>главен</em> код, който може да приема идентичността на всеки от другите потребители чрез параметъра <code>_uid</code>",
"description": "Описание",
"no-description": "Няма описание.",
"token-on-save": "Кодът ще бъде създаден след като данните бъдат запазени"
}

View File

@@ -5,7 +5,8 @@
"disable-editing-help": "Това ограничение не засяга администраторите и глобалните модератори",
"max-length": "Максимална дължина на съобщенията в разговорите",
"max-room-size": "Максимален брой потребители в стая за разговор",
"delay": "Време между съобщеният в разговорите (в милисекунди)",
"delay": "Време между съобщенията в разговорите (в милисекунди)",
"notification-delay": "Забавяне преди известяване за съобщения в разговорите. (0 без забавяне)",
"restrictions.seconds-edit-after": "Брой секунди, през които съобщенията в разговор могат да бъдат редактирани. (0 = изключено)",
"restrictions.seconds-delete-after": "Брой секунди, през които съобщенията в разговор могат да бъдат изтривани. (0 = изключено)"
}

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Оставете това празно, за да използвате данните по подразбиране на NodeBB, които са преведени",
"settings": "Настройки",
"cookie-domain": "Домейн на бисквитката за сесията",
"max-user-sessions": "Максимален брой активни сесии за потребител",
"blank-default": "Оставете празно, за да използвате стойността по подразбиране"
}

View File

@@ -4,9 +4,6 @@
"address-help": "Следният адрес на е-поща е този, който получателят ще види в полетата „От“ и “Отговор до“.",
"from": "Име за полето „От“",
"from-help": "Името на изпращача, което да бъде показано в е-писмото.",
"sendmail-rate-limit": "Изпращане на <em>X</em> е-писма…",
"sendmail-rate-delta": "…на всеки <em>X</em> милисекунди",
"sendmail-rate-help": "Задава на програмата за изпращане на е-писма на NodeBB да ограничи броя едновременно изпращани съобщения, за да не се претоварват пощенските сървъри. Тези настройки не се вземат предвид, ако е включена настройката „Транспорт чрез SMTP“ (по-долу).",
"smtp-transport": "Транспорт чрез SMTP",
"smtp-transport.enabled": "Използване на външен сървър за е-поща за изпращане на е-писма",
@@ -25,6 +22,8 @@
"smtp-transport.username": "Потребителско име",
"smtp-transport.username-help": "<b>За услугата на Gmail</b>, въведете пълния адрес на е-пощата тук, особено ако използвате управляван домейн на „Google Apps“.",
"smtp-transport.password": "Парола",
"smtp-transport.pool": "Включване на групираните връзки",
"smtp-transport.pool-help": "Групирането на връзките предотвратява създаването на нова връзка за всяко е-писмо. Тази настройка има ефект, само ако е включено „Транспорт чрез SMTP“.",
"template": "Редактирана не шаблона за е-писма",
"template.select": "Изберете шаблон за е-писма",
@@ -36,5 +35,7 @@
"subscriptions": "Резюмета по е-поща",
"subscriptions.disable": "Изключване на резюметата по е-пощата",
"subscriptions.hour": "Време за разпращане",
"subscriptions.hour-help": "Моля, въведете число, представляващо часа, в който да се разпращат е-писма с подготвеното резюме (напр.. <code>0</code> за полунощ, <code>17</code> за 5 следобед). Имайте предвид, че този час е според часовата зона на сървъра и може да не съвпада с часовника на системата Ви.<br /> Приблизителното време на сървъра е: <span id=\"serverTime\"></span><br /> Изпращането на следващия ежедневен бюлетин е планирано за <span id=\"nextDigestTime\"></span>"
"subscriptions.hour-help": "Моля, въведете число, представляващо часа, в който да се разпращат е-писма с подготвеното резюме (напр.. <code>0</code> за полунощ, <code>17</code> за 5 следобед). Имайте предвид, че този час е според часовата зона на сървъра и може да не съвпада с часовника на системата Ви.<br /> Приблизителното време на сървъра е: <span id=\"serverTime\"></span><br /> Изпращането на следващия ежедневен бюлетин е планирано за <span id=\"nextDigestTime\"></span>",
"notifications.settings": "Настройки за известията по е-поща",
"notifications.remove-images": "Премахване на изображенията от известията по е-поща"
}

View File

@@ -27,9 +27,12 @@
"log.alt-text-placeholder": "Алтернативен текст за достъпност",
"favicon": "Иконка на уеб сайта",
"favicon.upload": "Качване",
"touch-icon": "Иконка за начален екран (мобилно устройство)",
"pwa": "Прогресивно уеб-приложение",
"touch-icon": "Иконка за сензорен екран",
"touch-icon.upload": "Качване",
"touch-icon.help": "Препоръчителен размер и формат: 192x192, само във формат „PNG“. Ако не е посочена иконка за начален екран на мобилно устройство, NodeBB ще използва иконката на уеб сайта.",
"touch-icon.help": "Препоръчителен размер и формат: 512x512, само във формат „PNG“. Ако не е посочена иконка за сензорен екран, NodeBB ще използва иконката на уеб сайта.",
"maskable-icon": "Маскируема иконка (за начален екран)",
"maskable-icon.help": "Препоръчителен размер и формат: 512x512, само във формат „PNG“. Ако не е посочена маскируема иконка, NodeBB ще използва иконката за сензорен екран.",
"outgoing-links": "Изходящи връзки",
"outgoing-links.warning-page": "Показване на предупредителна страница при щракване върху външни връзки",
"search-default-sort-by": "Подредба по подразбиране при търсене",
@@ -38,4 +41,4 @@
"theme-color": "Цвят на темата",
"background-color": "Фонов цвят",
"background-color-help": "Цвят, който да се използва като фон за началния екран, когато уеб сайтът е инсталиран като приложение"
}
}

View File

@@ -1,5 +1,7 @@
{
"handles": "Имена за гостите",
"settings": "Настройки",
"handles.enabled": "Позволяване на имената за гостите",
"handles.enabled-help": "Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“."
"handles.enabled-help": "Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“.",
"topic-views.enabled": "Гостите да допринасят за броя на преглеждания на темите",
"reply-notifications.enabled": "Гостите да могат да предизвикват изпращането на известия за отговорите си"
}

View File

@@ -2,6 +2,5 @@
"notifications": "Известия",
"welcome-notification": "Приветствено известие",
"welcome-notification-link": "Връзка за приветственото известие",
"welcome-notification-uid": "Потр. ид. за приветственото известие",
"notification-alert-timeout": "Време за изчакване преди премахване на уведомяването за известие"
"welcome-notification-uid": "Потр. ид. за приветственото известие"
}

View File

@@ -34,6 +34,8 @@
"timestamp.cut-off-help": "Датите и времената ще бъдат показвани относително (напр. „преди 3 часа“ или „преди 5 дни“), и преведени на множество\n\\t\\t\\t\\t\\tезици. След определено време, този текст ще започне да показва самите дата и час, според езика на потребителя\n\\t\\t\\t\\t\\t(напр. „5 ноември 2016 15:30“).<br /><em>(По подразбиране: <code>30</code>, тоест един месец). Ако зададете 0, винаги ще се изписват дати, а ако оставите полето празно, времето ще бъде винаги относително.</em>",
"timestamp.necro-threshold": "Мъртва граница (в дни)",
"timestamp.necro-threshold-help": "Между публикациите ще бъде показано съобщение, ако времето между тях е по-дълго от мъртвата граница. (По подразбиране: <code>7</code>, или една седмица). Задайте 0 за изключване.</em>",
"timestamp.topic-views-interval": "Интервал за увеличаване на броя на преглеждания на темите (в минути)",
"timestamp.topic-views-interval-help": "Броят на преглеждания на темите ще се увеличава веднъж на всеки Х минути, според тази настройка.",
"teaser": "Представителна публикация",
"teaser.last-post": "Последната &ndash; Показване на последната публикация, или първоначалната такава, ако няма отговори.",
"teaser.last-reply": "Последната &ndash; Показване на последния отговор, или „Няма отговори“, ако все още няма такива.",

View File

@@ -5,10 +5,16 @@
"votes-are-public": "Всички гласувания са публични",
"thresholds": "Ограничения на дейността",
"min-rep-downvote": "Минимална репутация, необходима за отрицателно гласуване за публикации",
"downvotes-per-day": "Отрицателни гласувания за ден (задайте 0 за неограничен брой)",
"downvotes-per-user-per-day": "Отрицателни гласувания за потребител за ден (задайте 0 за неограничен брой)",
"min-rep-flag": "Минимална репутация, необходима за докладване на публикации",
"min-rep-website": "Минимална репутация, необходима за добавяне на полето „Уебсайт“ към профила на потребителя",
"min-rep-aboutme": "Минимална репутация, необходима за добавяне на полето „За мен“ към профила на потребителя",
"min-rep-signature": "Минимална репутация, необходима за добавяне на полето „Подпис“ към профила на потребителя",
"min-rep-profile-picture": "Минимална репутация, необходима за добавяне на профилна снимка към профила на потребителя",
"min-rep-cover-picture": "Минимална репутация, необходима за добавяне на снимка на корицата към профила на потребителя"
"min-rep-cover-picture": "Минимална репутация, необходима за добавяне на снимка на корицата към профила на потребителя",
"flags": "Настройки за докладите",
"flags.limit-per-target": "Максимален брой докладвания на едно и също нещо",
"flags.limit-per-target-placeholder": "По подразбиране: 0"
}

View File

@@ -16,6 +16,7 @@
"allow-account-deletion": "Позволяване на изтриването на профила",
"hide-fullname": "Скриване на пълното име от потребителите",
"hide-email": "Скриване на е-пощата от потребителите",
"show-fullname-as-displayname": "Показване на цялото име на потребителя, ако е налично",
"themes": "Теми",
"disable-user-skins": "Потребителите да не могат да избират собствен облик",
"account-protection": "Защита на акаунта",
@@ -43,6 +44,9 @@
"registration-type.disabled": "Без регистриране",
"registration-type.help": "Обикновена — Потребителите могат да се регистрират от страницата /register.<br/>\nСамо с покана — Потребителите могат да поканят други от страницата с <a href=\"%1/users\" target=\"_blank\">потребителите</a>.<br/>\nСамо с покана от администратор — Само администратори могат да канят други от страницата с <a href=\"%1/users\" target=\"_blank\">потребителите</a> и от страниците за <a href=\"%1/admin/manage/users\">управление на потребителите</a>.<br/>\nБез регистриране — Потребителите не се регистрират.<br/>",
"registration-approval-type.help": "Обикновена — Потребителите се регистрират на момента.<br/>\nОдобрена от администратор — Потребителските регистрации се поставят в <a href=\"%1/admin/manage/registration\">опашка за одобрение</a>, която администраторите преглеждат.<br/>\nОдобрена от администратор по IP адрес — Новите потребители се регистрират по обикновения начин, а онези, от чиито IP адрес вече са се регистрирали други акаунти, се нуждаят от одобрението на администратор.<br/>",
"registration-queue-auto-approve-time": "Време за автоматично одобрение",
"registration-queue-auto-approve-time-help": "Брой часове преди потребител да бъде одобрен автоматично. 0 = изключено.",
"registration-queue-show-average-time": "Средното време за одобрение на нов потребител да се показва на потребителите",
"registration.max-invites": "Максимален брой покани на потребител",
"max-invites": "Максимален брой покани на потребител",
"max-invites-help": "0 = няма ограничение. Администраторите могат да разпращат неограничен брой покани.<br>Тази стойност се използва, само ако е избран режимът „Само с покана“.",
@@ -62,6 +66,7 @@
"restrict-chat": "Разрешаване на съобщенията само от потребители, които следвам",
"outgoing-new-tab": "Отваряне на външните връзки в нов подпрозорец",
"topic-search": "Включване на търсенето в темите",
"update-url-with-post-index": "Обновяване на адресната лента с номера на публикацията по време на разглеждане на темите",
"digest-freq": "Абониране за резюмета",
"digest-freq.off": "Изключено",
"digest-freq.daily": "Ежедневно",

View File

@@ -21,6 +21,8 @@
"reset.notify.text1": "Известяваме Ви, че на %1, Вашата парола беше променена успешно.",
"reset.notify.text2": "Ако не сте поискали това, моля, свържете се незабавно с администратор.",
"digest.latest_topics": "Последни теми от %1",
"digest.top-topics": "Най-интересните теми от %1",
"digest.popular-topics": "Популярни теми от %1",
"digest.cta": "Натиснете тук, за да посетите %1",
"digest.unsub.info": "Това резюме беше изпратено до Вас поради настройките Ви за абонаментите.",
"digest.day": "ден",

View File

@@ -9,6 +9,7 @@
"invalid-tid": "Грешен идентификатор на тема",
"invalid-pid": "Грешен идентификатор на публикация",
"invalid-uid": "Грешен идентификатор на потребител",
"invalid-date": "Трябва да бъде посочена правилна дата",
"invalid-username": "Грешно потребителско име",
"invalid-email": "Грешна е-поща",
"invalid-fullname": "Грешно пълно име",
@@ -26,6 +27,7 @@
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета",
"email-invited": "На тази е-поща вече е била изпратена покана",
"email-not-confirmed": "Няма да можете да публикувате съобщения, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение. Няма да можете да публикувате съобщения или да пишете в разговори, докато е-пощата Ви не бъде потвърдена.",
@@ -38,6 +40,7 @@
"username-too-long": "Потребителското име е твърде дълго",
"password-too-long": "Паролата е твърде дълга",
"reset-rate-limited": "Твърде много подновявания на паролата (има ограничение на честотата)",
"reset-same-password": "Моля, използвайте парола, която е различна от текущата",
"user-banned": "Потребителят е блокиран",
"user-banned-reason": "За съжаление, този акаунт е блокиран (Причина: %1)",
"user-banned-reason-until": "За съжаление, този акаунт е блокиран до %1 (Причина: %2)",
@@ -88,7 +91,9 @@
"already-unbookmarked": "Вече сте премахнали отметката си от тази публикация",
"cant-ban-other-admins": "Не можете да блокирате другите администратори!",
"cant-remove-last-admin": "Вие сте единственият администратор. Добавете друг потребител като администратор, преди да премахнете себе си като администратор",
"account-deletion-disabled": "Изтриването на акаунт е забранено",
"cant-delete-admin": "Премахнете администраторските права от този акаунт, преди да го изтриете.",
"already-deleting": "Вече е в процес на изтриване",
"invalid-image": "Грешно изображение",
"invalid-image-type": "Грешен тип на изображение. Позволените типове са: %1",
"invalid-image-extension": "Грешно разширение на изображението",
@@ -128,6 +133,7 @@
"chat-delete-duration-expired": "Можете да изтривате съобщенията си в разговорите до %1 секунда/и след пускането им",
"chat-deleted-already": "Това съобщение вече е изтрито.",
"chat-restored-already": "Това съобщение вече е възстановено.",
"chat-room-does-not-exist": "Стаята за разговори не съществува.",
"already-voting-for-this-post": "Вече сте дали глас за тази публикация.",
"reputation-system-disabled": "Системата за репутация е изключена.",
"downvoting-disabled": "Отрицателното гласуване е изключено",
@@ -138,8 +144,14 @@
"not-enough-reputation-min-rep-signature": "Нямате достатъчно репутация, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture": "Нямате достатъчно репутация, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture": "Нямате достатъчно репутация, за да добавите снимка на корицата",
"already-flagged": "Вече сте докладвали тази публикация",
"post-already-flagged": "Вече сте докладвали тази публикация",
"user-already-flagged": "Вече сте докладвали този потребител",
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
"user-flagged-too-many-times": "Този потребител вече е докладван от други хора",
"cant-flag-privileged": "Не можете да докладвате профилите или съдържанието от потребители с по-високи правомощия (модератори, глобални модератори, администратори)",
"self-vote": "Не можете да гласувате за собствената си публикация",
"too-many-downvotes-today": "Можете да гласувате отрицателно не повече от %1 пъти на ден",
"too-many-downvotes-today-user": "Можете да гласувате отрицателно за потребител не повече от %1 пъти на ден",
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
"registration-error": "Грешка при регистрацията",
"parse-error": "Нещо се обърка при прочитането на отговора на сървъра",
@@ -157,10 +169,13 @@
"invalid-session-text": "Изглежда сесията Ви на вписване вече е изтекла или не съответства на сървъра. Моля, опреснете страницата.",
"no-topics-selected": "Няма избрани теми!",
"cant-move-to-same-topic": "Публикацията не може да бъде преместена в същата тема!",
"cant-move-topic-to-same-category": "Темата не може да бъде преместена в същата категория!",
"cannot-block-self": "Не можете да блокирате себе си!",
"cannot-block-privileged": "Не можете да блокирате администратори и глобални модератори",
"cannot-block-guest": "Гостите не могат да блокират други потребители",
"already-blocked": "Този потребител вече е блокиран",
"already-unblocked": "Този потребител вече е отблокиран",
"no-connection": "Изглежда има проблем с връзката Ви с Интернет"
"no-connection": "Изглежда има проблем с връзката Ви с Интернет",
"socket-reconnect-failed": "В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
"plugin-not-whitelisted": "Добавката не може да бъде инсталирана само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP"
}

View File

@@ -1,8 +1,7 @@
{
"state": "Състояние",
"reporter": "Докладвал",
"reported-at": "Докладвано на",
"description": "Описание",
"reports": "Доклади",
"first-reported": "Първо докладване",
"no-flags": "Ура! Няма намерени доклади.",
"assignee": "Назначен",
"update": "Обновяване",
@@ -26,6 +25,7 @@
"filter-quick-mine": "Назначени на мен",
"filter-cid-all": "Всички категории",
"apply-filters": "Прилагане на филтрите",
"more-filters": "Още филтри",
"quick-actions": "Бързи действия",
"flagged-user": "Докладван потребител",
@@ -43,6 +43,9 @@
"notes": "Бележки към доклада",
"add-note": "Добавяне на бележка",
"no-notes": "Няма споделени бележки.",
"delete-note-confirm": "Наистина ли искате да изтриете тази бележка към доклада?",
"note-added": "Бележката е добавена",
"note-deleted": "Бележката е изтрита",
"history": "Акаунт и история на докладванията",
"no-history": "Няма история на доклада.",
@@ -53,9 +56,18 @@
"state-resolved": "Разрешен",
"state-rejected": "Отхвърлен",
"no-assignee": "Без назначение",
"note-added": "Бележката е добавена",
"modal-title": "Докладване на неуместно съдържание",
"sort": "Подреждане по",
"sort-newest": "Първо най-новите",
"sort-oldest": "Първо най-старите",
"sort-reports": "Първо тези с най-много доклади",
"sort-all": "Всички видове доклади…",
"sort-posts-only": "Само публикации…",
"sort-downvotes": "Най-много отрицателни гласове",
"sort-upvotes": "Най-много положителни гласове",
"sort-replies": "Най-много отговори",
"modal-title": "Докладване на съдържанието",
"modal-body": "Моля, посочете причината за докладването на %1 %2 за преглед. Или използвайте някой от бутоните за бързо докладване, ако са приложими.",
"modal-reason-spam": "Спам",
"modal-reason-offensive": "Обидно",
@@ -65,5 +77,10 @@
"modal-submit-success": "Съдържанието беше докладвано на модераторите.",
"modal-submit-confirm": "Потвърждаване на докладването",
"modal-submit-confirm-text": "Вече сте описали специалната си причина. Наистина ли искате да изпратите доклада си по бързата процедура?",
"modal-submit-confirm-text-help": "Изпращането на доклад по бързата процедура ще премахне описаната от Вас специалната причина."
"modal-submit-confirm-text-help": "Изпращането на доклад по бързата процедура ще премахне описаната от Вас специалната причина.",
"bulk-actions": "Групови действия",
"bulk-resolve": "Разрешаване на доклад(и)",
"bulk-success": "%1 доклада са обновени",
"flagged-timeago-readable": "Докладвано <span class=\"timeago\" title=\"%1\"></span> (%2)"
}

View File

@@ -52,14 +52,17 @@
"users": "Потребители",
"topics": "Теми",
"posts": "Публ.",
"x-posts": "%1 публикации",
"best": "Най-добри",
"votes": "Гласове",
"x-votes": "%1 гласа",
"voters": "Гласували",
"upvoters": "Гласували положително",
"upvoted": "С положителни гласове",
"downvoters": "Гласували отрицателно",
"downvoted": "С отрицателни гласове",
"views": "Прегл.",
"posters": "Участници",
"reputation": "Репутация",
"lastpost": "Последна публикация",
"firstpost": "Първа публикация",

View File

@@ -35,6 +35,8 @@
"details.member_count": "Брой на членовете",
"details.creation_date": "Дата на създаване",
"details.description": "Описание",
"details.member-post-cids": "Категории, от които да се показват публикации",
"details.member-post-cids-help": "<strong>Забележка</strong>: Ако не изберете нито една категория, ще се смята, че са включени всички категории. Използвайте <code>CTRL</code> и <code>SHIFT</code>, за да изберете няколко възможности.",
"details.badge_preview": "Преглед на емблемата",
"details.change_icon": "Промяна на иконката",
"details.change_label_colour": "Промяна на цвета на етикета",

Some files were not shown because too many files have changed in this diff Show More