Compare commits

..

205 Commits

Author SHA1 Message Date
Misty Release Bot
0a3ac7170a chore: incrementing version number - v3.8.2 2024-05-29 14:19:23 +00:00
Barış Soner Uşaklı
7969e62d06 fix: wrong var for ignored 2024-05-25 12:36:04 -04:00
Barış Soner Uşaklı
29dbe92d6e feat: show ignored/watched topics in topic list, closes #10974 2024-05-25 12:28:39 -04:00
Barış Soner Uşaklı
e0515080a0 feat: convert "All Votes Are Public" toggle to vote visibility
closes #12597
2024-05-24 17:12:44 -04:00
Opliko
56ef2bdd67 fix: reduce docker image size again and speed up build
it really was just order of operations...
resolves #12582
2024-05-23 18:38:39 -04:00
Barış Soner Uşaklı
83facb7df6 chore: up composer 2024-05-17 17:11:18 -04:00
Barış Soner Uşaklı
6214336ce1 fix: update thumb count when removing thumbs 2024-05-17 17:10:44 -04:00
Barış Soner Uşaklı
17ea61a0ea chore: up harmony 2024-05-16 12:02:43 -04:00
Barış Soner Uşaklı
2c0f8c913b refactor: render 2024-05-16 07:47:49 -04:00
Misty Release Bot
5ef3e0f3a0 chore: update changelog for v3.8.1 2024-05-15 20:36:21 +00:00
Misty Release Bot
f491d43273 chore: incrementing version number - v3.8.1 2024-05-15 20:36:20 +00:00
Barış Soner Uşaklı
75abca912a Revert "test: remove node 18"
This reverts commit 6bd22e5337.
2024-05-15 16:17:59 -04:00
Barış Soner Uşaklı
6111db5a37 Revert "test: use node 20"
This reverts commit a40f54aa87.
2024-05-15 16:17:55 -04:00
Barış Soner Uşaklı
a40f54aa87 test: use node 20 2024-05-15 14:02:31 -04:00
Barış Soner Uşaklı
6bd22e5337 test: remove node 18 2024-05-15 14:02:05 -04:00
Barış Soner Uşaklı
1d1f499bc0 fix: wrong mention version 2024-05-15 13:49:10 -04:00
Misty Release Bot
2ef2750ded chore: update changelog for v3.8.0 2024-05-15 15:55:45 +00:00
Misty Release Bot
27c4851bb9 chore: incrementing version number - v3.8.0 2024-05-15 15:55:44 +00:00
renovate[bot]
7a2b9639b2 fix(deps): update dependency nodebb-plugin-2factor to v7.5.1 (#12575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 11:43:35 -04:00
Barış Soner Uşaklı
fb53bbca1e Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-05-15 11:26:09 -04:00
Barış Soner Uşaklı
135962d9c5 Merge branch 'master' into develop 2024-05-15 11:26:03 -04:00
renovate[bot]
7a8116a471 chore(deps): update redis docker tag to v7.2.4 (#12272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-14 10:24:35 -04:00
Misty Release Bot
c917acf612 Latest translations and fallbacks 2024-05-14 09:19:04 +00:00
renovate[bot]
88ff9f9d62 chore(deps): update actions/cache action to v4 (#12563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 11:07:12 -04:00
renovate[bot]
19602dcd5a fix(deps): update dependency ace-builds to v1.33.2 (#12572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 11:05:47 -04:00
renovate[bot]
339f62674a chore(deps): update postgres docker tag to v16.3 (#12560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 11:05:34 -04:00
renovate[bot]
dc4f32af94 fix(deps): update dependency esbuild to v0.21.2 (#12569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 11:05:22 -04:00
renovate[bot]
035ced852d fix(deps): update dependency rimraf to v5.0.7 (#12568)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 11:05:13 -04:00
Barış Soner Uşaklı
49a510e925 fix: chat message search, closes #12571 2024-05-12 21:23:47 -04:00
Barış Soner Uşaklı
d926d9dd51 fix: chat message search, closes #12571 2024-05-12 21:23:35 -04:00
Misty Release Bot
6161ff0263 Latest translations and fallbacks 2024-05-12 09:18:36 +00:00
Opliko
995b2de551 fix(docker): support all previously used env variables correctly (#12567)
* fix: set build verb default

* fix: use override_update_lock again
2024-05-11 11:01:17 -04:00
renovate[bot]
0716006201 chore(deps): update dependency sass-embedded to v1.77.1 (#12565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 20:16:26 -04:00
renovate[bot]
7a64410a92 fix(deps): update dependency sass to v1.77.1 (#12566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 20:16:19 -04:00
Opliko
bc807c4629 fix: some issues with "small" docker improvements (#12564)
* fix: support previous FORCE_BUILD_BEFORE_START variable too

* fix: attempt to fix permission issues and inform properly on failure

* fix: profile-gate redis and re-add profile-gated postgres to main file

For now it's better to maintain compatibility - current postgres users will run mongodb unnecessarily withuot changes, but at least it'll still work fine
2024-05-10 20:05:46 -04:00
renovate[bot]
185d61fce9 fix(deps): update dependency rimraf to v5.0.6 (#12562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 16:00:37 -04:00
Barış Soner Uşaklı
31fccc5946 Merge branch 'master' into develop 2024-05-10 11:16:56 -04:00
Opliko
f4f0eb30dc Small docker improvements and fixes (#12335)
* feat: disable uneecessary npm features

disables npm audit, fund and update-notifier for a few second startup speedup

* fix: make default actually defaults not forced values

* feat: upgrade on container changes

* feat: support changing build verb

* fix: use local volumes instead of bind mounts

* fix: save just the hash without any unexpected whitespace

* feat: use run with mount instead of copying for cross-platfomr builds

* ci: try with minimal cache

* ci: don't fetch all branches

* feat: bsic support for other package managers via PACKAGE_MANAGER env var

* refactor: better structured entrypoint

Co-authored-by: NavyStack <137406386+NavyStack@users.noreply.github.com>

* ci: properly cache the node_modules mount

* fix: syntax error

* refactor: fine tune docker-related files

* ci: docker image taging (time, latest)

* fix: remove the trailing slash for correct directory path

* docker: todo- use environment variables to create files

* docker: fix permissions

* docker: fix permissions

* docker: fix stage

* feat: auto-upgrade on package.json changes

* fix: don't profile-gate postgres

---------

Co-authored-by: NavyStack <137406386+NavyStack@users.noreply.github.com>
Co-authored-by: NavyStack <navystack@askfront.com>
2024-05-10 11:10:42 -04:00
renovate[bot]
7a00944552 fix(deps): update dependency validator to v13.12.0 (#12556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 11:04:40 -04:00
renovate[bot]
b8a52863d6 chore(deps): update postgres docker tag to v16.3 (#12555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 11:03:32 -04:00
renovate[bot]
d3840280ec fix(deps): update dependency sass to v1.77.0 (#12550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 11:03:23 -04:00
renovate[bot]
0fa115610a chore(deps): update dependency sass-embedded to v1.77.0 (#12548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 10:38:17 -04:00
renovate[bot]
751a143e4d fix(deps): update dependency mongodb to v6.6.1 (#12547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 10:31:06 -04:00
renovate[bot]
ed07cfccff fix(deps): update dependency esbuild to v0.21.1 (#12549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 10:30:57 -04:00
renovate[bot]
b4023ff9f3 chore(deps): update coverallsapp/github-action action to v2.3.0 (#12554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 10:30:35 -04:00
renovate[bot]
5264decaa5 fix(deps): update dependency semver to v7.6.2 (#12552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 10:30:15 -04:00
Barış Soner Uşaklı
36016ee138 refactor: add missing form-label class 2024-05-09 11:50:59 -04:00
renovate[bot]
4813772ce8 fix(deps): update dependency mongodb to v6.6.0 (#12544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 17:02:23 -04:00
renovate[bot]
8fcfb18101 fix(deps): update dependency nodebb-plugin-composer-default to v10.2.35 (#12546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 17:02:12 -04:00
Barış Soner Uşaklı
1e3a321da6 chore: up themes 2024-05-06 16:22:27 -04:00
Barış Soner Uşaklı
79cc9ad085 use upper case methods 2024-05-03 10:55:47 -04:00
Barış Soner Uşaklı
db76b815ca Merge branch 'master' into develop 2024-05-03 10:54:59 -04:00
Misty Release Bot
febeede50b chore: update changelog for v3.7.5 2024-05-03 14:18:22 +00:00
Misty Release Bot
ffd6d56b27 Latest translations and fallbacks 2024-05-02 09:19:27 +00:00
renovate[bot]
8f60603bda fix(deps): update dependency sass to v1.76.0 (#12541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-01 10:43:59 -04:00
renovate[bot]
7ee4272470 chore(deps): update dependency sass-embedded to v1.76.0 (#12542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-01 10:43:52 -04:00
renovate[bot]
ad708c9ff3 fix(deps): update dependency tough-cookie to v4.1.4 (#12540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 10:54:57 -04:00
Barış Soner Uşaklı
5eb8c90bf8 test: fix schema 2024-04-29 10:39:36 -04:00
Barış Soner Uşaklı
325d00ea94 feat: track uid for email/username changes, closes #12454 2024-04-29 10:32:07 -04:00
renovate[bot]
c036786cba fix(deps): update dependency lru-cache to v10.2.2 (#12532)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 09:43:07 -04:00
renovate[bot]
3f62b8927a fix(deps): update dependency jquery-ui to v1.13.3 (#12534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 09:42:59 -04:00
renovate[bot]
d5bfe32e61 fix(deps): update dependency nodebb-widget-essentials to v7.0.16 (#12535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 09:42:52 -04:00
Misty Release Bot
ca354e0b9d Latest translations and fallbacks 2024-04-29 09:20:03 +00:00
Julian Lam
2a58d0996d fix: use reference object for post summary v3 api call 2024-04-26 14:11:36 -04:00
Julian Lam
88a5dfb7b7 fix: unintentional object pollution by buildForSelectCategories 2024-04-26 12:14:11 -04:00
Julian Lam
dc35bf8bb5 fix: getCategoryById to return shallow clone of object 2024-04-26 10:41:09 -04:00
Misty Release Bot
c9a92555f0 Latest translations and fallbacks 2024-04-26 09:19:02 +00:00
Barış Soner Uşaklı
983a35e638 fix: #12533, go to post after changing owner 2024-04-25 19:41:40 -04:00
Barış Soner Uşaklı
466ad0d95c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-04-25 11:15:30 -04:00
Barış Soner Uşaklı
f764a3ea5c use cid:<cid>:pids instead of posts:pid 2024-04-25 11:15:23 -04:00
renovate[bot]
dad57e04de chore(deps): update commitlint monorepo to v19.3.0 (#12526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-25 10:09:15 -04:00
renovate[bot]
bc51968eaf fix(deps): update dependency nodebb-plugin-composer-default to v10.2.34 (#12530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-25 10:08:57 -04:00
Misty Release Bot
19bd3eea5a Latest translations and fallbacks 2024-04-25 09:19:30 +00:00
Barış Soner Uşaklı
af205cc48a feat: closes #12477, allow editing moderation notes 2024-04-24 11:10:04 -04:00
Misty Release Bot
d2175c6de3 Latest translations and fallbacks 2024-04-24 09:19:15 +00:00
Barış Soner Uşaklı
57422420a2 test: fix redis tests 2024-04-23 13:42:14 -04:00
Barış Soner Uşaklı
fed5165ffb test: fix moderation note test 2024-04-23 13:31:35 -04:00
Barış Soner Uşaklı
c73f759cf1 test: add back timestamp 2024-04-23 13:23:20 -04:00
Barış Soner Uşaklı
ce9e1cf19b cap number of posts checked
activity pub returns 40k 🏮
2024-04-23 13:17:50 -04:00
Barış Soner Uşaklı
3ca42ed3ee Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-04-23 13:17:32 -04:00
Barış Soner Uşaklı
7d24b04b3b feat: parse moderation notes as markdown
https://github.com/NodeBB/NodeBB/issues/12477
2024-04-23 13:00:47 -04:00
Misty Release Bot
19f8a77ce2 chore(i18n): fallback strings for new resources: nodebb.flags, nodebb.user 2024-04-23 16:40:29 +00:00
Barış Soner Uşaklı
b429045ff6 feat: closes #12490, show profile flags on account info page 2024-04-23 12:39:51 -04:00
renovate[bot]
18a843bc1e fix(deps): update dependency ace-builds to v1.33.1 (#12527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 11:26:30 -04:00
Misty Release Bot
7ad477af9c chore(i18n): fallback strings for new resources: nodebb.user 2024-04-23 15:16:29 +00:00
Barış Soner Uşaklı
985663faae feat: closes #12491, add unban & unmute history
to account/info page
2024-04-23 11:16:04 -04:00
renovate[bot]
bde9136b92 fix(deps): update fontsource monorepo (#12523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 11:08:55 -04:00
renovate[bot]
d6d0ebd592 fix(deps): update dependency ipaddr.js to v2.2.0 (#12522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 11:08:46 -04:00
renovate[bot]
5e7ec5b6b8 fix(deps): update dependency cropperjs to v1.6.2 (#12524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 11:08:35 -04:00
Barış Soner Uşaklı
f28923858e fix: topic selection in merge
if merge was started from inside the topic
2024-04-22 10:58:42 -04:00
Barış Soner Uşaklı
ce03680f04 fix: closes #12474, fix search dropdown on mobile for merge
add remove topic buttons
2024-04-22 10:24:28 -04:00
Misty Release Bot
d85aae38c3 Latest translations and fallbacks 2024-04-22 09:19:30 +00:00
Misty Release Bot
418b025c92 Latest translations and fallbacks 2024-04-21 09:18:50 +00:00
Misty Release Bot
c7930bb47a Latest translations and fallbacks 2024-04-19 09:19:10 +00:00
renovate[bot]
66a35490b4 fix(deps): update dependency ioredis to v5.4.1 (#12520)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 12:48:21 -04:00
renovate[bot]
da0888e611 fix(deps): update dependency ioredis to v5.4.0 (#12519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 09:08:56 -04:00
Misty Release Bot
0f97e16eb5 Latest translations and fallbacks 2024-04-17 09:19:08 +00:00
renovate[bot]
5b4471bf8b fix(deps): update dependency nodebb-plugin-spam-be-gone to v2.2.2 (#12518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 14:13:02 -04:00
renovate[bot]
20f8ba78ad fix(deps): update dependency nodebb-plugin-emoji to v5.1.15 (#12517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 14:12:42 -04:00
renovate[bot]
97519ca40d chore(deps): update commitlint monorepo to v19.2.2 (#12515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 14:11:02 -04:00
renovate[bot]
4c468b5c70 chore(deps): update dependency smtp-server to v3.13.4 (#12516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 14:10:39 -04:00
Barış Soner Uşaklı
9daa7ccf3a Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2024-04-15 12:13:26 -04:00
Barış Soner Uşaklı
d599493057 Merge branch 'master' into develop 2024-04-15 12:13:20 -04:00
renovate[bot]
c4cb9d36ca fix(deps): update dependency nodebb-theme-harmony to v1.2.49 (#12497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:11:58 -04:00
renovate[bot]
37bdf75391 fix(deps): update dependency nodebb-plugin-mentions to v4.5.2 (#12470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:11:50 -04:00
renovate[bot]
83a932e656 fix(deps): update dependency ace-builds to v1.33.0 (#12501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:11:40 -04:00
renovate[bot]
a2229e7154 chore(deps): update dependency sass-embedded to v1.75.0 (#12499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:11:23 -04:00
renovate[bot]
f5c3d4e1cf fix(deps): update dependency sass to v1.75.0 (#12500)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:11:15 -04:00
Misty Release Bot
fe028e0ad2 Latest translations and fallbacks 2024-04-15 09:19:08 +00:00
Misty Release Bot
c5d20ba9e1 Latest translations and fallbacks 2024-04-14 09:18:39 +00:00
Misty Release Bot
edfa402ae8 Latest translations and fallbacks 2024-04-13 09:18:50 +00:00
Misty Release Bot
f192d92439 Latest translations and fallbacks 2024-04-12 09:19:15 +00:00
Misty Release Bot
18eec14760 chore(i18n): fallback strings for new resources: nodebb.admin-settings-navigation 2024-04-11 20:46:27 +00:00
Barış Soner Uşaklı
3042cf02d1 Merge branch 'master' into develop 2024-04-11 16:46:01 -04:00
Misty Release Bot
698b3a2a00 Latest translations and fallbacks 2024-04-11 09:19:55 +00:00
Misty Release Bot
b804a3519d Latest translations and fallbacks 2024-04-10 09:18:48 +00:00
renovate[bot]
2bcd5239fb fix(deps): update dependency nodebb-theme-harmony to v1.2.47 (#12487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 12:03:34 -04:00
renovate[bot]
6237d5fe0f fix(deps): update dependency cron to v3.1.7 (#12484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 18:49:34 -04:00
Barış Soner Uşaklı
ee5c021c47 refactor: use groupslug:groupname for search and acp page
dont need to load all names which includes privilege groups
2024-04-08 16:18:34 -04:00
Barış Soner Uşaklı
7033d11ede fix: #12481, remove priv groups from groupslug:groupname mapping (#12482)
this will cause a 404 when trying to access /group/cid-1-privilige-groups-find as an admin
2024-04-08 15:59:17 -04:00
renovate[bot]
b61936294b fix(deps): update dependency workerpool to v9.1.1 (#12475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-07 11:16:28 -04:00
renovate[bot]
01b3a06a5a fix(deps): update dependency nodebb-theme-persona to v13.3.13 (#12479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-07 11:16:21 -04:00
renovate[bot]
499514a85c fix(deps): update dependency nodebb-theme-harmony to v1.2.46 (#12478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-07 11:16:13 -04:00
Misty Release Bot
3d775c3e79 Latest translations and fallbacks 2024-04-07 09:18:36 +00:00
renovate[bot]
0f209fa49b fix(deps): update dependency nodebb-theme-persona to v13.3.12 (#12467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 17:38:45 -04:00
renovate[bot]
1fef883ba3 fix(deps): update dependency nodebb-theme-harmony to v1.2.45 (#12466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 17:38:37 -04:00
renovate[bot]
97a649e35d chore(deps): update dependency sass-embedded to v1.74.1 (#12468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 17:38:19 -04:00
renovate[bot]
8f771b6fe6 fix(deps): update dependency sass to v1.74.1 (#12469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 17:38:04 -04:00
Misty Release Bot
7a20681120 Latest translations and fallbacks 2024-04-04 09:18:43 +00:00
renovate[bot]
dde7a498b7 fix(deps): update dependency pg-cursor to v2.10.5 (#12462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 10:35:05 -04:00
renovate[bot]
623ccc5386 fix(deps): update dependency pg to v8.11.5 (#12461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 10:10:34 -04:00
renovate[bot]
1953277bca fix(deps): update dependency @fortawesome/fontawesome-free to v6.5.2 (#12460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 10:10:27 -04:00
renovate[bot]
d24c414826 fix(deps): update dependency nodebb-plugin-mentions to v4.4.3 (#12463)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 09:34:18 -04:00
Misty Release Bot
4fbe4c76e0 Latest translations and fallbacks 2024-04-03 09:18:54 +00:00
Julian Lam
4d2c95caaa fix: bump 2factor 2024-04-02 11:46:11 -04:00
Julian Lam
c778f6ebdb feat: new client-side hook to allow plugins to modify relogin url 2024-04-02 11:45:17 -04:00
Barış Soner Uşaklı
58c46541fa Merge branch 'master' into develop 2024-04-02 09:43:59 -04:00
Misty Release Bot
5aa7207659 Latest translations and fallbacks 2024-04-02 09:19:05 +00:00
renovate[bot]
a7d9811e74 fix(deps): update dependency pg to v8.11.4 (#12455)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 18:20:29 -04:00
Misty Release Bot
213db951fd chore(i18n): fallback strings for new resources: nodebb.admin-advanced-events 2024-04-01 22:20:22 +00:00
Barış Soner Uşaklı
4030f18a04 feat: closes #12453, filter events by user/group 2024-04-01 18:19:58 -04:00
Barış Soner Uşaklı
73f985684c fix: date on upgrade script 2024-04-01 18:17:00 -04:00
renovate[bot]
5c214930a8 fix(deps): update dependency @fontsource/poppins to v5.0.13 (#12457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 12:27:31 -04:00
renovate[bot]
af10aaaac3 fix(deps): update dependency pg-cursor to v2.10.4 (#12456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 12:27:09 -04:00
renovate[bot]
deacf36645 fix(deps): update dependency ace-builds to v1.32.9 (#12451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-30 10:17:12 -04:00
Barış Soner Uşaklı
26020f3559 Merge branch 'master' into develop 2024-03-29 17:30:59 -04:00
Barış Soner Uşaklı
8f9ac5c17a feat: move all user profile pics to folder, closes #12449 (#12450)
* feat: move all user profile pics to folder

get rid of glob delete and just delete the uid-{uid} folder when deleting user images

* when exporting user uploads add all profile uploads

* uid check
2024-03-28 16:50:56 -04:00
Misty Release Bot
aef3ea18cf Latest translations and fallbacks 2024-03-28 09:20:13 +00:00
renovate[bot]
449c0fcd5f chore(deps): update dependency mocha to v10.4.0 (#12445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 15:49:35 -04:00
Barış Soner Uşaklı
94d49682ad Merge branch 'master' into develop 2024-03-26 12:58:42 -04:00
Barış Soner Uşaklı
99df4a5c7e Merge branch 'master' into develop 2024-03-26 10:34:53 -04:00
Barış Soner Uşaklı
80a1a0e042 chore: up harmony 2024-03-26 10:24:20 -04:00
Barış Soner Uşaklı
9a92832a4c remove border gray 2024-03-26 10:22:11 -04:00
Barış Soner Uşaklı
7eb2e074d9 make checkboxes more visible 2024-03-25 16:04:54 -04:00
renovate[bot]
263ca1ca38 fix(deps): update dependency express to v4.19.2 (#12441)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 13:00:37 -04:00
renovate[bot]
08be8f3c37 fix(deps): update dependency winston to v3.13.0 (#12440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 10:05:55 -04:00
renovate[bot]
ca82d020bc fix(deps): update dependency webpack to v5.91.0 (#12426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 13:16:59 -04:00
renovate[bot]
23f4634587 fix(deps): update dependency ace-builds to v1.32.8 (#12439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 13:16:36 -04:00
renovate[bot]
2550f26f9e fix(deps): update dependency sanitize-html to v2.13.0 (#12427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 13:16:29 -04:00
renovate[bot]
ace6f12f51 fix(deps): update dependency postcss to v8.4.38 (#12429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 13:16:15 -04:00
renovate[bot]
a27b999fe6 fix(deps): update dependency express to v4.19.1 (#12425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 13:16:06 -04:00
renovate[bot]
fa57b81f8a fix(deps): update dependency autoprefixer to v10.4.19 (#12428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 13:15:45 -04:00
Barış Soner Uşaklı
1a000eae57 chore: up harmony 2024-03-22 19:45:29 -04:00
Julian Lam
4da1e9c464 fix: use CategoryObject in admins-mods schema def 2024-03-22 12:38:33 -04:00
renovate[bot]
15c7691ca3 fix(deps): update dependency nodebb-theme-lavender to v7.1.8 2024-03-22 10:34:30 -04:00
Misty Release Bot
1a8e985789 Latest translations and fallbacks 2024-03-22 09:18:44 +00:00
Barış Soner Uşaklı
cb1c995b06 Merge branch 'master' into develop 2024-03-20 12:20:24 -04:00
renovate[bot]
a8b631dd93 fix(deps): update dependency nodebb-plugin-mentions to v4.4.2 (#12410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 12:20:08 -04:00
renovate[bot]
9c91f093e7 fix(deps): update dependency postcss to v8.4.37 (#12417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 12:19:58 -04:00
renovate[bot]
dc19c8407d chore(deps): update dependency @commitlint/cli to v19.2.1 (#12420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 12:19:49 -04:00
renovate[bot]
c7a506a8e1 fix(deps): update dependency nodemailer to v6.9.13 (#12424)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 12:19:16 -04:00
Barış Soner Uşaklı
dc67f54e84 feat: allow customizing uploads.upload socket methods
closes #12416
2024-03-20 10:07:14 -04:00
Misty Release Bot
bf4f666ddb Latest translations and fallbacks 2024-03-19 09:18:34 +00:00
Misty Release Bot
205a7119a6 Latest translations and fallbacks 2024-03-18 09:19:21 +00:00
Misty Release Bot
91bedd7ee0 Latest translations and fallbacks 2024-03-17 09:18:26 +00:00
Barış Soner Uşaklı
4a4648c2af Merge branch 'master' into develop 2024-03-16 18:58:01 -04:00
renovate[bot]
41212e8f7b chore(deps): update dependency @commitlint/cli to v19.2.0 (#12412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 15:12:54 -04:00
renovate[bot]
4e119783d0 fix(deps): update dependency nodebb-plugin-ntfy to v1.7.4 (#12414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 15:12:48 -04:00
renovate[bot]
93fb1e0fc1 fix(deps): update dependency esbuild to v0.20.2 (#12411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 19:00:08 -04:00
renovate[bot]
6a7303122f fix(deps): update socket.io packages to v4.7.5 (#12409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 15:43:08 -04:00
renovate[bot]
0521941201 fix(deps): update dependency @socket.io/redis-adapter to v8.3.0 (#12405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 14:37:23 -04:00
renovate[bot]
6d62e5921d chore(deps): update dependency sass-embedded to v1.72.0 (#12406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 14:37:05 -04:00
renovate[bot]
896847864b fix(deps): update dependency sass to v1.72.0 (#12407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 14:36:58 -04:00
Barış Soner Uşaklı
69cf004c2f Merge branch 'master' into develop 2024-03-14 12:11:59 -04:00
Misty Release Bot
6f973e5e09 Latest translations and fallbacks 2024-03-14 09:18:44 +00:00
Misty Release Bot
e807ed5287 Latest translations and fallbacks 2024-03-13 09:18:36 +00:00
renovate[bot]
b163264e44 fix(deps): update dependency mongodb to v6.5.0 (#12402)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 12:02:11 -04:00
renovate[bot]
3d095a6b61 chore(deps): update commitlint monorepo to v19.1.0 (#12403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 12:01:50 -04:00
Misty Release Bot
d7a0874a3c Latest translations and fallbacks 2024-03-12 09:18:51 +00:00
renovate[bot]
817a546832 fix(deps): update dependency archiver to v7.0.1 (#12400)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 20:43:52 -04:00
Barış Soner Uşaklı
c375e2229f Merge branch 'master' into develop 2024-03-11 20:39:55 -04:00
Misty Release Bot
43f52737de chore(i18n): fallback strings for new resources: nodebb.admin-manage-users 2024-03-11 15:29:29 +00:00
Barış Soner Uşaklı
83ca23ca37 feat: allow custom fields in user csv export, closes #12401 2024-03-11 11:29:05 -04:00
Misty Release Bot
bb29cafcf6 Latest translations and fallbacks 2024-03-11 09:18:56 +00:00
Misty Release Bot
b7164acc9f Latest translations and fallbacks 2024-03-10 09:18:34 +00:00
Barış Soner Uşaklı
6a7ac2f09e Merge branch 'master' into develop 2024-03-09 08:53:31 -05:00
renovate[bot]
27d5aaa5af fix(deps): update dependency nodemailer to v6.9.12 (#12398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-08 18:14:04 -05:00
Misty Release Bot
e3bc624f89 Latest translations and fallbacks 2024-03-08 09:18:52 +00:00
renovate[bot]
b9a1fc3f87 fix(deps): update dependency nodebb-theme-harmony to v1.2.38 (#12397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 19:47:00 -05:00
Barış Soner Uşaklı
4f6a7ffe01 scrollbar css 2024-03-07 18:32:46 -05:00
renovate[bot]
8d6ef3d50a fix(deps): update fontsource monorepo (#12390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 14:40:42 -05:00
renovate[bot]
4d18c38b08 fix(deps): update dependency nodebb-plugin-mentions to v4.4.1 (#12393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 14:40:33 -05:00
renovate[bot]
98ff47ec08 fix(deps): update dependency winston to v3.12.0 (#12391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 14:40:24 -05:00
Barış Soner Uşaklı
a74bb1567e Merge branch 'master' into develop 2024-03-06 11:40:31 -05:00
Barış Soner Uşaklı
7c37f32dae fix: missing uid for modify event, closes #12394 2024-03-06 11:34:55 -05:00
487 changed files with 5198 additions and 2409 deletions

0
.docker/.gitkeep Normal file
View File

0
.docker/build/.gitkeep Normal file
View File

0
.docker/config/.gitkeep Normal file
View File

View File

View File

View File

View File

@@ -21,8 +21,6 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
@@ -37,6 +35,9 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get current date in NST
run: echo "CURRENT_DATE_NST=$(date +'%Y%m%d-%H%M%S' -d '-3 hours -30 minutes')" >> $GITHUB_ENV
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
@@ -48,12 +49,22 @@ jobs:
type=semver,pattern={{major}}.x
type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch,enable=${{ github.event.repository.default_branch != github.ref }}
type=raw,value=${{ env.CURRENT_DATE_NST }}
flavor: |
latest=true
- name: Cache node_modules
id: cache-node-modules
uses: actions/cache@v4
with:
path: var-cache-node-modules
key: var-cache-node-modules-${{ hashFiles('Dockerfile', 'install/package.json') }}
- name: Build and push Docker images
uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
cache-to: type=gha,mode=min
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7

View File

@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:7.2.3'
image: 'redis:7.2.4'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
@@ -192,7 +192,7 @@ jobs:
run: npm run coverage
- name: Test coverage
uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # v2.2.3
uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63 # v2.3.0
if: matrix.coverage
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -206,7 +206,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # v2.2.3
uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63 # v2.3.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true

3
.gitignore vendored
View File

@@ -71,4 +71,5 @@ package-lock.json
link-plugins.sh
test.sh
.docker/
.docker/**
!**/.gitkeep

View File

@@ -1,3 +1,311 @@
#### v3.8.1 (2024-05-15)
##### Chores
* incrementing version number - v3.8.0 (e228a6eb)
* update changelog for v3.8.0 (2ef2750d)
* incrementing version number - v3.7.5 (6882894d)
* incrementing version number - v3.7.4 (6678744c)
* incrementing version number - v3.7.3 (2d62b6f6)
* incrementing version number - v3.7.2 (cc257e7e)
* incrementing version number - v3.7.1 (712365a5)
* incrementing version number - v3.7.0 (9a6153d7)
* incrementing version number - v3.6.7 (86a17e38)
* incrementing version number - v3.6.6 (6604bf37)
* incrementing version number - v3.6.5 (6c653625)
* incrementing version number - v3.6.4 (83d131b4)
* incrementing version number - v3.6.3 (fc7d2bfd)
* incrementing version number - v3.6.2 (0f577a57)
* incrementing version number - v3.6.1 (f1a69468)
* incrementing version number - v3.6.0 (4cdf85f8)
* incrementing version number - v3.5.3 (ed0e8783)
* incrementing version number - v3.5.2 (52fbb2da)
* incrementing version number - v3.5.1 (4c543488)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
##### Bug Fixes
* wrong mention version (1d1f499b)
##### Tests
* use node 20 (a40f54aa)
* remove node 18 (6bd22e53)
#### v3.8.0 (2024-05-15)
##### Chores
* **deps:**
* update redis docker tag to v7.2.4 (#12272) (7a8116a4)
* update actions/cache action to v4 (#12563) (88ff9f9d)
* update postgres docker tag to v16.3 (#12560) (339f6267)
* update dependency sass-embedded to v1.77.1 (#12565) (07160062)
* update postgres docker tag to v16.3 (#12555) (b8a52863)
* update dependency sass-embedded to v1.77.0 (#12548) (0fa11561)
* update coverallsapp/github-action action to v2.3.0 (#12554) (b4023ff9)
* update dependency sass-embedded to v1.76.0 (#12542) (7ee42724)
* update commitlint monorepo to v19.3.0 (#12526) (dad57e04)
* update commitlint monorepo to v19.2.2 (#12515) (97519ca4)
* update dependency smtp-server to v3.13.4 (#12516) (4c468b5c)
* update dependency sass-embedded to v1.75.0 (#12499) (a2229e71)
* update dependency sass-embedded to v1.74.1 (#12468) (97a649e3)
* update dependency mocha to v10.4.0 (#12445) (449c0fcd)
* update dependency @commitlint/cli to v19.2.1 (#12420) (dc19c840)
* update dependency @commitlint/cli to v19.2.0 (#12412) (41212e8f)
* update dependency sass-embedded to v1.72.0 (#12406) (6d62e592)
* update commitlint monorepo to v19.1.0 (#12403) (3d095a6b)
* up themes (1e3a321d)
* incrementing version number - v3.7.5 (6882894d)
* update changelog for v3.7.5 (febeede5)
* incrementing version number - v3.7.4 (6678744c)
* incrementing version number - v3.7.3 (2d62b6f6)
* incrementing version number - v3.7.2 (cc257e7e)
* up harmony (80a1a0e0)
* up harmony (1a000eae)
* incrementing version number - v3.7.1 (712365a5)
* incrementing version number - v3.7.0 (9a6153d7)
* incrementing version number - v3.6.7 (86a17e38)
* incrementing version number - v3.6.6 (6604bf37)
* incrementing version number - v3.6.5 (6c653625)
* incrementing version number - v3.6.4 (83d131b4)
* incrementing version number - v3.6.3 (fc7d2bfd)
* incrementing version number - v3.6.2 (0f577a57)
* incrementing version number - v3.6.1 (f1a69468)
* incrementing version number - v3.6.0 (4cdf85f8)
* incrementing version number - v3.5.3 (ed0e8783)
* incrementing version number - v3.5.2 (52fbb2da)
* incrementing version number - v3.5.1 (4c543488)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
* **i18n:**
* fallback strings for new resources: nodebb.flags, nodebb.user (19f8a77c)
* fallback strings for new resources: nodebb.user (7ad477af)
* fallback strings for new resources: nodebb.admin-settings-navigation (18eec147)
* fallback strings for new resources: nodebb.admin-advanced-events (213db951)
* fallback strings for new resources: nodebb.admin-manage-users (43f52737)
##### New Features
* track uid for email/username changes, closes #12454 (325d00ea)
* closes #12477, allow editing moderation notes (af205cc4)
* parse moderation notes as markdown (7d24b04b)
* closes #12490, show profile flags on account info page (b429045f)
* closes #12491, add unban & unmute history (985663fa)
* new client-side hook to allow plugins to modify relogin url (c778f6eb)
* closes #12453, filter events by user/group (4030f18a)
* move all user profile pics to folder, closes #12449 (#12450) (8f9ac5c1)
* allow customizing uploads.upload socket methods (dc67f54e)
* allow custom fields in user csv export, closes #12401 (83ca23ca)
##### Bug Fixes
* **deps:**
* update dependency ace-builds to v1.33.2 (#12572) (19602dcd)
* update dependency esbuild to v0.21.2 (#12569) (dc4f32af)
* update dependency rimraf to v5.0.7 (#12568) (035ced85)
* update dependency sass to v1.77.1 (#12566) (7a64410a)
* update dependency rimraf to v5.0.6 (#12562) (185d61fc)
* update dependency validator to v13.12.0 (#12556) (7a009445)
* update dependency sass to v1.77.0 (#12550) (d3840280)
* update dependency mongodb to v6.6.1 (#12547) (751a143e)
* update dependency esbuild to v0.21.1 (#12549) (ed07cfcc)
* update dependency semver to v7.6.2 (#12552) (5264deca)
* update dependency mongodb to v6.6.0 (#12544) (4813772c)
* update dependency nodebb-plugin-composer-default to v10.2.35 (#12546) (8fcfb181)
* update dependency sass to v1.76.0 (#12541) (8f60603b)
* update dependency tough-cookie to v4.1.4 (#12540) (ad708c9f)
* update dependency lru-cache to v10.2.2 (#12532) (c036786c)
* update dependency jquery-ui to v1.13.3 (#12534) (3f62b892)
* update dependency nodebb-widget-essentials to v7.0.16 (#12535) (d5bfe32e)
* update dependency nodebb-plugin-composer-default to v10.2.34 (#12530) (bc51968e)
* update dependency ace-builds to v1.33.1 (#12527) (18a843bc)
* update fontsource monorepo (#12523) (bde9136b)
* update dependency ipaddr.js to v2.2.0 (#12522) (d6d0ebd5)
* update dependency cropperjs to v1.6.2 (#12524) (5e7ec5b6)
* update dependency ioredis to v5.4.1 (#12520) (66a35490)
* update dependency ioredis to v5.4.0 (#12519) (da0888e6)
* update dependency nodebb-plugin-spam-be-gone to v2.2.2 (#12518) (5b4471bf)
* update dependency nodebb-plugin-emoji to v5.1.15 (#12517) (20f8ba78)
* update dependency nodebb-theme-harmony to v1.2.49 (#12497) (c4cb9d36)
* update dependency nodebb-plugin-mentions to v4.5.2 (#12470) (37bdf753)
* update dependency ace-builds to v1.33.0 (#12501) (83a932e6)
* update dependency sass to v1.75.0 (#12500) (f5c3d4e1)
* update dependency nodebb-theme-harmony to v1.2.47 (#12487) (2bcd5239)
* update dependency cron to v3.1.7 (#12484) (6237d5fe)
* update dependency workerpool to v9.1.1 (#12475) (b6193629)
* update dependency nodebb-theme-persona to v13.3.13 (#12479) (01b3a06a)
* update dependency nodebb-theme-harmony to v1.2.46 (#12478) (499514a8)
* update dependency nodebb-theme-persona to v13.3.12 (#12467) (0f209fa4)
* update dependency nodebb-theme-harmony to v1.2.45 (#12466) (1fef883b)
* update dependency sass to v1.74.1 (#12469) (8f771b6f)
* update dependency pg-cursor to v2.10.5 (#12462) (dde7a498)
* update dependency pg to v8.11.5 (#12461) (623ccc53)
* update dependency @fortawesome/fontawesome-free to v6.5.2 (#12460) (1953277b)
* update dependency nodebb-plugin-mentions to v4.4.3 (#12463) (d24c4148)
* update dependency pg to v8.11.4 (#12455) (a7d9811e)
* update dependency @fontsource/poppins to v5.0.13 (#12457) (5c214930)
* update dependency pg-cursor to v2.10.4 (#12456) (af10aaaa)
* update dependency ace-builds to v1.32.9 (#12451) (deacf366)
* update dependency express to v4.19.2 (#12441) (263ca1ca)
* update dependency winston to v3.13.0 (#12440) (08be8f3c)
* update dependency webpack to v5.91.0 (#12426) (ca82d020)
* update dependency ace-builds to v1.32.8 (#12439) (23f46345)
* update dependency sanitize-html to v2.13.0 (#12427) (2550f26f)
* update dependency postcss to v8.4.38 (#12429) (ace6f12f)
* update dependency express to v4.19.1 (#12425) (a27b999f)
* update dependency autoprefixer to v10.4.19 (#12428) (fa57b81f)
* update dependency nodebb-theme-lavender to v7.1.8 (15c7691c)
* update dependency nodebb-plugin-mentions to v4.4.2 (#12410) (a8b631dd)
* update dependency postcss to v8.4.37 (#12417) (9c91f093)
* update dependency nodemailer to v6.9.13 (#12424) (c7a506a8)
* update dependency nodebb-plugin-ntfy to v1.7.4 (#12414) (4e119783)
* update dependency esbuild to v0.20.2 (#12411) (93fb1e0f)
* update socket.io packages to v4.7.5 (#12409) (6a730312)
* update dependency @socket.io/redis-adapter to v8.3.0 (#12405) (05219412)
* update dependency sass to v1.72.0 (#12407) (89684786)
* update dependency mongodb to v6.5.0 (#12402) (b163264e)
* update dependency archiver to v7.0.1 (#12400) (817a5468)
* update dependency nodemailer to v6.9.12 (#12398) (27d5aaa5)
* update dependency nodebb-theme-harmony to v1.2.38 (#12397) (b9a1fc3f)
* update fontsource monorepo (#12390) (8d6ef3d5)
* update dependency nodebb-plugin-mentions to v4.4.1 (#12393) (4d18c38b)
* update dependency winston to v3.12.0 (#12391) (98ff47ec)
* chat message search, closes #12571 (49a510e9)
* chat message search, closes #12571 (d926d9dd)
* some issues with "small" docker improvements (#12564) (bc807c46)
* use reference object for post summary v3 api call (2a58d099)
* unintentional object pollution by buildForSelectCategories (88a5dfb7)
* getCategoryById to return shallow clone of object (dc35bf8b)
* #12533, go to post after changing owner (983a35e6)
* topic selection in merge (f2892385)
* closes #12474, fix search dropdown on mobile for merge (ce03680f)
* #12481, remove priv groups from groupslug:groupname mapping (#12482) (7033d11e)
* bump 2factor (4d2c95ca)
* date on upgrade script (73f98568)
* use CategoryObject in admins-mods schema def (4da1e9c4)
* missing uid for modify event, closes #12394 (7c37f32d)
* **docker:** support all previously used env variables correctly (#12567) (995b2de5)
##### Refactors
* add missing form-label class (36016ee1)
* use groupslug:groupname for search and acp page (ee5c021c)
##### Tests
* fix schema (5eb8c90b)
* fix redis tests (57422420)
* fix moderation note test (fed5165f)
* add back timestamp (c73f759c)
#### v3.7.5 (2024-05-03)
##### Chores
* incrementing version number - v3.7.4 (6678744c)
* update changelog for v3.7.4 (8a1b281b)
* incrementing version number - v3.7.3 (2d62b6f6)
* incrementing version number - v3.7.2 (cc257e7e)
* incrementing version number - v3.7.1 (712365a5)
* incrementing version number - v3.7.0 (9a6153d7)
* incrementing version number - v3.6.7 (86a17e38)
* incrementing version number - v3.6.6 (6604bf37)
* incrementing version number - v3.6.5 (6c653625)
* incrementing version number - v3.6.4 (83d131b4)
* incrementing version number - v3.6.3 (fc7d2bfd)
* incrementing version number - v3.6.2 (0f577a57)
* incrementing version number - v3.6.1 (f1a69468)
* incrementing version number - v3.6.0 (4cdf85f8)
* incrementing version number - v3.5.3 (ed0e8783)
* incrementing version number - v3.5.2 (52fbb2da)
* incrementing version number - v3.5.1 (4c543488)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
##### Bug Fixes
* #12543, use PATCH (420c8999)
#### v3.7.4 (2024-04-17)
##### Chores

View File

@@ -1,51 +1,75 @@
FROM --platform=$BUILDPLATFORM node:lts as npm
FROM node:lts as build
RUN mkdir -p /usr/src/build && \
chown -R node:node /usr/src/build
WORKDIR /usr/src/build
ENV NODE_ENV=production \
DAEMON=false \
SILENT=false \
USER=nodebb \
UID=1001 \
GID=1001
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
WORKDIR /usr/src/app/
COPY --chown=node:node install/package.json /usr/src/build/package.json
COPY . /usr/src/app/
USER node
# Install corepack to allow usage of other package managers
RUN corepack enable
# Removing unnecessary files for us
RUN find . -mindepth 1 -maxdepth 1 -name '.*' ! -name '.' ! -name '..' -exec bash -c 'echo "Deleting {}"; rm -rf {}' \;
# Prepage package.json
RUN cp /usr/src/app/install/package.json /usr/src/app/
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive \
apt-get -y --no-install-recommends install \
tini
RUN groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& chown -R ${USER}:${USER} /usr/src/app/
USER ${USER}
RUN npm install --omit=dev
# TODO: generate lockfiles for each package manager
## pnpm import \
FROM node:lts as rebuild
FROM node:lts-slim AS final
ARG BUILDPLATFORM
ARG TARGETPLATFORM
ENV NODE_ENV=production \
DAEMON=false \
SILENT=false \
USER=nodebb \
UID=1001 \
GID=1001
RUN mkdir -p /usr/src/build && \
chown -R node:node /usr/src/build
WORKDIR /usr/src/app/
COPY --from=npm /usr/src/build /usr/src/build
RUN corepack enable \
&& groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
RUN if [ $BUILDPLATFORM != $TARGETPLATFORM ]; then \
npm rebuild && \
npm cache clean --force; fi
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
FROM node:lts-slim as run
RUN chmod +x /usr/local/bin/entrypoint.sh \
&& chmod +x /usr/local/bin/tini
ARG NODE_ENV
ENV NODE_ENV=$NODE_ENV \
daemon=false \
silent=false
# TODO: Have docker-compose use environment variables to create files like setup.json and config.json.
# COPY --from=hairyhenderson/gomplate:stable /gomplate /usr/local/bin/gomplate
RUN mkdir -p /usr/src/app && \
chown -R node:node /usr/src/app
COPY --chown=node:node --from=rebuild /usr/src/build /usr/src/app
WORKDIR /usr/src/app
USER node
COPY --chown=node:node . /usr/src/app
USER ${USER}
EXPOSE 4567
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config"]
ENTRYPOINT ["./install/docker/entrypoint.sh"]
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config/"]
# Utilising tini as our init system within the Docker container for graceful start-up and termination.
# Tini serves as an uncomplicated init system, adept at managing the reaping of zombie processes and forwarding signals.
# This approach is crucial to circumvent issues with unmanaged subprocesses and signal handling in containerised environments.
# By integrating tini, we enhance the reliability and stability of our Docker containers.
# Ensures smooth start-up and shutdown processes, and reliable, safe handling of signal processing.
ENTRYPOINT ["tini", "--", "entrypoint.sh"]

77
dev.Dockerfile Normal file
View File

@@ -0,0 +1,77 @@
FROM node:lts AS git
ENV USER=nodebb \
UID=1001 \
GID=1001
WORKDIR /usr/src/app/
RUN groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& chown -R ${USER}:${USER} /usr/src/app/
RUN apt-get update \
&& apt-get -y --no-install-recommends install tini
USER ${USER}
# Change to the git branch you want to test
RUN git clone --recurse-submodules -j8 --depth 1 https://github.com/NodeBB/NodeBB.git .
RUN find . -mindepth 1 -maxdepth 1 -name '.*' ! -name '.' ! -name '..' -exec bash -c 'echo "Deleting {}"; rm -rf {}' \;
FROM node:lts AS node_modules_touch
ENV NODE_ENV=development \
USER=nodebb \
UID=1001 \
GID=1001
WORKDIR /usr/src/app/
RUN corepack enable \
&& groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& chown -R ${USER}:${USER} /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/install/package.json /usr/src/app/
USER ${USER}
RUN npm install
FROM node:lts-slim AS final
ENV NODE_ENV=development \
DAEMON=false \
SILENT=false \
USER=nodebb \
UID=1001 \
GID=1001
WORKDIR /usr/src/app/
RUN corepack enable \
&& groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=node_modules_touch --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/
RUN chmod +x /usr/local/bin/entrypoint.sh \
&& chmod +x /usr/local/bin/tini
# TODO: Have docker-compose use environment variables to create files like setup.json and config.json.
# COPY --from=hairyhenderson/gomplate:stable /gomplate /usr/local/bin/gomplate
USER ${USER}
EXPOSE 4567
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config/"]
ENTRYPOINT ["tini", "--", "entrypoint.sh"]

70
docker-compose-pgsql.yml Normal file
View File

@@ -0,0 +1,70 @@
version: '3.8'
services:
nodebb:
build: .
# image: ghcr.io/nodebb/nodebb:latest
restart: unless-stopped
ports:
- '4567:4567' # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
volumes:
- nodebb-build:/usr/src/app/build
- nodebb-uploads:/usr/src/app/public/uploads
- nodebb-config:/opt/config
- ./install/docker/setup.json:/usr/src/app/setup.json
postgres:
image: postgres:16.3-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb
POSTGRES_PASSWORD: nodebb
POSTGRES_DB: nodebb
volumes:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:7.2.4-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF
volumes:
- redis-data:/data
profiles:
- redis
volumes:
postgres-data:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/database/postgresql/data
redis-data:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/database/redis
nodebb-build:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/build
nodebb-uploads:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/public/uploads
nodebb-config:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/config

51
docker-compose-redis.yml Normal file
View File

@@ -0,0 +1,51 @@
version: '3.8'
services:
nodebb:
build: .
# image: ghcr.io/nodebb/nodebb:latest
restart: unless-stopped
ports:
- '4567:4567' # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
volumes:
- nodebb-build:/usr/src/app/build
- nodebb-uploads:/usr/src/app/public/uploads
- nodebb-config:/opt/config
- ./install/docker/setup.json:/usr/src/app/setup.json
redis:
image: redis:7.2.4-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF
volumes:
- redis-data:/data
volumes:
redis-data:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/database/redis
nodebb-build:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/build
nodebb-uploads:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/public/uploads
nodebb-config:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/config

View File

@@ -3,53 +3,89 @@ version: '3.8'
services:
nodebb:
build: .
# image: ghcr.io/nodebb/nodebb:latest
restart: unless-stopped
ports:
- "4567:4567/tcp" # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
# uncomment if you want to use another container as a reverse proxy
# expose:
# - 4567
- '4567:4567' # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
volumes:
- ./.docker/build:/usr/src/app/build
- ./.docker/public/uploads:/usr/src/app/public/uploads
- ./.docker:/opt/config
- nodebb-build:/usr/src/app/build
- nodebb-uploads:/usr/src/app/public/uploads
- nodebb-config:/opt/config
- ./install/docker/setup.json:/usr/src/app/setup.json
mongo:
image: "mongo:7-jammy"
image: 'mongo:7-jammy'
restart: unless-stopped
expose:
- "27017"
ports:
- '27017:27017'
environment:
MONGO_INITDB_ROOT_USERNAME: nodebb
MONGO_INITDB_ROOT_PASSWORD: nodebb
MONGO_INITDB_DATABASE: nodebb
volumes:
- ./.docker/database/mongo/config:/etc/mongo
- ./.docker/database/mongo/data:/data/db
- mongo-data:/data/db
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
profiles:
- mongo
postgres:
image: postgres:16.2-alpine
redis:
image: redis:7.2.4-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ['redis-server', '--save', '60', '1', '--loglevel', 'warning'] # uncomment if you want to use snapshotting instead of AOF
volumes:
- redis-data:/data
profiles:
- redis
postgres:
image: postgres:16.1-alpine
restart: unless-stopped
expose:
- "5432"
environment:
POSTGRES_USER: nodebb
POSTGRES_PASSWORD: nodebb
POSTGRES_DB: nodebb
volumes:
- ./.docker/database/postgresql/data:/var/lib/postgresql/data
- postgres-data:/var/lib/postgresql/data
profiles:
- postgres
redis:
image: redis:7.2.3-alpine
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--loglevel", "warning"]
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF
expose:
- "6379"
volumes:
- ./.docker/database/redis:/data
profiles:
- redis
volumes:
mongo-data:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/database/mongo/data
redis-data:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/database/redis
postgres-data:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/database/postgresql/data
nodebb-build:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/build
nodebb-uploads:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/public/uploads
nodebb-config:
driver: local
driver_opts:
o: bind
type: none
device: ./.docker/config

View File

@@ -137,7 +137,7 @@
"sitemapTopics": 500,
"maintenanceMode": 0,
"maintenanceModeStatus": 503,
"votesArePublic": 0,
"voteVisibility": "privileged",
"maximumInvites": 0,
"username:disableEdit": 0,
"email:disableEdit": 0,

View File

@@ -1,46 +1,198 @@
#!/bin/bash
export CONFIG_DIR="${CONFIG_DIR:-/opt/config}"
export CONFIG=$CONFIG_DIR/config.json
export FORCE_BUILD_BEFORE_START="${FORCE_BUILD_BEFORE_START:-false}"
set -e
# Supported verbs: install (web install), setup (interactive CLI session). Default: web install
# TODO: constraint it using a hash set (or hash table)
export NODEBB_INIT_VERB="${NODEBB_INIT_VERB:-install}"
# Setup variable for backward compatibility, default: <empty>
export SETUP="${SETUP:-}"
# Function to set default values for environment variables
set_defaults() {
export CONFIG_DIR="${CONFIG_DIR:-/opt/config}"
export CONFIG="$CONFIG_DIR/config.json"
export NODEBB_INIT_VERB="${NODEBB_INIT_VERB:-install}"
export NODEBB_BUILD_VERB="${NODEBB_BUILD_VERB:-build}"
export START_BUILD="${START_BUILD:-${FORCE_BUILD_BEFORE_START:-false}}"
export SETUP="${SETUP:-}"
export PACKAGE_MANAGER="${PACKAGE_MANAGER:-npm}"
export OVERRIDE_UPDATE_LOCK="${OVERRIDE_UPDATE_LOCK:-false}"
}
mkdir -p $CONFIG_DIR
# if the folder is mounted as a volume this can fail, the check below is to ensure there is still write access
chmod -fR 760 $CONFIG_DIR 2> /dev/null
if [[ ! -w $CONFIG_DIR ]]; then
echo "panic: no write permission for $CONFIG_DIR"
exit 1
fi
[[ -f $CONFIG_DIR/package.json ]] || cp install/package.json $CONFIG_DIR/package.json
[[ -f $CONFIG_DIR/package-lock.json ]] || touch $CONFIG_DIR/package-lock.json
ln -fs $CONFIG_DIR/package.json package.json
ln -fs $CONFIG_DIR/package-lock.json package-lock.json
npm install --omit=dev
if [[ -n $SETUP ]]; then
echo "Setup environmental variable detected"
echo "Starting setup session"
./nodebb setup --config=$CONFIG
elif [ -f $CONFIG ]; then
echo "Config file exist at $CONFIG, assuming it is a valid config"
echo "Starting forum"
if [ "$FORCE_BUILD_BEFORE_START" = true ]; then
./nodebb build --config=$CONFIG
# Function to check if a directory exists and is writable
check_directory() {
local dir="$1"
if [ ! -d "$dir" ]; then
echo "Error: Directory $dir does not exist. Creating..."
mkdir -p "$dir" || {
echo "Error: Failed to create directory $dir"
exit 1
}
fi
./nodebb start --config=$CONFIG
else
echo "Config file not found at $CONFIG"
if [ ! -w "$dir" ]; then
echo "Warning: No write permission for directory $dir, attempting to fix..."
chown -R $USER:$USER "$dir" || true # attempt to change ownership, do not exit on failure
chmod -R 760 "$dir" || true # attempt to change permissions, do not exit on failure
if [ ! -w "$dir" ]; then
echo "Error: No write permission for directory $dir. Exiting..."
exit 1
fi
fi
}
# Function to copy or link package.json and lock files based on package manager
copy_or_link_files() {
local src_dir="$1"
local dest_dir="$2"
local package_manager="$3"
local lock_file
case "$package_manager" in
yarn) lock_file="yarn.lock" ;;
npm) lock_file="package-lock.json" ;;
pnpm) lock_file="pnpm-lock.yaml" ;;
*)
echo "Unknown package manager: $package_manager"
exit 1
;;
esac
# Check if source and destination files are the same
if [ "$(realpath "$src_dir/package.json")" != "$(realpath "$dest_dir/package.json")" ] || [ "$OVERRIDE_UPDATE_LOCK" = true ]; then
cp "$src_dir/package.json" "$dest_dir/package.json"
fi
if [ "$(realpath "$src_dir/$lock_file")" != "$(realpath "$dest_dir/$lock_file")" ] || [ "$OVERRIDE_UPDATE_LOCK" = true ]; then
cp "$src_dir/$lock_file" "$dest_dir/$lock_file"
fi
# Remove unnecessary lock files in src_dir
rm -f "$src_dir/"{yarn.lock,package-lock.json,pnpm-lock.yaml}
# Symbolically link the copied files in src_dir to dest_dir
ln -fs "$dest_dir/package.json" "$src_dir/package.json"
ln -fs "$dest_dir/$lock_file" "$src_dir/$lock_file"
}
# Function to install dependencies using pnpm
install_dependencies() {
case "$PACKAGE_MANAGER" in
yarn) yarn install || {
echo "Failed to install dependencies with yarn"
exit 1
} ;;
npm) npm install || {
echo "Failed to install dependencies with npm"
exit 1
} ;;
pnpm) pnpm install || {
echo "Failed to install dependencies with pnpm"
exit 1
} ;;
*)
echo "Unknown package manager: $PACKAGE_MANAGER"
exit 1
;;
esac
}
# Function to start setup session
start_setup_session() {
local config="$1"
echo "Starting setup session"
exec /usr/src/app/nodebb setup --config="$config"
}
# Handle building and upgrading NodeBB
build_forum() {
local config="$1"
local start_build="$2"
local package_hash=$(md5sum install/package.json | head -c 32)
if [ "$package_hash" = "$(cat $CONFIG_DIR/install_hash.md5 || true)" ]; then
echo "package.json was updated. Upgrading..."
/usr/src/app/nodebb upgrade --config="$config" || {
echo "Failed to build NodeBB. Exiting..."
exit 1
}
elif [ "$start_build" = true ]; then
echo "Build before start is enabled. Building..."
/usr/src/app/nodebb "${NODEBB_BUILD_VERB}" --config="$config" || {
echo "Failed to build NodeBB. Exiting..."
exit 1
}
else
echo "No changes in package.json. Skipping build..."
return
fi
echo -n $package_hash > $CONFIG_DIR/install_hash.md5
}
# Function to start forum
start_forum() {
local config="$1"
local start_build="$2"
build_forum "$config" "$start_build"
case "$PACKAGE_MANAGER" in
yarn)
yarn start --config="$config" --no-silent --no-daemon || {
echo "Failed to start forum with yarn"
exit 1
}
;;
npm)
npm start -- --config="$config" --no-silent --no-daemon || {
echo "Failed to start forum with npm"
exit 1
}
;;
pnpm)
pnpm start -- --config="$config" --no-silent --no-daemon || {
echo "Failed to start forum with pnpm"
exit 1
}
;;
*)
echo "Unknown package manager: $PACKAGE_MANAGER"
exit 1
;;
esac
}
# Function to start installation session
start_installation_session() {
local nodebb_init_verb="$1"
local config="$2"
echo "Config file not found at $config"
echo "Starting installation session"
./nodebb "${NODEBB_INIT_VERB}" --config=$CONFIG
fi
exec /usr/src/app/nodebb "$nodebb_init_verb" --config="$config"
}
# Function for debugging and logging
debug_log() {
local message="$1"
echo "DEBUG: $message"
}
# Main function
main() {
set_defaults
check_directory "$CONFIG_DIR"
copy_or_link_files /usr/src/app "$CONFIG_DIR" "$PACKAGE_MANAGER"
install_dependencies
debug_log "PACKAGE_MANAGER: $PACKAGE_MANAGER"
debug_log "CONFIG location: $CONFIG"
debug_log "START_BUILD: $START_BUILD"
if [ -n "$SETUP" ]; then
start_setup_session "$CONFIG"
fi
if [ -f "$CONFIG" ]; then
start_forum "$CONFIG" "$START_BUILD"
else
start_installation_session "$NODEBB_INIT_VERB" "$CONFIG"
fi
}
# Execute main function
main "$@"

View File

@@ -1,21 +1,23 @@
{
"mongo": {
"host": "mongo",
"port": 27017,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
},
"redis": {
"host": "redis",
"port": 6379,
"database": 0
},
"postgres": {
"host": "postgres",
"port": 5432,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
"defaults": {
"mongo": {
"host": "mongo",
"port": 27017,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
},
"redis": {
"host": "redis",
"port": 6379,
"database": 0
},
"postgres": {
"host": "postgres",
"port": 5432,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
}
}
}

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "3.7.5",
"version": "3.8.2",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,15 +29,15 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource/inter": "5.0.16",
"@fontsource/poppins": "5.0.8",
"@fortawesome/fontawesome-free": "6.5.1",
"@fontsource/inter": "5.0.18",
"@fontsource/poppins": "5.0.14",
"@fortawesome/fontawesome-free": "6.5.2",
"@isaacs/ttlcache": "1.4.1",
"@popperjs/core": "2.11.8",
"ace-builds": "1.32.7",
"archiver": "7.0.0",
"ace-builds": "1.33.2",
"archiver": "7.0.1",
"async": "3.2.5",
"autoprefixer": "10.4.18",
"autoprefixer": "10.4.19",
"bcryptjs": "2.4.3",
"benchpressjs": "2.5.1",
"body-parser": "1.20.2",
@@ -58,13 +58,13 @@
"connect-pg-simple": "9.0.1",
"connect-redis": "7.1.1",
"cookie-parser": "1.4.6",
"cron": "3.1.6",
"cropperjs": "1.6.1",
"cron": "3.1.7",
"cropperjs": "1.6.2",
"csrf-sync": "4.0.3",
"daemon": "1.1.0",
"diff": "5.2.0",
"esbuild": "0.20.1",
"express": "4.18.3",
"esbuild": "0.21.2",
"express": "4.19.2",
"express-session": "1.18.0",
"express-useragent": "1.0.15",
"fetch-cookie": "3.0.1",
@@ -74,64 +74,64 @@
"helmet": "7.1.0",
"html-to-text": "9.0.5",
"imagesloaded": "5.0.0",
"ipaddr.js": "2.1.0",
"ipaddr.js": "2.2.0",
"jquery": "3.7.1",
"jquery-deserialize": "2.0.0",
"jquery-form": "4.3.0",
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.13.2",
"jquery-ui": "1.13.3",
"jsesc": "3.0.2",
"json2csv": "5.0.7",
"jsonwebtoken": "9.0.2",
"lodash": "4.17.21",
"logrotate-stream": "0.2.9",
"lru-cache": "10.2.0",
"lru-cache": "10.2.2",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.5.0",
"mongodb": "6.6.1",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.4.0",
"nodebb-plugin-composer-default": "10.2.33",
"nodebb-plugin-2factor": "7.5.1",
"nodebb-plugin-composer-default": "10.2.36",
"nodebb-plugin-dbsearch": "6.2.3",
"nodebb-plugin-emoji": "5.1.13",
"nodebb-plugin-emoji": "5.1.15",
"nodebb-plugin-emoji-android": "4.0.0",
"nodebb-plugin-markdown": "12.2.6",
"nodebb-plugin-mentions": "4.4.0",
"nodebb-plugin-mentions": "4.4.3",
"nodebb-plugin-ntfy": "1.7.4",
"nodebb-plugin-spam-be-gone": "2.2.1",
"nodebb-plugin-spam-be-gone": "2.2.2",
"nodebb-rewards-essentials": "1.0.0",
"nodebb-theme-harmony": "1.2.49",
"nodebb-theme-harmony": "1.2.57",
"nodebb-theme-lavender": "7.1.8",
"nodebb-theme-peace": "2.2.4",
"nodebb-theme-persona": "13.3.14",
"nodebb-widget-essentials": "7.0.15",
"nodemailer": "6.9.11",
"nodebb-theme-peace": "2.2.5",
"nodebb-theme-persona": "13.3.20",
"nodebb-widget-essentials": "7.0.16",
"nodemailer": "6.9.13",
"nprogress": "0.2.0",
"passport": "0.7.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.11.3",
"pg-cursor": "2.10.3",
"postcss": "8.4.35",
"pg": "8.11.5",
"pg-cursor": "2.10.5",
"postcss": "8.4.38",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.3.2",
"rimraf": "5.0.5",
"ioredis": "5.4.1",
"rimraf": "5.0.7",
"rss": "1.2.2",
"rtlcss": "4.1.1",
"sanitize-html": "2.12.1",
"sass": "1.71.1",
"semver": "7.6.0",
"sanitize-html": "2.13.0",
"sass": "1.77.1",
"semver": "7.6.2",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"sitemap": "7.1.1",
"socket.io": "4.7.4",
"socket.io-client": "4.7.4",
"@socket.io/redis-adapter": "8.2.1",
"socket.io": "4.7.5",
"socket.io-client": "4.7.5",
"@socket.io/redis-adapter": "8.3.0",
"sortablejs": "1.15.2",
"spdx-license-list": "6.9.0",
"spider-detector": "2.0.1",
@@ -141,12 +141,12 @@
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "4.1.3",
"validator": "13.11.0",
"webpack": "5.90.3",
"tough-cookie": "4.1.4",
"validator": "13.12.0",
"webpack": "5.91.0",
"webpack-merge": "5.10.0",
"winston": "3.11.0",
"workerpool": "9.1.0",
"winston": "3.13.0",
"workerpool": "9.1.1",
"xml": "1.0.1",
"xregexp": "5.1.1",
"yargs": "17.7.2",
@@ -154,8 +154,8 @@
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "19.0.3",
"@commitlint/config-angular": "19.0.3",
"@commitlint/cli": "19.3.0",
"@commitlint/config-angular": "19.3.0",
"coveralls": "3.1.1",
"eslint": "8.57.0",
"eslint-config-nodebb": "0.2.1",
@@ -165,14 +165,14 @@
"husky": "8.0.3",
"jsdom": "24.0.0",
"lint-staged": "15.2.2",
"mocha": "10.3.0",
"mocha": "10.4.0",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "15.1.0",
"smtp-server": "3.13.3"
"smtp-server": "3.13.4"
},
"optionalDependencies": {
"sass-embedded": "1.71.1"
"sass-embedded": "1.77.1"
},
"resolutions": {
"*/jquery": "3.7.1"

View File

@@ -9,5 +9,9 @@
"filter-type": "نوع الحدث",
"filter-start": "تاريخ البدء",
"filter-end": "تاريخ الانتهاء",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "لكل صفحة"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,4 +1,4 @@
{
"title": "Top",
"no-top-topics": "No top topics"
"title": "أعلى الصفحة",
"no-top-topics": "لا توجد مواضيع أعلى الصفحة"
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "محظور",
"unbanned": "Unbanned",
"muted": "كتم",
"unmuted": "Unmuted",
"offline": "غير متصل",
"deleted": "محذوف",
"username": "إسم المستخدم",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "تأكيد الفصل",
"sso.dissociate-confirm": "هل تريد بالتأكيد فصل حسابك عن %1؟",
"info.latest-flags": "أحدث العلامات",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "لم يتم العثور على مشاركات معلمة",
"info.ban-history": "سجل الحظر الأحدث",
"info.no-ban-history": "هذا المستخدم لم يتم حظره مطلقا",
"info.banned-until": "محظور حتى %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "محظور بشكل دائم",
"info.banned-reason-label": "سبب",
"info.banned-no-reason": "لم يتم إعطاء سبب.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Вид събитие",
"filter-start": "Начална дата",
"filter-end": "Крайна дата",
"filter-user": "Филтриране по потребител",
"filter-user.placeholder": "Въведете име на потребител, за да филтрирате…",
"filter-group": "Филтриране по група",
"filter-group.placeholder": "Въведете име на група, за да филтрирате…",
"filter-per-page": "На страница"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "Беше изпратено е-писмо за потвърждение до %1",
"alerts.x-users-found": "Намерени потребители: %1 (%2 секунди)",
"alerts.select-a-single-user-to-change-email": "Изберете един потребител, чиято е-поща да промените",
"export": "Изнасяне",
"export-users-fields-title": "Изберете полета за CSV",
"export-field-email": "Е-поща",
"export-field-username": "Потребителско име",
"export-field-uid": "Потребителски идентификатор",
"export-field-ip": "IP адрес",
"export-field-joindate": "Дата на присъединяване",
"export-field-lastonline": "Последно на линия",
"export-field-lastposttime": "Време на последния отговор",
"export-field-reputation": "Репутация",
"export-field-postcount": "Брой публикации",
"export-field-topiccount": "Брой теми",
"export-field-profileviews": "Преглеждания на профила",
"export-field-followercount": "Брой последователи",
"export-field-followingcount": "Брой последвани",
"export-field-fullname": "Пълно име",
"export-field-website": "Уеб сайт",
"export-field-location": "Местоположение",
"export-field-birthday": "Рождена дата",
"export-field-signature": "Подпис",
"export-field-aboutme": "За потребителя",
"export-users-started": "Изнасяне на потребителите във формат „csv“… Това може да отнеме известно време. Ще получите известие, когато е готово.",
"export-users-completed": "Потребителите са изнесени във формат „csv“, щракнете за сваляне.",
"email": "Е-поща",

View File

@@ -10,7 +10,7 @@
"id": "Идентификатор: <small>незадължително</small>",
"properties": "Свойства:",
"groups": "Групи:",
"show-to-groups": "Показване на групите:",
"open-new-window": "Отваряне в нов прозорец",
"dropdown": "Падащо меню",
"dropdown-placeholder": "Въведете елементите на падащото меню по-долу. Пример: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Връзка 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Групови действия",
"bulk-resolve": "Разрешаване на доклад(и)",
"bulk-success": "%1 доклада са обновени",
"flagged-timeago-readable": "Докладвано <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Докладвано <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Авт. докладвано] Получени %1 отрицателни гласа."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "Потребителско меню",
"banned": "Блокиран",
"unbanned": "Деблокиран",
"muted": "Заглушен",
"unmuted": "Премахнато заглушаване",
"offline": "Извън линия",
"deleted": "Изтрит",
"username": "Потребителско име",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Потвърждаване на прекъсването",
"sso.dissociate-confirm": "Наистина ли искате да прекъснете връзката на акаунта си от „%1“?",
"info.latest-flags": "Последни доклади",
"info.profile": "Профил",
"info.post": "Публикация",
"info.view-flag": "Преглед на доклада",
"info.reported-by": "Докладвано от:",
"info.no-flags": "Не са намерени докладвани публикации",
"info.ban-history": "Скорошна история на блокиранията",
"info.no-ban-history": "Този потребител никога не е бил блокиран",
"info.banned-until": "Блокиран до %1",
"info.banned-expiry": "Давност",
"info.ban-expired": "Блокирането е изтекло",
"info.banned-permanently": "Блокиран за постоянно",
"info.banned-reason-label": "Причина",
"info.banned-no-reason": "Няма посочена причина.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "নিষিদ্ধ",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "অফলাইন",
"deleted": "Deleted",
"username": "সদস্যের নাম",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Latest Flags",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Typ události",
"filter-start": "Datum začátku",
"filter-end": "Datum konce",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Na stránku"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "E-mail s pozvánkou byl odeslán na %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>doporučené</small>",
"properties": "Vlastnosti:",
"groups": "Skupiny:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Otevřít v novém okně",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Zablokován",
"unbanned": "Unbanned",
"muted": "Ztlumen",
"unmuted": "Unmuted",
"offline": "Nepřipojen",
"deleted": "Odstraněno",
"username": "Uživatelské jméno",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Potvrdit odloučení",
"sso.dissociate-confirm": "Jste si jist/a, že chcete odloučit váš účet z %1?",
"info.latest-flags": "Poslední označené",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "Nebyly nalezeny žádné označené příspěvky",
"info.ban-history": "Poslední historie blokovaných",
"info.no-ban-history": "Tento uživatel nebyl nikdy zablokován",
"info.banned-until": "Zablokován do %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Trvale zablokován",
"info.banned-reason-label": "Důvod",
"info.banned-no-reason": "Bez důvodu",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Banlyst",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Offline",
"deleted": "Deleted",
"username": "Brugernavn",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Latest Flags",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Ereignistyp",
"filter-start": "Anfangsdatum",
"filter-end": "Enddatum",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Pro Seite"
}

View File

@@ -95,7 +95,7 @@
"expand-analytics": "Analytik erweitern",
"clear-search-history": "Suchverlauf löschen",
"clear-search-history-confirm": "Bist du dir sicher, dass du den gesamten Suchverlauf löschen möchten?",
"search-term": "Term",
"search-count": "Count",
"view-all": "View all"
"search-term": "Bezeichnung",
"search-count": "Anzahl",
"view-all": "Zeige alle"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "Eine Einladungsemail wurde an %1 gesendet",
"alerts.x-users-found": "%1 Benutzer gefunden, (%2 Sekunden)",
"alerts.select-a-single-user-to-change-email": "Wähle einen einzelnen Benutzer zum Ändern der E-Mail",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Der Export von Benutzern als CSV kann eine Weile dauern. Sie erhalten eine Benachrichtigung, wenn es abgeschlossen ist.",
"export-users-completed": "Benutzer wurden als CSV exportiert, klicke hier, um sie herunterzuladen.",
"email": "E-Mail",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Eigenschaften:",
"groups": "Gruppen:",
"show-to-groups": "Show to Groups:",
"open-new-window": "In neuem Fenster öffnen",
"dropdown": "Dropdown",
"dropdown-placeholder": "Platziere deine Dropdown-Menüpunkte unten, d. h.:<br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Massenaktionen",
"bulk-resolve": "Meldung(en) bereiningen",
"bulk-success": "%1 Meldungen aktualisiert",
"flagged-timeago-readable": "Gemeldet <span class=\"timeago\" title=\"%1\"></span>(%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Automatisch gemeldet] %1 Abwertungen erhalten."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Gesperrt",
"unbanned": "Unbanned",
"muted": "Stummgeschaltet",
"unmuted": "Unmuted",
"offline": "Offline",
"deleted": "Gelöscht",
"username": "Benutzername",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Trennung bestätigen",
"sso.dissociate-confirm": "Bist du sicher, dass du dein Konto von %1 trennen willst?",
"info.latest-flags": "Neuste Meldungen",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "Keine gemeldeten Beiträge gefunden",
"info.ban-history": "Sperrungsverlauf",
"info.no-ban-history": "Dieser Benutzer wurde noch nie gesperrt",
"info.banned-until": "Gesperrt bis zum %1",
"info.banned-expiry": "Ablauf",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Permanent gesperrt",
"info.banned-reason-label": "Grund",
"info.banned-no-reason": "Kein Grund angegeben.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Αποκλεισμένος/η",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Εκτός Σύνδεσης",
"deleted": "Deleted",
"username": "Όνομα Χρήστη",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Latest Flags",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Banned",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Offline",
"deleted": "Deleted",
"username": "User Name",
@@ -179,11 +181,16 @@
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Latest Flags",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Banned",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Offline",
"deleted": "Deleted",
"username": "User Name",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Latest Flags",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Blackmarked",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Asleep at the wheel",
"deleted": "Deleted",
"username": "User Name",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Latest Flags",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Tipo de evento",
"filter-start": "Fecha de inicio",
"filter-end": "Fecha fin",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "por página"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "Un email de invitación ha sido enviado a %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>opcional</small>",
"properties": "Propiedades:",
"groups": "Grupos:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Abrir en una ventana nueva",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Baneado",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Desconectado",
"deleted": "Borrado",
"username": "Nombre de usuario",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirmar Disociación",
"sso.dissociate-confirm": "Está seguro de que desea disociar su cuenta de %1?",
"info.latest-flags": "Ultimos reportes",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "Ningun mensaje reportado encontrado",
"info.ban-history": "Histórico reciente de bans",
"info.no-ban-history": "Este usuario nunca ha sido baneado",
"info.banned-until": "Baneado hasta %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Baneado permanentemente",
"info.banned-reason-label": "Motivo",
"info.banned-no-reason": "Motivo no especificado",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "Kutse on saadetud %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Banned",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Väljas",
"deleted": "Deleted",
"username": "Kasutajanimi",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Viimased raporteerimised",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "Raporteeritud postitusi ei leitud",
"info.ban-history": "Hiljutiste keeldude ajalugu",
"info.no-ban-history": "Seda kasutajat pole kunagi keelustatud",
"info.banned-until": "Keelustatud kuni %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Igavesti keelustatud",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Event Type",
"filter-start": "Start Date",
"filter-end": "End Date",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Per Page"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "عملیات گروهی",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 گزارش بروزرسانی شد",
"flagged-timeago-readable": "گزارش شده <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "اخراج شده",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "آفلاین",
"deleted": "حذف شده",
"username": "نام کاربری",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "آیا مطمئنی می خواهی اتصال %1 به حسابت را لغو کنی؟",
"info.latest-flags": "آخرین نشانه گذاری‌ها",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "پست گزارش شده ای یافت نشد",
"info.ban-history": "تاریخچه مسدودیت های اخیر",
"info.no-ban-history": "این کاربر هرگز مسدود نشده است",
"info.banned-until": "مسدود شده تا %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "مسدود شده به طور دائم",
"info.banned-reason-label": "دلیل",
"info.banned-no-reason": "هیچ دلیلی ارایه نشد.",

View File

@@ -9,5 +9,9 @@
"filter-type": "Tapahtuman tyyppi",
"filter-start": "Aloituspäivä",
"filter-end": "Lopetuspäivä",
"filter-user": "Filter by User",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "Sivulla"
}

View File

@@ -121,6 +121,28 @@
"alerts.email-sent-to": "Kutsuviesti lähetettiin osoitteeseen %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"export": "Export",
"export-users-fields-title": "Select CSV Fields",
"export-field-email": "Email",
"export-field-username": "Username",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Join date",
"export-field-lastonline": "Last Online",
"export-field-lastposttime": "Last Post Time",
"export-field-reputation": "Reputation",
"export-field-postcount": "Post Count",
"export-field-topiccount": "Topic Count",
"export-field-profileviews": "Profile Views",
"export-field-followercount": "Follower Count",
"export-field-followingcount": "Following Count",
"export-field-fullname": "Full Name",
"export-field-website": "Website",
"export-field-location": "Location",
"export-field-birthday": "Birthday",
"export-field-signature": "Signature",
"export-field-aboutme": "About Me",
"export-users-started": "Käyttäjiä viedään CSV-muotoon ja tämä saatta kestää jonkin aikaa. Saat ilmoituksen kun se on suoritettu.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Sähköposti",

View File

@@ -10,7 +10,7 @@
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Ryhmät:",
"show-to-groups": "Show to Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",

View File

@@ -90,6 +90,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -1,7 +1,9 @@
{
"user-menu": "User menu",
"banned": "Bannattu",
"unbanned": "Unbanned",
"muted": "Muted",
"unmuted": "Unmuted",
"offline": "Offline",
"deleted": "Poistettu",
"username": "Käyttäjän nimi",
@@ -162,11 +164,16 @@
"sso.dissociate-confirm-title": "Confirm Dissociation",
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
"info.latest-flags": "Latest Flags",
"info.profile": "Profile",
"info.post": "Post",
"info.view-flag": "View flag",
"info.reported-by": "Reported by:",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Estohistorian viimeisimmät",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.ban-expired": "Ban expired",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Syy",
"info.banned-no-reason": "Syytä ei ole annettu",

View File

@@ -9,5 +9,9 @@
"filter-type": "Évènements",
"filter-start": "Date de début",
"filter-end": "Date de fin",
"filter-user": "Filtrer par Utilisateur",
"filter-user.placeholder": "Tapez le nom d'utilisateur à filtrer...",
"filter-group": "Filtrer par groupe",
"filter-group.placeholder": "Tapez le nom du groupe à filtrer...",
"filter-per-page": "Par page"
}

View File

@@ -95,7 +95,7 @@
"expand-analytics": "Développer les statistiques",
"clear-search-history": "Effacer l'historique",
"clear-search-history-confirm": "Êtes-vous sûr de vouloir effacer tout l'historique de recherche ?",
"search-term": "Term",
"search-count": "Count",
"search-term": "Terme",
"search-count": "Nombre",
"view-all": "Voir tout"
}

View File

@@ -121,9 +121,31 @@
"alerts.email-sent-to": "Un e-mail d'invitation a été envoyé à %1",
"alerts.x-users-found": "%1 utilisateur(s) trouvé(s), (%2 secondes)",
"alerts.select-a-single-user-to-change-email": "Sélectionner un utilisateur pour modifier l'adresse e-mail",
"export": "Exporter",
"export-users-fields-title": "Sélectionner champs CSV",
"export-field-email": "E-mail",
"export-field-username": "Nom d'utilisateur",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Date d'inscription",
"export-field-lastonline": "Dernière connexion",
"export-field-lastposttime": "Dernier message",
"export-field-reputation": "Réputation",
"export-field-postcount": "Nombre de messages",
"export-field-topiccount": "Nombre de sujets",
"export-field-profileviews": "Vues",
"export-field-followercount": "Abonnés",
"export-field-followingcount": "Abonnements",
"export-field-fullname": "Nom complet",
"export-field-website": "Site Web",
"export-field-location": "Localisation",
"export-field-birthday": "Anniversaire",
"export-field-signature": "Signature",
"export-field-aboutme": "A propos",
"export-users-started": "L'exportation d'utilisateurs au format CSV peut prendre un certain temps. Vous recevrez une notification lorsqu'elle sera terminée.",
"export-users-completed": "Utilisateurs exportés au format CSV, cliquer ici pour télécharger.",
"email": "e-mail",
"email": "E-mail",
"password": "Mot de passe",
"manage": "Gérer"
}

View File

@@ -4,7 +4,7 @@
"consent.message": "Message de notification",
"consent.acceptance": "Message d'acceptation",
"consent.link-text": "Texte du lien vers la politique de confidentialité",
"consent.link-url": "URL du lien vers la politique",
"consent.link-url": "Lien URL vers la politique",
"consent.blank-localised-default": "Laisser vide pour utiliser les textes localisés par défaut de NodeBB",
"settings": "Réglages",
"cookie-domain": "Domaine de session du cookie",

View File

@@ -10,7 +10,7 @@
"id": "ID : <small>optionnel</small>",
"properties": "Propriétés :",
"groups": "Groupes :",
"show-to-groups": "Show to Groups:",
"open-new-window": "Ouvrir dans une nouvelle fenêtre",
"dropdown": "Menu déroulant",
"dropdown-placeholder": "Placer vos éléments de menu déroulant ci-dessous, par exemple : <br/>https://myforum.com",

View File

@@ -4,11 +4,11 @@
"sorting.post-default": "Tri des messages par défaut",
"sorting.oldest-to-newest": "Du plus ancien au plus récent",
"sorting.newest-to-oldest": "Du plus récent au plus ancien",
"sorting.recently-replied": "Recently Replied",
"sorting.recently-created": "Recently Created",
"sorting.recently-replied": "Répondu récemment ",
"sorting.recently-created": "Créé récemment ",
"sorting.most-votes": "Avec le plus de votes",
"sorting.most-posts": "Avec le plus de messages",
"sorting.most-views": "Most Views",
"sorting.most-views": "Les plus vus",
"sorting.topic-default": "Tri des sujets par défaut",
"length": "Longueur de message",
"post-queue": "File d'attente",

View File

@@ -1,8 +1,8 @@
{
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1",
"user-avatar-for": "User avatar for %1",
"user-watched-tags": "User watched tags",
"delete-upload-button": "Delete upload button",
"group-page-link-for": "Group page link for %1"
"post-sort-option": "Option de tri des messages, %1",
"topic-sort-option": "Option de tri des sujets, %1",
"user-avatar-for": "Avatar de l'utilisateur pour %1",
"user-watched-tags": "L'utilisateur a regardé les tags",
"delete-upload-button": "Supprimer le bouton de téléchargement",
"group-page-link-for": "Lien vers la page de groupe pour %1"
}

View File

@@ -184,8 +184,8 @@
"user-already-flagged": "Vous avez déjà signalé cet utilisateur",
"post-flagged-too-many-times": "Ce message a déjà été signalé par d'autres",
"user-flagged-too-many-times": "Cet utilisateur a déjà été signalé par d'autres",
"too-many-post-flags-per-day": "You can only flag %1 post(s) per day",
"too-many-user-flags-per-day": "You can only flag %1 user(s) per day",
"too-many-post-flags-per-day": "Vous pouvez seulement signaler %1 message(s) par jour",
"too-many-user-flags-per-day": "Vous pouvez seulement signaler %1 utilisateur(s) par jour",
"cant-flag-privileged": "Vous n'êtes pas autorisé à signaler les profils ou le contenu des utilisateurs privilégiés (modérateurs / modérateurs globaux / administrateurs)",
"cant-locate-flag-report": "Impossible de trouver le signalement",
"self-vote": "Vous ne pouvez pas voter sur votre propre message",
@@ -221,7 +221,7 @@
"already-unblocked": "Cet utilisateur est déjà débloqué",
"no-connection": "Il semble y avoir un problème avec votre connexion internet",
"socket-reconnect-failed": "Serveur inaccessible pour le moment. Cliquez ici pour réessayer ou réessayez plus tard",
"invalid-plugin-id": "Invalid plugin ID",
"invalid-plugin-id": "ID de plugin invalide",
"plugin-not-whitelisted": "Impossible d'installer le plugin, seuls les plugins mis en liste blanche dans le gestionnaire de packages NodeBB peuvent être installés via l'ACP",
"plugins-set-in-configuration": "Vous n'êtes pas autorisé à modifier l'état des plugins car ils sont définis au moment de l'exécution (config.json, variables d'environnement ou arguments de terminal), veuillez plutôt modifier la configuration.",
"theme-not-set-in-configuration": "Lors de la définition des plugins actifs, le changement de thème nécessite d'ajouter le nouveau thème à la liste des plugins actifs avant de le mettre à jour dans l'ACP",

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