Compare commits

...

795 Commits

Author SHA1 Message Date
Aziz Khoury
494447741a rename parseUrl to urlParse, closer to core url module, url.parse 2019-12-21 13:45:25 +02:00
Aziz Khoury
7b174d25cb pass isBrowser as arg to factory fn 2019-12-21 12:08:04 +02:00
Aziz Khoury
bbb03a08e9 isRelativeUrl back and switched to use isProtocolAbsoluteUrl 2019-12-18 16:08:04 +02:00
Aziz Khoury
b884b0be01 difference between protocol and scheme absolute/relative urls check logic 2019-12-18 15:46:35 +02:00
Misty (Bot)
94e2c7e4bb Latest translations and fallbacks 2019-12-18 09:50:31 +00:00
renovate[bot]
ed2a0abd22 Update dependency nodebb-plugin-composer-default to v6.3.20 (#8090) 2019-12-17 17:13:15 -05:00
renovate[bot]
e92403bce1 Update dependency nodebb-plugin-composer-default to v6.3.19 (#8089) 2019-12-17 16:58:50 -05:00
renovate[bot]
5de315f4d1 Update dependency nodebb-plugin-composer-default to v6.3.18 (#8088) 2019-12-17 16:23:28 -05:00
Aziz Khoury
acca0b956e more secure isRelativeUrl (#8087) 2019-12-17 16:08:09 -05:00
Barış Soner Uşaklı
cac4cba224 Update ISSUE_TEMPLATE.md 2019-12-17 10:35:17 -05:00
Barış Soner Uşaklı
dec157d606 fix: #8085, fix cookie name 2019-12-17 08:10:21 -05:00
Renovate Bot
483d75354e fix(deps): update dependency semver to v7 2019-12-16 09:44:51 -05:00
Barış Soner Uşaklı
a227cbe328 refactor: async/await middleware 2019-12-16 08:44:55 -05:00
Renovate Bot
610ecf352b fix(deps): update dependency nodebb-theme-vanilla to v11.1.12 2019-12-13 15:01:43 -05:00
Barış Soner Uşaklı
1b992d8201 fix: #8058, fix incorrect digest setting display in ACP 2019-12-11 10:25:16 -05:00
Misty (Bot)
505409b9f3 Latest translations and fallbacks 2019-12-11 09:30:02 +00:00
renovate[bot]
3451e11406 Update dependency mongodb to v3.4.0 (#8082) 2019-12-10 10:03:37 -05:00
renovate[bot]
c3418c2621 chore(deps): update dependency husky to v3.1.0 (#8046) 2019-12-10 09:55:43 -05:00
renovate[bot]
0aeee14472 chore(deps): update dependency coveralls to v3.0.9 (#8067) 2019-12-10 09:55:22 -05:00
Misty (Bot)
9c48a4c021 Latest translations and fallbacks 2019-12-09 09:32:01 +00:00
Peter Jaszkowiak
8c314fe461 Support allowing classes
Otherwise `<input class="form-control">` can't work
2019-12-08 12:35:08 -05:00
Misty (Bot)
581211e12f Latest translations and fallbacks 2019-12-06 09:29:44 +00:00
Baris Usakli
6a17e32dec fix: remove select version 2019-12-05 18:24:56 -05:00
Baris Usakli
3ae983001d fix: travis config 2019-12-05 18:20:11 -05:00
Baris Usakli
3454a24b3c refactor: change to const/let 2019-12-05 17:52:50 -05:00
Baris Usakli
3731dc4eb1 fix: travis 🐶 2019-12-05 17:47:58 -05:00
Baris Usakli
a8df6d6298 fix: #8078, dont mark notifications read without a mergeId 2019-12-05 15:44:22 -05:00
Baris Usakli
7af1c873a3 fix: #8077, show continue chat on all profile pages 2019-12-05 14:56:01 -05:00
renovate[bot]
eb18c182a6 fix(deps): update dependency sharp to v0.23.4 (#8076) 2019-12-05 10:49:20 -05:00
Misty (Bot)
9197a0db1e Latest translations and fallbacks 2019-12-05 09:30:11 +00:00
Julian Lam
4fc6944377 feat: better output for cli plugins list, closes #8075 2019-12-04 16:07:47 -05:00
Barış Soner Uşaklı
2679f37dec fix: profile showing posts from deleted topics 2019-12-04 11:37:35 -05:00
Barış Soner Uşaklı
05c9fe2735 feat: #5272, allow changing user groups from manage users page 2019-12-04 11:14:01 -05:00
Misty (Bot)
ff8dfa049d Latest translations and fallbacks 2019-12-04 09:30:25 +00:00
Baris Usakli
4d66978338 fix: #8073, configurable necroThreshold 2019-12-03 12:11:39 -05:00
Baris Usakli
160e0ab1f5 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-12-03 11:17:51 -05:00
Baris Usakli
b323df2fe0 fix: allow members to search as well 2019-12-03 11:17:11 -05:00
Misty (Bot)
6ada231bc8 Latest translations and fallbacks 2019-12-03 09:29:51 +00:00
Renovate Bot
0514383ab0 fix(deps): update dependency nodebb-theme-persona to v10.1.30 2019-12-02 15:44:29 -05:00
Renovate Bot
702ca164ad fix(deps): update dependency nodebb-plugin-markdown to v8.11.0 2019-12-02 13:45:48 -05:00
Baris Usakli
c2cd7de891 fix: #8069, dont show hidden groups in search 2019-11-29 13:35:50 -05:00
Baris Usakli
33fd4a1c2b fix: missing await 2019-11-29 11:35:00 -05:00
Misty (Bot)
ce449e918d Latest translations and fallbacks 2019-11-29 09:30:08 +00:00
Renovate Bot
2aef7a5b0d fix(deps): update dependency connect-mongo to v3.2.0 2019-11-28 13:03:07 -05:00
Misty (Bot)
d8a48cf0a7 Latest translations and fallbacks 2019-11-27 09:28:47 +00:00
Julian Lam
f9a8ebfce9 feat: merge social authentication into plugins menu in ACP
* also reordered the menu in ACP so plugins come first
* added muted headers in desktop version to distinguish both lists
* fixes julianlam/nodebb-plugin-sso-google#21
* closes #8066
2019-11-26 11:30:49 -05:00
renovate[bot]
68118e438b fix(deps): update dependency mongodb to v3.3.5 (#8065) 2019-11-26 10:45:47 -05:00
Misty (Bot)
802f566b17 Latest translations and fallbacks 2019-11-26 09:28:09 +00:00
Barış Soner Uşaklı
1bda92e3fc fix: #8064, break-word on post-queue 2019-11-25 14:22:35 -05:00
Barış Soner Uşaklı
7ed002a138 fix: #6711 2019-11-25 13:25:29 -05:00
Misty (Bot)
c8db839e63 Latest translations and fallbacks 2019-11-25 09:28:19 +00:00
Barış Soner Uşaklı
de404102c0 fix: #8061, don't crash if there is a network problem 2019-11-24 09:41:03 -05:00
Misty (Bot)
86cc80348d Latest translations and fallbacks 2019-11-24 09:27:37 +00:00
Barış Soner Uşaklı
a688aaae51 fix: #8059, properly mark topic unread when using mark unread for all 2019-11-23 08:52:18 -05:00
Misty (Bot)
4fea12c83e Latest translations and fallbacks 2019-11-23 09:27:39 +00:00
Barış Soner Uşaklı
3811e0a3df fix: #8042, dont show errors after clearing form 2019-11-22 20:12:03 -05:00
renovate[bot]
349330917d fix(deps): update dependency nodebb-theme-persona to v10.1.29 (#8057) 2019-11-22 19:36:12 -05:00
Renovate Bot
32cfe96f48 chore(deps): update dependency eslint to v6.7.0 2019-11-22 14:35:54 -05:00
Misty (Bot)
10a6ca6173 Latest translations and fallbacks 2019-11-22 09:28:29 +00:00
renovate[bot]
8ba261048b chore(deps): update dependency coveralls to v3.0.8 (#8054) 2019-11-21 10:15:29 -05:00
renovate[bot]
6fa88823c8 fix(deps): update dependency sharp to v0.23.3 (#8044) 2019-11-21 10:15:05 -05:00
renovate[bot]
488ea3949b fix(deps): update dependency validator to v12.1.0 (#8055) 2019-11-21 10:14:32 -05:00
Misty (Bot)
beebe53a71 Latest translations and fallbacks 2019-11-21 09:28:42 +00:00
Julian Lam
510737726c fix: unhandled promise rejection error on reset error
Also, removed buildAll() on reset.
2019-11-20 13:45:29 -05:00
Baris Usakli
366ad5cd69 fix: #8050, fix redirect after registration 2019-11-19 12:02:14 -05:00
Misty (Bot)
0002c3f499 Latest translations and fallbacks 2019-11-19 09:28:41 +00:00
Opliko
0efe27b1f2 fix: make _csrf a secure cookie if the website is using https (#8045)
* Make _csrf a secure cookie if the website is using https

* fix style for TravsCI

* Add `url_parsed` to databasemock
2019-11-18 13:07:05 -05:00
renovate[bot]
b3511f71e0 fix(deps): update dependency nodebb-theme-slick to v1.2.28 (#8041) 2019-11-16 11:34:10 -05:00
renovate[bot]
d567c4ae22 fix(deps): update dependency nodebb-theme-vanilla to v11.1.11 (#8040) 2019-11-15 15:34:22 -05:00
renovate[bot]
6c87bed5f6 fix(deps): update dependency nodebb-theme-persona to v10.1.28 (#8039) 2019-11-15 15:32:55 -05:00
Baris Usakli
0a96c92300 fix: #8034 2019-11-15 15:27:02 -05:00
Baris Usakli
b3caa40189 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-11-15 15:17:30 -05:00
Baris Usakli
cec0079573 refactor: shorter returns 2019-11-15 14:27:45 -05:00
renovate[bot]
1e2e16b4bb fix(deps): update dependency nodebb-plugin-dbsearch to v4.0.7 (#8038) 2019-11-15 14:26:52 -05:00
Baris Usakli
efd1e88bbf feat: convert middleware.isAdmin to async/await 2019-11-15 14:24:24 -05:00
Baris Usakli
a254520485 fix: serialize 2019-11-15 14:09:10 -05:00
Baris Usakli
1eca5b3dae fix: show login fields if user has local password 2019-11-15 13:19:29 -05:00
Misty (Bot)
2eb8c05e4b Latest translations and fallbacks 2019-11-15 09:28:31 +00:00
Baris Usakli
6c404b81fb fix: use the correct attribute name for widgets 2019-11-14 11:25:35 -05:00
Misty (Bot)
83ba2e234b Latest translations and fallbacks 2019-11-14 09:28:53 +00:00
Julian Lam
94499da3d6 docs: updated changelog 2019-11-13 16:51:30 -05:00
Misty (Bot)
c38b2d2319 chore: incrementing version number - v1.13.0 2019-11-13 21:47:10 +00:00
Ben Lubar
f65922297d fix abysmal postgresql performance in getSortedSetsMembers (#8030)
* refactor postgres upgrade function to use async

* add function wrapper for getting the elements of a sorted set to avoid postgres planning the query with a nested sequential scan

* fix fatal(?!) lint errors

* add missing await

* bump PostgreSQL version on Travis CI to one that isn't over 3 years out of date
2019-11-13 14:45:48 -05:00
Misty (Bot)
b47f1769e4 Latest translations and fallbacks 2019-11-13 09:28:33 +00:00
Misty (Bot)
5e88c585cb Latest translations and fallbacks 2019-11-12 09:28:43 +00:00
renovate[bot]
2093418de8 fix(deps): update dependency mongodb to v3.3.4 (#8032) 2019-11-11 19:26:42 -05:00
Misty (Bot)
7721c58dd3 Latest translations and fallbacks 2019-11-09 09:27:32 +00:00
Barış Soner Uşaklı
eabc6f4763 fix: crash if post doesn't have topic data 2019-11-08 18:38:58 -05:00
Barış Soner Uşaklı
e52ecfaf3f fix: don't touch objects that don't have the required fields 2019-11-08 18:34:57 -05:00
Barış Soner Uşaklı
f4381ba366 fix: add missing await to sendValidationEmail 2019-11-07 18:10:30 -05:00
Misty (Bot)
8d41cdefa9 Latest translations and fallbacks 2019-11-07 09:27:59 +00:00
Julian Lam
dee1d44722 fix: #8007 added tfoot to clear new group button 2019-11-06 14:38:46 -05:00
Julian Lam
df139928b6 feat: displaying one-click unsubscribe link in email footer (#8024)
closes #8016
2019-11-06 14:19:57 -05:00
Renovate Bot
c01699f706 fix(deps): update dependency nodebb-theme-vanilla to v11.1.10 2019-11-06 14:19:35 -05:00
Renovate Bot
182397b171 fix(deps): update dependency nodebb-theme-persona to v10.1.27 2019-11-06 14:19:28 -05:00
Misty (Bot)
9c3fa7758a Latest translations and fallbacks 2019-11-06 09:29:26 +00:00
renovate[bot]
c2565a2f99 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.6.7 (#8027) 2019-11-05 21:09:41 -05:00
Barış Soner Uşaklı
480a64aaa7 feat: #7467, pass query params when redirecting to posts 2019-11-05 19:51:01 -05:00
Barış Soner Uşaklı
b5a30006e2 feat: use helpers.setupAdminPageRoute 2019-11-05 15:41:33 -05:00
Misty (Bot)
d75d9fdd33 Latest translations and fallbacks 2019-11-05 09:28:32 +00:00
Renovate Bot
9d946d1c76 chore(deps): update dependency jsdom to v15.2.1 2019-11-04 11:30:52 -05:00
Misty (Bot)
d9b8e929e6 Latest translations and fallbacks 2019-11-04 09:28:23 +00:00
Misty (Bot)
23d66ae86c Latest translations and fallbacks 2019-11-03 09:27:22 +00:00
Julian Lam
645d647248 feat: wip, better digest handling (+ eventual digest resend logic) (#7995)
* feat: wip, better digest handling (+ eventual digest resend logic)

- await emailer.send call in digest.send method
- save send success to a new sorted set digest:{interval}:byUid

* feat: continuing work on digest tools

- Added ACP page to view digest settings and delivery times per user

* feat: added paginator and stub buttons for resending digest

* feat: wrapping up digest revamp

- New language strings in ACP digest page
- Client-side ACP script for digest ACP page
- Websocket call for ACP page to execute digests
- Broke out logic to retrieve user digest settings to getUsersInterval

* fix: minor cleanup

* fix: #8010 and some style suggestions from baris

* fix: resolve confusing comment
2019-11-02 13:11:02 -04:00
Barış Soner Uşaklı
e3c9dafa08 fix: tests 2019-11-01 22:13:00 -04:00
Barış Soner Uşaklı
f28bd75f5e up vanilla 2019-11-01 21:40:01 -04:00
renovate[bot]
7122bdc796 fix(deps): update dependency nodebb-theme-slick to v1.2.27 (#8020) 2019-11-01 21:30:08 -04:00
renovate[bot]
73d9752eba fix(deps): update dependency nodebb-theme-persona to v10.1.26 (#8019) 2019-11-01 21:07:39 -04:00
Barış Soner Uşaklı
0037a03886 fix: #8018, allow absolute urls in notification.path 2019-11-01 21:01:46 -04:00
renovate[bot]
bfea9d3906 fix(deps): update dependency connect-mongo to v3.1.2 (#8013) 2019-11-01 12:52:31 -04:00
renovate[bot]
ef5f671410 fix(deps): update dependency postcss to v7.0.21 (#7998) 2019-10-31 17:32:27 -04:00
renovate[bot]
e1e2d20c6a fix(deps): update dependency nodebb-plugin-composer-default to v6.3.17 (#8009) 2019-10-31 17:31:59 -04:00
renovate[bot]
420f9fe495 fix(deps): update dependency sharp to v0.23.2 (#8005) 2019-10-31 17:31:51 -04:00
renovate[bot]
cb91e7564e fix(deps): update dependency nodebb-theme-persona to v10.1.25 (#8012) 2019-10-31 17:07:24 -04:00
Barış Soner Uşaklı
59242d31aa fix: #8010, fix isBanned call 2019-10-31 16:31:49 -04:00
Barış Soner Uşaklı
ac5c560c54 feat: add action:messaging.save 2019-10-31 12:54:03 -04:00
Misty (Bot)
0283ffd04d Latest translations and fallbacks 2019-10-31 09:28:10 +00:00
Barış Soner Uşaklı
c4e58160cf fix: #8003, check children recursively 2019-10-30 12:47:01 -04:00
Misty (Bot)
72fd9f6546 Latest translations and fallbacks 2019-10-30 09:28:29 +00:00
Barış Soner Uşaklı
b91c4790d1 fix: dont show delete topics on unread 2019-10-29 21:28:28 -04:00
renovate[bot]
7655265ce2 fix(deps): update dependency connect-mongo to v3.1.1 (#8006) 2019-10-29 19:08:36 -04:00
Misty (Bot)
f69b1cebb1 Latest translations and fallbacks 2019-10-29 09:28:50 +00:00
Barış Soner Uşaklı
1cedc4a0d6 feat: #7957, allow post queue based on group
allow multiple select in ACP pages
2019-10-28 14:36:14 -04:00
Renovate Bot
38e9f1d556 Update dependency validator to v12 2019-10-28 11:08:33 -04:00
Misty (Bot)
188bb6b3eb Latest translations and fallbacks 2019-10-27 09:27:10 +00:00
Misty (Bot)
c4190dde0f Latest translations and fallbacks 2019-10-26 09:27:15 +00:00
Renovate Bot
d0e428e9c8 chore(deps): update dependency eslint to v6.6.0 2019-10-25 15:20:44 -04:00
Julian Lam
3952849f30 fix: #8000, tweak wording; password reset success 2019-10-25 11:52:54 -04:00
Barış Soner Uşaklı
0e5e47f410 fix: parseInt cutoff 2019-10-24 19:55:21 -04:00
Barış Soner Uşaklı
e020b85bf5 feat: add filter:topics.unreadCutoff 2019-10-24 19:38:37 -04:00
renovate[bot]
401d1eed1a fix(deps): update dependency connect-mongo to v3.1.0 (#7994) 2019-10-23 13:00:29 -04:00
Opliko
989107d9b5 feat: Add filter:topic.delete and filter:topic.restore (#7946) (#7989)
* Add filter:topic.delete

* Don't return undefined data

* add topic.restore and pass canRestore to filter

* fix some bugs created by conflict resolution and new changes

* more readable hook

* fix styling for TravisCI

* literally just two newlines so that TravisCI builds again
2019-10-22 19:25:54 -04:00
Barış Soner Uşaklı
4b8897d9bc fix: lint 2019-10-22 14:12:52 -04:00
Aziz Khoury
beea56b3c6 ie11 doesnt support Object.values (#7993) 2019-10-22 13:44:18 -04:00
Julian Lam
cf7e0cfd2d feat: no more session cookie for guests (#7982)
* feat: no more session cookie for guests

* fix(tests): added additional tests and fixed the broken test
2019-10-22 13:38:36 -04:00
Julian Lam
6155c4600f fix(deps): bump persona 2019-10-22 13:11:26 -04:00
renovate[bot]
d108c7d031 chore(deps): update dependency lint-staged to v9.4.2 (#7954) 2019-10-22 12:23:53 -04:00
Birkhoff Lee
2f515bac07 Add docker-compose.yml (#7966) 2019-10-22 12:23:12 -04:00
Opliko
df1efe5f96 feat: Implement WICG change-password-url (#7072) (#7990)
* feat:  Implement WICG change-password-url (#7072)

* fix style for TravisCI
2019-10-22 12:16:09 -04:00
uplift
1aa520b7a0 parseInt uid in room users check (#7988)
nodebb-write-api fails this check without parsing into an int
2019-10-22 12:07:53 -04:00
Misty (Bot)
500ca6658e Latest translations and fallbacks 2019-10-22 09:28:11 +00:00
Barış Soner Uşaklı
b01a47cbc1 feat: log errors from mubsub 2019-10-21 16:12:52 -04:00
Misty (Bot)
57dce269c3 Latest translations and fallbacks 2019-10-21 09:28:09 +00:00
renovate[bot]
9bd6f6864a fix(deps): update dependency nodebb-theme-persona to v10.1.23 (#7986) 2019-10-20 17:02:43 -04:00
renovate[bot]
e31a47cd40 chore(deps): update dependency mocha to v6.2.2 (#7984) 2019-10-20 16:56:21 -04:00
Misty (Bot)
37642f4313 Latest translations and fallbacks 2019-10-19 09:27:14 +00:00
Barış Soner Uşaklı
441dd86d29 fix: convert param to string in slugify
fixes adding users to privilege table
2019-10-17 18:55:56 -04:00
renovate[bot]
9b308e4b07 chore(deps): update dependency coveralls to v3.0.7 (#7961) 2019-10-17 00:14:03 -04:00
renovate[bot]
9b4e9882b0 chore(deps): update dependency jsdom to v15.2.0 (#7971) 2019-10-17 00:13:49 -04:00
Barış Soner Uşaklı
d679218859 feat: upgrade to sitemap5 (#7980) 2019-10-16 22:14:59 -04:00
renovate[bot]
73e7aec5a4 Update dependency mongodb to v3.3.3 (#7975) 2019-10-16 21:33:05 -04:00
Barış Soner Uşaklı
f9f85fc425 fix: cli/reset.js (#7979) 2019-10-16 20:50:38 -04:00
Barış Soner Uşaklı
95a372df85 fix: #7977, fix undefined url (#7978) 2019-10-16 17:42:02 -04:00
Julian Lam
ddf3812cdc fix: passwords always expiring upon login 2019-10-16 13:52:18 -04:00
Barış Soner Uşaklı
ca3be1f336 fix: #7974 (#7976) 2019-10-16 13:33:00 -04:00
Misty (Bot)
4093c98794 Latest translations and fallbacks 2019-10-16 09:28:46 +00:00
Misty (Bot)
132e32eb5c Latest translations and fallbacks 2019-10-15 09:27:59 +00:00
Renovate Bot
fd5095a379 chore(deps): update dependency husky to v3.0.9 2019-10-14 22:29:20 -04:00
Misty (Bot)
632daa0e94 Latest translations and fallbacks 2019-10-12 09:27:01 +00:00
Barış Soner Uşaklı
d72b0d1616 fix: delete follower/followingCount as well 2019-10-11 18:54:33 -04:00
Baris Usakli
52650436c3 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-10-11 15:27:38 -04:00
Baris Usakli
485fbd2f14 feat: #7964, change all categories at once
allow passing cids to setCategoryWatchState and category.exists
2019-10-11 15:25:41 -04:00
renovate[bot]
bf6ae6d6d0 fix(deps): update dependency nodebb-theme-persona to v10.1.22 (#7965) 2019-10-11 15:14:03 -04:00
Baris Usakli
0da4f7ee8d fix: event tests 2019-10-11 12:44:34 -04:00
Baris Usakli
990508a533 feat: closes #7952, translate widget-settings 2019-10-11 11:51:24 -04:00
Baris Usakli
554e67116f feat: remove ability to delete events from acp 2019-10-11 11:32:11 -04:00
Barış Soner Uşaklı
f52f98fb89 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-10-10 22:09:08 -04:00
Barış Soner Uşaklı
3775301f24 fix: #7958, give rewards one by one
no need to check group.exists when leaving groups, if group doesn't exists isMember will be false anyways
2019-10-10 22:03:41 -04:00
renovate[bot]
692d94bf8c fix(deps): update dependency nodebb-rewards-essentials to v0.1.2 (#7962) 2019-10-10 21:54:35 -04:00
Barış Soner Uşaklı
88818a5bbf fix: rewards page acp not loading rewards 2019-10-10 18:12:25 -04:00
Baris Usakli
dd20293145 fix: #7929, use fixed bootswatch 2019-10-10 12:01:48 -04:00
Baris Usakli
f272daaf37 fix: #7960, dont try to save size for non images 2019-10-10 11:21:15 -04:00
Barış Soner Uşaklı
03827fa695 feat: resetting theme will reset skin
async/await cli/reset
2019-10-09 23:58:24 -04:00
Barış Soner Uşaklı
565f9726f7 fix: #7941, validate some input fields 2019-10-09 22:04:25 -04:00
Barış Soner Uşaklı
661a0f5068 fix: don't show deleted topics on unread 2019-10-09 18:03:07 -04:00
Baris Usakli
6b3eb0144e refactor: use arrow function 2019-10-09 13:30:59 -04:00
Baris Usakli
c01b0fbd8c fix: #7951, don't send notification for system messages 2019-10-09 13:29:49 -04:00
renovate[bot]
1a150d8f66 fix(deps): update dependency nodebb-theme-persona to v10.1.21 (#7956) 2019-10-08 19:02:35 -04:00
Baris Usakli
5b458fc7ca fix: #7953, allow icon only group badges 2019-10-08 12:19:17 -04:00
Misty (Bot)
b232b95f76 Latest translations and fallbacks 2019-10-08 09:27:54 +00:00
Barış Soner Uşaklı
ac4a500402 fix: remove 0 fields 2019-10-07 23:43:08 -04:00
Barış Soner Uşaklı
75bcb0f484 fix: remove unused data from post/topic/user hashes 2019-10-07 23:13:43 -04:00
Barış Soner Uşaklı
4bc77d064b feat: disable timeout on launch route 2019-10-07 17:42:29 -04:00
Barış Soner Uşaklı
205d3f9d12 fix: groups not visible on widget panes 2019-10-07 17:22:15 -04:00
Barış Soner Uşaklı
c5f7b66c3a fix: new nav items will show group select 2019-10-07 17:03:16 -04:00
Barış Soner Uşaklı
f402d7271a fix: move post and change owner 2019-10-07 16:51:36 -04:00
Barış Soner Uşaklı
b19f0a686c fix: 404 on new groups with spaces 2019-10-07 16:42:39 -04:00
Barış Soner Uşaklı
7823144bd9 fix: #7940, run upgrade scripts on startup 2019-10-07 14:19:35 -04:00
Barış Soner Uşaklı
38322ec308 fix: #7949, delete old user notifs 2019-10-07 14:10:08 -04:00
Barış Soner Uşaklı
6fb29e8408 fix: tests 2019-10-07 12:46:48 -04:00
Misty (Bot)
aafb7739a9 Latest translations and fallbacks 2019-10-07 09:27:36 +00:00
Barış Soner Uşaklı
f983f536c6 fix: check threshold before setting bookmark 2019-10-07 00:47:14 -04:00
Barış Soner Uşaklı
4e28e575cf fix: mongo collection stats 2019-10-06 22:08:52 -04:00
Barış Soner Uşaklı
02d38caf47 refactor: async/await 2019-10-05 17:05:52 -04:00
Baris Usakli
91e8e3905c fix: #7947, disable unused cookie 2019-10-05 10:12:19 -04:00
Misty (Bot)
a578f92bcc Latest translations and fallbacks 2019-10-05 09:26:57 +00:00
Barış Soner Uşaklı
c9bf6d0fe1 fix: #7945, show watched categories in ignored categories 2019-10-04 22:00:37 -04:00
Barış Soner Uşaklı
f8c8038a06 refactor: remove log, topics.exists 2019-10-04 19:19:01 -04:00
renovate[bot]
cffbb32585 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.6.6 (#7944) 2019-10-04 09:44:15 -04:00
Misty (Bot)
b484f309e2 Latest translations and fallbacks 2019-10-04 09:27:23 +00:00
renovate[bot]
9589fa327c fix(deps): update dependency nodebb-theme-persona to v10.1.20 (#7943) 2019-10-04 00:45:29 -04:00
Barış Soner Uşaklı
18bf865d83 fix: db.init calls 2019-10-04 00:38:59 -04:00
renovate[bot]
0d629f0696 fix(deps): update dependency nodebb-theme-persona to v10.1.19 (#7942) 2019-10-04 00:22:59 -04:00
Barış Soner Uşaklı
dc8d721c46 refactor: async/await 2019-10-03 23:31:42 -04:00
Barış Soner Uşaklı
1f0c6f3d60 refactor: async/await mongo 2019-10-03 22:26:33 -04:00
Baris Usakli
d5dda26f97 fix: #7938, escape username in registration queue 2019-10-03 11:30:09 -04:00
Barış Soner Uşaklı
603908c10a refactor: async/await socket.io/index 2019-10-02 22:51:02 -04:00
Barış Soner Uşaklı
3455c27a8d fix: #7901, handle group names that are translation keys 2019-10-02 22:20:09 -04:00
Barış Soner Uşaklı
c5ffd8cc74 refactor: async/await image.js 2019-10-02 18:50:03 -04:00
Barış Soner Uşaklı
41f8da2e7c fix: fix the order of groups on user profile 2019-10-02 18:18:51 -04:00
renovate[bot]
2856333d05 fix(deps): update dependency connect-redis to v4.0.3 (#7933) 2019-10-02 12:09:53 -04:00
Renovate Bot
88cae4158a chore(deps): update dependency husky to v3.0.8 2019-10-02 11:47:58 -04:00
Misty (Bot)
2477849bb5 Latest translations and fallbacks 2019-10-02 09:27:23 +00:00
Barış Soner Uşaklı
b192605450 feat: add new hook to get custom category tids for unread 2019-10-01 22:14:50 -04:00
Barış Soner Uşaklı
05e753c73b refactor: remove var 2019-10-01 21:08:24 -04:00
Aziz Khoury
94810fd637 feat: adding filter:login.check and loginFormEntry[] for the filter:login.build hook (#7861)
* adding filter:login.check and loginFormEntry[] for the filter:login.build hook, related to nodebb-plugin-spam-be-gone/issues/32

* do not exceed 50 lines per function

* spam-be-gone@0.6.4
2019-10-01 17:21:48 -04:00
Renovate Bot
310039e875 fix(deps): update dependency spider-detector to v2 2019-10-01 17:21:27 -04:00
Julian Lam
54c9f877a6 fix: #7935, ACP digest wording 2019-10-01 16:39:21 -04:00
Barış Soner Uşaklı
fb278fc2f0 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-10-01 13:02:59 -04:00
Barış Soner Uşaklı
10f168b824 fix: #7934, return tids 2019-10-01 13:02:56 -04:00
Renovate Bot
a2a7bb3da5 chore(deps): update dependency lint-staged to v9.4.1 2019-10-01 12:46:31 -04:00
Renovate Bot
f9ad826bfe chore(deps): update node.js to v8.16.1 2019-10-01 12:46:20 -04:00
Renovate Bot
48cc317c6e chore(deps): update node:8.16.0 docker digest to bb12612 2019-10-01 12:44:31 -04:00
Renovate Bot
da12e94733 chore(deps): update dependency eslint to v6.5.1 2019-10-01 12:44:21 -04:00
Renovate Bot
10a30e665e chore(deps): update dependency husky to v3.0.7 2019-10-01 12:43:57 -04:00
Renovate Bot
764ed7f814 fix(deps): update socket.io packages to v2.3.0 2019-10-01 12:40:15 -04:00
Renovate Bot
ddd4e03942 chore(deps): update commitlint monorepo to v8.2.0 2019-10-01 12:36:35 -04:00
Renovate Bot
b172d10683 chore(deps): update dependency mocha to v6.2.1 2019-10-01 12:33:49 -04:00
Barış Soner Uşaklı
3caa387ac6 fix: tests 2019-10-01 11:09:44 -04:00
Barış Soner Uşaklı
2444ed5c88 feat: #7932, redirect to group details after creation
add private/hidden on group creation modal
2019-10-01 10:16:36 -04:00
Baris Usakli
9c051386d5 fix: tests 2019-09-30 17:15:50 -04:00
Baris Usakli
b93c826d35 feat: add new hook filteR:topics.getSortedTids
to let plugins replace the logic used to retrieve tids
2019-09-30 14:56:11 -04:00
Baris Usakli
95ab071254 fix: remove jquery 2019-09-30 13:16:21 -04:00
Misty (Bot)
4d912ca300 Latest translations and fallbacks 2019-09-30 09:27:29 +00:00
Barış Soner Uşaklı
13c870597e fix: picture not showing up in change modal 2019-09-29 22:23:28 -04:00
Barış Soner Uşaklı
7effc89291 fix: profile page meta tags getting escaped twice 2019-09-29 21:44:07 -04:00
Barış Soner Uşaklı
9a7560049a feat: bypass cropper for gifs 2019-09-29 21:03:37 -04:00
Barış Soner Uşaklı
ffe3670ff5 feat: deprecate file.isFileTypeAllowed
use image.isFileTypeAllowed, this function was always meant for images
2019-09-29 19:53:03 -04:00
Misty (Bot)
2801ffa622 Latest translations and fallbacks 2019-09-29 09:28:11 +00:00
Barış Soner Uşaklı
ed1223645e feat: send notification to group owners when someone leaves 2019-09-28 22:44:13 -04:00
Baris Usakli
2150701f32 fix: missing await 2019-09-28 15:08:51 -04:00
Baris Usakli
ac6eb31c69 refactor: async/await flags.js 2019-09-28 14:37:50 -04:00
Barış Soner Uşaklı
0ced71be39 refactor: async/await flags 2019-09-26 22:51:11 -04:00
Barış Soner Uşaklı
310c6fd33f properly filter /unread /recent /popular /top (#7927)
* feat: add failing test for pagination

* feat: test

* fix: redis tests

* refactor: remove logs

* fix: add new test

* feat: make sortedSetRangeByScore work with keys on redis

* fix: hardcoded set name

* feat: show topics from readable categories on recent/popular/top

* feat: rewrite unread topics

respect watched categories and followed topics

* fix: term + watched
2019-09-26 21:55:49 -04:00
renovate[bot]
17437897f9 fix(deps): update dependency sharp to v0.23.1 (#7928) 2019-09-26 18:33:04 -04:00
Andrew Rodrigues
40f131a6bb fix: potential for XSS here 2019-09-26 14:00:01 -04:00
Barış Soner Uşaklı
7a0f607434 fix: account/categories 2019-09-25 21:24:07 -04:00
Barış Soner Uşaklı
22b02f1407 feat: add failing test for pagination (#7924)
* feat: add failing test for pagination

* feat: test

* fix: redis tests

* refactor: remove logs
2019-09-25 21:06:57 -04:00
Misty (Bot)
969c5d4a2b Latest translations and fallbacks 2019-09-25 09:27:36 +00:00
Barış Soner Uşaklı
572bc29742 refactor: shorter map 2019-09-25 00:08:28 -04:00
Barış Soner Uşaklı
039710493a refactor: remove logs 2019-09-24 23:49:19 -04:00
Barış Soner Uşaklı
b602c04463 feat: refactor getSortedSetRange to allow big arrays 2019-09-24 23:47:45 -04:00
Barış Soner Uşaklı
7e7ea7a697 refactor: dont modify key 2019-09-24 22:04:20 -04:00
Barış Soner Uşaklı
1f054c7ecb fix: redis tests 2019-09-24 19:19:22 -04:00
Baris Usakli
1e5246f9ad feat: add new test 2019-09-24 13:31:44 -04:00
Baris Usakli
a651d154ce fix: #7921, dont create wrong entries in db for flag
upgrade script to remove wrong entries
2019-09-24 12:22:40 -04:00
Misty (Bot)
bd3d3f2e39 Latest translations and fallbacks 2019-09-24 09:27:01 +00:00
Barış Soner Uşaklı
e32a55460f refactor: remove logs 2019-09-24 00:36:42 -04:00
Barış Soner Uşaklı
9ee1a882ec refactor: async/await flags 2019-09-24 00:30:59 -04:00
Barış Soner Uşaklı
625b0815bb refactor: shorter, new Date doesnt throw 2019-09-23 23:51:45 -04:00
Barış Soner Uşaklı
babb9d7c55 fix: #7913, dont allow urls in fullname/location, validate birthday 2019-09-23 23:50:04 -04:00
Barış Soner Uşaklı
bd026cb1ae fix: upgrade scripts 2019-09-23 23:33:27 -04:00
Barış Soner Uşaklı
b842057f26 refactor: remove temp var 2019-09-23 22:31:55 -04:00
Barış Soner Uşaklı
f9d6912b4a refactor: async/await file 2019-09-23 22:30:17 -04:00
Barış Soner Uşaklı
223c108cc6 refactor: async/await analytics 2019-09-23 00:04:57 -04:00
Misty (Bot)
f0ae2887b8 Latest translations and fallbacks 2019-09-22 09:27:07 +00:00
Barış Soner Uşaklı
96ab8d05aa fix: only allow png/jpg/bmp in cover/profile images 2019-09-21 23:10:49 -04:00
Barış Soner Uşaklı
5505628c8d refactor: change to const 2019-09-21 22:15:42 -04:00
Barış Soner Uşaklı
058581333e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-09-21 18:44:47 -04:00
Barış Soner Uşaklı
910b9b8864 fix: #7919, add useUnifiedTopology 2019-09-21 18:44:41 -04:00
Misty (Bot)
bb8a9b2563 Latest translations and fallbacks 2019-09-21 09:26:43 +00:00
Barış Soner Uşaklı
bbc2e95688 feat: add rss feed url for tags 2019-09-21 00:34:51 -04:00
Barış Soner Uşaklı
873ec51978 fix: crash in feed 2019-09-21 00:27:55 -04:00
Barış Soner Uşaklı
795d4183ca fix: lang key 2019-09-20 23:03:44 -04:00
Barış Soner Uşaklı
5b8550f060 fix: time cutoff and lang string 2019-09-20 23:03:31 -04:00
renovate[bot]
44cd71895b fix(deps): update dependency nodebb-plugin-dbsearch to v4.0.6 (#7918) 2019-09-20 22:11:29 -04:00
renovate[bot]
d8fe6e42dc fix(deps): update dependency nodebb-plugin-composer-default to v6.3.16 (#7917) 2019-09-20 22:10:22 -04:00
Barış Soner Uşaklı
86b16629f8 refactor: returned fields 2019-09-20 22:10:08 -04:00
Barış Soner Uşaklı
90f8bb99c0 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-09-20 19:10:52 -04:00
renovate[bot]
c5e5e24bdf fix(deps): update dependency nodebb-plugin-composer-default to v6.3.15 (#7916) 2019-09-20 19:09:13 -04:00
Barış Soner Uşaklı
87f6ac59b1 fix: returned data 2019-09-20 19:04:47 -04:00
Barış Soner Uşaklı
84c19754e7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-09-20 17:37:52 -04:00
Barış Soner Uşaklı
955e00fd9d fix: dont send all category data back to recent&unread etc 2019-09-20 17:21:32 -04:00
renovate[bot]
e18392ab41 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.14 (#7914) 2019-09-20 17:19:49 -04:00
Baris Usakli
ecf39727cc fix: #7912 2019-09-20 11:44:49 -04:00
Barış Soner Uşaklı
307abaa8cc fix: only return necessary data for categories 2019-09-20 02:12:15 -04:00
Barış Soner Uşaklı
e0fec86628 fix: dont crash if callback is undefined 2019-09-20 01:49:55 -04:00
Misty (Bot)
d788a8e913 Latest translations and fallbacks 2019-09-19 09:27:59 +00:00
Barış Soner Uşaklı
63bd3fc597 refactor: async/await emailer 2019-09-18 17:52:07 -04:00
Misty (Bot)
f76d35bcf2 Latest translations and fallbacks 2019-09-18 09:29:21 +00:00
renovate[bot]
8ed80bcb39 fix(deps): update dependency nodebb-theme-persona to v10.1.18 (#7906) 2019-09-17 16:43:52 -04:00
Barış Soner Uşaklı
35a4ca2fe9 feat: add sm2x avatar class #7813 2019-09-17 15:12:37 -04:00
Opliko
b9583ed838 Add privilege for accessing user information (#7859)
* Add view users info global privilege

* Show user ip only to global mods and admins

* fix missing comma

* Hide link for users without correct privilege

* move getting privilege information to getAllData

* Hide the link from Global Moderators as well

* Give Global Moderator view:users:info privilege

* Restrict ip in post menu to view:users:info

* add some trailing commas....

* Add privilege to categories test

* Add group privilege to categories test

* add upgrade script

* fix style for TravisCI

* more styling - change spaces to tabs

* some more styling fixes (hopefully final one)

* fix style for Travis CI

* hide ip in chat messages

* Don't show even hidden ips on user profile page
2019-09-17 14:02:52 -04:00
Barış Soner Uşaklı
781b3f1a9a fix: #7800, dont crash on resize 2019-09-17 14:00:36 -04:00
Barış Soner Uşaklı
71cd602da9 feat: #7090, abililty to hide widgets 2019-09-17 11:42:30 -04:00
renovate[bot]
5b8bb3e426 fix(deps): update dependency nodebb-rewards-essentials to v0.1.1 (#7905) 2019-09-17 11:21:41 -04:00
Barış Soner Uşaklı
de4619689b fix: change params 2019-09-17 09:12:45 -04:00
Barış Soner Uşaklı
9b151b2316 fix: remove dupe code 2019-09-16 23:22:10 -04:00
Barış Soner Uşaklı
ec3b5dd95a refactor: async/await routes/feeds 2019-09-16 23:05:59 -04:00
Barış Soner Uşaklı
5de6d8857a feat: #7760, body-parser config 2019-09-16 18:39:25 -04:00
Barış Soner Uşaklı
b110aec6ed refactor: async/await rewards 2019-09-15 22:41:25 -04:00
renovate[bot]
8b7f6566cc fix(deps): update dependency connect-redis to v4 (#7869) 2019-09-15 17:07:53 -04:00
Barış Soner Uşaklı
a7d2b8a1fe refactor: async/await socket.io 2019-09-15 02:14:51 -04:00
Misty (Bot)
9d41955bca Latest translations and fallbacks 2019-09-14 09:27:22 +00:00
Barış Soner Uşaklı
52b2d670e5 refactor: async/await 2019-09-13 23:34:52 -04:00
Barış Soner Uşaklı
f05c1dae69 feat: actually cache duh 2019-09-13 22:13:27 -04:00
Barış Soner Uşaklı
63bd252fba feat: cache tags:topic:count 2019-09-13 22:06:10 -04:00
Barış Soner Uşaklı
1789ecb45c feat: increase search timeouts 2019-09-13 21:24:43 -04:00
Barış Soner Uşaklı
75d7ae9272 refactor: async/await 2019-09-13 18:24:21 -04:00
Misty (Bot)
63a741cfb3 Latest translations and fallbacks 2019-09-13 09:27:40 +00:00
Barış Soner Uşaklı
5c2afe5eac refactor: async/await socket.io/topics 2019-09-12 23:27:36 -04:00
Barış Soner Uşaklı
ebe5ed22bb feat: make handleSearch public 2019-09-12 18:52:03 -04:00
Barış Soner Uşaklı
2a5fe2b8f4 fix: #7894, translate log in to view 2019-09-12 14:47:36 -04:00
Barış Soner Uşaklı
3c6c40b177 refactor: async/await controllers/user.js 2019-09-12 14:20:50 -04:00
Barış Soner Uşaklı
5c0266d8c4 refactor: async/await uploads 2019-09-12 12:41:59 -04:00
renovate[bot]
b2423baeec fix(deps): update dependency nodebb-plugin-mentions to v2.7.3 (#7899) 2019-09-12 11:55:46 -04:00
renovate[bot]
a3120a62cf fix(deps): update dependency nodebb-plugin-mentions to v2.7.2 (#7898) 2019-09-12 11:35:11 -04:00
Barış Soner Uşaklı
3e2ed21d3d refactor: move tos parsing to /tos 2019-09-12 10:21:18 -04:00
Barış Soner Uşaklı
b81405a8cc feat: increase size of local cache 2019-09-11 18:09:39 -04:00
Barış Soner Uşaklı
ec98945a5f refactor: remove commented out code 2019-09-11 16:41:25 -04:00
Barış Soner Uşaklı
b9105ef9c6 refactor: async/await controllers/authentication 2019-09-11 02:02:07 -04:00
Andrew Rodrigues
b99279a83c fix: minor typo 2019-09-11 01:33:39 -04:00
Barış Soner Uşaklı
67875f7e1f Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-09-11 00:33:29 -04:00
renovate[bot]
106c20e2a6 fix(deps): update dependency nodebb-plugin-dbsearch to v4.0.5 (#7896) 2019-09-11 00:28:51 -04:00
Barış Soner Uşaklı
22f8011686 refactor: remove async from isPasswordValid, function is sync 2019-09-11 00:28:42 -04:00
renovate[bot]
fa251ece63 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.13 (#7895) 2019-09-11 00:23:10 -04:00
Barış Soner Uşaklı
6cda369872 refactor: make categories.buildForSelectCategories non async 2019-09-10 23:44:08 -04:00
Barış Soner Uşaklı
09410ff1c5 feat: don't hardcode numberic fields in user search 2019-09-10 20:40:49 -04:00
Barış Soner Uşaklı
0843497dd4 fix: #7893, check private upload setting 2019-09-10 18:01:37 -04:00
Baris Usakli
77cb4b55cb fix: #7892, handle string 'true'/'false' 2019-09-10 13:56:57 -04:00
Barış Soner Uşaklı
a4d84a66dd refactor: remove dupe code 2019-09-09 19:34:20 -04:00
Barış Soner Uşaklı
e93ef0d7fd refactor: async/await socket.io/posts 2019-09-09 19:19:56 -04:00
Barış Soner Uşaklı
4652c68ba7 fix: dont show deleted topics in digest 2019-09-09 18:00:05 -04:00
Renovate Bot
8c2fc57728 fix(deps): update dependency nodebb-plugin-mentions to v2.7.1 2019-09-09 11:53:12 -04:00
Barış Soner Uşaklı
3887fc678b fix: #7824, update timeago settings on userlanguage change 2019-09-08 21:44:22 -04:00
renovate[bot]
429e124f34 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.12 (#7889) 2019-09-08 13:31:25 -04:00
Misty (Bot)
864af61055 Latest translations and fallbacks 2019-09-08 09:28:19 +00:00
Barış Soner Uşaklı
88dfbf213f refactor: async/await socket.io/admin 2019-09-07 18:22:03 -04:00
renovate[bot]
516b62ea68 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.11 (#7888) 2019-09-07 14:26:25 -04:00
Barış Soner Uşaklı
451c7fd4b6 feat: allow only watching core 2019-09-07 14:10:24 -04:00
David Karrick
9b4ae4c04a Added Postgres SSL Support (#7887)
* [Added] Postgres SSL Support

* [Added]Postgres SSL Support

* [Added] Postgres SSL Support
2019-09-07 13:27:51 -04:00
Misty (Bot)
2d24153933 Latest translations and fallbacks 2019-09-07 09:28:08 +00:00
Baris Usakli
71e50bbf4e refactor: socket.io/admin/categories async/await 2019-09-06 16:31:19 -04:00
Renovate Bot
6a4a9e26a2 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.10 2019-09-06 16:07:00 -04:00
Julian Lam
9b09ee0e93 feat: client-side taskbar.update method, deprecates .updateTitle() 2019-09-06 16:02:16 -04:00
renovate[bot]
12ba589d69 fix(deps): update dependency nodebb-plugin-dbsearch to v4.0.4 (#7883) 2019-09-06 12:52:21 -04:00
Renovate Bot
c75f3d278d fix(deps): update dependency postcss to v7.0.18 2019-09-06 12:44:35 -04:00
Misty (Bot)
87a7a59903 Latest translations and fallbacks 2019-09-06 09:28:55 +00:00
Renovate Bot
317c67713e fix(deps): update dependency nodebb-theme-persona to v10.1.17 2019-09-05 15:48:01 -04:00
Renovate Bot
6e9caddcd1 fix(deps): update dependency nodebb-theme-vanilla to v11.1.8 2019-09-05 15:47:41 -04:00
Barış Soner Uşaklı
acd9576489 fix: don't move theme/plugin to top if its already active 2019-09-05 13:31:42 -04:00
Julian Lam
1796b65d34 feat: option to restrict group leaving, closes #7770 2019-09-05 12:01:42 -04:00
Julian Lam
4588a4fdcf refactor: admin groups.join socket async/await 2019-09-05 12:01:41 -04:00
Misty (Bot)
7c0cfc33ea Latest translations and fallbacks 2019-09-05 09:29:12 +00:00
Julian Lam
30a86ed553 fix: #7853, dissociation on post purge 2019-09-04 16:59:04 -04:00
Renovate Bot
effe39895e fix(deps): update dependency nodebb-plugin-composer-default to v6.3.9 2019-09-04 13:50:52 -04:00
Renovate Bot
b69769bb84 fix(deps): update dependency nodebb-plugin-mentions to v2.7.0 2019-09-04 11:45:20 -04:00
Julian Lam
0c4cd840a0 fix: added comment back 2019-09-04 11:44:04 -04:00
Julian Lam
fe452762b7 fix: inability for plugins to actually alter parser sanitization config
/cc @pitaj
2019-09-04 11:43:05 -04:00
Barış Soner Uşaklı
ad96b0e0db feat: preserver querystring when changing category sort 2019-09-04 11:04:08 -04:00
Julian Lam
9b8ac89e13 fix: htmlentity instead of url encoding for room rename system message 2019-09-03 15:43:02 -04:00
renovate[bot]
9149db1fec fix(deps): update dependency benchpressjs to v2 (#7876) 2019-09-03 13:39:01 -04:00
Renovate Bot
793c5eaa79 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.8 2019-09-03 11:55:37 -04:00
Renovate Bot
57de99d21c fix(deps): update dependency nodebb-plugin-composer-default to v6.3.7 2019-08-30 16:42:03 -04:00
Baris Usakli
dd8386d93d refactor: password async/await 2019-08-30 16:16:56 -04:00
Baris Usakli
3a01e95380 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-08-30 15:10:45 -04:00
Julian Lam
2580306db9 feat: html sanitization on all filter:parse.* hooks, closes #7872 2019-08-30 14:40:18 -04:00
Baris Usakli
0164e51f9f refactor: sitemap to async/await 2019-08-30 14:20:54 -04:00
Baris Usakli
e291a60964 fix: page count for filters 2019-08-30 12:32:21 -04:00
Barış Soner Uşaklı
547bb4966d fix: #7866, show correct title based on digest interval 2019-08-28 17:04:21 -04:00
renovate[bot]
4ee2c09065 fix(deps): update dependency mongodb to v3.3.2 (#7871) 2019-08-28 15:07:58 -04:00
Baris Usakli
3d2cb6288a feat: up socket.io-adapter-mongo 2019-08-28 11:37:36 -04:00
Barış Soner Uşaklı
aea04de094 feat: update LESS to v3.x, #7855 (#7867)
* feat: #7855

* fix: tests
2019-08-28 11:22:39 -04:00
Barış Soner Uşaklı
105fb79c5b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-08-27 19:31:07 -04:00
Barış Soner Uşaklı
b565e56864 feat: up psql socket.io adapter 2019-08-27 19:30:56 -04:00
renovate[bot]
8ce2a5fc20 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.6.5 (#7865) 2019-08-27 19:30:17 -04:00
Barış Soner Uşaklı
21e81f961c fix: #7780 2019-08-27 10:00:13 -04:00
renovate[bot]
0dfce49f9c fix(deps): update dependency mongodb to v3.3.1 (#7862) 2019-08-27 00:38:33 -04:00
renovate[bot]
e4b5d0b4f2 fix(deps): update dependency connect-pg-simple to v6 [security] (#7864) 2019-08-27 00:38:20 -04:00
Barış Soner Uşaklı
d372720749 refactor: remove hook assign 2019-08-23 22:35:15 -04:00
Barış Soner Uşaklı
f31d30cd02 feat: add client side hook for quick search&normal search 2019-08-23 22:25:36 -04:00
Baris Usakli
f9a804e014 refactor: async/await users 2019-08-23 15:46:10 -04:00
Barış Soner Uşaklı
19b63bfaa7 refactor: remove empty line 2019-08-22 21:43:48 -04:00
Barış Soner Uşaklı
69333f59af refactor: remove vars 2019-08-22 21:16:37 -04:00
Barış Soner Uşaklı
f2912e9fe0 fix: pinned tids showing on page > 1 2019-08-22 21:14:18 -04:00
Barış Soner Uşaklı
a4dec7e3ab fix: #7860, allow running single upgrade scripts from plugins 2019-08-22 20:40:44 -04:00
Barış Soner Uşaklı
1d7e0c6341 feat: allow floating pinned topics to top in getSortedTopics 2019-08-22 13:04:14 -04:00
Barış Soner Uşaklı
6f7ab5861e feat: promisify recent.getData 2019-08-22 11:08:14 -04:00
Barış Soner Uşaklı
2c4f04462f refactor: async/await controllers 2019-08-21 23:02:50 -04:00
Renovate Bot
a121098513 fix(deps): update dependency nodebb-plugin-mentions to v2.6.1 2019-08-21 15:38:34 -04:00
Julian Lam
a67762bc32 fix: reset should not automatically build assets 2019-08-21 15:17:50 -04:00
Renovate Bot
cdccc64653 fix(deps): update dependency nodebb-plugin-mentions to v2.6.0 2019-08-21 14:33:45 -04:00
Barış Soner Uşaklı
2b1912a964 fix: update morgan and lodash 2019-08-21 12:04:22 -04:00
Barış Soner Uşaklı
89cd31ed28 feat: faster initial stat loading 2019-08-21 01:30:00 -04:00
Barış Soner Uşaklı
cb50b3f441 feat: cache stats, mongo count sucks 2019-08-21 01:20:02 -04:00
Barış Soner Uşaklı
3ff6e1bb64 feat: dashboard stats
show
yesterday/today
lastweek/this week
lastmonth/this month
2019-08-21 00:25:38 -04:00
Barış Soner Uşaklı
aeb44faf5c feat: add filter:search.getPosts 2019-08-20 20:06:03 -04:00
Barış Soner Uşaklı
80bd52fcfa feat: add image and imageClass to post summaries 2019-08-20 20:05:07 -04:00
Barış Soner Uşaklı
5362488584 refactor: async/await controllers/tags 2019-08-19 23:36:49 -04:00
Barış Soner Uşaklı
f15c7f12b3 refactor: async/await 2019-08-19 23:17:43 -04:00
renovate[bot]
2f02edbc3c fix(deps): update dependency rimraf to v3 (#7843) 2019-08-19 20:25:53 -04:00
Baris Usakli
0722cc4715 refactor: globalmods/groups 2019-08-19 17:18:33 -04:00
Baris Usakli
bd8736db38 refactor: controllers/category.js 2019-08-19 16:22:54 -04:00
Baris Usakli
8c1ecdc13c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-08-19 16:08:20 -04:00
renovate[bot]
39da440aef Merge pull request #7849 from NodeBB/renovate/husky-3.x
chore(deps): update dependency husky to v3.0.4
2019-08-19 12:08:01 -04:00
Renovate Bot
ccccba8128 chore(deps): update dependency lint-staged to v9.2.3 2019-08-19 12:07:48 -04:00
Baris Usakli
27c27b497e refactor: use arrow func 2019-08-19 11:07:59 -04:00
renovate[bot]
2b1f840eb1 chore(deps): update dependency coveralls to v3.0.6 (#7820) 2019-08-19 08:41:23 -04:00
renovate[bot]
cf2504f881 fix(deps): update dependency rimraf to v2.7.1 (#7838) 2019-08-19 08:37:32 -04:00
Misty (Bot)
cc119c55d5 Latest translations and fallbacks 2019-08-19 09:28:24 +00:00
Barış Soner Uşaklı
1e0190abef fix: #7842, groups.invite works with an array of uids 2019-08-18 21:51:32 -04:00
Barış Soner Uşaklı
fa26855671 feat: #7842, make isInvited, isPending work with uids 2019-08-18 20:57:14 -04:00
Barış Soner Uşaklı
4eaa630b1c refactor: async/await controllers/api 2019-08-18 19:06:51 -04:00
renovate[bot]
ca7ba9be34 fix(deps): update dependency nodebb-theme-persona to v10.1.16 (#7848) 2019-08-16 19:40:17 -04:00
Baris Usakli
acf12e3dd8 feat: convert search controller to async/await 2019-08-16 15:02:45 -04:00
Barış Soner Uşaklı
6f375482a0 refactor: async/await admin/controllers 2019-08-14 22:48:57 -04:00
Barış Soner Uşaklı
592d9c82c5 fix: #7844, add uid to events, log plugin install/uninstall events 2019-08-14 19:17:43 -04:00
renovate[bot]
b1c0beb713 fix(deps): update dependency nodebb-theme-persona to v10.1.15 (#7845) 2019-08-14 16:41:41 -04:00
Barış Soner Uşaklı
c9250a01a2 refactor: async/await, remove dupe code for homepage routes 2019-08-14 16:27:58 -04:00
Julian Lam
1a2a381ae3 feat: notification on membership acceptance, closes #7835 2019-08-14 15:50:03 -04:00
Julian Lam
c44bf48c01 fix: removed console.logs 2019-08-14 15:20:13 -04:00
Julian Lam
f736f0b382 fix: broken tests from 71b205a889 2019-08-14 15:19:00 -04:00
Julian Lam
1ce33faaea feat: additional events logged for various group actions
closes #7841
2019-08-14 15:03:09 -04:00
Julian Lam
71b205a889 refactor: async/await for src/socket.io/groups.js 2019-08-14 14:25:00 -04:00
Barış Soner Uşaklı
c6c13725f8 fix: typo 2019-08-14 13:41:28 -04:00
Barış Soner Uşaklı
e635348693 feat: async 2019-08-14 13:29:52 -04:00
Barış Soner Uşaklı
32ea04a872 feat: async/await controllers/admin/dashboard 2019-08-14 11:53:51 -04:00
Barış Soner Uşaklı
647713f3fa fix: category description getting translated in ACP 2019-08-14 08:18:41 -04:00
renovate[bot]
661284cfc5 fix(deps): update dependency nodebb-theme-persona to v10.1.14 (#7837) 2019-08-13 16:14:08 -04:00
Barış Soner Uşaklı
7162051905 fix: #7791 2019-08-13 16:13:39 -04:00
Julian Lam
29f96b199c fix(style): requiring parens in block bodies 2019-08-13 15:12:27 -04:00
Julian Lam
0921230976 fix(style): updated code to follow new eslint recommendations
Squashed commit of the following:

commit f9ce878b26
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:30:46 2019 -0400

    fix(style): updated code to follow new eslint recommendations

commit 80dd370e41
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:14:58 2019 -0400

    fix(deps): update dependency sitemap to v4

    Squashed commit of the following:

    commit f4dd9cabb2
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee1
    Merge: e3352b272 72590b346
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:09:55 2019 -0400

        Merge branch 'master' into renovate/sitemap-4.x

    commit e3352b272e
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

commit 8e3c0cdcae
Author: Renovate Bot <bot@renovateapp.com>
Date:   Fri Aug 9 00:49:51 2019 +0000

    fix(deps): update dependency commander to v3

commit 2104449d38
Author: Renovate Bot <bot@renovateapp.com>
Date:   Tue Aug 13 15:00:27 2019 +0000

    fix(deps): update dependency mongodb to v3.3.0

commit d2937f446a
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

commit 1b97e8b199
Author: Misty (Bot) <deploy@nodebb.org>
Date:   Tue Aug 13 09:28:39 2019 +0000

    Latest translations and fallbacks

commit 69a48957a2
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 21:56:09 2019 -0400

    feat: async/await

commit b9b2a7e593
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 20:58:29 2019 -0400

    feat: async/await refactor

    controllers/accounts

commit a8d43a1759
Author: Baris Usakli <barisusakli@gmail.com>
Date:   Mon Aug 12 14:49:40 2019 -0400

    feat: async/await controllers/accounts

commit 2f25aae57b
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 23:09:50 2019 -0400

    fix: #7831, fix pagination

    convert to async/await

commit c9e83f2374
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:13:41 2019 -0400

    fix: remove useless catchs and empty line

commit 2e4a71c0b6
Author: Renovate Bot <bot@renovateapp.com>
Date:   Sat Aug 10 06:51:50 2019 +0000

    chore(deps): update dependency eslint-config-airbnb-base to v14
2019-08-13 15:12:27 -04:00
Renovate Bot
eaea6f63f6 fix(deps): update dependency nodebb-theme-persona to v10.1.13 2019-08-13 14:16:04 -04:00
Julian Lam
d3d677daf2 fix(deps): update dependency sitemap to v4
Squashed commit of the following:

commit f4dd9cabb2
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 11:33:05 2019 -0400

    fix: resolved breaking changes from sitemap v4 upgrade

commit 9043415ee1
Merge: e3352b272 72590b346
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 11:09:55 2019 -0400

    Merge branch 'master' into renovate/sitemap-4.x

commit e3352b272e
Author: Renovate Bot <bot@renovateapp.com>
Date:   Mon Aug 12 07:59:05 2019 +0000

    fix(deps): update dependency sitemap to v4
2019-08-13 14:15:25 -04:00
Renovate Bot
7a5dbd9ff5 fix(deps): update dependency commander to v3 2019-08-13 11:35:36 -04:00
Renovate Bot
360e172e53 fix(deps): update dependency mongodb to v3.3.0 2019-08-13 11:35:16 -04:00
Barış Soner Uşaklı
72590b3462 feat: async/await admin/controllers 2019-08-13 10:36:48 -04:00
Misty (Bot)
216eba6847 Latest translations and fallbacks 2019-08-13 09:28:39 +00:00
Barış Soner Uşaklı
7beef91c3f feat: async/await 2019-08-12 21:56:09 -04:00
Barış Soner Uşaklı
3cc7ec63e8 feat: async/await refactor
controllers/accounts
2019-08-12 20:58:29 -04:00
Baris Usakli
a3541d887b feat: async/await controllers/accounts 2019-08-12 14:49:40 -04:00
Barış Soner Uşaklı
014e31533d fix: #7831, fix pagination
convert to async/await
2019-08-11 23:09:50 -04:00
Barış Soner Uşaklı
c506f8063d Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-08-11 00:14:41 -04:00
Barış Soner Uşaklı
292bbe3449 fix: remove empty line 2019-08-11 00:14:35 -04:00
Barış Soner Uşaklı
5fce45580a fix: remove useless catchs and empty line 2019-08-11 00:13:41 -04:00
Misty (Bot)
7ca334264f Latest translations and fallbacks 2019-08-09 09:27:29 +00:00
Barış Soner Uşaklı
fd5f9822bd fix: #7823, fix topic move readding pids when topic is deleted 2019-08-08 14:23:34 -04:00
Barış Soner Uşaklı
3ecac97d7e fix: #7826, fix order of categories on recent dropdown 2019-08-08 12:11:13 -04:00
Renovate Bot
cbede89af3 chore(deps): update dependency husky to v3.0.3 2019-08-08 09:15:53 -04:00
Misty (Bot)
7a31c9f06e Latest translations and fallbacks 2019-08-08 09:28:10 +00:00
Barış Soner Uşaklı
b734defbfa feat: rewrite getRawPost to async/await
promisify SocketPosts
2019-08-07 17:38:23 -04:00
Julian Lam
973075cfbc feat: added new filter hook filter:post.getRawPost 2019-08-07 14:10:25 -04:00
Julian Lam
924d332c2c Revert "refactor: rewrote SocketPosts.getRawPost in await style"
This reverts commit 08530bb33f.
2019-08-07 14:10:24 -04:00
Baris Usakli
06932602ab Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-08-07 14:07:48 -04:00
Baris Usakli
e9fd49e234 feat: convert categories controller to async/await 2019-08-07 13:46:19 -04:00
Julian Lam
08530bb33f refactor: rewrote SocketPosts.getRawPost in await style
Added new filter hook filter:post.getRawPost
2019-08-07 13:18:53 -04:00
Jakub
90bcd65a00 add filter:manifest.build (#7821)
* add filter:manifest.build

Added a hook that lets plugins modify manifest.json, as suggested in https://community.nodebb.org/post/59670

* Added error handling

Thanks barisusakli

* Define next

* Pass data as an object

* Remove multiple spaces
2019-08-07 11:20:37 -04:00
Misty (Bot)
602c09e1f9 Latest translations and fallbacks 2019-08-07 09:27:28 +00:00
Barış Soner Uşaklı
8d4f20865f fix: redis pubsub not being required correctly
split connection logic into separate module
2019-08-06 18:27:00 -04:00
Barış Soner Uşaklı
186321e646 fix: mongo.close using wrong client 2019-08-06 17:35:03 -04:00
Barış Soner Uşaklı
bc6f22ebdb fix: digest not sending topics 2019-08-06 17:23:50 -04:00
Renovate Bot
61f9be99e9 fix(deps): update dependency nodebb-plugin-markdown to v8.10.4 2019-08-06 12:16:51 -04:00
Julian Lam
3d3fa8655d feat: new client-side hooks for chat minimize and close
closes #7805
2019-08-06 11:05:08 -04:00
Renovate Bot
f2e4664d93 chore(deps): update dependency lint-staged to v9 2019-08-06 10:58:41 -04:00
Renovate Bot
d860f8c799 fix(deps): update dependency nodebb-plugin-markdown to v8.10.3 2019-08-06 10:58:29 -04:00
renovate[bot]
57b2a55320 chore(deps): update dependency eslint-plugin-import to v2.18.2 (#7779) 2019-08-05 09:23:41 -04:00
renovate[bot]
7257e6b2aa chore(deps): update dependency eslint to v6.1.0 (#7783) 2019-08-05 09:22:10 -04:00
Barış Soner Uşaklı
af1f7249a7 feat: test psql without defineProperty (#7815)
* feat: test psql without defineProperty

* feat: refactor psql

remove .bind calls, use module.pool.query directly
move requires to top of file
move promisify to bottom so .init etc are promisified

* feat: mongodb

move requires to bottom

* feat: redis
2019-08-05 09:20:00 -04:00
Julian Lam
52a2e5d61d fix: #7816, adding GDPR and TOU interstitials earlier on route reloading
A use-case was presented that called for a theme to disable the
registration interstitials. However, the plugin hooks were always
fired first, and so the core interstitials could not be removed
at that time because they hadn't been added yet.

This change moved the interstitial adding to the earliest point
possible, right after plugins.loadedHooks is emptied in preparation
for plugin initialisation.
2019-08-02 12:59:36 -04:00
Misty (Bot)
687b9b74c0 Latest translations and fallbacks 2019-08-02 09:27:46 +00:00
Julian Lam
af968c6ae5 feat: fire updateRemainingLength hook for chats 2019-08-01 12:13:26 -04:00
Julian Lam
0e07ffa1d9 feat: send pids into filter:post.getFields hook 2019-07-31 15:06:14 -04:00
Baris Usakli
65fc06128c feat: move cache tpl 2019-07-31 12:56:56 -04:00
Baris Usakli
3a9d83a44b feat: async refactor 2019-07-31 12:39:15 -04:00
Barış Soner Uşaklı
47e30a67be feat: move group privs above user, add labels 2019-07-30 17:46:18 -04:00
Barış Soner Uşaklı
23046bab9a Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-07-30 16:44:11 -04:00
Renovate Bot
7ad72b324d chore(deps): update dependency husky to v3.0.2 2019-07-30 14:54:42 -04:00
Baris Usakli
9780f5b975 fix: #7809, dont check postDelay if submitting from queue 2019-07-30 13:19:50 -04:00
Baris Usakli
2abe244b6e fix: newPostEditDuration 2019-07-30 13:03:01 -04:00
Barış Soner Uşaklı
dec8040c09 feat: widgets/index.js
enable widget-essentials in tests
fix widget test
2019-07-29 19:42:55 -04:00
Barış Soner Uşaklı
6a289fbac9 fix: #7789 2019-07-29 18:26:29 -04:00
Barış Soner Uşaklı
4d6b687183 feat: use promise version 2019-07-29 17:55:48 -04:00
Barış Soner Uşaklı
1c2540d3e1 feat: #7743, meta/dependencies 2019-07-29 16:33:48 -04:00
Baris Usakli
96ebe7b5f7 feat: #7743, widgets/admin 2019-07-29 13:34:29 -04:00
renovate[bot]
2258452c3e fix(deps): update dependency sharp to v0.23.0 (#7806) 2019-07-29 11:24:47 -04:00
renovate[bot]
b9aac424cd fix(deps): update dependency nodebb-theme-persona to v10.1.12 (#7799) 2019-07-26 21:04:33 -04:00
Barış Soner Uşaklı
666e0eaff9 fix: #7798, fix nested post selection 2019-07-26 20:35:45 -04:00
Baris Usakli
8bf40d04c9 fix: #7788, fix on topic move and new post 2019-07-26 14:23:10 -04:00
Baris Usakli
053ff510bb fix: #7788, fix another edge case
ignore pids in topics that were purged/deleted
2019-07-26 13:22:33 -04:00
renovate[bot]
d98313b5f6 fix(deps): update dependency nodebb-plugin-dbsearch to v4 (#7797) 2019-07-25 00:52:00 -04:00
Barış Soner Uşaklı
b10ad7b6ff fix: topicData passed to action:topic.edit 2019-07-24 23:50:23 -04:00
renovate[bot]
ef734b622e fix(deps): update dependency nodebb-plugin-dbsearch to v3.0.8 (#7796) 2019-07-24 22:12:06 -04:00
Barış Soner Uşaklı
c02686bfc8 feat: #7743, meta/languages and languages 2019-07-24 17:44:23 -04:00
Julian Lam
66aa443b7a feat: added filter:tags.getAll plugin hook 2019-07-24 12:06:54 -04:00
Barış Soner Uşaklı
102d4b0247 feat: #7743, events 2019-07-23 23:05:42 -04:00
Barış Soner Uşaklı
97d7a85060 feat: #7743 meta/errors 2019-07-23 22:20:39 -04:00
Barış Soner Uşaklı
99cf47ee08 feat: get rid of async.eachSeries 2019-07-23 21:47:33 -04:00
Barış Soner Uşaklı
ce91288607 fix: derpy catch 2019-07-23 21:17:00 -04:00
Barış Soner Uşaklı
3c32d8600f fix: #7788 No new posts (#7793)
* feat: debug no-new-posts

* feat: add test for user delete

* fix: timeout for flag test

* feat: shorter
2019-07-23 21:11:04 -04:00
Renovate Bot
e76214a25c chore(deps): update node:8.16.0 docker digest to c671dc2 2019-07-23 16:48:55 -04:00
Julian Lam
7b90863971 feat: #7743 meta/tags.js 2019-07-23 14:48:16 -04:00
Julian Lam
79eed9ae60 feat: #7743 meta/templates.js 2019-07-23 14:26:14 -04:00
Baris Usakli
6a486e35bb fix: user urls in subfolder install
fix missing await
2019-07-23 11:42:28 -04:00
Misty (Bot)
54b87fd176 Latest translations and fallbacks 2019-07-23 09:27:49 +00:00
Barış Soner Uşaklı
764a2b1210 feat: #7743 navigation 2019-07-22 19:56:44 -04:00
Barış Soner Uşaklı
e72f3e4ffe feat: #7743 account/posts controller 2019-07-22 19:41:18 -04:00
Barış Soner Uşaklı
9b3f4b98d1 feat: #7743 finish topics controller 2019-07-22 18:52:31 -04:00
Barış Soner Uşaklı
0b498acdcf fix: #7765 2019-07-22 18:36:29 -04:00
Barış Soner Uşaklı
0d047f4eb9 feat: #7743, webserver 2019-07-22 18:16:18 -04:00
Julian Lam
87552c559c fix: tests 2019-07-22 16:18:28 -04:00
Renovate Bot
8b1fc5c85f fix(deps): update dependency nodebb-theme-persona to v10.1.11 2019-07-22 15:14:18 -04:00
Renovate Bot
ba1bb5283a fix(deps): update dependency nodebb-theme-vanilla to v11.1.7 2019-07-22 15:14:04 -04:00
Julian Lam
7dc0eaf070 feat: #7743 meta/themes.js 2019-07-22 15:11:55 -04:00
Barış Soner Uşaklı
a15c50bf62 feat: #7743, meta/sounds 2019-07-22 12:19:29 -04:00
Barış Soner Uşaklı
7f72181ec8 feat: #7743 , meta/cachebuster, meta/configs 2019-07-22 11:54:37 -04:00
Julian Lam
756a717eb8 feat: convert src/messaging/* to async/await (#7778)
* feat: src/messaging/create.js, #7743

* feat: src/messaging/data.js, #7743

* feat: src/messaging/delete.js, #7743

* feat: src/messaging/edit.js, index.js, #7743

* fix: added in missing awaits

* feat: wrapped up src/messaging/* rewrite

* refactor: messaging delete/restore similar blocks of code
2019-07-22 11:18:13 -04:00
Barış Soner Uşaklı
fcf8fd51cb feat: #7743 meta/blacklist 2019-07-22 10:37:21 -04:00
Barış Soner Uşaklı
3dd806dcb8 fix: revert requires 2019-07-22 08:33:35 -04:00
Misty (Bot)
2d34b8cc99 Latest translations and fallbacks 2019-07-22 09:27:32 +00:00
Barış Soner Uşaklı
69860e582b feat: #7743 meta/index 2019-07-22 00:47:24 -04:00
Barış Soner Uşaklı
c126cd8572 feat: #7743 plugins 2019-07-22 00:30:47 -04:00
Barış Soner Uşaklı
f5f5f76b12 feat: #7743 plugins/data 2019-07-21 22:40:00 -04:00
Barış Soner Uşaklı
97fdb2b431 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-07-21 19:19:49 -04:00
Barış Soner Uşaklı
17f843f991 feat: dont waste whitespace 2019-07-21 17:15:47 -04:00
renovate[bot]
7a88c4cc34 fix(deps): update dependency nodebb-theme-vanilla to v11.1.6 (#7784) 2019-07-21 09:03:04 -04:00
Misty (Bot)
bf04ee8d74 Latest translations and fallbacks 2019-07-21 09:27:13 +00:00
renovate[bot]
e074b0bf9f fix(deps): update dependency nodebb-theme-slick to v1.2.26 (#7782) 2019-07-20 23:48:26 -04:00
renovate[bot]
4f20b4d38c fix(deps): update dependency nodebb-theme-persona to v10.1.10 (#7781) 2019-07-20 23:43:23 -04:00
Barış Soner Uşaklı
34d85b5205 feat: switch to promise.all 2019-07-20 23:32:20 -04:00
Barış Soner Uşaklı
f8d341014a fix: #7763, parse about me on all profile pages 2019-07-20 23:18:45 -04:00
Barış Soner Uşaklı
faccb191ec feat: #7743, privileges 2019-07-20 22:12:22 -04:00
Misty (Bot)
627ecaf6bb Latest translations and fallbacks 2019-07-20 09:26:30 +00:00
Barış Soner Uşaklı
e2e33dfb1e fix: status and groupTitle, if its not set 2019-07-19 19:39:57 -04:00
Barış Soner Uşaklı
2f0a331f02 fix: don't return promise 2019-07-19 17:02:25 -04:00
Barış Soner Uşaklı
44a3352003 fix: socket.io methods calling callbacks twice if method returns promise 2019-07-19 16:46:40 -04:00
Renovate Bot
d43f5dcf4c chore(deps): update dependency mocha to v6.2.0 2019-07-19 12:54:30 -04:00
Renovate Bot
c46a07727d chore(deps): update node:8.16.0 docker digest to 310db2a 2019-07-19 12:54:08 -04:00
Julian Lam
4fb271c684 System chat messages (#7771)
* fix: removed duplicate checkContent call in addMessage

addMessage is called in one place (sendMessage), and the checks
are already contained there. addMessage is the lower level call
and so should be called only from within core itself.

* feat: #7330 chat system messages for join, leave, rename

* fix: add back content checking in .addMessage();

* fix: tests, and added .addSystemMessage() method

Tests were relying on message indices that changed due to the
new system messages.

* feat: add tests for system chat messages

* refactor: rewrite half of src/messaging/rooms.js, fix tests

* feat: #7743 messaging/room.js

* fix: tests for messaging/room.js, #7743

* fix: trying to fix tests

* fix: omg :rage2:
2019-07-19 12:20:11 -04:00
Renovate Bot
28151f86da chore(deps): update dependency husky to v3.0.1 2019-07-19 12:02:07 -04:00
Renovate Bot
9fda2c1ff4 chore(deps): update dependency eslint-plugin-import to v2.18.1 2019-07-19 12:01:51 -04:00
Renovate Bot
3fdc638b27 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.6 2019-07-19 12:01:37 -04:00
Renovate Bot
8a11193fc8 fix(deps): update dependency connect-redis to v3.4.2 2019-07-19 12:00:18 -04:00
Baris Usakli
6d3a92b851 feat: #7743 , search.js 2019-07-19 11:42:25 -04:00
Misty (Bot)
879104ccde Latest translations and fallbacks 2019-07-19 09:27:25 +00:00
Barış Soner Uşaklı
8e75646ac0 feat: shorter name 2019-07-19 00:14:32 -04:00
Barış Soner Uşaklı
daed76d5d6 feat: cache group:members for priv groups 2019-07-18 23:58:59 -04:00
Barış Soner Uşaklı
72def7dfa6 feat: #7743 finish groups 2019-07-18 22:35:12 -04:00
Barış Soner Uşaklı
a39ca51e06 feat: #7743, groups/index, invite, leave,membership 2019-07-18 19:20:17 -04:00
Barış Soner Uşaklı
d5342a40ba feat: #7743,groups/index,join 2019-07-18 17:11:59 -04:00
Barış Soner Uşaklı
87b1148fa8 fix: tests 2019-07-18 14:23:10 -04:00
Baris Usakli
fcd4445a89 feat: #7743, groups/delete,ownership,posts,user 2019-07-18 13:22:17 -04:00
Baris Usakli
5e8614e15b feat: #7743 groups/cover,create,data 2019-07-18 13:01:43 -04:00
Misty (Bot)
382a9c4187 Latest translations and fallbacks 2019-07-18 09:27:18 +00:00
Barış Soner Uşaklı
c0c6c652be feat: #7743, finish post module 2019-07-17 19:05:55 -04:00
Baris Usakli
c4bb467ea5 feat: #7743 posts/diff, posts/edit 2019-07-17 13:38:40 -04:00
Misty (Bot)
acad245b4a Latest translations and fallbacks 2019-07-17 09:27:31 +00:00
Barış Soner Uşaklı
1b2b308a7e feat: #7743, posts module 2019-07-17 00:17:21 -04:00
Barış Soner Uşaklı
930ffd074f fix: tests 2019-07-16 21:01:07 -04:00
Barış Soner Uşaklı
a51ec591ee feat: #7743, finish user module 2019-07-16 20:44:00 -04:00
Barış Soner Uşaklı
6fea46b6e2 feat: #7743
user/posts
user/profile
2019-07-16 15:29:58 -04:00
Julian Lam
0e8ee31b90 fix: #7601 removed check for another user when sending messages
This is an old check back when the sorted set that messages were
appended to depended on what users were in the chat room. Once
messages were refactored (in 2017) to use roomIds, this is no
longer a limitation of the platform and users should be free to
talk to themselves all they want.
2019-07-16 15:11:55 -04:00
Barış Soner Uşaklı
cd80c2638c feat: #7743
user/password
user/picture
2019-07-16 14:17:10 -04:00
Barış Soner Uşaklı
0a690c5710 feat: #7743
user/online.js
2019-07-16 13:12:21 -04:00
Barış Soner Uşaklı
1c5fad6dae feat: #7743
user/notifications.js
2019-07-16 12:47:55 -04:00
Renovate Bot
f73468d5e7 chore(deps): update commitlint monorepo to v8.1.0 2019-07-16 11:44:07 -04:00
Barış Soner Uşaklı
fe4c048198 feat: #7743
user/index.js
user/info.js
user/invite.js
user/jobs.js
2019-07-16 11:42:24 -04:00
Misty (Bot)
93862e9e66 Latest translations and fallbacks 2019-07-16 09:26:45 +00:00
Barış Soner Uşaklı
3b24de4cb3 fix: mongodb tests 2019-07-16 00:48:41 -04:00
Barış Soner Uşaklı
fcf3e0770b feat: #7743 categories 2019-07-16 00:41:42 -04:00
Renovate Bot
45223cded6 fix(deps): update dependency nodebb-plugin-mentions to v2.5.4 2019-07-15 12:46:17 -04:00
Renovate Bot
8654623217 fix(deps): update dependency nodebb-plugin-markdown to v8.10.2 2019-07-15 11:26:44 -04:00
Misty (Bot)
7f54a24438 Latest translations and fallbacks 2019-07-15 09:27:33 +00:00
Barış Soner Uşaklı
c610eb1430 feat: #7743, user/digest, user/email, user/follow 2019-07-14 23:11:16 -04:00
Barış Soner Uşaklı
13aaf07bf5 fix: getTopicsFromSet 2019-07-14 17:48:02 -04:00
Barış Soner Uşaklı
9eb1fcd4e5 fix: #7762, allow array for isBanned
dont filter banned users one by one in digest
2019-07-14 16:25:30 -04:00
Misty (Bot)
239195d8a9 Latest translations and fallbacks 2019-07-14 09:26:40 +00:00
Barış Soner Uşaklı
d6e36c3166 feat: #7743, user/create, user/data, user/delete 2019-07-14 00:22:17 -04:00
renovate[bot]
c1660a1ace fix(deps): update dependency nodebb-theme-persona to v10.1.9 (#7759) 2019-07-14 00:05:46 -04:00
Barış Soner Uşaklı
46639be32d fix: add flag for change post owner 2019-07-13 23:51:18 -04:00
Barış Soner Uşaklı
4541caa4f8 feat: #7743 , user/block, user/categories 2019-07-13 17:23:31 -04:00
Barış Soner Uşaklı
6f738c2b44 feat: #7743 notifications 2019-07-12 21:01:48 -04:00
Barış Soner Uşaklı
cd2e68cb2d feat: remove unused code, add 2 tests 2019-07-12 20:16:05 -04:00
Baris Usakli
1970214a24 feat: #7743 user/ban, up mubsub 2019-07-12 16:34:41 -04:00
renovate[bot]
efedd6212a fix(deps): update dependency nodebb-plugin-dbsearch to v3.0.7 (#7758) 2019-07-12 16:18:11 -04:00
Renovate Bot
7f4b1043ad fix(deps): update dependency nodebb-plugin-composer-default to v6.3.5 2019-07-12 16:08:18 -04:00
renovate[bot]
15e01d1223 fix(deps): update dependency nodebb-theme-vanilla to v11.1.5 (#7756) 2019-07-12 15:36:50 -04:00
renovate[bot]
196796084c fix(deps): update dependency nodebb-theme-persona to v10.1.8 (#7755) 2019-07-12 15:36:34 -04:00
Baris Usakli
9f78bd7a12 fix: sitemap ajaxify 2019-07-12 14:48:30 -04:00
renovate[bot]
3cb6cfe87d fix(deps): update dependency nodebb-theme-persona to v10.1.7 (#7754) 2019-07-12 14:14:17 -04:00
Barış Soner Uşaklı
53e1b349ae Change post owner (#7752)
* feat: #7749, allow array of keys for setObject

* feat: sortedSetRemoveBulk

* feat: test for bulk remove

* feat: #7083, ability to change post ownership

* feat: #7083, fix tid:<tid>:posters

* feat: #7083, front end

* fix: #7752, psql methods

* fix: add missing await

* fix: maybe psql
2019-07-12 14:06:09 -04:00
Renovate Bot
5b746d53e7 chore(deps): update dependency coveralls to v3.0.5 2019-07-12 11:48:55 -04:00
Barış Soner Uşaklı
b24ce97602 feat: #7743, user/approval, user/auth 2019-07-11 23:43:00 -04:00
Barış Soner Uşaklı
2b70e86f21 fix: #7751, make necro separator a partial 2019-07-11 22:42:04 -04:00
Renovate Bot
8394a0fd58 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.3 2019-07-11 12:23:19 -04:00
Barış Soner Uşaklı
7b95ebbb6a fix: #7748, if reputation system is disabled, dont check min reputation 2019-07-11 09:54:46 -04:00
Baris Usakli
8ef75be3e3 feat: #7743, posts/votes 2019-07-10 15:10:12 -04:00
Baris Usakli
e1ecc36d04 feat: #7743 posts 2019-07-10 14:29:11 -04:00
Barış Soner Uşaklı
0ac49d63d9 fix: remove left over code, use proper names 2019-07-09 23:09:25 -04:00
Barış Soner Uşaklı
2c33595507 feat: #7743 user/admin.js 2019-07-09 22:23:10 -04:00
Barış Soner Uşaklı
4170abfd6b feat: add utils.promiseParallel 2019-07-09 22:00:46 -04:00
Barış Soner Uşaklı
0a6cfb37c2 feat: #7743, posts/user.js 2019-07-09 17:30:27 -04:00
Barış Soner Uşaklı
332a16c868 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-07-09 15:13:02 -04:00
Barış Soner Uşaklı
fba67196e1 fix: compatibility conditional 2019-07-09 15:12:57 -04:00
Barış Soner Uşaklı
805dcd7ca2 Async refactor in place (#7736)
* feat: allow both callback&and await

* feat: ignore async key

* feat: callbackify and promisify in same file

* Revert "feat: callbackify and promisify in same file"

This reverts commit cea206a9b8.

* feat: no need to store .callbackify

* feat: change getTopics to async

* feat: remove .async

* fix: byScore

* feat: rewrite topics/index and social with async/await

* fix: rewrite topics/data.js

fix issue with async.waterfall, only pass result if its not undefined

* feat: add callbackify to redis/psql

* feat: psql use await

* fix: redis 🌋

* feat: less returns

* feat: more await rewrite

* fix: redis tests

* feat: convert sortedSetAdd

rewrite psql transaction to async/await

* feat: 🐶

* feat: test

* feat: log client and query

* feat: log bind

* feat: more logs

* feat: more logs

* feat: check perform

* feat: dont callbackify transaction

* feat: remove logs

* fix: main functions

* feat: more logs

* fix: increment

* fix: rename

* feat: remove cls

* fix: remove console.log

* feat: add deprecation message to .async usage

* feat: update more dbal methods

* fix: redis :voodoo:

* feat:  fix redis zrem, convert setObject

* feat: upgrade getObject methods

* fix: psql getObjectField

* fix: redis tests

* feat: getObjectKeys

* feat: getObjectValues

* feat: isObjectField

* fix: add missing return

* feat: delObjectField

* feat: incrObjectField

* fix: add missing await

* feat: remove exposed helpers

* feat: list methods

* feat: flush/empty

* feat: delete

* fix: redis delete all

* feat: get/set

* feat: incr/rename

* feat: type

* feat: expire

* feat: setAdd

* feat: setRemove

* feat: isSetMember

* feat: getSetMembers

* feat: setCount, setRemoveRandom

* feat: zcard,zcount

* feat: sortedSetRank

* feat: isSortedSetMember

* feat: zincrby

* feat: sortedSetLex

* feat: processSortedSet

* fix: add mising await

* feat: debug psql

* fix: psql test

* fix: test

* fix: another test

* fix: test fix

* fix: psql tests

* feat: remove logs

* feat: user arrow func

use builtin async promises

* feat: topic bookmarks

* feat: topic.delete

* feat: topic.restore

* feat: topics.purge

* feat: merge

* feat: suggested

* feat: topics/user.js

* feat: topics modules

* feat: topics/follow

* fix: deprecation msg

* feat: fork

* feat: topics/posts

* feat: sorted/recent

* feat: topic/teaser

* feat: topics/tools

* feat: topics/unread

* feat: add back node versions

disable deprecation notice
wrap async controllers in try/catch

* feat: use db directly

* feat: promisify in place

* fix: redis/psql

* feat: deprecation message

logs for psql

* feat: more logs

* feat: more logs

* feat: logs again

* feat: more logs

* fix: call release

* feat: restore travis, remove logs

* fix: loops

* feat: remove .async. usage
2019-07-09 12:46:49 -04:00
renovate[bot]
43ce5f8af3 fix(deps): update dependency nodebb-theme-vanilla to v11.1.4 (#7741) 2019-07-05 22:25:56 -04:00
Renovate Bot
27da232556 fix(deps): update dependency nodebb-theme-persona to v10.1.5 2019-07-05 15:45:28 -04:00
Julian Lam
16aae51726 fix: private upload img replacement should happen before img wrapping 2019-07-05 15:02:48 -04:00
Julian Lam
49e3a368f8 fix: #7423 private uploads are linked to login page, for guests 2019-07-05 14:58:54 -04:00
renovate[bot]
bd09ba92e5 fix(deps): update dependency validator to v11.1.0 (#7738) 2019-07-04 17:37:45 -04:00
Julian Lam
8a6a58ee43 feat: added new admin option newbiePostEditDuration (#7737)
* feat: added new admin option newbiePostEditDuration

Also:
  - Grammar-checked a couple language strings
  - Moved a couple form inputs around in new user restrictions
  - Added a test for the new option
  - fix: 'defore' typo
2019-07-04 13:28:36 -04:00
Baris Usakli
f3440ebfca fix: typo 2019-07-04 11:30:21 -04:00
Julian Lam
851424a7ca fix(deps): bump composer-default 2019-07-03 15:41:36 -04:00
Julian Lam
8b1dadb7f8 fix: #7722, hsts deprecation warnings 2019-07-03 14:10:45 -04:00
Renovate Bot
cf9afa1974 Update dependency nodebb-plugin-composer-default to v6.3.1 2019-07-03 13:21:17 -04:00
Barış Soner Uşaklı
bd640a1107 Topic await errors (#7727)
* feat: derp await

* feat: restore user.getSettings

* feat: cleanup

* feat: make tid const

* feat: cleanup

* fix: tests

* feat: deprecate filter:controllers.topic.get

* feat: rewrite post-index logic

* feat: change calculation to match others

* fix: use .async

* feat: remove try/catch wrapper
2019-07-03 12:48:26 -04:00
Renovate Bot
5e46cf9b09 Update dependency nodebb-plugin-markdown to v8.10.1 2019-07-02 15:50:32 -04:00
Renovate Bot
9c082c37cb Update dependency husky to v3 2019-07-02 15:43:42 -04:00
Renovate Bot
4e6cb52577 Update dependency eslint-config-airbnb-base to v13.2.0 2019-07-02 15:41:33 -04:00
renovate[bot]
82e5bc225e Update dependency sitemap to v3 (#7728) 2019-07-01 18:19:00 -04:00
Misty (Bot)
11b5eb6481 Latest translations and fallbacks 2019-07-01 09:26:48 +00:00
Misty (Bot)
76910ad5b6 Latest translations and fallbacks 2019-06-30 09:25:59 +00:00
Misty (Bot)
9e9a2a5048 Latest translations and fallbacks 2019-06-29 09:25:57 +00:00
Renovate Bot
f426e105a0 fix(deps): update dependency nodebb-theme-persona to v10.1.4 2019-06-28 15:39:21 -04:00
Julian Lam
75ff4d7dea feat: returning category data in tags page
For nodebb/nodebb-theme-persona#483
2019-06-28 15:32:47 -04:00
Julian Lam
a0c0ef1ba4 feat: ACP analytics API route (#7725)
* feat: added API route for retrieving analytics via REST API

* feat: sets is now optional, can pass in multiple sets

* fix: moved expand and added json button to panel header

* fix: matching api params to socket method

* fix: update json api button url on graph change

* fix: updated default counts based on passed in units
2019-06-28 14:59:55 -04:00
renovate[bot]
fb0870297b fix(deps): update dependency nodebb-plugin-composer-default to v6.2.16 (#7723) 2019-06-27 17:21:46 -04:00
Renovate Bot
1d0fd0284a chore(deps): update dependency husky to v2.7.0 2019-06-27 12:43:37 -04:00
Baris Usakli
accf48f38b fix: upgrade script #7720 2019-06-27 12:39:21 -04:00
Baris Usakli
a5de54f877 fix: indents 2019-06-27 12:08:51 -04:00
Baris Usakli
ee4d78cae3 feat: closes #7718 2019-06-27 12:05:31 -04:00
Baris Usakli
41bc6ca2c4 feat: add status to post summaries 2019-06-27 11:17:40 -04:00
Julian Lam
af17c6e31c fix: remove debug code that should not have made it in 2019-06-26 14:32:03 -04:00
Renovate Bot
413259a2b8 fix(deps): update dependency nodebb-theme-persona to v10.1.3 2019-06-26 12:31:59 -04:00
Baris Usakli
e299cafce7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-06-26 12:16:05 -04:00
Baris Usakli
708df46ebe fix: dont display post tools if there are no options 2019-06-26 12:14:38 -04:00
Julian Lam
69fae1a7e4 fix: output span in buildAvatar helper instead of div
In not-so-rare circumstances, the avatar generated is wrapped in
an anchor so that when clicked, it goes to the user profile.

Unfortunately, html 4 spec doesn't like block level elements
inside anchors (since an anchor is an inline element), and even
though we define html5 doctype, browsers still reorder the div
and anchor, beats me as to why.

So I can trick the browser by using a span. The css already styles
it as inline-block so no further fixes are required.
2019-06-26 12:14:14 -04:00
Julian Lam
67b8cb8977 fix: restore uid in teasers userObj 2019-06-26 12:14:13 -04:00
Baris Usakli
667bc67f04 fix: dont allow edit if post is deleted by someone else 2019-06-26 12:06:57 -04:00
Renovate Bot
77347d0a99 chore(deps): update dependency eslint to v6.0.1 2019-06-26 09:36:24 -04:00
Renovate Bot
fc69e891eb chore(deps): update dependency husky to v2.6.0 2019-06-26 09:36:12 -04:00
Barış Soner Uşaklı
3100d803c7 feat: use arrow functions 2019-06-25 17:53:01 -04:00
renovate[bot]
208c821eaf fix(deps): update dependency nodebb-theme-lavender to v5.0.11 (#7705) 2019-06-25 16:48:46 -04:00
renovate[bot]
e0b2ae8d8e fix(deps): update dependency nodebb-theme-vanilla to v11.1.3 (#7714) 2019-06-25 16:46:33 -04:00
renovate[bot]
af7ecd2f10 fix(deps): update dependency nodebb-theme-slick to v1.2.25 (#7713) 2019-06-25 15:52:13 -04:00
Barış Soner Uşaklı
ba28abe56d Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-06-25 15:50:19 -04:00
Barış Soner Uşaklı
f24c14d712 feat: ability to sort watched topics, closes #3735 2019-06-25 15:50:05 -04:00
renovate[bot]
e5733f4029 fix(deps): update dependency nodebb-theme-persona to v10.1.2 (#7712) 2019-06-25 15:45:35 -04:00
Renovate Bot
744e4428ae chore(deps): update dependency eslint-plugin-import to v2.18.0 2019-06-25 15:23:45 -04:00
Julian Lam
d0ee312cd3 feat: use fewer system resources to draw the progress bar
There's reason to believe that upgrade scripts will run faster
if the system isn't spending a non-insignificant amount of
resources simply drawing the progress bar. Closes #7711

Some context: https://github.com/npm/npm/issues/11283
2019-06-25 15:10:36 -04:00
Barış Soner Uşaklı
f0703e21c5 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-06-25 10:01:04 -04:00
Barış Soner Uşaklı
23fb904fa6 feat: removed series from upgrade script 2019-06-25 10:00:55 -04:00
Misty (Bot)
5738ebeb54 Latest translations and fallbacks 2019-06-25 09:26:48 +00:00
Barış Soner Uşaklı
cb51c239f2 feat: remove duped zadds, these are already in topics.onNewPostMade 2019-06-24 23:05:56 -04:00
Barış Soner Uşaklı
f8a7cf7378 feat: log data on error 2019-06-24 22:35:20 -04:00
Barış Soner Uşaklı
198d05875f feat: cleanup, use bulk 2019-06-24 21:36:20 -04:00
Barış Soner Uşaklı
3ecd703ea3 feat: #7707, added sortedSetAddBulk 2019-06-24 17:48:13 -04:00
Barış Soner Uşaklı
e48c7cd717 fix: dont show delete posts on profile 2019-06-24 17:47:25 -04:00
Barış Soner Uşaklı
6a7bc1c5fb fix: on new post add it to cid::uid::pids 2019-06-24 17:26:28 -04:00
Renovate Bot
26ff02dc72 fix(deps): update dependency nodebb-plugin-mentions to v2.5.3 2019-06-24 16:39:03 -04:00
Barış Soner Uşaklı
a39f0ef592 fix: #5570, create per category user post zsets 2019-06-24 15:21:43 -04:00
Renovate Bot
4e513cf38a fix(deps): update dependency nodebb-theme-persona to v10.1.1 2019-06-24 14:13:34 -04:00
Renovate Bot
c288750556 fix(deps): update dependency nodebb-theme-vanilla to v11.1.2 2019-06-24 13:52:40 -04:00
Aziz Khoury
13efbc9967 feat: change widget-* to data-widget-* (#7703)
* change widget-* to data-widget-*, original pr#5444 but backward compatible

* lint
2019-06-24 13:45:37 -04:00
Renovate Bot
4960b92545 chore(deps): update dependency husky to v2.5.0 2019-06-24 10:58:59 -04:00
Barış Soner Uşaklı
e1c05e59c9 fix: restrict drag drop to pin icon, closes #7702
https://github.com/NodeBB/NodeBB/issues/6081
2019-06-24 09:59:31 -04:00
Barış Soner Uşaklı
3780a58ffb feat: shorter setsCard 2019-06-22 23:43:17 -04:00
renovate[bot]
b3ed89f5fd fix(deps): update dependency nodebb-theme-vanilla to v11.1.1 (#7700) 2019-06-22 23:01:00 -04:00
renovate[bot]
629b5ce37e fix(deps): update dependency nodebb-theme-slick to v1.2.24 (#7699) 2019-06-22 22:58:35 -04:00
Barış Soner Uşaklı
b53a60c278 feat: show best & latest posts on profile 2019-06-22 22:52:10 -04:00
Julian Lam
289dada5f7 fix(deps): update to eslint@6 2019-06-22 21:23:32 -04:00
Renovate Bot
2fa68e3b1a chore(deps): update dependency lint-staged to v8.2.1 2019-06-22 19:56:52 -04:00
Renovate Bot
fc224ccaab chore(deps): update node:8.16.0 docker digest to 06adec3 2019-06-22 19:56:38 -04:00
Julian Lam
15020b4657 fix(deps): update dependency nodebb-plugin-emoji to v3 2019-06-22 19:56:18 -04:00
Renovate Bot
6b43d26f52 fix(deps): update dependency nodebb-plugin-emoji to v3 2019-06-22 17:01:09 +00:00
Misty (Bot)
54e6ac2a99 Latest translations and fallbacks 2019-06-20 09:26:46 +00:00
Barış Soner Uşaklı
7e54d7aa35 feat: use db.sortedSetsAdd 2019-06-19 20:01:20 -04:00
Barış Soner Uşaklı
29a124c412 feat: use db.sortedSetsAdd 2019-06-19 19:42:10 -04:00
Barış Soner Uşaklı
68e5d7adec fix: remove dupe code 2019-06-19 19:01:22 -04:00
Barış Soner Uşaklı
39ee3980d6 fix: get uids directly for csv 2019-06-17 18:18:17 -04:00
Barış Soner Uşaklı
a7600b4bbe feat: dont log action:plugins.fireHook 2019-06-17 17:06:47 -04:00
Barış Soner Uşaklı
596486ddc3 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-06-17 08:30:39 -04:00
Barış Soner Uşaklı
ebfc369ade feat: upgrade to connect-mongo 3.0.0, closes #7693 2019-06-17 08:30:34 -04:00
Misty (Bot)
91a2e1a90e Latest translations and fallbacks 2019-06-17 09:27:10 +00:00
Barış Soner Uşaklı
a251032f02 fix: typo 2019-06-14 20:44:15 -04:00
Renovate Bot
fc89516e3f fix(deps): update dependency nodebb-theme-persona to v10.1.0 2019-06-14 12:16:09 -04:00
Renovate Bot
c9689f11d3 fix(deps): update dependency nodebb-theme-vanilla to v11.1.0 2019-06-14 12:15:53 -04:00
renovate[bot]
ada8f22e8c fix(deps): update dependency nodebb-theme-persona to v10.0.1 (#7687) 2019-06-13 11:59:30 -04:00
renovate[bot]
6db3604e94 fix(deps): update dependency nodebb-theme-vanilla to v11.0.1 (#7688) 2019-06-13 11:59:08 -04:00
Barış Soner Uşaklı
b4cc8d88cd fix: id/for 2019-06-13 11:55:13 -04:00
Barış Soner Uşaklı
25ea634787 fix: #7659 add option to change cookie link url 2019-06-13 11:54:39 -04:00
Barış Soner Uşaklı
d939614782 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-06-13 10:18:42 -04:00
Barış Soner Uşaklı
ede060a646 feat: add hook for user notifications, closes #7672 2019-06-13 10:18:02 -04:00
Julian Lam
1894cd9b81 fix: middle vertical-align for .avatar elements 2019-06-13 10:07:52 -04:00
Renovate Bot
89fea9d375 fix(deps): update dependency nodebb-theme-vanilla to v11 2019-06-13 09:58:37 -04:00
Renovate Bot
0a7778bdd4 fix(deps): update dependency nodebb-theme-persona to v10 2019-06-13 09:58:24 -04:00
Julian Lam
2523889990 refactor: replace avatar conditional code with buildAvatar helper (#7681)
* feat: helper for building avatars

* feat: benchpress truefalse globals, componentPrefix in buildAvatar

* refactor: remove componentPrefix

* feat: changes to buildAvatar helper

- removed extra .avatar-xl class in generics.less
- added support for component override
- "size" can be a number now

* fix: prevent overflow of alt text in avatars

* fix: update doc on buildAvatar helper
2019-06-13 09:54:18 -04:00
Renovate Bot
17ec8fde2c chore(deps): update dependency husky to v2.4.1 2019-06-13 09:27:52 -04:00
Renovate Bot
f9e99fa341 chore(deps): update node:8.16.0 docker digest to d5ad3f5 2019-06-13 09:26:38 -04:00
Barış Soner Uşaklı
580f786095 feat: user/notifications refactor 2019-06-12 19:59:57 -04:00
Barış Soner Uşaklı
f2a6f888fb Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-06-12 18:20:13 -04:00
Barış Soner Uşaklı
8c331088ca feat: send new post/topic event in batches 2019-06-12 18:20:07 -04:00
renovate[bot]
e1e4abeb33 fix(deps): update dependency nodebb-theme-lavender to v5.0.10 (#7682) 2019-06-12 17:50:46 -04:00
Julian Lam
c241551d3b fix: dependency checker always triggering dep upgrade, hopefully
Seems like every time we update a client it triggers a dep upgrade.

The async check might be too strict, hopefully this will fix it.
2019-06-12 14:04:25 -04:00
Julian Lam
f6d3cc0ea4 feat: allowing count to be passed to ./nodebb events 2019-06-12 13:19:37 -04:00
Renovate Bot
de04629745 fix(deps): update dependency nodebb-plugin-markdown to v8.10.0 2019-06-11 12:58:44 -04:00
Barış Soner Uşaklı
a6b7770342 Grunt active plugins (#7677)
* feat: only watch active plugins/themes

* fix: remove log

* fix: remove left over glob

* fix: remove test glob

* feat: watch baseThemes as well

* feat: dont watch upgrade scripts
2019-06-11 12:50:40 -04:00
Renovate Bot
5995834bc6 chore(deps): update node:8.16.0 docker digest to 75b524a 2019-06-11 09:42:34 -04:00
Renovate Bot
fca6d7944f chore(deps): update node:8.16.0 docker digest to b9a98ae 2019-06-11 00:24:18 -04:00
Julian Lam
aee47b299a feat: awaitable websockets (#7645)
* feat: awaitable websockets

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

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

* fix: proper use of .then check
2019-06-10 12:06:26 -04:00
Aziz Khoury
a6436716ea feat: hooks can now return promise or call callbacks
* hooks can now return promise or call callbacks, either way works

* cleanups

* moar cleanups and fix callback 1st null arg

* rm unnessesary spread
2019-06-10 12:05:27 -04:00
Renovate Bot
376390c45f chore(deps): update dependency lint-staged to v8.2.0 2019-06-10 10:57:54 -04:00
Renovate Bot
3d2ec0bb97 chore(deps): update dependency husky to v2.4.0 2019-06-10 10:47:11 -04:00
Renovate Bot
c360e0c2f9 chore(deps): update dependency coveralls to v3.0.4 2019-06-10 10:45:54 -04:00
Renovate Bot
ae8913904f fix(deps): update dependency postcss to v7.0.17 2019-06-10 10:45:27 -04:00
Renovate Bot
a5f94ee5ca Update dependency jsdom to v15.1.1 2019-06-10 10:44:24 -04:00
Renovate Bot
eac4e2f188 chore(deps): update dependency eslint-plugin-import to v2.17.3 2019-06-10 10:44:06 -04:00
Renovate Bot
cc6fa97cae chore(deps): update node:8.16.0 docker digest to 957cab2 2019-06-10 10:43:48 -04:00
Misty (Bot)
232b35f938 Latest translations and fallbacks 2019-06-10 09:26:24 +00:00
Misty (Bot)
23502c9074 Latest translations and fallbacks 2019-06-09 09:25:55 +00:00
Misty (Bot)
8ee5d32d4f Latest translations and fallbacks 2019-06-08 09:26:04 +00:00
Barış Soner Uşaklı
5fa5e999f8 Plugin metrics (#7626)
* feat: add enable/disable checkbox for plugin usage

* feat: submit plugin data to packages.nodebb.org

only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs

* fix: hash not working after first send

fix statusCode

* fix: remove url

* feat: show compatibilty

* feat: add install question for submit plugin usage
2019-06-07 14:10:44 -04:00
renovate[bot]
3f4f8aface fix(deps): update dependency nodebb-rewards-essentials to v0.0.14 (#7671) 2019-06-07 12:28:51 -04:00
Misty (Bot)
25d289c6f6 Latest translations and fallbacks 2019-06-07 09:27:12 +00:00
Misty (Bot)
86da15bedd Latest translations and fallbacks 2019-06-06 09:26:45 +00:00
Barış Soner Uşaklı
644504ff02 fix: #7483, show latest undeleted message as teaser 2019-06-05 22:04:19 -04:00
renovate[bot]
988cbb63e1 fix(deps): update dependency mongodb to v3.2.7 (#7665) 2019-06-05 20:09:00 -04:00
Misty (Bot)
99120676bb feat: fallback strings for ACP events 2019-06-05 15:52:52 -04:00
Renovate Bot
e21246a91b fix(deps): update dependency nodebb-plugin-composer-default to v6.2.15 2019-06-05 14:37:06 -04:00
Julian Lam
c7f95ccecc feat: design revamp of ACP events page (#7664)
* feat: design revamp of ACP events page

- minor UX changes
- new filter controls, filters moved to sidebar
- form usable without js
- start/end filters NOT programmed yet

* feat: events ACP limit by date and perPage

* feat: pre-fill applied filters on template render

* fix: missing translation for ACP events perPage filter

* fix: added some comments to explain setHours behaviour

* fix: stop - start + 1

* fix: socket tests

* fix: +inf, not just inf

* fix: tests, because I am an idiot
2019-06-04 17:25:09 -04:00
Barış Soner Uşaklı
4b843ba16f fix: #7567, allow invite and approval at the same time 2019-06-04 11:10:20 -04:00
Misty (Bot)
a097b19293 Latest translations and fallbacks 2019-06-02 09:26:02 +00:00
Barış Soner Uşaklı
5b85ed318a fix: #7625, on group rename update nav/widget items 2019-05-31 23:17:24 -04:00
Barış Soner Uşaklı
48538b28be feat: optimize group rename
removed async.each
2019-05-31 21:44:53 -04:00
Baris Usakli
8d319e4280 fix: psql error 2019-05-31 16:37:46 -04:00
Baris Usakli
2e6b562f1e fix: try to fix psql 🐶 2019-05-31 16:14:51 -04:00
Baris Usakli
31ccc860d3 feat: allow multiple scores in sortedSetsAdd 2019-05-31 15:44:50 -04:00
Julian Lam
868dedd194 revert: accidental removal of some needed translation source strings 2019-05-31 12:00:12 -04:00
Renovate Bot
805328317f chore(deps): update commitlint monorepo to v8 2019-05-31 10:32:56 -04:00
Barış Soner Uşaklı
0dca13e9c2 feat: optimize copy privileges 2019-05-30 21:41:54 -04:00
Barış Soner Uşaklı
8aef689f05 fix: no need for moderate bit for global mods and admins 2019-05-30 20:12:04 -04:00
renovate[bot]
d202be5b4f fix(deps): update dependency nodebb-theme-persona to v9.1.38 (#7652) 2019-05-30 19:32:48 -04:00
renovate[bot]
e330865990 fix(deps): update dependency nodebb-theme-vanilla to v10.1.34 (#7653) 2019-05-30 19:32:36 -04:00
Barış Soner Uşaklı
035f624758 Remove implicit mod privs. closes #6345 (#7648)
* feat: add upgrade script to give mods privs

* feat: give all privileges when making a moderator

* feat: remove implicit privs

* feat: give global mods default privs

* feat: more priv fixes

* feat: use lodash

* fix: remove implicit mod priv from topic delete

* fix: more privs

* fix: posts.canEdit

* fix: canDelete and canEdit

* fix: tests, remove console.log

* feat: shorter functions

* feat: add tests

* fix: uids

* fix: redis random test fail
2019-05-30 19:30:47 -04:00
Barış Soner Uşaklı
ebb32e7891 fix: attribute name so it works for both templates 2019-05-30 19:30:25 -04:00
Barış Soner Uşaklı
c7f3e6b626 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-05-30 18:27:37 -04:00
Barış Soner Uşaklı
0721bee146 feat: on category search reveal children and parents 2019-05-30 18:27:22 -04:00
renovate[bot]
6f70397bd7 fix(deps): update dependency nodebb-theme-vanilla to v10.1.33 (#7651) 2019-05-30 18:25:27 -04:00
renovate[bot]
d43bdb41d1 fix(deps): update dependency nodebb-theme-persona to v9.1.37 (#7650) 2019-05-30 18:25:17 -04:00
renovate[bot]
3b8e6e15c3 fix(deps): update dependency async to v3.0.1 (#7649) 2019-05-30 15:32:01 -04:00
Barış Soner Uşaklı
4d9bc30d1f feat: async3 upgrade (#7639)
* feat: async3 upgrade WIP

* fix: async.doWhilst

* fix: async early exit

* fix: psql doUntil

* fix: psql again
2019-05-30 14:36:33 -04:00
Barış Soner Uşaklı
6cebc7f069 feat: #7627, close chat on ajaxify on mobile 2019-05-29 22:14:26 -04:00
Baris Usakli
64679b37cc fix: #7647, fix getModeratorUids
sets.groupNames is an array that contains other arrays of groupnames so passing it to getMembersOfGroups returned wrong results when there were more than 1 element in it.
2019-05-29 15:44:33 -04:00
Julian Lam
5cd9e1bf86 fix: #7644 2019-05-28 13:42:00 -04:00
Misty (Bot)
1d26aac8b8 Latest translations and fallbacks 2019-05-27 09:26:32 +00:00
Misty (Bot)
b09749ff00 Latest translations and fallbacks 2019-05-26 09:26:13 +00:00
Misty (Bot)
64a20f5616 Latest translations and fallbacks 2019-05-25 09:25:59 +00:00
renovate[bot]
3f21096d47 fix(deps): update dependency mongodb to v3.2.6 (#7616) 2019-05-24 15:42:44 -04:00
Julian Lam
603c526287 fix: bad usage of async requisition 2019-05-24 11:39:03 -04:00
Julian Lam
f321b426b1 fix: 7638, returnTo accidentally saved into user hash 2019-05-24 11:23:55 -04:00
Barış Soner Uşaklı
157b921e14 fix: #7634, make strip exif configurable 2019-05-23 20:38:49 -04:00
Barış Soner Uşaklı
a8409fbd49 fix: #7636, use reputation threshold for post queue 2019-05-23 20:15:08 -04:00
Baris Usakli
63e5d383d9 fix: #7623, wait for lastonline to update on /users 2019-05-23 12:23:01 -04:00
Renovate Bot
a3d4240435 fix(deps): update dependency validator to v11 2019-05-23 11:50:23 -04:00
renovate[bot]
b174c2d25c fix(deps): update dependency nodebb-plugin-composer-default to v6.2.14 (#7635) 2019-05-23 08:55:20 -04:00
Barış Soner Uşaklı
e65ddc98b5 fix: https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/53 2019-05-23 08:51:47 -04:00
Misty (Bot)
4da9a1eb38 Latest translations and fallbacks 2019-05-23 09:29:23 +00:00
renovate[bot]
85ca5b190a fix(deps): update dependency nodebb-theme-vanilla to v10.1.32 (#7631) 2019-05-22 17:39:41 -04:00
Julian Lam
80c0d579e3 fix: #7593, unable to set account password if no password set 2019-05-22 13:40:00 -04:00
Julian Lam
a97e97b9c3 fix: incorrect pathname format for app.previousUrl 2019-05-22 13:15:59 -04:00
Barış Soner Uşaklı
106d52a47f fix: #7598, use notice element instead of alert 2019-05-22 12:35:56 -04:00
Barış Soner Uşaklı
a8e6520559 fix: #7620, allow adding new fields into user objects for posts 2019-05-22 11:52:49 -04:00
Barış Soner Uşaklı
7ba4a864fd fix: #7629, new filter hook for room rename 2019-05-22 09:58:29 -04:00
Barış Soner Uşaklı
7a4b68e816 fix: #7628, log email send errors 2019-05-22 09:54:56 -04:00
Misty (Bot)
d95e644720 Latest translations and fallbacks 2019-05-22 09:29:55 +00:00
Barış Soner Uşaklı
f55cc66723 fix: {username} not working in notification.tpl
fix images going out of notification email
2019-05-21 22:48:50 -04:00
Barış Soner Uşaklı
3b0459a0a5 fix: do not prevent nbb from starting
if a plugin returns error for filter:auth.init
2019-05-21 21:34:42 -04:00
Julian Lam
91f0bce628 fix: #7624, default open state on stateless flags 2019-05-21 12:23:19 -04:00
Misty (Bot)
c6449c106b Latest translations and fallbacks 2019-05-20 09:28:53 +00:00
Misty (Bot)
b692dd87cd Latest translations and fallbacks 2019-05-19 09:26:09 +00:00
Barış Soner Uşaklı
15391da51e fix: #7431, add /unread link to topic route 2019-05-18 18:14:12 -04:00
Barış Soner Uşaklı
35d10f764a fix: #7619 2019-05-18 09:16:41 -04:00
Julian Lam
7e5cb72a59 fix: #7618 save pathname into app.previousUrl ins. of entire url 2019-05-17 17:47:36 -04:00
Renovate Bot
d1f29e2649 fix(deps): update dependency nodebb-plugin-composer-default to v6.2.13 2019-05-17 14:53:17 -04:00
renovate[bot]
20fa751c63 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.6.3 (#7614) 2019-05-16 14:47:41 -04:00
Barış Soner Uşaklı
172e688805 fix: handle missing timestamps 2019-05-16 13:09:28 -04:00
Julian Lam
b70e03a7b0 fix: broken test for meta tags on ajaxify 2019-05-16 10:51:22 -04:00
Barış Soner Uşaklı
f326f53d4f Merge branch 'master' of https://github.com/NodeBB/NodeBB 2019-05-16 10:51:02 -04:00
Barış Soner Uşaklı
15ce23da4c fix: #7613 2019-05-16 10:49:40 -04:00
Julian Lam
f552cea523 fix: #7600, removing nbsp from email CTAs (#7606)
* fix: #7600, removing nbsp from email CTAs

* fix: added right arrow to CTA button
2019-05-16 09:45:35 -04:00
Julian Lam
b32da57faf fix: #7604 shortened CTA text and added custom text for some notifs (#7605)
* fix: #7604 shortened CTA text and added custom text for some notifs

Specifically, new-reply and new-chat have different CTA text as they
do not go to the forum home like other email templates send users to.

* fix: minor optimization as suggested by @barisusakli
2019-05-16 09:43:06 -04:00
Julian Lam
a41769e61c feat: update meta tags on ajaxify (#7580), fixes #7544
* feat: wip -- refresh meta tags on ajaxify

* feat: wrapped up meta tags update on ajaxify feature

* fix: removed commented-out line

* fix: removed another commented-out line
2019-05-16 09:41:56 -04:00
Misty (Bot)
f6ce0e655d Latest translations and fallbacks 2019-05-16 09:27:35 +00:00
Barış Soner Uşaklı
dfab231afd Copy group privs (#7610)
* feat: ability to copy a groups privileges

ability to copy a group's privileges to all categories, or children of current category

* feat: switch to dropdown

added copy from category to groups

* fix: indents
2019-05-15 20:56:23 -04:00
Julian Lam
183b0ed3f1 docs: updated changelog 2019-05-15 14:29:10 -04:00
Misty (Bot)
810e2c0b8d chore: incrementing version number - v1.12.2 2019-05-15 18:26:41 +00:00
1828 changed files with 35414 additions and 37933 deletions

View File

@@ -14,6 +14,8 @@
"exports": "always-multiline",
"functions": "never"
}],
"no-return-await": "off",
"no-constant-condition": "off",
"no-empty": ["error", { "allowEmptyCatch": true }],
"no-underscore-dangle": "off",
"no-console": "off",
@@ -41,6 +43,7 @@
}],
"no-else-return": [ "error", { "allowElseIf": true } ],
"operator-linebreak": [ "error", "after" ],
"arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }],
// ES6
"prefer-rest-params": "off",

View File

@@ -10,6 +10,8 @@
- **NodeBB version:**
- **NodeBB git hash:**
<!-- (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) -->
- **Database type:** mongo, redis, or postgres
- **Database version:**
<!-- `mongod --version`, `redis-server --version`, or `postgres --version` -->

View File

@@ -4,6 +4,11 @@ services:
- 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: []});'"
@@ -14,25 +19,28 @@ after_success:
- "npm run coveralls"
language: node_js
sudo: false
dist: trusty
dist: xenial
env:
- CXX=g++-4.8 DB=mongodb TEST_ENV=production
- CXX=g++-4.8 DB=mongodb TEST_ENV=development
- CXX=g++-4.8 DB=redis TEST_ENV=production
- CXX=g++-4.8 DB=postgres TEST_ENV=production
global:
- PGUSER=postgres
- PGPORT=5432
- 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-3.4-trusty
- mongodb-4.0-xenial
packages:
- g++-4.8
- mongodb-org-server
postgresql: "9.5"
node_js:
- "12"
- "10"
- "8"
branches:
only:
- master

View File

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

View File

@@ -1,3 +1,700 @@
### 1.13.0 (2019-11-13)
##### Chores
* incrementing version number - v1.13.0 (c38b2d23)
* incrementing version number - v1.12.2 (810e2c0b)
* **deps:**
* update dependency jsdom to v15.2.1 (9d946d1c)
* update dependency eslint to v6.6.0 (d0e428e9)
* update dependency lint-staged to v9.4.2 (#7954) (d108c7d0)
* update dependency mocha to v6.2.2 (#7984) (e31a47cd)
* update dependency coveralls to v3.0.7 (#7961) (9b308e4b)
* update dependency jsdom to v15.2.0 (#7971) (9b4e9882)
* update dependency husky to v3.0.9 (fd5095a3)
* update dependency husky to v3.0.8 (88cae415)
* update dependency lint-staged to v9.4.1 (a2a7bb3d)
* update node.js to v8.16.1 (f9ad826b)
* update node:8.16.0 docker digest to bb12612 (48cc317c)
* update dependency eslint to v6.5.1 (da12e947)
* update dependency husky to v3.0.7 (10a30e66)
* update commitlint monorepo to v8.2.0 (ddd4e039)
* update dependency mocha to v6.2.1 (b172d106)
* update dependency lint-staged to v9.2.3 (ccccba81)
* update dependency coveralls to v3.0.6 (#7820) (2b1f840e)
* update dependency husky to v3.0.3 (cbede89a)
* update dependency lint-staged to v9 (f2e4664d)
* update dependency eslint-plugin-import to v2.18.2 (#7779) (57b2a553)
* update dependency eslint to v6.1.0 (#7783) (7257e6b2)
* update dependency husky to v3.0.2 (7ad72b32)
* update node:8.16.0 docker digest to c671dc2 (e76214a2)
* update dependency mocha to v6.2.0 (d43f5dcf)
* update node:8.16.0 docker digest to 310db2a (c46a0772)
* update dependency husky to v3.0.1 (28151f86)
* update dependency eslint-plugin-import to v2.18.1 (9fda2c1f)
* update commitlint monorepo to v8.1.0 (f73468d5)
* update dependency coveralls to v3.0.5 (5b746d53)
* update dependency husky to v2.7.0 (1d0fd028)
* update dependency eslint to v6.0.1 (77347d0a)
* update dependency husky to v2.6.0 (fc69e891)
* update dependency eslint-plugin-import to v2.18.0 (744e4428)
* update dependency husky to v2.5.0 (4960b925)
* update dependency lint-staged to v8.2.1 (2fa68e3b)
* update node:8.16.0 docker digest to 06adec3 (fc224cca)
* update dependency husky to v2.4.1 (17ec8fde)
* update node:8.16.0 docker digest to d5ad3f5 (f9e99fa3)
* update node:8.16.0 docker digest to 75b524a (5995834b)
* update node:8.16.0 docker digest to b9a98ae (fca6d794)
* update dependency lint-staged to v8.2.0 (376390c4)
* update dependency husky to v2.4.0 (3d2ec0bb)
* update dependency coveralls to v3.0.4 (c360e0c2)
* update dependency eslint-plugin-import to v2.17.3 (eac4e2f1)
* update node:8.16.0 docker digest to 957cab2 (cc6fa97c)
* update commitlint monorepo to v8 (80532831)
##### Documentation Changes
* updated changelog (183b0ed3)
##### New Features
* displaying one-click unsubscribe link in email footer (#8024) (df139928)
* #7467, pass query params when redirecting to posts (480a64aa)
* use helpers.setupAdminPageRoute (b5a30006)
* wip, better digest handling (+ eventual digest resend logic) (#7995) (645d6472)
* add action:messaging.save (ac5c560c)
* #7957, allow post queue based on group (1cedc4a0)
* add filter:topics.unreadCutoff (e020b85b)
* Add filter:topic.delete and filter:topic.restore (#7946) (#7989) (989107d9)
* no more session cookie for guests (#7982) (cf7e0cfd)
* Implement WICG change-password-url (#7072) (#7990) (df1efe5f)
* log errors from mubsub (b01a47cb)
* upgrade to sitemap5 (#7980) (d6792188)
* #7964, change all categories at once (485fbd2f)
* closes #7952, translate widget-settings (990508a5)
* remove ability to delete events from acp (554e6711)
* resetting theme will reset skin (03827fa6)
* disable timeout on launch route (4bc77d06)
* add new hook to get custom category tids for unread (b1926054)
* adding filter:login.check and loginFormEntry[] for the filter:login.build hook (#7861) (94810fd6)
* #7932, redirect to group details after creation (2444ed5c)
* add new hook filteR:topics.getSortedTids (b93c826d)
* bypass cropper for gifs (9a756004)
* deprecate file.isFileTypeAllowed (ffe3670f)
* send notification to group owners when someone leaves (ed122364)
* add failing test for pagination (#7924) (22b02f14)
* refactor getSortedSetRange to allow big arrays (b602c044)
* add new test (1e5246f9)
* add rss feed url for tags (bbc2e956)
* add sm2x avatar class #7813 (35a4ca2f)
* #7090, abililty to hide widgets (71cd602d)
* #7760, body-parser config (5de6d885)
* actually cache duh (f05c1dae)
* cache tags:topic:count (63bd252f)
* increase search timeouts (1789ecb4)
* make handleSearch public (ebe5ed22)
* increase size of local cache (b81405a8)
* don't hardcode numberic fields in user search (09410ff1)
* allow only watching core (451c7fd4)
* client-side taskbar.update method, deprecates .updateTitle() (9b09ee0e)
* option to restrict group leaving, closes #7770 (1796b65d)
* preserver querystring when changing category sort (ad96b0e0)
* html sanitization on all filter:parse.* hooks, closes #7872 (2580306d)
* up socket.io-adapter-mongo (3d2cb628)
* update LESS to v3.x, #7855 (#7867) (aea04de0)
* up psql socket.io adapter (b565e568)
* add client side hook for quick search&normal search (f31d30cd)
* allow floating pinned topics to top in getSortedTopics (1d7e0c63)
* promisify recent.getData (6f7ab586)
* faster initial stat loading (89cd31ed)
* cache stats, mongo count sucks (cb50b3f4)
* dashboard stats (3ff6e1bb)
* add filter:search.getPosts (aeb44faf)
* add image and imageClass to post summaries (80bd52fc)
* #7842, make isInvited, isPending work with uids (fa268556)
* convert search controller to async/await (acf12e3d)
* notification on membership acceptance, closes #7835 (1a2a381a)
* additional events logged for various group actions (1ce33faa)
* async (e6353486)
* async/await controllers/admin/dashboard (32ea04a8)
* async/await admin/controllers (72590b34)
* async/await (7beef91c)
* async/await refactor (3cc7ec63)
* async/await controllers/accounts (a3541d88)
* rewrite getRawPost to async/await (b734defb)
* added new filter hook filter:post.getRawPost (973075cf)
* convert categories controller to async/await (e9fd49e2)
* new client-side hooks for chat minimize and close (3d3fa865)
* test psql without defineProperty (#7815) (af1f7249)
* fire updateRemainingLength hook for chats (af968c6a)
* send pids into filter:post.getFields hook (0e07ffa1)
* move cache tpl (65fc0612)
* async refactor (3a9d83a4)
* move group privs above user, add labels (47e30a67)
* widgets/index.js (dec8040c)
* use promise version (4d6b6871)
* #7743, meta/dependencies (1c2540d3)
* #7743, widgets/admin (96ebe7b5)
* #7743, meta/languages and languages (c02686bf)
* added filter:tags.getAll plugin hook (66aa443b)
* #7743, events (102d4b02)
* #7743 meta/errors (97d7a850)
* get rid of async.eachSeries (99cf47ee)
* #7743 meta/tags.js (7b908639)
* #7743 meta/templates.js (79eed9ae)
* #7743 navigation (764a2b12)
* #7743 account/posts controller (e72f3e4f)
* #7743 finish topics controller (9b3f4b98)
* #7743, webserver (0d047f4e)
* #7743 meta/themes.js (7dc0eaf0)
* #7743, meta/sounds (a15c50bf)
* #7743 , meta/cachebuster, meta/configs (7f72181e)
* convert src/messaging/* to async/await (#7778) (756a717e)
* #7743 meta/blacklist (fcf8fd51)
* #7743 meta/index (69860e58)
* #7743 plugins (c126cd85)
* #7743 plugins/data (f5f5f76b)
* dont waste whitespace (17f843f9)
* switch to promise.all (34d85b52)
* #7743, privileges (faccb191)
* #7743 , search.js (6d3a92b8)
* shorter name (8e75646a)
* cache group:members for priv groups (daed76d5)
* #7743 finish groups (72def7df)
* #7743, groups/index, invite, leave,membership (a39ca51e)
* #7743,groups/index,join (d5342a40)
* #7743, groups/delete,ownership,posts,user (fcd4445a)
* #7743 groups/cover,create,data (5e8614e1)
* #7743, finish post module (c0c6c652)
* #7743 posts/diff, posts/edit (c4bb467e)
* #7743, posts module (1b2b308a)
* #7743, finish user module (a51ec591)
* #7743 (6fea46b6)
* #7743 (cd80c263)
* #7743 (0a690c57)
* #7743 (1c5fad6d)
* #7743 (fe4c0481)
* #7743 categories (fcf3e077)
* #7743, user/digest, user/email, user/follow (c610eb14)
* #7743, user/create, user/data, user/delete (d6e36c31)
* #7743 , user/block, user/categories (4541caa4)
* #7743 notifications (6f738c2b)
* remove unused code, add 2 tests (cd2e68cb)
* #7743 user/ban, up mubsub (1970214a)
* #7743, user/approval, user/auth (b24ce976)
* #7743, posts/votes (8ef75be3)
* #7743 posts (e1ecc36d)
* #7743 user/admin.js (2c335955)
* add utils.promiseParallel (4170abfd)
* #7743, posts/user.js (0a6cfb37)
* added new admin option newbiePostEditDuration (#7737) (8a6a58ee)
* returning category data in tags page (75ff4d7d)
* ACP analytics API route (#7725) (a0c0ef1b)
* closes #7718 (ee4d78ca)
* add status to post summaries (41bc6ca2)
* use arrow functions (3100d803)
* ability to sort watched topics, closes #3735 (f24c14d7)
* use fewer system resources to draw the progress bar (d0ee312c)
* removed series from upgrade script (23fb904f)
* remove duped zadds, these are already in topics.onNewPostMade (cb51c239)
* log data on error (f8a7cf73)
* cleanup, use bulk (198d0587)
* #7707, added sortedSetAddBulk (3ecd703e)
* change widget-* to data-widget-* (#7703) (13efbc99)
* shorter setsCard (3780a58f)
* show best & latest posts on profile (b53a60c2)
* use db.sortedSetsAdd (7e54d7aa)
* use db.sortedSetsAdd (29a124c4)
* dont log action:plugins.fireHook (a7600b4b)
* upgrade to connect-mongo 3.0.0, closes #7693 (ebfc369a)
* add hook for user notifications, closes #7672 (ede060a6)
* user/notifications refactor (580f7860)
* send new post/topic event in batches (8c331088)
* allowing count to be passed to ./nodebb events (f6d3cc0e)
* awaitable websockets (#7645) (aee47b29)
* hooks can now return promise or call callbacks (a6436716)
* fallback strings for ACP events (99120676)
* design revamp of ACP events page (#7664) (c7f95cce)
* optimize group rename (48538b28)
* allow multiple scores in sortedSetsAdd (31ccc860)
* optimize copy privileges (0dca13e9)
* on category search reveal children and parents (0721bee1)
* async3 upgrade (#7639) (4d9bc30d)
* #7627, close chat on ajaxify on mobile (6cebc7f0)
* update meta tags on ajaxify (#7580), fixes #7544 (a41769e6)
##### Bug Fixes
* **deps:**
* update dependency mongodb to v3.3.4 (#8032) (2093418d)
* update dependency nodebb-theme-vanilla to v11.1.10 (c01699f7)
* update dependency nodebb-theme-persona to v10.1.27 (182397b1)
* update dependency nodebb-plugin-spam-be-gone to v0.6.7 (#8027) (c2565a2f)
* update dependency nodebb-theme-slick to v1.2.27 (#8020) (7122bdc7)
* update dependency nodebb-theme-persona to v10.1.26 (#8019) (73d9752e)
* update dependency connect-mongo to v3.1.2 (#8013) (bfea9d39)
* update dependency postcss to v7.0.21 (#7998) (ef5f6714)
* update dependency nodebb-plugin-composer-default to v6.3.17 (#8009) (e1e2d20c)
* update dependency sharp to v0.23.2 (#8005) (420f9fe4)
* update dependency nodebb-theme-persona to v10.1.25 (#8012) (cb91e756)
* update dependency connect-mongo to v3.1.1 (#8006) (7655265c)
* update dependency connect-mongo to v3.1.0 (#7994) (401d1eed)
* bump persona (6155c460)
* update dependency nodebb-theme-persona to v10.1.23 (#7986) (9bd6f686)
* update dependency nodebb-theme-persona to v10.1.22 (#7965) (bf6ae6d6)
* update dependency nodebb-rewards-essentials to v0.1.2 (#7962) (692d94bf)
* update dependency nodebb-theme-persona to v10.1.21 (#7956) (1a150d8f)
* update dependency nodebb-plugin-spam-be-gone to v0.6.6 (#7944) (cffbb325)
* update dependency nodebb-theme-persona to v10.1.20 (#7943) (9589fa32)
* update dependency nodebb-theme-persona to v10.1.19 (#7942) (0d629f06)
* update dependency connect-redis to v4.0.3 (#7933) (2856333d)
* update dependency spider-detector to v2 (310039e8)
* update socket.io packages to v2.3.0 (764ed7f8)
* update dependency sharp to v0.23.1 (#7928) (17437897)
* update dependency nodebb-plugin-dbsearch to v4.0.6 (#7918) (44cd7189)
* update dependency nodebb-plugin-composer-default to v6.3.16 (#7917) (d8fe6e42)
* update dependency nodebb-plugin-composer-default to v6.3.15 (#7916) (c5e5e24b)
* update dependency nodebb-plugin-composer-default to v6.3.14 (#7914) (e18392ab)
* update dependency nodebb-theme-persona to v10.1.18 (#7906) (8ed80bcb)
* update dependency nodebb-rewards-essentials to v0.1.1 (#7905) (5b8bb3e4)
* update dependency connect-redis to v4 (#7869) (8b7f6566)
* update dependency nodebb-plugin-mentions to v2.7.3 (#7899) (b2423bae)
* update dependency nodebb-plugin-mentions to v2.7.2 (#7898) (a3120a62)
* update dependency nodebb-plugin-dbsearch to v4.0.5 (#7896) (106c20e2)
* update dependency nodebb-plugin-composer-default to v6.3.13 (#7895) (fa251ece)
* update dependency nodebb-plugin-mentions to v2.7.1 (8c2fc577)
* update dependency nodebb-plugin-composer-default to v6.3.12 (#7889) (429e124f)
* update dependency nodebb-plugin-composer-default to v6.3.11 (#7888) (516b62ea)
* update dependency nodebb-plugin-composer-default to v6.3.10 (6a4a9e26)
* update dependency nodebb-plugin-dbsearch to v4.0.4 (#7883) (12ba589d)
* update dependency postcss to v7.0.18 (c75f3d27)
* update dependency nodebb-theme-persona to v10.1.17 (317c6771)
* update dependency nodebb-theme-vanilla to v11.1.8 (6e9caddc)
* update dependency nodebb-plugin-composer-default to v6.3.9 (effe3989)
* update dependency nodebb-plugin-mentions to v2.7.0 (b69769bb)
* update dependency benchpressjs to v2 (#7876) (9149db1f)
* update dependency nodebb-plugin-composer-default to v6.3.8 (793c5eaa)
* update dependency nodebb-plugin-composer-default to v6.3.7 (57de99d2)
* update dependency mongodb to v3.3.2 (#7871) (4ee2c090)
* update dependency nodebb-plugin-spam-be-gone to v0.6.5 (#7865) (8ce2a5fc)
* update dependency mongodb to v3.3.1 (#7862) (0dfce49f)
* update dependency connect-pg-simple to v6 [security] (#7864) (e4b5d0b4)
* update dependency nodebb-plugin-mentions to v2.6.1 (a1210985)
* update dependency nodebb-plugin-mentions to v2.6.0 (cdccc646)
* update dependency rimraf to v3 (#7843) (2f02edbc)
* update dependency rimraf to v2.7.1 (#7838) (cf2504f8)
* update dependency nodebb-theme-persona to v10.1.16 (#7848) (ca7ba9be)
* update dependency nodebb-theme-persona to v10.1.15 (#7845) (b1c0beb7)
* update dependency nodebb-theme-persona to v10.1.14 (#7837) (661284cf)
* update dependency nodebb-theme-persona to v10.1.13 (eaea6f63)
* update dependency sitemap to v4 (d3d677da)
* update dependency commander to v3 (7a5dbd9f)
* update dependency mongodb to v3.3.0 (360e172e)
* update dependency nodebb-plugin-markdown to v8.10.4 (61f9be99)
* update dependency nodebb-plugin-markdown to v8.10.3 (d860f8c7)
* update dependency sharp to v0.23.0 (#7806) (2258452c)
* update dependency nodebb-theme-persona to v10.1.12 (#7799) (b9aac424)
* update dependency nodebb-plugin-dbsearch to v4 (#7797) (d98313b5)
* update dependency nodebb-plugin-dbsearch to v3.0.8 (#7796) (ef734b62)
* update dependency nodebb-theme-persona to v10.1.11 (8b1fc5c8)
* update dependency nodebb-theme-vanilla to v11.1.7 (ba1bb528)
* update dependency nodebb-theme-vanilla to v11.1.6 (#7784) (7a88c4cc)
* update dependency nodebb-theme-slick to v1.2.26 (#7782) (e074b0bf)
* update dependency nodebb-theme-persona to v10.1.10 (#7781) (4f20b4d3)
* update dependency nodebb-plugin-composer-default to v6.3.6 (3fdc638b)
* update dependency connect-redis to v3.4.2 (8a11193f)
* update dependency nodebb-plugin-mentions to v2.5.4 (45223cde)
* update dependency nodebb-plugin-markdown to v8.10.2 (86546232)
* update dependency nodebb-theme-persona to v10.1.9 (#7759) (c1660a1a)
* update dependency nodebb-plugin-dbsearch to v3.0.7 (#7758) (efedd621)
* update dependency nodebb-plugin-composer-default to v6.3.5 (7f4b1043)
* update dependency nodebb-theme-vanilla to v11.1.5 (#7756) (15e01d12)
* update dependency nodebb-theme-persona to v10.1.8 (#7755) (19679608)
* update dependency nodebb-theme-persona to v10.1.7 (#7754) (3cb6cfe8)
* update dependency nodebb-plugin-composer-default to v6.3.3 (8394a0fd)
* update dependency nodebb-theme-vanilla to v11.1.4 (#7741) (43ce5f8a)
* update dependency nodebb-theme-persona to v10.1.5 (27da2325)
* update dependency validator to v11.1.0 (#7738) (bd09ba92)
* bump composer-default (851424a7)
* update dependency nodebb-theme-persona to v10.1.4 (f426e105)
* update dependency nodebb-plugin-composer-default to v6.2.16 (#7723) (fb087029)
* update dependency nodebb-theme-persona to v10.1.3 (413259a2)
* update dependency nodebb-theme-lavender to v5.0.11 (#7705) (208c821e)
* update dependency nodebb-theme-vanilla to v11.1.3 (#7714) (e0b2ae8d)
* update dependency nodebb-theme-slick to v1.2.25 (#7713) (af7ecd2f)
* update dependency nodebb-theme-persona to v10.1.2 (#7712) (e5733f40)
* update dependency nodebb-plugin-mentions to v2.5.3 (26ff02dc)
* update dependency nodebb-theme-persona to v10.1.1 (4e513cf3)
* update dependency nodebb-theme-vanilla to v11.1.2 (c2887505)
* update dependency nodebb-theme-vanilla to v11.1.1 (#7700) (b3ed89f5)
* update dependency nodebb-theme-slick to v1.2.24 (#7699) (629b5ce3)
* update to eslint@6 (289dada5)
* update dependency nodebb-plugin-emoji to v3 (15020b46)
* update dependency nodebb-plugin-emoji to v3 (6b43d26f)
* update dependency nodebb-theme-persona to v10.1.0 (fc89516e)
* update dependency nodebb-theme-vanilla to v11.1.0 (c9689f11)
* update dependency nodebb-theme-persona to v10.0.1 (#7687) (ada8f22e)
* update dependency nodebb-theme-vanilla to v11.0.1 (#7688) (6db3604e)
* update dependency nodebb-theme-vanilla to v11 (89fea9d3)
* update dependency nodebb-theme-persona to v10 (0a7778bd)
* update dependency nodebb-theme-lavender to v5.0.10 (#7682) (e1e4abeb)
* update dependency nodebb-plugin-markdown to v8.10.0 (de046297)
* update dependency postcss to v7.0.17 (ae891390)
* update dependency nodebb-rewards-essentials to v0.0.14 (#7671) (3f4f8afa)
* update dependency mongodb to v3.2.7 (#7665) (988cbb63)
* update dependency nodebb-plugin-composer-default to v6.2.15 (e21246a9)
* update dependency nodebb-theme-persona to v9.1.38 (#7652) (d202be5b)
* update dependency nodebb-theme-vanilla to v10.1.34 (#7653) (e3308659)
* update dependency nodebb-theme-vanilla to v10.1.33 (#7651) (6f70397b)
* update dependency nodebb-theme-persona to v9.1.37 (#7650) (d43bdb41)
* update dependency async to v3.0.1 (#7649) (3b8e6e15)
* update dependency mongodb to v3.2.6 (#7616) (3f21096d)
* update dependency validator to v11 (a3d42404)
* update dependency nodebb-plugin-composer-default to v6.2.14 (#7635) (b174c2d2)
* update dependency nodebb-theme-vanilla to v10.1.32 (#7631) (85ca5b19)
* update dependency nodebb-plugin-composer-default to v6.2.13 (d1f29e26)
* update dependency nodebb-plugin-spam-be-gone to v0.6.3 (#7614) (20fa751c)
* crash if post doesn't have topic data (eabc6f47)
* don't touch objects that don't have the required fields (e52ecfaf)
* add missing await to sendValidationEmail (f4381ba3)
* #8007 added tfoot to clear new group button (dee1d447)
* tests (e3c9dafa)
* #8018, allow absolute urls in notification.path (0037a038)
* #8010, fix isBanned call (59242d31)
* #8003, check children recursively (c4e58160)
* dont show delete topics on unread (b91c4790)
* #8000, tweak wording; password reset success (3952849f)
* parseInt cutoff (0e5e47f4)
* lint (4b8897d9)
* convert param to string in slugify (441dd86d)
* cli/reset.js (#7979) (f9f85fc4)
* #7977, fix undefined url (#7978) (95a372df)
* passwords always expiring upon login (ddf3812c)
* #7974 (#7976) (ca3be1f3)
* delete follower/followingCount as well (d72b0d16)
* event tests (0da4f7ee)
* #7958, give rewards one by one (3775301f)
* rewards page acp not loading rewards (88818a5b)
* #7929, use fixed bootswatch (dd202931)
* #7960, dont try to save size for non images (f272daaf)
* #7941, validate some input fields (565f9726)
* don't show deleted topics on unread (661a0f50)
* #7951, don't send notification for system messages (c01b0fbd)
* #7953, allow icon only group badges (5b458fc7)
* remove 0 fields (ac4a5004)
* remove unused data from post/topic/user hashes (75bcb0f4)
* groups not visible on widget panes (205d3f9d)
* new nav items will show group select (c5f7b66c)
* move post and change owner (f402d727)
* 404 on new groups with spaces (b19f0a68)
* #7940, run upgrade scripts on startup (7823144b)
* #7949, delete old user notifs (38322ec3)
* tests (6fb29e84)
* check threshold before setting bookmark (f983f536)
* mongo collection stats (4e28e575)
* #7947, disable unused cookie (91e8e390)
* #7945, show watched categories in ignored categories (c9bf6d0f)
* db.init calls (18bf865d)
* #7938, escape username in registration queue (d5dda26f)
* #7901, handle group names that are translation keys (3455c27a)
* fix the order of groups on user profile (41f8da2e)
* #7935, ACP digest wording (54c9f877)
* #7934, return tids (10f168b8)
* tests (3caa387a)
* tests (9c051386)
* remove jquery (95ab0712)
* picture not showing up in change modal (13c87059)
* profile page meta tags getting escaped twice (7effc892)
* missing await (2150701f)
* potential for XSS here (40f131a6)
* account/categories (7a0f6074)
* redis tests (1f054c7e)
* #7921, dont create wrong entries in db for flag (a651d154)
* #7913, dont allow urls in fullname/location, validate birthday (babb9d7c)
* upgrade scripts (bd026cb1)
* only allow png/jpg/bmp in cover/profile images (96ab8d05)
* #7919, add useUnifiedTopology (910b9b88)
* crash in feed (873ec519)
* lang key (795d4183)
* time cutoff and lang string (5b8550f0)
* returned data (87f6ac59)
* dont send all category data back to recent&unread etc (955e00fd)
* #7912 (ecf39727)
* only return necessary data for categories (307abaa8)
* dont crash if callback is undefined (e0fec866)
* #7800, dont crash on resize (781b3f1a)
* change params (de461968)
* remove dupe code (9b151b23)
* #7894, translate log in to view (2a5fe2b8)
* minor typo (b99279a8)
* #7893, check private upload setting (0843497d)
* #7892, handle string 'true'/'false' (77cb4b55)
* dont show deleted topics in digest (4652c68b)
* #7824, update timeago settings on userlanguage change (3887fc67)
* don't move theme/plugin to top if its already active (acd95764)
* #7853, dissociation on post purge (30a86ed5)
* added comment back (0c4cd840)
* inability for plugins to actually alter parser sanitization config (fe452762)
* htmlentity instead of url encoding for room rename system message (9b8ac89e)
* page count for filters (e291a609)
* #7866, show correct title based on digest interval (547bb496)
* #7780 (21e81f96)
* pinned tids showing on page > 1 (f2912e9f)
* #7860, allow running single upgrade scripts from plugins (a4dec7e3)
* reset should not automatically build assets (a67762bc)
* update morgan and lodash (2b1912a9)
* #7842, groups.invite works with an array of uids (1e0190ab)
* #7844, add uid to events, log plugin install/uninstall events (592d9c82)
* removed console.logs (c44bf48c)
* broken tests from 71b205a889da1ee8dd326b0891d122a522084f54 (f736f0b3)
* typo (c6c13725)
* category description getting translated in ACP (647713f3)
* #7791 (71620519)
* #7831, fix pagination (014e3153)
* remove empty line (292bbe34)
* remove useless catchs and empty line (5fce4558)
* #7823, fix topic move readding pids when topic is deleted (fd5f9822)
* #7826, fix order of categories on recent dropdown (3ecac97d)
* redis pubsub not being required correctly (8d4f2086)
* mongo.close using wrong client (186321e6)
* digest not sending topics (bc6f22eb)
* #7816, adding GDPR and TOU interstitials earlier on route reloading (52a2e5d6)
* #7809, dont check postDelay if submitting from queue (9780f5b9)
* newPostEditDuration (2abe244b)
* #7789 (6a289fba)
* #7798, fix nested post selection (666e0eaf)
* #7788, fix on topic move and new post (8bf40d04)
* #7788, fix another edge case (053ff510)
* topicData passed to action:topic.edit (b10ad7b6)
* derpy catch (ce912886)
* #7788 No new posts (#7793) (3c32d860)
* user urls in subfolder install (6a486e35)
* #7765 (0b498acd)
* tests (87552c55)
* revert requires (3dd806dc)
* #7763, parse about me on all profile pages (f8d34101)
* status and groupTitle, if its not set (e2e33dfb)
* don't return promise (2f0a331f)
* socket.io methods calling callbacks twice if method returns promise (44a33520)
* tests (87b1148f)
* tests (930ffd07)
* #7601 removed check for another user when sending messages (0e8ee31b)
* mongodb tests (3b24de4c)
* getTopicsFromSet (13aaf07b)
* #7762, allow array for isBanned (9eb1fcd4)
* add flag for change post owner (46639be3)
* sitemap ajaxify (9f78bd7a)
* #7751, make necro separator a partial (2b70e86f)
* #7748, if reputation system is disabled, dont check min reputation (7b95ebbb)
* remove left over code, use proper names (0ac49d63)
* compatibility conditional (fba67196)
* private upload img replacement should happen before img wrapping (16aae517)
* #7423 private uploads are linked to login page, for guests (49e3a368)
* typo (f3440ebf)
* #7722, hsts deprecation warnings (8b1dadb7)
* upgrade script #7720 (accf48f3)
* indents (a5de54f8)
* remove debug code that should not have made it in (af17c6e3)
* dont display post tools if there are no options (708df46e)
* output span in buildAvatar helper instead of div (69fae1a7)
* restore uid in teasers userObj (67b8cb89)
* dont allow edit if post is deleted by someone else (667bc67f)
* dont show delete posts on profile (e48c7cd7)
* on new post add it to cid::uid::pids (6a7bc1c5)
* #5570, create per category user post zsets (a39f0ef5)
* restrict drag drop to pin icon, closes #7702 (e1c05e59)
* remove dupe code (68e5d7ad)
* get uids directly for csv (39ee3980)
* typo (a251032f)
* id/for (b4cc8d88)
* #7659 add option to change cookie link url (25ea6347)
* middle vertical-align for .avatar elements (1894cd9b)
* dependency checker always triggering dep upgrade, hopefully (c241551d)
* #7483, show latest undeleted message as teaser (644504ff)
* #7567, allow invite and approval at the same time (4b843ba1)
* #7625, on group rename update nav/widget items (5b85ed31)
* psql error (8d319e42)
* try to fix psql :dog: (2e6b562f)
* no need for moderate bit for global mods and admins (8aef689f)
* attribute name so it works for both templates (ebb32e78)
* #7647, fix getModeratorUids (64679b37)
* #7644 (5cd9e1bf)
* bad usage of async requisition (603c5262)
* 7638, returnTo accidentally saved into user hash (f321b426)
* #7634, make strip exif configurable (157b921e)
* #7636, use reputation threshold for post queue (a8409fbd)
* #7623, wait for lastonline to update on /users (63e5d383)
* https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/53 (e65ddc98)
* #7593, unable to set account password if no password set (80c0d579)
* incorrect pathname format for app.previousUrl (a97e97b9)
* #7598, use notice element instead of alert (106d52a4)
* #7620, allow adding new fields into user objects for posts (a8e65205)
* #7629, new filter hook for room rename (7ba4a864)
* #7628, log email send errors (7a4b68e8)
* {username} not working in notification.tpl (f55cc667)
* do not prevent nbb from starting (3b0459a0)
* #7624, default open state on stateless flags (91f0bce6)
* #7431, add /unread link to topic route (15391da5)
* #7619 (35d10f76)
* #7618 save pathname into app.previousUrl ins. of entire url (7e5cb72a)
* handle missing timestamps (172e6888)
* broken test for meta tags on ajaxify (b70e03a7)
* #7613 (15ce23da)
* #7600, removing nbsp from email CTAs (#7606) (f552cea5)
* #7604 shortened CTA text and added custom text for some notifs (#7605) (b32da57f)
* **style:**
* requiring parens in block bodies (29f96b19)
* updated code to follow new eslint recommendations (09212309)
##### Refactors
* use arrow function (6b3eb014)
* async/await (02d38caf)
* remove log, topics.exists (f8c8038a)
* async/await (dc8d721c)
* async/await mongo (1f0c6f3d)
* async/await socket.io/index (603908c1)
* async/await image.js (c5ffd8cc)
* remove var (05e753c7)
* async/await flags.js (ac6eb31c)
* async/await flags (0ced71be)
* shorter map (572bc297)
* remove logs (03971049)
* dont modify key (7e7ea7a6)
* remove logs (e32a5546)
* async/await flags (9ee1a882)
* shorter, new Date doesnt throw (625b0815)
* remove temp var (b842057f)
* async/await file (f9d6912b)
* async/await analytics (223c108c)
* change to const (5505628c)
* returned fields (86b16629)
* async/await emailer (63bd3fc5)
* async/await routes/feeds (ec3b5dd9)
* async/await rewards (b110aec6)
* async/await socket.io (a7d2b8a1)
* async/await (52b2d670)
* async/await (75d7ae92)
* async/await socket.io/topics (5c2afe5e)
* async/await controllers/user.js (3c6c40b1)
* async/await uploads (5c0266d8)
* move tos parsing to /tos (3e2ed21d)
* remove commented out code (ec98945a)
* async/await controllers/authentication (b9105ef9)
* remove async from isPasswordValid, function is sync (22f80116)
* make categories.buildForSelectCategories non async (6cda3698)
* remove dupe code (a4d84a66)
* async/await socket.io/posts (e93ef0d7)
* async/await socket.io/admin (88dfbf21)
* socket.io/admin/categories async/await (71e50bbf)
* admin groups.join socket async/await (4588a4fd)
* password async/await (dd8386d9)
* sitemap to async/await (0164e51f)
* remove hook assign (d3727207)
* async/await users (f9a804e0)
* remove empty line (19b63bfa)
* remove vars (69333f59)
* async/await controllers (2c4f0446)
* async/await controllers/tags (53624885)
* async/await (f15c7f12)
* globalmods/groups (0722cc47)
* controllers/category.js (bd8736db)
* use arrow func (27c27b49)
* async/await controllers/api (4eaa630b)
* async/await admin/controllers (6f375482)
* async/await, remove dupe code for homepage routes (c9250a01)
* async/await for src/socket.io/groups.js (71b205a8)
* rewrote SocketPosts.getRawPost in await style (08530bb3)
* replace avatar conditional code with buildAvatar helper (#7681) (25238899)
##### Reverts
* accidental removal of some needed translation source strings (868dedd1)
#### 1.12.2 (2019-05-15)
##### Chores
* incrementing version number - v1.12.2 (22db818e)
* bump themes #7576 (d349754d)
* bump themes (59bdc970)
* bump themes (abcca134)
* bump themes (551b18cd)
* incrementing version number - v1.12.1 (dd973abe)
* **deps:**
* update dependency lint-staged to v8.1.7 (dc6b49ca)
* update commitlint monorepo (9998e86b)
* update dependency jsdom to v15.1.0 (fcd6dc88)
* update dependency mocha to v6.1.4 (3ff8154b)
* update node:8.16.0 docker digest to b5484d1 (6421f10f)
* update dependency husky to v2.3.0 (c20e3313)
* update dependency nyc to v14.1.1 (#7584) (9047210c)
* update dependency eslint to v5.16.0 (692e2ead)
* update dependency nyc to v14 (9210baf5)
* update dependency husky to v2.2.0 (8a018a5f)
* update dependency lint-staged to v8.1.6 (4e39caf8)
* update dependency husky to v2.1.0 (65ff0bbd)
* update dependency husky to v2 (e81a1dbb)
* update dependency eslint-plugin-import to v2.17.2 (#7546) (c1fb17f9)
* update dependency jsdom to v15 (#7556) (d4d8d98f)
* update dependency jsdom to v14.1.0 (#7555) (ca694fd1)
* update node.js to v8.16.0 (#7554) (f10708e7)
* update dependency eslint-plugin-import to v2.17.1 (69dd8e4d)
* update dependency mocha to v6.1.2 (b7169772)
##### Documentation Changes
* updated changelog (93b688d0)
##### New Features
* let theme know downvoting is disabled, closes https://github.com/NodeBB/NodeBB/pull/7568 (bd94fbc2)
* closes #7583 (cf5aeace)
* #7319 (9385c8e3)
* add node12 to travis (1a7036a6)
* allow file uploading on registration interstitial (ddffc904)
* #7527 (ba5e1eaa)
* #7515 (c38db4f7)
##### Bug Fixes
* #7599 image size measurement erroring out on missing path (0d86781c)
* #7590 updated chat and post edit and delete timeout labels in ACP (4f0dc443)
* tests (3a7e99a5)
* #7586, switchTimeagoLanguage shouldn't discriminate against languages w/o shorthands (1703233f)
* #7576 "Disable password changes" can be sidestepped (50260e13)
* if editing password is disabled in ACP, prevent direct access via route/socket (related: #7576) (e114b16d)
* #7582 (c9ca72d0)
* #7461 (96cb29aa)
* increase batch size (3d938e7b)
* #7564 (bf6fc502)
* group cover upload not working for s3 upload (#7571) (8945ebcb)
* test (b9903120)
* #7539 (c940a733)
* #7565 (07e9b67e)
* #7464 (32cf07d7)
* #7147 (fe6d64cc)
* #7424 (f86d74d8)
* #7562 (09681e6c)
* node12 tests (8775e7e6)
* add post queue to /compose POST route (c6cd6c57)
* remove redis object cache (4df925e7)
* #7545 (74038849)
* failing test from 00552d7183f0416a0caa113fe2f1e658659648f7 (9bf3517d)
* fire filter:register.complete for users approved via registration queue (00552d71)
* #7540 (8778f00b)
* more graceful error handling and output for cli/reset (d3ebda73)
* #6438 only apply whitelist when fields request empty (#7528) (808c4909)
* **deps:**
* update dependency nodebb-theme-vanilla to v10.1.31 (#7589) (a9f9d19b)
* update dependency nodebb-theme-persona to v9.1.36 (#7588) (bd86e58d)
* update dependency mongodb to v3.2.4 (#7581) (26d6d0be)
* update dependency postcss to v7.0.16 (10a47a29)
* update dependency nodebb-theme-persona to v9.1.33 (#7563) (7c4201f2)
* update dependency sharp to v0.22.1 (#7561) (288a25f0)
* update dependency nodebb-plugin-composer-default to v6.2.12 (#7538) (a54f8f00)
* update dependency mongodb to v3.2.3 (97a7f02f)
#### 1.12.1 (2019-04-10)
##### Chores

View File

@@ -1,20 +1,23 @@
# The base image is the latest 8.x node (LTS)
FROM node:8.16.0@sha256:b5484d1eece03b69a2222c8444ac32730e7d0ed6be8af7304d9d0b5fd691a950
FROM node:lts
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
COPY install/package.json /usr/src/app/package.json
RUN npm install && npm cache clean --force
RUN npm install --only=prod && \
npm cache clean --force
COPY . /usr/src/app
ENV NODE_ENV=production \
daemon=false \
silent=false
EXPOSE 4567
CMD ./nodebb start
# the default port for NodeBB is exposed outside the container
EXPOSE 4567

View File

@@ -1,5 +1,7 @@
'use strict';
var async = require('async');
var fork = require('child_process').fork;
var env = process.env;
var worker;
@@ -10,6 +12,26 @@ var running = 0;
env.NODE_ENV = env.NODE_ENV || 'development';
var nconf = require('nconf');
nconf.file({
file: 'config.json',
});
nconf.defaults({
base_dir: __dirname,
views_dir: './build/public/templates',
});
var winston = require('winston');
winston.configure({
transports: [
new winston.transports.Console({
handleExceptions: true,
}),
],
});
var db = require('./src/database');
module.exports = function (grunt) {
var args = [];
var initArgs = ['--build'];
@@ -70,80 +92,116 @@ module.exports = function (grunt) {
}
grunt.initConfig({
watch: {
lessUpdated_Client: {
files: [
'public/less/*.less',
'!public/less/admin/**/*.less',
'node_modules/nodebb-*/**/*.less',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
lessUpdated_Admin: {
files: [
'public/less/admin/**/*.less',
'node_modules/nodebb-*/**/*.less',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
clientUpdated: {
files: [
'public/src/**/*.js',
'node_modules/nodebb-*/**/*.js',
'!node_modules/nodebb-*/node_modules/**',
'node_modules/benchpressjs/build/benchpress.js',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
serverUpdated: {
files: ['*.js', 'install/*.js', 'src/**/*.js'],
options: {
interval: 1000,
},
},
templatesUpdated: {
files: [
'src/views/**/*.tpl',
'node_modules/nodebb-*/**/*.tpl',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
langUpdated: {
files: [
'public/language/en-GB/*.json',
'public/language/en-GB/**/*.json',
'node_modules/nodebb-*/**/*.json',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
'!node_modules/nodebb-*/plugin.json',
'!node_modules/nodebb-*/package.json',
'!node_modules/nodebb-*/theme.json',
],
options: {
interval: 1000,
},
},
},
watch: {},
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['watch']);
grunt.registerTask('init', function () {
var done = this.async();
async.waterfall([
function (next) {
db.init(next);
},
function (next) {
db.getSortedSetRange('plugins:active', 0, -1, next);
},
function (plugins, next) {
addBaseThemes(plugins, next);
},
function (plugins, next) {
if (!plugins.includes('nodebb-plugin-composer-default')) {
plugins.push('nodebb-plugin-composer-default');
}
if (process.argv.includes('--core')) {
plugins = [];
}
const lessUpdated_Client = plugins.map(p => 'node_modules/' + p + '/**/*.less');
const lessUpdated_Admin = plugins.map(p => 'node_modules/' + p + '/**/*.less');
const clientUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.js');
const templatesUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.tpl');
const langUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.json');
grunt.config(['watch'], {
lessUpdated_Client: {
files: [
'public/less/*.less',
'!public/less/admin/**/*.less',
...lessUpdated_Client,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
lessUpdated_Admin: {
files: [
'public/less/admin/**/*.less',
...lessUpdated_Admin,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
clientUpdated: {
files: [
'public/src/**/*.js',
...clientUpdated,
'!node_modules/nodebb-*/node_modules/**',
'node_modules/benchpressjs/build/benchpress.js',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
serverUpdated: {
files: ['*.js', 'install/*.js', 'src/**/*.js', '!src/upgrades/**'],
options: {
interval: 1000,
},
},
templatesUpdated: {
files: [
'src/views/**/*.tpl',
...templatesUpdated,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
langUpdated: {
files: [
'public/language/en-GB/*.json',
'public/language/en-GB/**/*.json',
...langUpdated,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
'!node_modules/nodebb-*/plugin.json',
'!node_modules/nodebb-*/package.json',
'!node_modules/nodebb-*/theme.json',
],
options: {
interval: 1000,
},
},
});
next();
},
], done);
});
grunt.task.run('init');
env.NODE_ENV = 'development';
if (grunt.option('skip')) {
@@ -164,3 +222,25 @@ module.exports = function (grunt) {
grunt.event.on('watch', update);
};
function addBaseThemes(plugins, callback) {
const themeId = plugins.find(p => p.startsWith('nodebb-theme-'));
if (!themeId) {
return setImmediate(callback, null, plugins);
}
function getBaseRecursive(themeId) {
try {
const baseTheme = require(themeId + '/theme').baseTheme;
if (baseTheme) {
plugins.push(baseTheme);
getBaseRecursive(baseTheme);
}
} catch (err) {
console.log(err);
}
}
getBaseRecursive(themeId);
callback(null, plugins);
}

30
app.js
View File

@@ -21,25 +21,24 @@
require('./require-main');
var nconf = require('nconf');
const nconf = require('nconf');
nconf.argv().env({
separator: '__',
});
var async = require('async');
var winston = require('winston');
var path = require('path');
const winston = require('winston');
const path = require('path');
var file = require('./src/file');
const file = require('./src/file');
global.env = process.env.NODE_ENV || 'production';
// Alternate configuration file support
var configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
var configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database'));
const configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database'));
var prestart = require('./src/prestart');
const prestart = require('./src/prestart');
prestart.loadConfig(configFile);
prestart.setupWinston();
prestart.versionCheck();
@@ -60,30 +59,19 @@ if (nconf.get('setup') || nconf.get('install')) {
} else if (nconf.get('upgrade')) {
require('./src/cli/upgrade').upgrade(true);
} else if (nconf.get('reset')) {
var options = {
require('./src/cli/reset').reset({
theme: nconf.get('t'),
plugin: nconf.get('p'),
widgets: nconf.get('w'),
settings: nconf.get('s'),
all: nconf.get('a'),
};
async.series([
async.apply(require('./src/cli/reset').reset, options),
require('./src/meta/build').buildAll,
], function (err) {
if (err) {
throw err;
}
process.exit(0);
});
} else if (nconf.get('activate')) {
require('./src/cli/manage').activate(nconf.get('activate'));
} else if (nconf.get('plugins')) {
require('./src/cli/manage').listPlugins();
} else if (nconf.get('build')) {
require('./src/meta/build').build(nconf.get('build'));
require('./src/cli/manage').build(nconf.get('build'));
} else if (nconf.get('events')) {
require('./src/cli/manage').listEvents();
} else {

24
docker-compose.yml Normal file
View File

@@ -0,0 +1,24 @@
version: '3.5'
services:
node:
build: .
restart: unless-stopped
depends_on:
- db
expose:
- 4567 # use a reverse proxy like Traefik
db:
image: mongo:bionic
restart: unless-stopped
expose:
- 27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
volumes:
- mongo:/data/db
volumes:
mongo:

View File

@@ -11,6 +11,7 @@
"initialPostDelay": 10,
"newbiePostDelay": 120,
"postEditDuration": 0,
"newbiePostEditDuration": 3600,
"postDeleteDuration": 0,
"enablePostHistory": 1,
"postCacheSize": 10485760,
@@ -19,6 +20,8 @@
"chatDeleteDuration": 0,
"chatMessageDelay": 200,
"newbiePostDelayThreshold": 3,
"postQueueReputationThreshold": 0,
"groupsExemptFromPostQueue": ["administrators", "Global Moderators"],
"minimumPostLength": 8,
"maximumPostLength": 32767,
"minimumTagsPerTopic": 0,
@@ -27,12 +30,15 @@
"maximumTagLength": 15,
"allowTopicsThumbnail": 0,
"registrationType": "normal",
"registrationApprovalType": "normal",
"allowAccountDelete": 1,
"allowFileUploads": 0,
"privateUploads": 0,
"allowedFileExtensions": "png,jpg,bmp",
"allowUserHomePage": 1,
"allowMultipleBadges": 0,
"maximumFileSize": 2048,
"stripEXIFData": 1,
"resizeImageWidthThreshold": 2000,
"resizeImageWidth": 760,
"rejectImageWidth": 5000,
@@ -120,5 +126,7 @@
"eventLoopInterval": 500,
"onlineCutoff": 30,
"timeagoCutoff": 30,
"categoryWatchState": "watching"
"necroThreshold": 7,
"categoryWatchState": "watching",
"submitPluginUsage": 1
}

View File

@@ -83,6 +83,7 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
username: databaseConfig['postgres:username'],
password: databaseConfig['postgres:password'],
database: databaseConfig['postgres:database'],
ssl: databaseConfig['postgres:ssl'],
};
} else {
return callback(new Error('unknown database : ' + config.database));

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.12.1",
"version": "1.13.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -31,26 +31,25 @@
"dependencies": {
"ace-builds": "^1.2.9",
"archiver": "^3.0.0",
"async": "2.6.2",
"async": "^3.0.1",
"autoprefixer": "^9.4.6",
"bcryptjs": "2.4.3",
"benchpressjs": "^1.2.5",
"benchpressjs": "^2.0.0",
"body-parser": "^1.18.2",
"bootstrap": "^3.4.0",
"bootswatch": "^3",
"bootswatch": "git://github.com/thomaspark/bootswatch.git#c41a8f066feb8950c6f9c6bcf5a3c37d1085404e",
"chart.js": "^2.7.1",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.1",
"colors": "^1.1.2",
"commander": "^2.12.2",
"commander": "^3.0.0",
"compression": "^1.7.1",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-mongo": "2.0.3",
"connect-mongo": "3.2.0",
"connect-multiparty": "^2.1.0",
"connect-pg-simple": "^5.0.0",
"connect-redis": "3.4.1",
"continuation-local-storage": "^3.2.1",
"connect-pg-simple": "^6.0.0",
"connect-redis": "4.0.3",
"cookie-parser": "^1.4.3",
"cron": "^1.3.0",
"cropperjs": "^1.2.2",
@@ -68,82 +67,82 @@
"jsesc": "2.5.2",
"json-2-csv": "^3.0.0",
"jsonwebtoken": "^8.4.0",
"less": "^2.7.3",
"lodash": "^4.17.10",
"less": "^3.10.3",
"lodash": "^4.17.15",
"logrotate-stream": "^0.2.5",
"lru-cache": "5.1.1",
"material-design-lite": "^1.3.0",
"mime": "^2.2.0",
"mkdirp": "^0.5.1",
"mongodb": "3.2.4",
"morgan": "^1.9.0",
"mongodb": "3.4.0",
"morgan": "^1.9.1",
"mousetrap": "^1.6.1",
"mubsub-nbb": "^1.5.0",
"mubsub-nbb": "^1.5.1",
"nconf": "^0.10.0",
"nodebb-plugin-composer-default": "6.2.12",
"nodebb-plugin-dbsearch": "3.0.6",
"nodebb-plugin-emoji": "^2.2.5",
"nodebb-plugin-composer-default": "6.3.20",
"nodebb-plugin-dbsearch": "4.0.7",
"nodebb-plugin-emoji": "^3.0.0",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.9.2",
"nodebb-plugin-mentions": "2.5.2",
"nodebb-plugin-markdown": "8.11.0",
"nodebb-plugin-mentions": "2.7.3",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.6.1",
"nodebb-rewards-essentials": "0.0.13",
"nodebb-theme-lavender": "5.0.9",
"nodebb-theme-persona": "9.1.36",
"nodebb-theme-slick": "1.2.23",
"nodebb-theme-vanilla": "10.1.31",
"nodebb-plugin-spam-be-gone": "0.6.7",
"nodebb-rewards-essentials": "0.1.2",
"nodebb-theme-lavender": "5.0.11",
"nodebb-theme-persona": "10.1.30",
"nodebb-theme-slick": "1.2.28",
"nodebb-theme-vanilla": "11.1.12",
"nodebb-widget-essentials": "4.0.17",
"nodemailer": "^6.0.0",
"passport": "^0.4.0",
"passport-local": "1.0.0",
"pg": "^7.4.0",
"pg-cursor": "^2.0.0",
"postcss": "7.0.16",
"postcss": "7.0.21",
"postcss-clean": "1.1.0",
"promise-polyfill": "^8.0.0",
"prompt": "^1.0.0",
"redis": "2.8.0",
"request": "2.88.0",
"rimraf": "2.6.3",
"rimraf": "3.0.0",
"rss": "^1.2.2",
"sanitize-html": "^1.16.3",
"semver": "^6.0.0",
"semver": "^7.0.0",
"serve-favicon": "^2.4.5",
"sharp": "0.22.1",
"sitemap": "^2.0.0",
"socket.io": "2.2.0",
"sharp": "0.23.4",
"sitemap": "^5.0.0",
"socket.io": "2.3.0",
"socket.io-adapter-cluster": "^1.0.1",
"socket.io-adapter-mongo": "^2.0.1",
"socket.io-adapter-postgres": "^1.2.0",
"socket.io-client": "2.2.0",
"socket.io-adapter-mongo": "^2.0.4",
"socket.io-adapter-postgres": "^1.2.1",
"socket.io-client": "2.3.0",
"socket.io-redis": "5.2.0",
"socketio-wildcard": "2.0.0",
"spdx-license-list": "^6.0.0",
"spider-detector": "1.0.19",
"spider-detector": "2.0.0",
"textcomplete": "^0.17.1",
"textcomplete.contenteditable": "^0.1.1",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "10.11.0",
"validator": "12.1.0",
"winston": "3.2.1",
"xml": "^1.0.1",
"xregexp": "^4.1.1",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@commitlint/cli": "7.6.1",
"@commitlint/config-angular": "7.6.0",
"coveralls": "3.0.3",
"eslint": "5.16.0",
"eslint-config-airbnb-base": "13.1.0",
"eslint-plugin-import": "2.17.2",
"@commitlint/cli": "8.2.0",
"@commitlint/config-angular": "8.2.0",
"coveralls": "3.0.9",
"eslint": "6.7.0",
"eslint-config-airbnb-base": "14.0.0",
"eslint-plugin-import": "2.18.2",
"grunt": "1.0.4",
"grunt-contrib-watch": "1.1.0",
"husky": "2.3.0",
"jsdom": "15.1.0",
"lint-staged": "8.1.7",
"mocha": "6.1.4",
"husky": "3.1.0",
"jsdom": "15.2.1",
"lint-staged": "9.4.2",
"mocha": "6.2.2",
"mocha-lcov-reporter": "1.3.0",
"nyc": "14.1.1",
"smtp-server": "3.5.0"
@@ -171,4 +170,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -183,7 +183,7 @@ function install(req, res) {
function launch(req, res) {
res.json({});
server.close();
req.setTimeout(0);
var child;
if (!nconf.get('launchCmd')) {

View File

@@ -1,5 +1,5 @@
{
"alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?",
"alert.confirm-rebuild-and-restart": "هل أنت متأكد إنك تريد إعادة بناء وتشغيل الـ NodeBB؟",
"alert.confirm-restart": "هل تريد بالتأكيد إعادة تشغيل NodeBB؟",
"acp-title": "لوحة تحكم إدارة NodeBB | %1",

View File

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

View File

@@ -2,5 +2,10 @@
"events": "أحداث",
"no-events": "لا توجد أحداث",
"control-panel": "لوحة تحكم الأحداث",
"delete-events": "حذف الأحداث"
"filters": "Filters",
"filters-apply": "Apply Filters",
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-perPage": "Per Page"
}

View File

@@ -8,7 +8,7 @@
"custom-js.enable": "تفعيل Javascript المخصصة",
"custom-header": "ترويسة مخصصة",
"custom-header.description": "أدخل HTML الخاصة بك هنا (مثل العلامات الوصفية، وما إلى ذلك)، والتي سيتم إلحاقها الى<code>&lt;head&gt;</code> في تصميم المنتدى. يسمح باستخدام علامات النص البرمجي، ولكن سيتم تعطيلها؛ لتوفر تبويبة\n<a href=\"#custom-header\" data-toggle=\"tab\">Javascript المخصصة</a>",
"custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <code>&lt;head&gt;</code> section of your forum's markup. Script tags are allowed, but are discouraged, as the <a href=\"#custom-js\" data-toggle=\"tab\">Custom Javascript</a> tab is available.",
"custom-header.enable": "تفعيل الترويسة المخصصة",
"custom-css.livereload": "تفعيل إعادة التحميل المباشرة",

View File

@@ -9,6 +9,7 @@
"plugin-search": "البحث عن الإضافات",
"plugin-search-placeholder": "جاري البحث عن الإضافات...",
"submit-anonymous-usage": "Submit anonymous plugin usage data.",
"reorder-plugins": "إعادة ترتيب الإضافات",
"order-active": "ترتيب الإضافات المفعلة",
"dev-interested": "هل انته مهتم ببرمجة إضافات لـNodeBB؟",
@@ -29,6 +30,8 @@
"plugin-item.more-info": "لمزيد من المعلومات:",
"plugin-item.unknown": "غير معروف",
"plugin-item.unknown-explanation": "تعذر تحديد حالة هذه الإضافة، ربما بسبب خطأ في الإعدادات.",
"plugin-item.compatible": "This plugin works on NodeBB %1",
"plugin-item.not-compatible": "This plugin has no compatibility data, make sure it works before installing on your production environment.",
"alert.enabled": "الإضافة مفعلة",
"alert.disabled": "الإضافة معطلة",

View File

@@ -18,5 +18,13 @@
"alert.update-success": "Successfully updated widgets",
"alert.clone-success": "Successfully cloned widgets",
"error.select-clone": "Please select a page to clone from"
"error.select-clone": "Please select a page to clone from",
"title": "Title",
"title.placeholder": "Title (only shown on some containers)",
"container": "Container",
"container.placeholder": "Drag and drop a container or enter HTML here.",
"show-to-groups": "Show to groups",
"hide-from-groups": "Hide from groups",
"hide-on-mobile": "Hide on mobile"
}

View File

@@ -2,7 +2,7 @@
"forum-traffic": "Forum Traffic",
"page-views": "مشاهدات الصفحات",
"unique-visitors": "زائرين فريدين",
"users": "أعضاء",
"new-users": "New Users",
"posts": "مشاركات",
"topics": "مواضيع",
"page-views-seven": "آخر 7 ايام",
@@ -14,9 +14,12 @@
"page-views-custom-help": "أدخل نطاقا زمنيا لمرات مشاهدة الصفحات التي ترغب في عرضها. إذا لم يظهر منتقي التاريخ، فإن التنسيق المقبول هو <code>YYYY-MM-DD</code>",
"page-views-custom-error": "الرجاء إدخال نطاق تاريخ صالح بالتنسيق <code>YYYY-MM-DD</code>",
"stats.day": "يوم",
"stats.week": "إسبوع",
"stats.month": "شهر",
"stats.yesterday": "Yesterday",
"stats.today": "Today",
"stats.last-week": "Last Week",
"stats.this-week": "This Week",
"stats.last-month": "Last Month",
"stats.this-month": "This Month",
"stats.all": "كل الوقت",
"updates": "تحديثات",

View File

@@ -45,7 +45,12 @@
"privileges.search-group": "Add Group",
"privileges.copy-to-children": "Copy to Children",
"privileges.copy-from-category": "Copy from Category",
"privileges.copy-privileges-to-all-categories": "Copy to All Categories",
"privileges.copy-group-privileges-to-children": "Copy this group's privileges to the children of this category.",
"privileges.copy-group-privileges-to-all-categories": "Copy this group's privileges to all categories.",
"privileges.copy-group-privileges-from": "Copy this group's privileges from another category.",
"privileges.inherit": "If the <code>registered-users</code> group is granted a specific privilege, all other groups receive an <strong>implicit privilege</strong>, even if they are not explicitly defined/checked. This implicit privilege is shown to you because all users are part of the <code>registered-users</code> user group, and so, privileges for additional groups need not be explicitly granted.",
"privileges.copy-success": "Privileges copied!",
"analytics.back": "Back to Categories List",
"analytics.title": "Analytics for \"%1\" category",

View File

@@ -0,0 +1,21 @@
{
"lead": "A listing of digest delivery stats and times is displayed below.",
"disclaimer": "Please be advised that email delivery is not guaranteed, due to the nature of email technology. Many variables factor into whether an email sent to the recipient server is ultimately delivered into the user's inbox, including server reputation, blacklisted IP addresses, and whether DKIM/SPF/DMARC is configured.",
"disclaimer-continued": "A successful delivery means the message was sent successfully by NodeBB and acknowledged by the recipient server. It does not mean the email landed in the inbox. For best results, we recommend using a third-party email delivery service such as <a href=\"https://sendgrid.com/why-sendgrid/\">SendGrid</a>.",
"user": "User",
"subscription": "Subscription Type",
"last-delivery": "Last successful delivery",
"default": "System default",
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: &quot;<strong>%1</strong>&quot;",
"resend": "Resend Digest",
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
"resent-month": "Monthly digest resent",
"null": "<em>Never</em>",
"manual-run": "Manual digest run:",
"no-delivery-data": "No delivery data found"
}

View File

@@ -25,7 +25,8 @@
"edit.show-badge": "Show Badge",
"edit.private-details": "If enabled, joining of groups requires approval from a group owner.",
"edit.private-override": "Warning: Private groups is disabled at system level, which overrides this option.",
"edit.disable-requests": "Disable join requests",
"edit.disable-join": "Disable join requests",
"edit.disable-leave": "Disallow users from leaving the group",
"edit.hidden": "Hidden",
"edit.hidden-details": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"edit.add-user": "Add User to Group",

View File

@@ -1,6 +1,6 @@
{
"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; Posting Restrictions</a> and enable <strong>Post Queue</strong>.",
"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>.",
"user": "User",
"category": "Category",
"title": "Title",

View File

@@ -1,7 +1,8 @@
{
"global": "Global",
"global.no-users": "No user-specific global privileges.",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"chat": "Chat",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
@@ -15,7 +16,7 @@
"view-groups": "View Groups",
"allow-local-login": "Local Login",
"allow-group-creation": "Group Create",
"view-users-info": "View Users Info",
"find-category": "Find Category",
"access-category": "Access Category",
"access-topics": "Access Topics",

View File

@@ -15,6 +15,8 @@
"delete": "Delete User(s)",
"purge": "Delete User(s) and Content",
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
@@ -28,6 +30,11 @@
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",
"250-per-page": "250 per page",
"500-per-page": "500 per page",
"search.uid": "By User ID",
"search.uid-placeholder": "Enter a user ID to search",
"search.username": "By User Name",

View File

@@ -18,6 +18,7 @@
"manage/groups": "المجموعات",
"manage/ip-blacklist": "قائمة حظر عناوين IP",
"manage/uploads": "Uploads",
"manage/digest": "Digests",
"section-settings": "إعدادات",
"settings/general": "عامة",

View File

@@ -1,6 +1,7 @@
{
"maintenance-mode": "Maintenance Mode",
"maintenance-mode.help": "When the forum is in maintenance mode, all requests will be redirected to a static holding page. Administrators are exempt from this redirection, and are able to access the site normally.",
"maintenance-mode.status": "Maintenance Mode Status Code",
"maintenance-mode.message": "Maintenance Message",
"headers": "Headers",
"headers.allow-from": "Set ALLOW-FROM to Place NodeBB in an iFrame",

View File

@@ -6,6 +6,6 @@
"max-length": "Maximum length of chat messages",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages in milliseconds",
"restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit chat messages after posting. (0 disabled)",
"restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete chat messages after posting. (0 disabled)"
"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

@@ -4,6 +4,7 @@
"consent.message": "Notification message",
"consent.acceptance": "Acceptance message",
"consent.link-text": "Policy Link Text",
"consent.link-url": "Policy Link URL",
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",

View File

@@ -33,8 +33,8 @@
"testing.select": "Select Email Template",
"testing.send": "Send Test Email",
"testing.send-help": "The test email will be sent to the currently logged in user's email address.",
"subscriptions": "Email Subscriptions",
"subscriptions.disable": "Disable subscriber notification emails",
"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>"
}

View File

@@ -7,19 +7,22 @@
"sorting.most-posts": "Most Posts",
"sorting.topic-default": "Default Topic Sorting",
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
"restrictions-new.post-queue": "Enable new user restrictions",
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval.",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users.",
"restrictions.seconds-between": "Seconds between posts",
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-defore-new": "Seconds before new user can post",
"restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit posts after posting. (0 disabled)",
"restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete posts after posting. (0 disabled)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics. (0 disabled)",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",
"restrictions.min-title-length": "Minimum Title Length",
"restrictions.max-title-length": "Maximum Title Length",
"restrictions.min-post-length": "Minimum Post Length",
@@ -29,6 +32,8 @@
"timestamp": "Timestamp",
"timestamp.cut-off": "Date cut-off (in days)",
"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>",
"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

@@ -2,6 +2,7 @@
"posts": "المشاركات",
"allow-files": "السماح للأعضاء بتحميل الملفات الإعتيادية",
"private": "جعل الملفات التي تم رفعها خاصة",
"strip-exif-data": "Strip EXIF Data",
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",

View File

@@ -34,13 +34,15 @@
"online-cutoff-help": "If user performs no actions for this duration, they are considered inactive and they do not receive realtime updates.",
"registration": "تسجيل المستخدم",
"registration-type": "نوع التسجيل",
"registration-approval-type": "Registration Approval Type",
"registration-type.normal": "عادي",
"registration-type.admin-approval": "بموافقة الإدارة",
"registration-type.admin-approval-ip": "بموافقة الإدارة لعناوين IP",
"registration-type.invite-only": "بالدعوات فقط",
"registration-type.admin-invite-only": "بالدعوات من قبل الإدارة فقط",
"registration-type.disabled": "لا يوجد تسجيل",
"registration-type.help": "عادي - بإمكان المستخدمين التسجيل من خلال صفحة /التسجيل.<br/>\nبموافقة الإدارة - يتم وضع قائمة تسجيلات المستخدمين في <a href=\"%1/admin/manage/registration\">قائمة إنتظار موافقة</a> الإدارة.<br/>\nبموافقة الإدارة لعناوين IP - عادي بالنسبة للمستخدمين الجدد، ويتطلب موافقة الإدارة للتسجيل من عناوين IP تم التسجيل بإستخدامها مسبقاً.<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-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.max-invites": "الحد الأقصى للدعوات لكل عضو",
"max-invites": "الحد الأقصى للدعوات لكل عضو",
"max-invites-help": "0 لعدم تحديد قيود، الإدارة تحصل على دعوات لامحدودة <br> هذا الخيار يعمل فقط عند تحديد خيار \"بالدعوات فقط\"",

View File

@@ -10,9 +10,9 @@
"watch": "تابع",
"ignore": "تجاهل",
"watching": "متابع",
"not-watching": "Not Watching",
"not-watching": "لست متابع",
"ignoring": "متجاهل",
"watching.description": "Show topics in unread and recent",
"watching.description": "أظهر المواضيع في الغير مقروء و الحديث",
"not-watching.description": "Do not show topics in unread, show in recent",
"ignoring.description": "Do not show topics in unread and recent",
"watching.message": "You are now watching updates from this category and all subcategories",

View File

@@ -13,7 +13,7 @@
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
"invitation.text1": "%1 قام بدعوتك للانضمام لـ %2",
"invitation.text2": "Your invitation will expire in %1 days.",
"invitation.ctr": "إضغط هنا لإنشاء حسابك",
"invitation.cta": "Click here to create your account.",
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.",
"reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.",
@@ -27,15 +27,23 @@
"digest.week": "أسبوع",
"digest.month": "شهر",
"digest.subject": "إستهلاك ل",
"digest.title": "Your Daily Digest",
"digest.title.day": "Your Daily Digest",
"digest.title.week": "Your Weekly Digest",
"digest.title.month": "Your Monthly Digest",
"notif.chat.subject": "هناك محادثة جديدة من %1",
"notif.chat.cta": "انقر هنا لمتابعة المحادثة",
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",
"notif.post.cta": "انقر هنا لقراءة الموضوع بأكمله",
"notif.post.unsub.info": "تم إشعارك بهذه المشاركة بناءً على الخيارات التي سبق وأن حددتها.",
"notif.cta": "Click here to go to forum",
"notif.post.unsub.one-click": "Alternatively, unsubscribe from future emails like this, by clicking",
"notif.cta": "To the forum",
"notif.cta-new-reply": "View Post",
"notif.cta-new-chat": "View Chat",
"notif.test.short": "Testing Notifications",
"notif.test.long": "This is a test of the notifications email. Send help!",
"test.text1": "هذه رسالة تجريبية للتأكد من صحة إعدادت الرسائل الإلكترونية في منتدى NodeBB خاصتك.",
"unsub.cta": "انقر هنا لتغيير تلك الإعدادات",
"unsubscribe": "unsubscribe",
"unsub.success": "You will no longer receive emails from the <strong>%1</strong> mailing list",
"banned.subject": "You have been banned from %1",
"banned.text1": "The user %1 has been banned from %2.",
"banned.text2": "This ban will last until %1.",

View File

@@ -11,6 +11,9 @@
"invalid-uid": "مستخدم غير موجود",
"invalid-username": "اسم المستخدم غير مقبول",
"invalid-email": "البريد الاكتروني غير مقبول",
"invalid-fullname": "Invalid Fullname",
"invalid-location": "Invalid Location",
"invalid-birthday": "Invalid Birthday",
"invalid-title": "Invalid title",
"invalid-user-data": "بيانات المستخدم غير صحيحة",
"invalid-password": "كلمة السر غير مقبولة",
@@ -23,13 +26,14 @@
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ",
"email-not-confirmed": "عنوان بريدك الإلكتروني غير مفعل بعد. انقر هنا لتفعيله من فضلك.",
"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": "بريدك الإلكتروني غير مفعل. رجاءًا تفحص صندوق البريد عن رسالة التفعيل.",
"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.",
"no-email-to-confirm": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.",
"email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.",
"confirm-email-already-sent": "لقد تم ارسال بريد التأكيد، الرجاء اﻹنتظار 1% دقائق لإعادة اﻹرسال",
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
"digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests",
"username-too-short": "اسم المستخدم قصير.",
"username-too-long": "اسم المستخدم طويل",
"password-too-long": "كلمة السر طويلة ",
@@ -99,6 +103,8 @@
"group-needs-owner": "هذه المجموعة تتطلب مالك واحد على اﻷقل",
"group-already-invited": "المستخدم سبق وأن تمت دعوته",
"group-already-requested": "سبق وتم تسجيل طلب العضوية",
"group-join-disabled": "You are not able to join this group at this time",
"group-leave-disabled": "You are not able to leave this group at this time",
"post-already-deleted": "سبق وتم حذف هذا الرد",
"post-already-restored": "سبق وتم إلغاء حذف هذا الرد",
"topic-already-deleted": "سبق وتم حذف هذا الموضوع",
@@ -144,7 +150,6 @@
"invite-maximum-met": "لقد قمت بدعوة الحد الأقصى من الأشخاص (%1 من %2)",
"no-session-found": "لم دخول مسجل!",
"not-in-room": "المستخدم غير موجود في الغرفة.",
"no-users-in-room": "لا يوجد مستخدمين في الغرفة.",
"cant-kick-self": "لا يمكنك طرد نفسك من المجموعة.",
"no-users-selected": "لا يوجد مستخدم محدد.",
"invalid-home-page-route": "Invalid home page route",

View File

@@ -48,7 +48,6 @@
"alert.banned.message": "لقد تم حظر حسابك. سيتم تسجيل الخروج.",
"alert.unfollow": "أنت لا تتابع %1 بعد الآن!",
"alert.follow": "أنت الآن تتابع %1!",
"online": "المتواجدون حاليًّا",
"users": "الأعضاء",
"topics": "المواضيع",
"posts": "المشاركات",
@@ -60,6 +59,8 @@
"downvoted": "مصوت بالسالب",
"views": "المشاهدات",
"reputation": "السمعة",
"lastpost": "Last post",
"firstpost": "First post",
"read_more": "اقرأ المزيد",
"more": "المزيد",
"posted_ago_by_guest": "كتب %1 بواسطة زائر",
@@ -77,6 +78,7 @@
"recentposts": "آخر المشاركات",
"recentips": "آخر عناوين ال IP التي سجلت الدخول",
"moderator_tools": "أدوات المشرف",
"online": "المتواجدون حاليًّا",
"away": "غير متواجد",
"dnd": "عدم الإزعاج",
"invisible": "مخفي",

View File

@@ -25,6 +25,7 @@
"details.latest_posts": "آخر المشاركات",
"details.private": "خاص",
"details.disableJoinRequests": "Disable join requests",
"details.disableLeave": "Disallow users from leaving the group",
"details.grant": "منح/سحب المِلكية",
"details.kick": "طرد",
"details.kick_confirm": "Are you sure you want to remove this member from the group?",
@@ -48,9 +49,11 @@
"event.updated": "تم تحديث بيانات المجموعة",
"event.deleted": "تم حذف المجموعة %1",
"membership.accept-invitation": "اقبل الدعوة",
"membership.accept.notification_title": "You are now a member of <strong>%1</strong>",
"membership.invitation-pending": "الدعوة بانتظار القبول",
"membership.join-group": "انظم للمجموعة",
"membership.leave-group": "غادر المجموعة",
"membership.leave.notification_title": "<strong>%1</strong> has left group <strong>%2</strong>",
"membership.reject": "رفض",
"new-group.group_name": "اسم المجموعة",
"upload-group-cover": "Upload group cover",

View File

@@ -34,6 +34,9 @@
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.owner": "Room Owner",
"chat.system.user-join": "%1 has joined the room",
"chat.system.user-leave": "%1 has left the room",
"chat.system.room-rename": "%2 has renamed this room: %1",
"composer.compose": "اكتب",
"composer.show_preview": "عرض المعاينة",
"composer.hide_preview": "إخفاء المعاينة",

View File

@@ -43,6 +43,7 @@
"account/following": "People %1 follows",
"account/followers": "People who follow %1",
"account/posts": "Posts made by %1",
"account/latest-posts": "Latest posts made by %1",
"account/topics": "Topics created by %1",
"account/groups": "%1's Groups",
"account/watched_categories": "%1's Watched Categories",

View File

@@ -9,7 +9,7 @@
"repeat_password": "تأكيد كلمة المرور",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
"password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.",
"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.",
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود",
"password_too_short": "كلمة المرور التي أدخلتها قصيرة، الرجاء اختر كلمة مرور مختلفة",
"passwords_do_not_match": "كلمتا السر التي أدخلتهما غير متطابقتان",

View File

@@ -18,11 +18,13 @@
"last_reply_time": "Last reply",
"reply-as-topic": "رد بموضوع",
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
"login-to-view": "🔒 Log in to view",
"edit": "تعديل",
"delete": "حذف",
"purge": "تطهير",
"restore": "استعادة",
"move": "نقل",
"change-owner": "Change Owner",
"fork": "فرع",
"link": "رابط",
"share": "نشر",
@@ -64,6 +66,7 @@
"thread_tools.move": "نقل الموضوع",
"thread_tools.move-posts": "Move Posts",
"thread_tools.move_all": "نقل الكل",
"thread_tools.change_owner": "Change Owner",
"thread_tools.select_category": "Select Category",
"thread_tools.fork": "إنشاء فرع الموضوع",
"thread_tools.delete": "حذف الموضوع",
@@ -98,6 +101,7 @@
"delete_posts_instruction": "Click the posts you want to delete/purge",
"merge_topics_instruction": "Click the topics you want to merge",
"move_posts_instruction": "Click the posts you want to move",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "اﻹسم",
"composer.discard": "نبذ التغييرات",
@@ -129,5 +133,7 @@
"diffs.description": "This post has <strong>%1</strong> revisions. Click one of the revisions below to see the post content at that point in time.",
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
"diffs.current-revision": "current revision",
"diffs.original-revision": "original revision"
"diffs.original-revision": "original revision",
"timeago_later": "%1 later",
"timeago_earlier": "%1 earlier"
}

View File

@@ -26,6 +26,7 @@
"reputation": "السمعة",
"bookmarks": "Bookmarks",
"watched_categories": "Watched categories",
"change_all": "Change All",
"watched": "متابع",
"ignored": "تم تجاهله",
"default-category-watch-state": "Default category watch state",
@@ -124,6 +125,7 @@
"follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد عليها",
"follow_topics_you_create": "متابعة المواضيع التي تقوم بإنشائها",
"grouptitle": "عنوان المجموعة",
"group-order-help": "Select a group and use the arrows to order titles",
"no-group-title": "لا يوجد عنوان للمجموعة",
"select-skin": "إختر سمة",
"select-homepage": "إختر الصفحة الرئيسية",

View File

@@ -2,5 +2,10 @@
"events": "Събития",
"no-events": "Няма събития",
"control-panel": "Контролен панел за събитията",
"delete-events": "Изтриване на събитията"
"filters": "Филтри",
"filters-apply": "Прилагане на филтрите",
"filter-type": "Вид събитие",
"filter-start": "Начална дата",
"filter-end": "Крайна дата",
"filter-perPage": "На страница"
}

View File

@@ -8,7 +8,7 @@
"custom-js.enable": "Включване на персонализирания код на Javascript",
"custom-header": "Персонализирана заглавна част",
"custom-header.description": "Въведете своя персонализиран код HTML тук (напр. елементи „meta“ и т.н.), те ще бъдат добавени към секцията <code>&lt;head&gt;</code> в кода на Вашия форум. Ползването на елементи „script“ е позволено, но непрепоръчително, тъй като за това можете да ползвате раздела <a href=\"#custom-header\" data-toggle=\"tab\">Персонализиран код на Javascript</a>.",
"custom-header.description": "Въведете своя персонализиран код HTML тук (напр. елементи „meta“ и т.н.), те ще бъдат добавени към секцията <code>&lt;head&gt;</code> в кода на Вашия форум. Ползването на елементи „script“ е позволено, но непрепоръчително, тъй като за това можете да ползвате раздела <a href=\"#custom-js\" data-toggle=\"tab\">Персонализиран код на Javascript</a>.",
"custom-header.enable": "Включване на персонализирана заглавна част",
"custom-css.livereload": "Включване на моменталното презареждане",

View File

@@ -9,6 +9,7 @@
"plugin-search": "Търсене на добавки",
"plugin-search-placeholder": "Търсене на добавка…",
"submit-anonymous-usage": "Изпращане на анонимни данни за употребата на добавката",
"reorder-plugins": "Пренареждане на добавките",
"order-active": "Подреждане на включените добавки",
"dev-interested": "Искате ли да пишете добавки за NodeBB?",
@@ -29,6 +30,8 @@
"plugin-item.more-info": "За повече информация",
"plugin-item.unknown": "Неизвестно",
"plugin-item.unknown-explanation": "Състоянието на тази добавка не може да бъде определено, може би поради грешка в конфигурацията.",
"plugin-item.compatible": "Тази добавка работи с NodeBB %1",
"plugin-item.not-compatible": "Тази добавка няма информация за съвместимост. Уверете се, че работи, преди да я инсталирате на истинския си сървър.",
"alert.enabled": "Добавката е включена",
"alert.disabled": "Добавката е изключена",

View File

@@ -18,5 +18,13 @@
"alert.update-success": "Джаджите са обновени успешно",
"alert.clone-success": "Джаджите са клонирани успешно",
"error.select-clone": "Изберете страница, от която да клонирате"
"error.select-clone": "Изберете страница, от която да клонирате",
"title": "Заглавие",
"title.placeholder": "Заглавие (показва се само в някои контейнери)",
"container": "Контейнер",
"container.placeholder": "Завлачете и пуснете контейнер или въведете HTML тук.",
"show-to-groups": "Показване на групите",
"hide-from-groups": "Скриване от групите",
"hide-on-mobile": "Скриване на мобилни устройства"
}

View File

@@ -2,7 +2,7 @@
"forum-traffic": "Трафик на форума",
"page-views": "Преглеждания на страниците",
"unique-visitors": "Уникални посетители",
"users": "Потребители",
"new-users": "Нови потребители",
"posts": "Публикации",
"topics": "Теми",
"page-views-seven": "Последните 7 дни",
@@ -14,9 +14,12 @@
"page-views-custom-help": "Въведете интервал от дати, за които искате да видите преглежданията на страниците. Ако не се появи календар за избор, можете да въведете датите във формат: <code>ГГГГ-ММ-ДД</code>",
"page-views-custom-error": "Моля, въведете правилен интервал от дати във формата: <code>ГГГГ-ММ-ДД</code>",
"stats.day": "Ден",
"stats.week": "Седмица",
"stats.month": "Месец",
"stats.yesterday": "Вчера",
"stats.today": "Днес",
"stats.last-week": "Миналата седмица",
"stats.this-week": "Тази седмица",
"stats.last-month": "Миналия месец",
"stats.this-month": "Този месец",
"stats.all": "От началото",
"updates": "Обновления",

View File

@@ -45,7 +45,12 @@
"privileges.search-group": "Добавяне на група",
"privileges.copy-to-children": "Копиране в наследниците",
"privileges.copy-from-category": "Копиране от категория",
"privileges.copy-privileges-to-all-categories": "Копиране във всички категории",
"privileges.copy-group-privileges-to-children": "Копиране на правомощията на тази група в поделементите на тази категория.",
"privileges.copy-group-privileges-to-all-categories": "Копиране на правомощията на тази група във всички категории.",
"privileges.copy-group-privileges-from": "Копиране на правомощията на тази група от друга категория.",
"privileges.inherit": "Ако групата на <code>регистрираните потребители</code> получи дадено правомощие, всички останали групи го получават като <strong>подразбиращо се правомощие</strong>, дори то да не им е специално дадено. Вие виждате това подразбиращо се правомощие, защото всички потребители са членове на групата на <code>регистрираните потребители</code>, така че няма нужда да се дават едни и същи правомощия на още групи.",
"privileges.copy-success": "Правомощията са копирани!",
"analytics.back": "Назад към списъка с категориите",
"analytics.title": "Аналитични данни за категорията „%1“",

View File

@@ -0,0 +1,21 @@
{
"lead": "По-долу са показани статистики и времена за разпращането на резюмета.",
"disclaimer": "Имайте предвид, че при доставката на е-поща няма гаранции, поради същността на технологията за е-пощата. Много неща влияят на това дали едно изпратено е-писмо настина достига до получателя си, като: репутация на сървъра, блокирани IP адреси или това дали е настроено DKIM/SPF/DMARC.",
"disclaimer-continued": "Успешната доставка означава, че съобщението е изпратено успешно от NodeBB и потвърдено от сървъра на получателя. Това не означава, че писмото е достигнало до входящата кутия на получателя. За да имате по-добри резултати, препоръчвам използването на специализирана услуга за изпращане на е-писма, като <a href=\"https://sendgrid.com/why-sendgrid/\">SendGrid</a>.",
"user": "Потребител",
"subscription": "Вид на абонамента",
"last-delivery": "Последна успешна доставка",
"default": "По подразбиране за системата",
"default-help": "<em>По подразбиране за системата</em> означава, че потребителят не е избрал ръчно друга настройка за глобалния форум за резюметата, която в момента е;„%1</strong>“",
"resend": "Повторно изпращане на резюмето",
"resend-all-confirm": "Наистина ли искате да предизвикате ръчно изпращането на резюмето?",
"resent-single": "Ръчното повторно разпращане на резюмето е завършено",
"resent-day": "Дневното резюме беше изпратено повторно",
"resent-week": "Седмичното резюме беше изпратено повторно",
"resent-month": "Месечното резюме беше изпратено повторно",
"null": "<em>Никога</em>",
"manual-run": "Ръчно разпращане на резюмето:",
"no-delivery-data": "Няма данни за доставката"
}

View File

@@ -25,7 +25,8 @@
"edit.show-badge": "Показване на емблема",
"edit.private-details": "Ако е включено, присъединяването към група ще изисква одобрение от собственик на групата.",
"edit.private-override": "Внимание: Частните групи са изключени на системно ниво, това пренебрегва тази настройка.",
"edit.disable-requests": "Изключване на заявките за присъединяване",
"edit.disable-join": "Забраняване на заявките за присъединяване",
"edit.disable-leave": "Забраняване на потребители да напускат групата",
"edit.hidden": "Скрита",
"edit.hidden-details": "Ако е включено, групата няма да е видима в списъка с групи и ще трябва потребителите да бъдат поканени специално.",
"edit.add-user": "Добавяне на потребител към групата",

View File

@@ -1,6 +1,6 @@
{
"post-queue": "Опашка за публикации",
"description": "Няма публикации в опашката. <br> За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикуване &rarr; Ограничения за публикуването</a> и включете <strong>Опашката за публикации</strong>.",
"description": "Няма публикации в опашката. <br> За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикуване &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"user": "Потребител",
"category": "Категория",
"title": "Заглавие",

View File

@@ -1,7 +1,8 @@
{
"global": "Глобални",
"global.no-users": "Няма глобални правомощия за отделни потребители.",
"group-privileges": "Правомощия за групите",
"user-privileges": "Правомощия за потребителите",
"chat": "Разговор",
"upload-images": "Качване на изображения",
"upload-files": "Качване на файлове",
@@ -15,7 +16,7 @@
"view-groups": "Преглед на групите",
"allow-local-login": "Локално вписване",
"allow-group-creation": "Създаване на групи",
"view-users-info": "Преглед на информацията за потребителите",
"find-category": "Търсене на категория",
"access-category": "Достъп до категория",
"access-topics": "Достъп до теми",

View File

@@ -15,6 +15,8 @@
"delete": "Изтриване на потребителя/ите",
"purge": "Изтриване на потребителя/ите и съдържанието",
"download-csv": "Сваляне във формат „CSV“",
"manage-groups": "Управление на групите",
"add-group": "Добавяне на група",
"invite": "Покана",
"new": "Нов потребител",
@@ -28,6 +30,11 @@
"pills.banned": "Блокиран",
"pills.search": "Търсене на потребители",
"50-per-page": "50 на страница",
"100-per-page": "100 на страница",
"250-per-page": "250 на страница",
"500-per-page": "500 на страница",
"search.uid": "По потребителски идентификатор",
"search.uid-placeholder": "Въведете потребителски идентификатор, който да потърсите",
"search.username": "По име на потребител",

View File

@@ -18,6 +18,7 @@
"manage/groups": "Групи",
"manage/ip-blacklist": "Черен списък за IP адреси",
"manage/uploads": "Качвания",
"manage/digest": "Резюмета",
"section-settings": "Настройки",
"settings/general": "Общи",

View File

@@ -1,6 +1,7 @@
{
"maintenance-mode": "Режим на профилактика",
"maintenance-mode.help": "Когато форумът е в режим на профилактика, всички заявки ще бъдат пренасочвани към статична страница за изчакване, с изключение на администраторите, които ще могат да използват уеб сайта нормално.",
"maintenance-mode.status": "Код на състоянието за режима на профилактика",
"maintenance-mode.message": "Съобщение за профилактиката",
"headers": "Заглавни части",
"headers.allow-from": "Задайте „ALLOW-FROM“, за да поставите NodeBB в „iFrame“",

View File

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

View File

@@ -4,6 +4,7 @@
"consent.message": "Съобщение за известие",
"consent.acceptance": "Съобщение за приемане",
"consent.link-text": "Връзка към текста на политиката",
"consent.link-url": "Връзка към адреса на политиката",
"consent.blank-localised-default": "Оставете това празно, за да използвате данните по подразбиране на NodeBB, които са преведени",
"settings": "Настройки",
"cookie-domain": "Домейн на бисквитката за сесията",

View File

@@ -33,8 +33,8 @@
"testing.select": "Изберете шаблон за е-писма",
"testing.send": "Изпращане на пробно е-писмо",
"testing.send-help": "Пробното е-писмо ще бъде изпратено до е-пощата на текущо вписания потребител.",
"subscriptions": "Абонаменти за е-писма",
"subscriptions.disable": "Изключване на известията по е-поща за абонати",
"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>"
}

View File

@@ -7,18 +7,21 @@
"sorting.most-posts": "Първо тези с най-много публикации",
"sorting.topic-default": "Подредба по подразбиране на темите",
"length": "Дължина на публикациите",
"post-queue": "Опашка за публикации",
"restrictions": "Ограничения за публикуването",
"restrictions-new": "Ограничения за новите потребители",
"restrictions.post-queue": "Включване на опашката за публикации",
"restrictions.post-queue-rep-threshold": "Нужна репутация за пропускане на опашката за публикации",
"restrictions.groups-exempt-from-post-queue": "Избиране на групи, които да пропускат опашката за публикации",
"restrictions-new.post-queue": "Включване на ограниченията за новите потребители",
"restrictions.post-queue-help": "Ако опашката за публикации е включена, публикациите на новите потребители ще бъдат добавяни в опашка за одобрение.",
"restrictions-new.post-queue-help": "Ако ограниченията за новите потребители са включени, това ще зададе някои ограничения за публикациите създадени от новите потребители.",
"restrictions.post-queue-help": "Ако опашката за публикации е включена, публикациите на новите потребители ще бъдат добавяни в опашка за одобрение",
"restrictions-new.post-queue-help": "Ако ограниченията за новите потребители са включени, това ще зададе някои ограничения за публикациите създадени от новите потребители",
"restrictions.seconds-between": "Брой секунди между публикациите",
"restrictions.seconds-between-new": "Брой секунди между публикациите за нови потребители",
"restrictions.rep-threshold": "Необходима репутация за премахване на това ограничение",
"restrictions.seconds-defore-new": "Брой секунди преди новите потребители да могат да публикуват",
"restrictions.seconds-edit-after": "Брой секунди, в които потребителите не могат да редактират публикациите си след публикуването им. (0 = изключено)",
"restrictions.seconds-delete-after": "Брой секунди, в които потребителите не могат да изтрият публикациите си след публикуването им. (0 = изключено)",
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
"restrictions.seconds-edit-after": "Брой секунди, през които публикациите могат да бъдат редактирани. (0 = изключено)",
"restrictions.seconds-delete-after": "Брой секунди, през които публикациите могат да бъдат изтрити. (0 = изключено)",
"restrictions.replies-no-delete": "Брой отговори, след които потребителите вече не могат да изтриват собствените си теми. (0 = изключено)",
"restrictions.min-title-length": "Минимална дължина на заглавието",
"restrictions.max-title-length": "Максимална дължина на заглавието",
@@ -29,6 +32,8 @@
"timestamp": "Време",
"timestamp.cut-off": "Използване на дата след (в брой дни)",
"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>",
"teaser": "Представителна публикация",
"teaser.last-post": "Последната &ndash; Показване на последната публикация, или първоначалната такава, ако няма отговори.",
"teaser.last-reply": "Последната &ndash; Показване на последния отговор, или „Няма отговори“, ако все още няма такива.",

View File

@@ -2,6 +2,7 @@
"posts": "Публикации",
"allow-files": "Позволяване на потребителите да качват обикновени файлове",
"private": "Качените файлове да бъдат частни",
"strip-exif-data": "Премахване на данните EXIF",
"private-extensions": "Файлови разширения, които да бъдат частни",
"private-uploads-extensions-help": "Въведете списък от файлови разширения, разделени със запетаи, които искате да бъдат частни (например <code>pdf,xls,doc</code>). Ако оставите това поле празно, всички файлове ще бъдат частни.",
"resize-image-width-threshold": "Преоразмеряване на изображенията, ако са по-широки от определената ширина",

View File

@@ -34,13 +34,15 @@
"online-cutoff-help": "Ако потребителят не извършва никакви действия през този период, ще бъде смятан за неактивен и няма да получава известия в реално време.",
"registration": "Регистриране на потребителите",
"registration-type": "Вид регистриране",
"registration-approval-type": "Вид одобрение на регистрацията",
"registration-type.normal": "Обикновено",
"registration-type.admin-approval": "Одобрена от администратор",
"registration-type.admin-approval-ip": "Одобрена от администратор по IP адрес",
"registration-type.invite-only": "Само с покана",
"registration-type.admin-invite-only": "Само с покана от администратор",
"registration-type.disabled": "Без регистриране",
"registration-type.help": "Обикновена — Потребителите могат да се регистрират от страницата /register.<br/>\nОдобрена от администратор — Потребителските регистрации се поставят в <a href=\"%1/admin/manage/registration\">опашка за одобрение</a>, която администраторите преглеждат.<br/>\nОдобрена от администратор по IP адрес — Новите потребители се регистрират по обикновения начин, а онези, от чиито IP адрес вече са се регистрирали други акаунти, се нуждаят от одобрението на администратор.<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-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.max-invites": "Максимален брой покани на потребител",
"max-invites": "Максимален брой покани на потребител",
"max-invites-help": "0 = няма ограничение. Администраторите могат да разпращат неограничен брой покани.<br>Тази стойност се използва, само ако е избран режимът „Само с покана“.",

View File

@@ -13,7 +13,7 @@
"welcome.cta": "Натиснете тук, за да потвърдите своята е-поща.",
"invitation.text1": "%1 Ви покани да се присъедините към %2",
"invitation.text2": "Поканата Ви ще изтече след %1 дни.",
"invitation.ctr": "Натиснете тук, за да си създадете акаунт.",
"invitation.cta": "Натиснете тук, за да си създадете акаунт.",
"reset.text1": "Получихме заявка за подновяване на Вашата парола, най-вероятно защото сте я забравили. Ако това не е така, моля не обръщайте внимание на това е-писмо.",
"reset.text2": "За да продължите с процедурата по подновяване на паролата, моля последвайте следната връзка:",
"reset.cta": "Натиснете тук, за да нулирате паролата си",
@@ -27,15 +27,23 @@
"digest.week": "месец",
"digest.month": "година",
"digest.subject": "Резюме за %1",
"digest.title": "Дневното Ви резюме",
"digest.title.day": "Дневното Ви резюме",
"digest.title.week": "Седмичното Ви резюме",
"digest.title.month": "Месечното Ви резюме",
"notif.chat.subject": "Получено е ново съобщение от %1",
"notif.chat.cta": "Натиснете тук, за да продължите дискусията",
"notif.chat.unsub.info": "Това известие за разговор беше изпратено до Вас поради настройките Ви за абонаментите.",
"notif.post.cta": "Натиснете тук, за да прочетете цялата тема",
"notif.post.unsub.info": "Това известие за публикация беше изпратено до Вас поради настройките Ви за абонаментите.",
"notif.cta": "Натиснете тук, за да преминете към форума",
"notif.post.unsub.one-click": "Или можете да се отпишете от подобни бъдещи съобщения, като натиснете",
"notif.cta": "Към форума",
"notif.cta-new-reply": "Преглед на публикацията",
"notif.cta-new-chat": "Преглед на разговора",
"notif.test.short": "Изпробване на известията",
"notif.test.long": "Това е пробно е-писмо за проверка на работата на известията.",
"test.text1": "Това е пробно е-писмо, за да потвърдим, че изпращачът на е-поща е правилно настроен за Вашия NodeBB.",
"unsub.cta": "Натиснете тук, за да промените тези настройки",
"unsubscribe": "отписване",
"unsub.success": "Повече няма да получавате е-писма от пощенския списък на <strong>%1</strong>",
"banned.subject": "Вие бяхте блокиран(а) от %1",
"banned.text1": "Потребителят %1 беше блокиран от %2.",
"banned.text2": "Това блокиране ще е в сила до %1.",

View File

@@ -11,6 +11,9 @@
"invalid-uid": "Грешен идентификатор на потребител",
"invalid-username": "Грешно потребителско име",
"invalid-email": "Грешна е-поща",
"invalid-fullname": "Грешно пълно име",
"invalid-location": "Грешно местоположение",
"invalid-birthday": "Грешна рождена дата",
"invalid-title": "Грешно заглавие",
"invalid-user-data": "Грешни потребителски данни",
"invalid-password": "Грешна парола",
@@ -23,13 +26,14 @@
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета",
"email-not-confirmed": "Вашата е-поща все още не е потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed": "Няма да можете да публикувате съобщения, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение.",
"email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение. Няма да можете да публикувате съобщения или да пишете в разговори, докато е-пощата Ви не бъде потвърдена.",
"no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща",
"email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.",
"confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.",
"sendmail-not-found": "Изпълнимият файл на „sendmail“ не може да бъде намерен. Моля, уверете се, че е инсталиран и изпълним за потребителя, чрез който е пуснат NodeBB.",
"digest-not-enabled": "Този потребител няма включени резюмета, или системната настройка по подразбиране е да не се изпращат резюмета",
"username-too-short": "Потребителското име е твърде кратко",
"username-too-long": "Потребителското име е твърде дълго",
"password-too-long": "Паролата е твърде дълга",
@@ -99,6 +103,8 @@
"group-needs-owner": "Тази група се нуждае от поне един собственик",
"group-already-invited": "Този потребител вече е бил поканен",
"group-already-requested": "Вашата заявка за членство вече е била изпратена",
"group-join-disabled": "В момента не можете да се присъедините към тази група",
"group-leave-disabled": "В момента не можете да напуснете тази група",
"post-already-deleted": "Тази публикация вече е изтрита",
"post-already-restored": "Тази публикация вече е възстановена",
"topic-already-deleted": "Тази тема вече е изтрита",
@@ -144,7 +150,6 @@
"invite-maximum-met": "Вие сте поканили максимално позволения брой хора (%1 от %2).",
"no-session-found": "Няма намерена сесия на вписване!",
"not-in-room": "Потребителят не е в стаята",
"no-users-in-room": "Няма потребители в тази стая",
"cant-kick-self": "Не можете да изритате себе си от групата",
"no-users-selected": "Няма избран(и) потребител(и)",
"invalid-home-page-route": "Грешен път към началната страница",

View File

@@ -48,7 +48,6 @@
"alert.banned.message": "Вие току-що бяхте блокиран. Сега ще излезете от системата.",
"alert.unfollow": "Вие вече не следвате %1!",
"alert.follow": "Вие следвате %1!",
"online": "На линия",
"users": "Потребители",
"topics": "Теми",
"posts": "Публ.",
@@ -60,6 +59,8 @@
"downvoted": "С отрицателни гласове",
"views": "Прегл.",
"reputation": "Репутация",
"lastpost": "Последна публикация",
"firstpost": "Първа публикация",
"read_more": "още",
"more": "Още",
"posted_ago_by_guest": "публикувано %1 от гост",
@@ -77,6 +78,7 @@
"recentposts": "Скорошни публикации",
"recentips": "Наскоро ползвани IP адреси",
"moderator_tools": "Модераторски инструменти",
"online": "На линия",
"away": "Отсъстващ",
"dnd": "Отпочиващ",
"invisible": "Невидим",

View File

@@ -25,6 +25,7 @@
"details.latest_posts": "Скорошни публикации",
"details.private": "Частна",
"details.disableJoinRequests": "Забраняване на заявките за присъединяване",
"details.disableLeave": "Забраняване на потребители да напускат групата",
"details.grant": "Даване/отнемане на собственост",
"details.kick": "Изгонване",
"details.kick_confirm": "Наистина ли искате да премахнете този член на групата?",
@@ -48,9 +49,11 @@
"event.updated": "Подробностите за групата бяха обновени",
"event.deleted": "Групата „%1“ е изтрита",
"membership.accept-invitation": "Приемане на поканата",
"membership.accept.notification_title": "В момента сте член на <strong>%1</strong>",
"membership.invitation-pending": "Чакаща покана",
"membership.join-group": "Присъединяване към групата",
"membership.leave-group": "Напускане на групата",
"membership.leave.notification_title": "<strong>%1</strong> напусна групата <strong>%2</strong>",
"membership.reject": "Отхвърляне",
"new-group.group_name": "Име на групата:",
"upload-group-cover": "Качване на снимка за показване на групата",

View File

@@ -34,6 +34,9 @@
"chat.kick": "Изгонване",
"chat.show-ip": "Показване на IP адреса",
"chat.owner": "Собственик на стаята",
"chat.system.user-join": "%1 се присъедини към стаята",
"chat.system.user-leave": "%1 напусна стаята",
"chat.system.room-rename": "%2 преименува тази стая: %1",
"composer.compose": "Писане",
"composer.show_preview": "Показване на прегледа",
"composer.hide_preview": "Скриване на прегледа",

View File

@@ -43,6 +43,7 @@
"account/following": "Хора, които %1 следва",
"account/followers": "Хора, които следват %1",
"account/posts": "Публикации от %1",
"account/latest-posts": "Последни публикации от %1",
"account/topics": "Теми, създадени от %1",
"account/groups": "Групите на %1",
"account/watched_categories": "Следените категории на %1",

View File

@@ -9,7 +9,7 @@
"repeat_password": "Потвърдете паролата",
"enter_email": "Моля, въведете <strong>адреса на е-пощата си</strong> и ще Ви изпратим е-писмо с инструкции за това как да достъпите акаунта си.",
"enter_email_address": "Въведете адрес на е-поща",
"password_reset_sent": "Информацията за подновяване на паролата беше изпратена на посочения адрес. Имайте предвид, че може да бъде изпращано само по едно е-писмо на минута.",
"password_reset_sent": "Ако посоченият адрес съответства на съществуващ потребителски акаунт, то вече му е изпратено е-писмо за подновяване на паролата. Имайте предвид, че може да бъде изпращано само по едно е-писмо на минута.",
"invalid_email": "Грешна е-поща / е-пощата не съществува!",
"password_too_short": "Паролата е твърде кратка. Моля, изберете друга парола.",
"passwords_do_not_match": "Двете пароли, които въведохте, са различни.",

View File

@@ -18,11 +18,13 @@
"last_reply_time": "Последен отговор",
"reply-as-topic": "Отговор в нова тема",
"guest-login-reply": "Впишете се, за да отговорите",
"login-to-view": "🔒 Впишете се, за да видите това",
"edit": "Редактиране",
"delete": "Изтриване",
"purge": "Изчистване",
"restore": "Възстановяване",
"move": "Преместване",
"change-owner": "Промяна на собственика",
"fork": "Разделяне",
"link": "Връзка",
"share": "Споделяне",
@@ -64,6 +66,7 @@
"thread_tools.move": "Преместване на темата",
"thread_tools.move-posts": "Преместване на публикациите",
"thread_tools.move_all": "Преместване на всички",
"thread_tools.change_owner": "Промяна на собственика",
"thread_tools.select_category": "Избиране на категория",
"thread_tools.fork": "Разделяне на темата",
"thread_tools.delete": "Изтриване на темата",
@@ -98,6 +101,7 @@
"delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите",
"merge_topics_instruction": "Натиснете темите, които искате да слеете",
"move_posts_instruction": "Натиснете публикациите, които искате да преместите",
"change_owner_instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
"composer.handle_placeholder": "Име",
"composer.discard": "Отхвърляне",
@@ -129,5 +133,7 @@
"diffs.description": "Тази публикация има <strong>%1</strong> варианта. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
"diffs.no-revisions-description": "Тази публикация има <strong>%1</strong> варианта.",
"diffs.current-revision": "текуща версия",
"diffs.original-revision": "оригинална версия"
"diffs.original-revision": "оригинална версия",
"timeago_later": "%1 по-късно",
"timeago_earlier": "%1 по-рано"
}

View File

@@ -26,6 +26,7 @@
"reputation": "Репутация",
"bookmarks": "Отметки",
"watched_categories": "Следени категории",
"change_all": "Промяна на всички",
"watched": "Следени",
"ignored": "Пренебрегвани",
"default-category-watch-state": "Състояние по подразбиране за следенето на категории",
@@ -124,6 +125,7 @@
"follow_topics_you_reply_to": "Следене на темите, в които отговаряте",
"follow_topics_you_create": "Следене на темите, които създавате",
"grouptitle": "Заглавие на групата",
"group-order-help": "Изберете група и използвайте стрелките, за да пренаредите заглавията",
"no-group-title": "Няма заглавие на група",
"select-skin": "Изберете облик",
"select-homepage": "Изберете начална страница",

View File

@@ -2,5 +2,10 @@
"events": "Events",
"no-events": "There are no events",
"control-panel": "Events Control Panel",
"delete-events": "Delete Events"
"filters": "Filters",
"filters-apply": "Apply Filters",
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-perPage": "Per Page"
}

View File

@@ -8,7 +8,7 @@
"custom-js.enable": "Enable Custom Javascript",
"custom-header": "Custom Header",
"custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <code>&lt;head&gt;</code> section of your forum's markup. Script tags are allowed, but are discouraged, as the <a href=\"#custom-header\" data-toggle=\"tab\">Custom Javascript</a> tab is available.",
"custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <code>&lt;head&gt;</code> section of your forum's markup. Script tags are allowed, but are discouraged, as the <a href=\"#custom-js\" data-toggle=\"tab\">Custom Javascript</a> tab is available.",
"custom-header.enable": "Enable Custom Header",
"custom-css.livereload": "Enable Live Reload",

View File

@@ -9,6 +9,7 @@
"plugin-search": "Plugin Search",
"plugin-search-placeholder": "Search for plugin...",
"submit-anonymous-usage": "Submit anonymous plugin usage data.",
"reorder-plugins": "Re-order Plugins",
"order-active": "Order Active Plugins",
"dev-interested": "Interested in writing plugins for NodeBB?",
@@ -29,6 +30,8 @@
"plugin-item.more-info": "For more information:",
"plugin-item.unknown": "Unknown",
"plugin-item.unknown-explanation": "The state of this plugin could not be determined, possibly due to a misconfiguration error.",
"plugin-item.compatible": "This plugin works on NodeBB %1",
"plugin-item.not-compatible": "This plugin has no compatibility data, make sure it works before installing on your production environment.",
"alert.enabled": "Plugin Enabled",
"alert.disabled": "Plugin Disabled",

View File

@@ -18,5 +18,13 @@
"alert.update-success": "Successfully updated widgets",
"alert.clone-success": "Successfully cloned widgets",
"error.select-clone": "Please select a page to clone from"
"error.select-clone": "Please select a page to clone from",
"title": "Title",
"title.placeholder": "Title (only shown on some containers)",
"container": "Container",
"container.placeholder": "Drag and drop a container or enter HTML here.",
"show-to-groups": "Show to groups",
"hide-from-groups": "Hide from groups",
"hide-on-mobile": "Hide on mobile"
}

View File

@@ -2,7 +2,7 @@
"forum-traffic": "Forum Traffic",
"page-views": "Page Views",
"unique-visitors": "Unique Visitors",
"users": "Users",
"new-users": "New Users",
"posts": "Posts",
"topics": "Topics",
"page-views-seven": "Last 7 Days",
@@ -14,9 +14,12 @@
"page-views-custom-help": "Enter a date range of page views you would like to view. If no date picker is available, the accepted format is <code>YYYY-MM-DD</code>",
"page-views-custom-error": "Please enter a valid date range in the format <code>YYYY-MM-DD</code>",
"stats.day": "Day",
"stats.week": "Week",
"stats.month": "Month",
"stats.yesterday": "Yesterday",
"stats.today": "Today",
"stats.last-week": "Last Week",
"stats.this-week": "This Week",
"stats.last-month": "Last Month",
"stats.this-month": "This Month",
"stats.all": "All Time",
"updates": "Updates",

View File

@@ -45,7 +45,12 @@
"privileges.search-group": "Add Group",
"privileges.copy-to-children": "Copy to Children",
"privileges.copy-from-category": "Copy from Category",
"privileges.copy-privileges-to-all-categories": "Copy to All Categories",
"privileges.copy-group-privileges-to-children": "Copy this group's privileges to the children of this category.",
"privileges.copy-group-privileges-to-all-categories": "Copy this group's privileges to all categories.",
"privileges.copy-group-privileges-from": "Copy this group's privileges from another category.",
"privileges.inherit": "If the <code>registered-users</code> group is granted a specific privilege, all other groups receive an <strong>implicit privilege</strong>, even if they are not explicitly defined/checked. This implicit privilege is shown to you because all users are part of the <code>registered-users</code> user group, and so, privileges for additional groups need not be explicitly granted.",
"privileges.copy-success": "Privileges copied!",
"analytics.back": "Back to Categories List",
"analytics.title": "Analytics for \"%1\" category",

View File

@@ -0,0 +1,21 @@
{
"lead": "A listing of digest delivery stats and times is displayed below.",
"disclaimer": "Please be advised that email delivery is not guaranteed, due to the nature of email technology. Many variables factor into whether an email sent to the recipient server is ultimately delivered into the user's inbox, including server reputation, blacklisted IP addresses, and whether DKIM/SPF/DMARC is configured.",
"disclaimer-continued": "A successful delivery means the message was sent successfully by NodeBB and acknowledged by the recipient server. It does not mean the email landed in the inbox. For best results, we recommend using a third-party email delivery service such as <a href=\"https://sendgrid.com/why-sendgrid/\">SendGrid</a>.",
"user": "User",
"subscription": "Subscription Type",
"last-delivery": "Last successful delivery",
"default": "System default",
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: &quot;<strong>%1</strong>&quot;",
"resend": "Resend Digest",
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
"resent-month": "Monthly digest resent",
"null": "<em>Never</em>",
"manual-run": "Manual digest run:",
"no-delivery-data": "No delivery data found"
}

View File

@@ -25,7 +25,8 @@
"edit.show-badge": "Show Badge",
"edit.private-details": "If enabled, joining of groups requires approval from a group owner.",
"edit.private-override": "Warning: Private groups is disabled at system level, which overrides this option.",
"edit.disable-requests": "Disable join requests",
"edit.disable-join": "Disable join requests",
"edit.disable-leave": "Disallow users from leaving the group",
"edit.hidden": "Hidden",
"edit.hidden-details": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"edit.add-user": "Add User to Group",

View File

@@ -1,6 +1,6 @@
{
"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; Posting Restrictions</a> and enable <strong>Post Queue</strong>.",
"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>.",
"user": "User",
"category": "Category",
"title": "Title",

View File

@@ -1,7 +1,8 @@
{
"global": "Global",
"global.no-users": "No user-specific global privileges.",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"chat": "Chat",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
@@ -15,7 +16,7 @@
"view-groups": "View Groups",
"allow-local-login": "Local Login",
"allow-group-creation": "Group Create",
"view-users-info": "View Users Info",
"find-category": "Find Category",
"access-category": "Access Category",
"access-topics": "Access Topics",

View File

@@ -15,6 +15,8 @@
"delete": "Delete User(s)",
"purge": "Delete User(s) and Content",
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
@@ -28,6 +30,11 @@
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",
"250-per-page": "250 per page",
"500-per-page": "500 per page",
"search.uid": "By User ID",
"search.uid-placeholder": "Enter a user ID to search",
"search.username": "By User Name",

View File

@@ -18,6 +18,7 @@
"manage/groups": "Groups",
"manage/ip-blacklist": "IP Blacklist",
"manage/uploads": "Uploads",
"manage/digest": "Digests",
"section-settings": "Settings",
"settings/general": "General",

View File

@@ -1,6 +1,7 @@
{
"maintenance-mode": "Maintenance Mode",
"maintenance-mode.help": "When the forum is in maintenance mode, all requests will be redirected to a static holding page. Administrators are exempt from this redirection, and are able to access the site normally.",
"maintenance-mode.status": "Maintenance Mode Status Code",
"maintenance-mode.message": "Maintenance Message",
"headers": "Headers",
"headers.allow-from": "Set ALLOW-FROM to Place NodeBB in an iFrame",

View File

@@ -6,6 +6,6 @@
"max-length": "Maximum length of chat messages",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages in milliseconds",
"restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit chat messages after posting. (0 disabled)",
"restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete chat messages after posting. (0 disabled)"
"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

@@ -4,6 +4,7 @@
"consent.message": "Notification message",
"consent.acceptance": "Acceptance message",
"consent.link-text": "Policy Link Text",
"consent.link-url": "Policy Link URL",
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",

View File

@@ -1,12 +1,12 @@
{
"email-settings": "Email Settings",
"address": "Email Address",
"email-settings": "ইমেইল সেটিংস",
"address": "ইমেইল অ্যাড্রেস",
"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).",
"sendmail-rate-limit": "<em>X</em> ইমেইল পাঠাও... ",
"sendmail-rate-delta": "... প্রতি<em>X</em> মিলিসেকেন্ডে",
"sendmail-rate-help": "NodeBB মেইলার কে নির্দেশ দিন যে একবারে পাঠানো মেইলের সংখ্যা সিমিত রাখতে যাতে ইমেইল গ্রাহক সার্ভিস ওভারলোডেড না হয়ে যায়। এই অপশন কার্যকর হবে না যদি SMTP Transport চালু থাকে (নিচে দেখুন)। ",
"smtp-transport": "SMTP Transport",
"smtp-transport.enabled": "Use an external email server to send emails",
@@ -33,8 +33,8 @@
"testing.select": "Select Email Template",
"testing.send": "Send Test Email",
"testing.send-help": "The test email will be sent to the currently logged in user's email address.",
"subscriptions": "Email Subscriptions",
"subscriptions.disable": "Disable subscriber notification emails",
"subscriptions": "ইমেইল ডাইজেস্ট",
"subscriptions.disable": "ইমেইল ডাইজেস্ট নিষ্ক্রিয়",
"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>"
}

View File

@@ -7,19 +7,22 @@
"sorting.most-posts": "Most Posts",
"sorting.topic-default": "Default Topic Sorting",
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
"restrictions-new.post-queue": "Enable new user restrictions",
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval.",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users.",
"restrictions.seconds-between": "Seconds between posts",
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-defore-new": "Seconds before new user can post",
"restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit posts after posting. (0 disabled)",
"restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete posts after posting. (0 disabled)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics. (0 disabled)",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",
"restrictions.min-title-length": "Minimum Title Length",
"restrictions.max-title-length": "Maximum Title Length",
"restrictions.min-post-length": "Minimum Post Length",
@@ -29,6 +32,8 @@
"timestamp": "Timestamp",
"timestamp.cut-off": "Date cut-off (in days)",
"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>",
"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

@@ -2,6 +2,7 @@
"posts": "Posts",
"allow-files": "Allow users to upload regular files",
"private": "Make uploaded files private",
"strip-exif-data": "Strip EXIF Data",
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",

View File

@@ -34,13 +34,15 @@
"online-cutoff-help": "If user performs no actions for this duration, they are considered inactive and they do not receive realtime updates.",
"registration": "User Registration",
"registration-type": "Registration Type",
"registration-approval-type": "Registration Approval Type",
"registration-type.normal": "Normal",
"registration-type.admin-approval": "Admin Approval",
"registration-type.admin-approval-ip": "Admin Approval for IPs",
"registration-type.invite-only": "Invite Only",
"registration-type.admin-invite-only": "Admin Invite Only",
"registration-type.disabled": "No registration",
"registration-type.help": "Normal - Users can register from the /register page.<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/>\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-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.max-invites": "Maximum Invitations per User",
"max-invites": "Maximum Invitations per User",
"max-invites-help": "0 for no restriction. Admins get infinite invitations<br>Only applicable for \"Invite Only\"",

View File

@@ -13,7 +13,7 @@
"welcome.cta": "আপনার ইমেইল এড্রেস নিশ্চিত করার জন্য এখানে ক্লিক করুন",
"invitation.text1": "%1 আপনাকে %2 তে যোগ দিতে আমন্ত্রণ জানিয়েছেন ",
"invitation.text2": "আপনার আমন্ত্রন পত্র %1 দিন পর বাতিল হয়ে যাবে",
"invitation.ctr": "আপনার একাউন্ট খুলতে এখানে ক্লিক করুন",
"invitation.cta": "Click here to create your account.",
"reset.text1": "আমরা আপনার পাসওয়ার্ড রিসেট করার অনুরোধ পেয়েছি, সম্ভবত আপনি আপনার পাসওয়ার্ড ভুলে গিয়েছেন বলেই। তবে যদি তা না হয়ে থাকে, তাহলে এই মেইলকে উপেক্ষা করতে পারেন।",
"reset.text2": "পাসওয়ার্ড রিসেট করতে নিচের লিংকে ক্লিক করুন",
"reset.cta": "পাসওয়ার্ড রিসেট করতে এখানে ক্লিক করুন",
@@ -27,15 +27,23 @@
"digest.week": "সপ্তাহ",
"digest.month": "মাস",
"digest.subject": "Digest for %1",
"digest.title": "Your Daily Digest",
"digest.title.day": "Your Daily Digest",
"digest.title.week": "Your Weekly Digest",
"digest.title.month": "Your Monthly Digest",
"notif.chat.subject": "%1 এর থেকে নতুন মেসেজ এসেছে।",
"notif.chat.cta": "কথপোকথন চালিয়ে যেতে এখানে ক্লিক করুন",
"notif.chat.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনার এই নোটিফিকেশন পাঠানো হয়েছে",
"notif.post.cta": "পুরো বিষয়টি পড়তে এখানে ক্লিক করুন",
"notif.post.unsub.info": "আপনার সাবস্ক্রিপশন সেটিংসের কারনে আপনার এই বার্তাটি পাঠানো হয়েছে",
"notif.cta": "ফোরামে যেতে এখানে ক্লিক করুন",
"notif.post.unsub.one-click": "Alternatively, unsubscribe from future emails like this, by clicking",
"notif.cta": "To the forum",
"notif.cta-new-reply": "View Post",
"notif.cta-new-chat": "View Chat",
"notif.test.short": "Testing Notifications",
"notif.test.long": "This is a test of the notifications email. Send help!",
"test.text1": "আপনি সঠিকভাবে নোডবিবির জন্য মেইলার সেটাপ করেছেন কিনা নিশ্চিত করার জন্য এই টেষ্ট ইমেইল পাঠানো হয়েছে",
"unsub.cta": "সেটিংসগুলো পরিবর্তন করতে এখানে ক্লিক করুন",
"unsubscribe": "unsubscribe",
"unsub.success": "You will no longer receive emails from the <strong>%1</strong> mailing list",
"banned.subject": "আপনি %1 এ নিষিদ্ধ হয়েছেন",
"banned.text1": "ব্যবহারকারি %1 %2 তে নিষিদ্ধ হয়েছেন",
"banned.text2": "This ban will last until %1.",

View File

@@ -11,6 +11,9 @@
"invalid-uid": "ভুল ব্যবহারকারী নাম্বার",
"invalid-username": "ভুল ইউজারনেম",
"invalid-email": "ভুল ইমেইল",
"invalid-fullname": "Invalid Fullname",
"invalid-location": "Invalid Location",
"invalid-birthday": "Invalid Birthday",
"invalid-title": "Invalid title",
"invalid-user-data": "ভুল ব্যবহারকারী তথ্য",
"invalid-password": "ভুল পাসওয়ার্ড",
@@ -23,13 +26,14 @@
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
"email-taken": "ইমেইল আগেই ব্যবহৃত",
"email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।",
"email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.",
"email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.",
"email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.",
"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.",
"no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email",
"email-confirm-failed": "We could not confirm your email, please try again later.",
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
"digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests",
"username-too-short": "খুব ছোট ইউজারনেম",
"username-too-long": "ইউজারনেম বড় হয়ে গিয়েছে",
"password-too-long": "Password too long",
@@ -99,6 +103,8 @@
"group-needs-owner": "This group requires at least one owner",
"group-already-invited": "This user has already been invited",
"group-already-requested": "Your membership request has already been submitted",
"group-join-disabled": "You are not able to join this group at this time",
"group-leave-disabled": "You are not able to leave this group at this time",
"post-already-deleted": "এই পোস্টটি ইতিমধ্যে ডিলিট করা হয়ে গিয়েছে",
"post-already-restored": "এই পোষ্টটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
"topic-already-deleted": "এই টপিকটি ইতিমধ্যে ডিলিট করা হয়েছে",
@@ -144,7 +150,6 @@
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
"no-session-found": "No login session found!",
"not-in-room": "User not in room",
"no-users-in-room": "No users in this room",
"cant-kick-self": "You can't kick yourself from the group",
"no-users-selected": "No user(s) selected",
"invalid-home-page-route": "Invalid home page route",

View File

@@ -48,7 +48,6 @@
"alert.banned.message": "আপনাকে কেবলই নিষিদ্ধ করা হয়েছে, আপনি এখন লগআউট হয়ে যাবেন।",
"alert.unfollow": "আপনি আর %1 কে অনুসরণ করছেন না!",
"alert.follow": "আপনি এখন %1 কে অনুসরণ করছেন!",
"online": "অনলাইন",
"users": "ব্যবহারকারীগণ",
"topics": "টপিক",
"posts": "পোস্টগুলি",
@@ -60,6 +59,8 @@
"downvoted": "Downvoted",
"views": "দেখেছেন",
"reputation": "সন্মাননা",
"lastpost": "Last post",
"firstpost": "First post",
"read_more": "আরো পড়ুন",
"more": "আরো...",
"posted_ago_by_guest": "অতিথি পোস্ট করেছেন %1",
@@ -77,6 +78,7 @@
"recentposts": "সাম্প্রতিক পোস্ট",
"recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ",
"moderator_tools": "Moderator Tools",
"online": "অনলাইন",
"away": "দূরে",
"dnd": "Do not disturb",
"invisible": "অদৃশ্য",

View File

@@ -25,6 +25,7 @@
"details.latest_posts": "সর্বশেষ পোষ্টসমূহ",
"details.private": "Private",
"details.disableJoinRequests": "Disable join requests",
"details.disableLeave": "Disallow users from leaving the group",
"details.grant": "Grant/Rescind Ownership",
"details.kick": "Kick",
"details.kick_confirm": "Are you sure you want to remove this member from the group?",
@@ -48,9 +49,11 @@
"event.updated": "Group details have been updated",
"event.deleted": "The group \"%1\" has been deleted",
"membership.accept-invitation": "Accept Invitation",
"membership.accept.notification_title": "You are now a member of <strong>%1</strong>",
"membership.invitation-pending": "Invitation Pending",
"membership.join-group": "Join Group",
"membership.leave-group": "Leave Group",
"membership.leave.notification_title": "<strong>%1</strong> has left group <strong>%2</strong>",
"membership.reject": "Reject",
"new-group.group_name": "Group Name:",
"upload-group-cover": "Upload group cover",

View File

@@ -34,6 +34,9 @@
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.owner": "Room Owner",
"chat.system.user-join": "%1 has joined the room",
"chat.system.user-leave": "%1 has left the room",
"chat.system.room-rename": "%2 has renamed this room: %1",
"composer.compose": "Compose",
"composer.show_preview": "Show Preview",
"composer.hide_preview": "Hide Preview",

View File

@@ -43,6 +43,7 @@
"account/following": "People %1 follows",
"account/followers": "People who follow %1",
"account/posts": "Posts made by %1",
"account/latest-posts": "Latest posts made by %1",
"account/topics": "Topics created by %1",
"account/groups": "%1's Groups",
"account/watched_categories": "%1's Watched Categories",

View File

@@ -9,7 +9,7 @@
"repeat_password": "পাসওয়ার্ড নিশ্চিত করুন",
"enter_email": "অনুগ্রহপূর্বক আপনার ইমেইল এড্রেস প্রদান করুন, আমরা আপনাকে আপনার পাসওয়ার্ড রিসেট সম্পর্কিত তথ্যাবলী ইমেইলে পাঠিয়ে দিবো। ",
"enter_email_address": "আপনার ইমেইল এড্রেস",
"password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.",
"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.",
"invalid_email": "ভুল ইমেইল / ইমেইল ডেটাবেইজে নেই",
"password_too_short": "The password entered is too short, please pick a different password.",
"passwords_do_not_match": "The two passwords you've entered do not match.",

View File

@@ -18,11 +18,13 @@
"last_reply_time": "Last reply",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "Log in to reply",
"login-to-view": "🔒 Log in to view",
"edit": "সম্পাদণা",
"delete": "মুছে ফেলুন",
"purge": "পার্জ",
"restore": "পুনরূদ্ধার",
"move": "সরানো",
"change-owner": "Change Owner",
"fork": "শাখা",
"link": "লিঙ্ক",
"share": "শেয়ার",
@@ -64,6 +66,7 @@
"thread_tools.move": "টপিক সরান",
"thread_tools.move-posts": "Move Posts",
"thread_tools.move_all": "সমস্ত টপিক সরান",
"thread_tools.change_owner": "Change Owner",
"thread_tools.select_category": "Select Category",
"thread_tools.fork": "টপিক ফর্ক করুন",
"thread_tools.delete": "টপিক মুছে ফেলুন",
@@ -98,6 +101,7 @@
"delete_posts_instruction": "Click the posts you want to delete/purge",
"merge_topics_instruction": "Click the topics you want to merge",
"move_posts_instruction": "Click the posts you want to move",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
"composer.handle_placeholder": "Name",
"composer.discard": "বাতিল",
@@ -129,5 +133,7 @@
"diffs.description": "This post has <strong>%1</strong> revisions. Click one of the revisions below to see the post content at that point in time.",
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
"diffs.current-revision": "current revision",
"diffs.original-revision": "original revision"
"diffs.original-revision": "original revision",
"timeago_later": "%1 later",
"timeago_earlier": "%1 earlier"
}

View File

@@ -26,6 +26,7 @@
"reputation": "সন্মাননা",
"bookmarks": "Bookmarks",
"watched_categories": "Watched categories",
"change_all": "Change All",
"watched": "দেখা হয়েছে",
"ignored": "Ignored",
"default-category-watch-state": "Default category watch state",
@@ -124,6 +125,7 @@
"follow_topics_you_reply_to": "Watch topics that you reply to",
"follow_topics_you_create": "Watch topics you create",
"grouptitle": "Group Title",
"group-order-help": "Select a group and use the arrows to order titles",
"no-group-title": "No group title",
"select-skin": "Select a Skin",
"select-homepage": "Select a Homepage",

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