Commit Graph

11142 Commits (bb85c059de77fa93571ba1357c25fbf8013f8d72)

Author SHA1 Message Date
Barış Soner Uşaklı e60357d20d
feat: , add top/popular sections to digest email ()
Peter Jaszkowiak 55d5cccf2e
Document deprecations and remove old ones ()
* chore: document deprecation removal versions

* chore: remove deprecations 2+ versions old
Peter Jaszkowiak 017af63fb0
fix: , deprecate `plugin.json/library` ()
and also fix deprecated hooks with no alternative
psychobunny 5441651ea7 fix: update "install plugins" link to go to the download tab
Julian Lam 38f88fc563 fix: tags route is case sensitive, though tags are not
psychobunny f4d76f1edd feat: move service-worker.js into its own file
psychobunny 14ba1a6dbb feat: analytics:maxCache setting in ACP
I removed a TODO from core. Watch your head as flying pigs are abound
Julian Lam 7f58e3ab09 fix: error on `reset -p` if plugin is not active
No need to throw error if plugin was not active, just silently OK
Renovate Bot 1e5621c049 fix(deps): update dependency sanitize-html to v2
psychobunny 9c5b690799 feat: up recommended size to 512x512 + ACP labels for PWA
psychobunny 6478b32d0e feat: upload maskable icon for PWA
Julian Lam b12e8d6312 feat: show top 5 trending plugins in new tab in Extend > Plugins
Julian Lam 07af621381 fix: typo in getCompatiblePlugins
psychobunny 54705cc432 fix: typo
psychobunny 5172d73137 feat: add theme-color meta tag for browser address bar
psychobunny f69697b3fa feat: basic service worker, minimum requirement for for a2hs; see
psychobunny 31528a5202 fix: manifest - use absolute URL for start_url
psychobunny 46800b6639 fix: prefer webmanifest extension over json
https://w3c.github.io/manifest/#media-type-registration
psychobunny 4fc84e9f5c chore: lint notifications.js
psychobunny 5b427a0c3b feat: option in ACP to configure notification/email delay for chats
Timothy Fike f85fe7faff
don't invite an already invited email ()
* don't invite an already invited email

* add email-invited translation string
Timothy Fike 5078a8df25
ttl/pttl ()
Barış Soner Uşaklı 16039b1117 refactor: post edit
psychobunny b6f2f0e5d0 fix: change owner modal's search should check if user is banned
Julian Lam 5ddf70221c feat: upon plugin installation via ACP, check against nbbpm first
Julian Lam 0fffe28941 fix: issue where the last flag filter could not be removed
Barış Soner Uşaklı 83d4e7efaa feat: add number of posters to topic
Julian Lam 81595095da feat: allow plugins to override tags and tag counts
Barış Soner Uşaklı bbf6889ecc fix: topic count on category page if filter is author
Barış Soner Uşaklı ac43cd8b6f fix: , trim email before checking validity
Barış Soner Uşaklı e72fe25920 fix: editing posts saving uncessary data
Barış Soner Uşaklı 4f14dc7a58 fix: , add bookmarks to intFields
Barış Soner Uşaklı af43f0e48e fix: , rename /api/me to /api/self
Julian Lam 43571bac38 feat: hotkey "/" to open ACP search
Barış Soner Uşaklı 22cd265434 fix: tests
Barış Soner Uşaklı 220297d501 fix: use correct topic count for category
Barış Soner Uşaklı 437424375e feat: expose calculateTopicPostCount and getChildrenTree
Julian Lam 4fca79380a fix: tests, because redis is TOO FAST
Julian Lam 29b357bc66 refactor: expose new method for appending moderation note
Barış Soner Uşaklı de824007d9 feat: allow custom req.query.filter on /unread /recent
Barış Soner Uşaklı 38d3982bf1 fix:
allow updating other profile fields when username isnt being changed
Barış Soner Uşaklı 4be693f2e7
feat: fullname search ()
* feat: fullname search

* fix: take last element

* fix: attempt to fix psql like query

* feat: upgrade sript, another fix attempt

* fix: psql test

* fix: psql scan

* feat: add debug for test

* feat: test collate

* feat: cleanup

* fix: upgrade script
Julian Lam 0891236142 fix: typo
Julian Lam 7e7366be13 fix: remove toolsVisible in post tools' menu [breaking]
Barış Soner Uşaklı 65d049c6f9 fix: tests
Barış Soner Uşaklı 2d5bd153e0 fix: check if unread_tids are followed
Barış Soner Uşaklı c1c617b323 feat: add topicIndex to category page
Barış Soner Uşaklı a78e1df965 fix: use text-right
Barış Soner Uşaklı 5a40d26b44 feat: , new move posts modal
Barış Soner Uşaklı a34b685c65 fix: remove lang keys, remove sounds menu
Barış Soner Uşaklı 5f10d67db5
Remove sounds ()
* feat: remove sounds

* feat: remove more sounds

* feat: disable sounds plugin

* fix: openapi
Barış Soner Uşaklı 4bace773f9 fix: wider widget area
Barış Soner Uşaklı 19c448612d feat: remove global RELATIVE_PATH
Barış Soner Uşaklı 46ab2711d4 fix: , add CSP frame-ancestors
Barış Soner Uşaklı 6fc31df033 feat: use const/let
Barış Soner Uşaklı 4588e52120 fix: allow setting maximumAboutMeLength to 0
psychobunny a38784f567 fix: additional commit for CF rocket loader
psychobunny 4d6659553b feat: allow nbb to work with cloudflare rocket loader 🚀
Barış Soner Uşaklı 53a5f1516e feat: move code
Barış Soner Uşaklı b6917b9dee feat: , dont send emails to unconfirmed addresses
Barış Soner Uşaklı 94da9fe55e feat: add partials/footer/js.tpl
add ajaxify.coldLoad which gets called from partials/footer/js.tpl
Barış Soner Uşaklı 4031a8cab1 fix: stack trace
Barış Soner Uşaklı 54b497258f feat: add missing name to profile image upload
Barış Soner Uşaklı b0a759223d feat: add action:user.removeCoverPicture
Barış Soner Uşaklı 962446a5ac feat: add user data to action:user.removeUploadedPicture
Barış Soner Uşaklı 9542ef1285 feat: add userData to action:user.delete
Barış Soner Uşaklı a263897627 fix:
Barış Soner Uşaklı 1e5981c0d6 feat: replace relative urls to absolute before sending email notifs
https://github.com/NodeBB/NodeBB/pull/8366/files
Julian Lam f743f92088
refactor: socket posts delete/restore/purge so tid is not necessary ()
* refactor: socket posts delete/restore/purge so tid is not necessary

* refactor: stop trying to be fancy

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

* fix: some more unnecessary tid passing
Julian Lam 0c20351702 feat: additional sorting options for flags
+ upvotes, +downvotes, +replies
Barış Soner Uşaklı 896fe9d65e fix: don't crash on outdated redis instances
Julian Lam 0e58d2b866 fix: update post-queue hook names
Julian Lam 8cc36de284 feat: new filter hook prior to post queue addition
filter:post.queue
Julian Lam a9dfc9a74e feat: add replies to getPostSummaryByPids
Julian Lam e0c7d65a92 Revert "feat: add reply count to getPostSummaryByPids"
This reverts commit de0f4aadb8.
Julian Lam de0f4aadb8 feat: add reply count to getPostSummaryByPids
Barış Soner Uşaklı 9f9164a9be fix:
Julian Lam 56101ae5ae fix: ip-blacklist not working after
Kyle Farris 2b785628e7
fix: removed invalid options for the sendmail transport ()
* Removed invalid options for the sendmail transport that were causing Nodemailer to return the SMTPTransport instead.

* Removed options for rate limiting in admin email interface. Added new option for toggling whether to use pooled connections.
Julian Lam b6b94a56dc refactor: moved ip-blacklist and post-queue styles/tpls to themes
This is a breaking change!, re: 
Julian Lam a4dbbc3749 feat: sort dependencies alphabetically
... when merging from install/package.json

/cc @pitaj
Barış Soner Uşaklı 55533b11e5 fix: dupes in unread followed topics
Barış Soner Uşaklı 39f4bbaa0e fix: wrong data passed to getCategories
Barış Soner Uşaklı 354e6ccc66 feat: banning a user will resolve their post flags
Barış Soner Uşaklı 91d9333a50 fix: username, email history disappering if content was deleted
Julian Lam 840cb5105f fix: package-install clobbering scoped nodebb plugins
Julian Lam 4b0cb26b34 fix: empty "manage" menu showing in ACP
... if no privileges corresponding to those menu items
are given
Julian Lam cc2686057c fix: hide nodebb version in ACP for non-superadmins
Julian Lam cf2f1e956a refactor: changed way middleware was exported
Julian Lam f00595b32d fix: change how admin middlewares are exported
Julian Lam ae68a254d7 fix: one less return, to appease codeclimate
Julian Lam 03bd76dea2 fix: inability to access /admin if not superadmin
There was an odd issue where non-superadmins could not use
the /admin route to access the ACP, even though they had
appropriate access. For whatever reason, it could not
be reliably reproduced on my dev. As it turns out, the
reason was because I was checking the wrong privilege,
and my dev database had this wrong privilege leftover
from the initial development of the ACP admin privileges
feature. Dumb.

Anyhow, that fixes this issue.
Barış Soner Uşaklı 29e3ab247d fix: , fix old upgrade script
db.connect no longer exists at the root
Julian Lam 6521e4dac4 Revert "feat: expose global/admin privileges to all routes"
This reverts commit 4737f937ee.
Julian Lam 4737f937ee feat: expose global/admin privileges to all routes
@barisusakli revert if necessary 😬
Andrew Rodrigues 7daba7ddc1
fix:
Julian Lam 3efe2362e2 fix: sorting the flags list by newest is not considered a filter
... as it is default
Julian Lam 334be11382 fix: no-widgets messaging in ACP + copy
Julian Lam 346db0d84d feat: flags list sorting, closes
Julian Lam cabe62a06c fix: perPage not acting like a filter
Barış Soner Uşaklı 35a538ec2a feat: allow adding multiple users to group
Barış Soner Uşaklı f1e82b6441 feat: add filter:group.getOwnersAndMembers
Julian Lam 9c70b6620e feat: pass uid into filter:flags.list
Barış Soner Uşaklı 31c2b7d946 fix:
Julian Lam 2adae87949 fix: progress bar clobbering upgrade script name
Julian Lam ac75c9a052 fix: tweak upgrade script progress bar to only update 100 times in total
Julian Lam 80a2a700ce fix: navigation title unescape upgrade script tweak
Julian Lam 7456a0e34e fix: new language key for error handling
Julian Lam de8eebbd7c fix: upgrade scripts not run properly if schemaDate is present
Only affected VERY old installs that don't use schemaLog
Barış Soner Uşaklı 0189945996 refactor: remove util.promisify calls
Barış Soner Uşaklı bfaf648ec3 fix: , catch errors from admin check
Barış Soner Uşaklı 326827382a fix: upgrade script for 1.15.0
Barış Soner Uşaklı 846b7d2430 refactor: change pwd change logic
add one more test
Julian Lam 16cee1b03b fix: improper targetUid check during password change
Julian Lam 0903eb4b8c feat: limit privileges column to superadmins only
Peter Jaszkowiak 1d170e0c1c
fix: , remove old deps during upgrade ()
Julian Lam 12edd18b46 feat: use nodebb-scoped bootswatch
closes 
Barış Soner Uşaklı 6e91885836 feat: use assetBaseUrl instead of hardcoding
Barış Soner Uşaklı 3f01f4a2b8 Revert "feat: load timeago strings client-side"
This reverts commit 558a2d739c.
Julian Lam 558a2d739c feat: load timeago strings client-side
9adaccd036 introduced the ability to
configure an assetBaseUrl, but the timeago strings were still
calling a hardcoded value as it was handled server-side. There's
no need for the strings to be loaded until timeago is initialised.
Julian Lam 9adaccd036 feat: +assetBaseUrl, -l10BaseUrl, -requireBaseUrl
Additional base URLs were necessary for benchpress and translator,
and in order to not clutter the API response with needless one-
time use base URLs, I decided to use a single base that is used
by all of the services, assetBaseUrl.
Barış Soner Uşaklı 33c5988c34 refactor: rewrite src/upgrade.js with async/await
Barış Soner Uşaklı 231d34d0aa fix: upgrade script
Barış Soner Uşaklı 8887f0edaa fix: don't allow duplicate upgrade script names
Julian Lam 9e3fd0e479 Revert "feat: , plugin helper for standardised link/button injection"
This reverts commit 0bbb813e4b.
Sam Thompson 0bbb813e4b feat: , plugin helper for standardised link/button injection
Julian Lam 9f3b78118a fix: send hard 404 instead of soft 404 for missing modules
We used to send a soft 404 because require.js would error out on
a 404, but it seems years ago, error handling was added to the
require() call, so a hard 404 will not throw errors to the console
Barış Soner Uşaklı d6baf5c278 feat: show event/params on error
Julian Lam 68f8d6e3a1 fix: send 308 Permanent Redirect on topic/category shortlinks
Julian Lam def16f9e97 feat: introduce overridable l10nBaseUrl config value
Barış Soner Uşaklı 2c35d0ba87 refactor: change incrementViewCount and markAsRead to async/await
Barış Soner Uşaklı dfabd0a3fe feat: remove administrator property from public routes
Barış Soner Uşaklı 774e5d0429 feat: add helmet middlewares
Barış Soner Uşaklı c39c51139b fix: remove default helmet
Julian Lam a716a5529c
feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals ()
* feat: privileges save button, , WIP

* fix: disable firefox autocomplete on privilege form fields

* feat: closes  privilege changes commit on save

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

* fix(tests): remove duplicate template helper test

* fix(tests): broken template helper test

* feat: confirm dialogs for all privilege copy actions

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

* feat: group row addition w/o table refresh

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

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

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

* fix: stale ajaxify data on privilege category switch

* fix: implicit privileges not showing for user privs

* fix: groups, not group, also fix tests

* fix(tests): again

* fix: wrong tpl rendered when adding group to global priv table
Julian Lam 0f10e0836b fix: remove duplicate configuration for helmet-hsts
Barış Soner Uşaklı e7a502e0aa feat: add ability to search groups in group details page
Barış Soner Uşaklı 335169f2b1 fix: don't process invalid topics, fallback to 0 score
Barış Soner Uşaklı 6924a22238 fix: tests
Barış Soner Uşaklı bb224184d8 fix: , enforce content checks for post queue
Barış Soner Uşaklı 776e34a80f refactor: rewrite src/install with async/await
Julian Lam 6c00ec8435 refactor: removed rather redundant flag reporters zset
Julian Lam 0f2b6f1ff7 fix: bug; additional reports could be added by the same user repeatedly
Barış Soner Uşaklı 519e665939 fix: , go to first unread instead of last read
Barış Soner Uşaklı 0d698a079e fix: , validate and retry password during setup
Barış Soner Uşaklı 9e80a9efdd fix: , dont show modal on search
Barış Soner Uşaklı fb7bb8d400 feat: use category selector in category page
fix privilege shortcuts in group page after search
Barış Soner Uşaklı 560f3eb173 feat: css fixes
Barış Soner Uşaklı 91411cc47c feat: add privileges shortcut to groups list
fix issues with escape group names
Julian Lam fcdbdf63a3 refactor: flags object in post tools
Barış Soner Uşaklı f1974fb900 refactor: pass only needed data
Barış Soner Uşaklı 9f346c53ab fix: language string
Barış Soner Uşaklı f89ec20574 feat: allow passing groupName to user.search
Julian Lam c705e08a76 feat: allow direct link to flag from post tools,
Barış Soner Uşaklı c4829fd8c2 feat: allow changing requirejs base url
Barış Soner Uşaklı 9df871bee2 fix: tests
Barış Soner Uşaklı bbc7737e14 feat: ability to clear cache from acp
Barış Soner Uşaklı 69fb15276c fix: tests
Barış Soner Uşaklı 8d8117ffa1 feat: reduce amount of data loaded on acp admin page
get rid of socket call and use ajaxify.data.categories
Barış Soner Uşaklı 7331faed9f fix: reverse uid checks
Barış Soner Uşaklı 303bffdb5f feat: remove require fallback for plugins
Barış Soner Uşaklı 2dfe9d49f4 fix: acp view category button if category is a link
Barış Soner Uşaklı 762b0be4b4 feat: remove /assets/stylesheet.css
Barış Soner Uşaklı 5e5815f051 fix: , fix login redirect on subfolder
Barış Soner Uşaklı fd4c3cda42 fix: , remove new notif alert
Julian Lam 8473e165a6 fix: too small sortable handle for ACP>Manage>Categories
The handle was initially just the icon, but now it is the icon
and the category label itself.
Barış Soner Uşaklı 24535a62e7 feat: make category tools in acp a dropdown
add view category, view privileges into dropdown
Barış Soner Uşaklı 37e56d94ce feat: series upload
Barış Soner Uşaklı 8bd63f61e0 feat: resolve flag on delete/purge/ban/delete account
Barış Soner Uşaklı c54b6b9c7e refactor: startup
Barış Soner Uşaklı 57135761ca fix: move check inside lock
Barış Soner Uşaklı af91c26a6f refactor: get rid of bind calls
Barış Soner Uşaklı e045436c07 feat: 8502, don't change topics sitemaps on every reply
sort by topic creation in ascending order
Barış Soner Uşaklı 0a9ea91fea feat: allow building custom languages during dev
Barış Soner Uşaklı d1cb405d86 fix: , display less errors with location and error message
Julian Lam 55b0e902fb feat: consolidation of flags to reduce flagspam,
Squashed commit of the following:

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

    fix: more tests

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

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

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

    fix: controllers-admin test

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

    fix(tests): dummy commit to trigger travisCI

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

    fix(openapi): openapi spec changes

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

    fix: reversing the order of reports for display purposes

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

    refactor: run all flag creation calls in a single batch

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

    feat: handling multiple reporters per flag, 

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

    feat: upgrade script for 
Barış Soner Uşaklı 3761f05c98 feat: change invalid language codes to default lang
Barış Soner Uşaklı ce6b20c4b7 feat: remove topics.async.getTopicData usage
Barış Soner Uşaklı 0cea713691 feat: remove deprecated checkGlobalPrivacySettings
Barış Soner Uşaklı a0da2ba774 feat: remove deprecated isAdmin method
Barış Soner Uşaklı 2cdb935f1d feat: remove file.isFileTypeAllowed
Barış Soner Uşaklı 4eae927d14 feat: remove deprecated hooks
psychobunny a6ae69737b Merge branch 'master' of https://github.com/NodeBB/NodeBB
psychobunny 2c83278f97 feat: quick access dropdown on groups page to access privileges page
Barış Soner Uşaklı 844f2b4ed0 feat: , allow editing category of queued topic
Barış Soner Uşaklı 7260646d6c fix: , allow regular users select topics on unread
Barış Soner Uşaklı 4658121a7d fix: don't crash if content is undefined
Barış Soner Uşaklı ff3c343532 feat: remove js-enabled
Barış Soner Uşaklı a3c8d45626 fix: crash if csrfToken does not exist
Barış Soner Uşaklı a46adb3fd5 fix: more tests
Barış Soner Uşaklı 72c60d19c2 fix: tests
Barış Soner Uşaklı 2a5f8ab27e feat: dont load all subscribers at once
increase batch to 500
Barış Soner Uşaklı 23a9a334cd feat: short more info
Barış Soner Uşaklı 2485a55092 feat: , allow editing title before posting from queue
Barış Soner Uşaklı 1e7397b1b8 feat: allow searching categories in ACP
psychobunny 06143ca7d7 feat: added quick link to edit privileges on the category edit page
Barış Soner Uşaklı 3653151143 fix: , dont allow moving topics if not moderator of target category
Julian Lam e3e55f25d0 refactor: flag sanity checks, +feat: flag limits
- Added new config flag:limitPerTarget, to disallow flags after an item has
  already been flagged x times (default 0, or infinite)
- New zset flags:byTarget, score is the number of times a flag has been made
  against that item
- "already-flagged" translation key removed, now "post-already-flagged" or
  "user-already-flagged" -- this fixed bug where flagging a user you've already
  flagged would tell you you've already flagged this post already.
- Refactored Flags.canFlag to throw errors only, instead of returning boolean
- Updated ACP form inputs for reputation settings page to be more bootstrappy
- +1 upgrade script
Julian Lam 1441720962 feat: logic for flag note editing,
Julian Lam f85a45c722 feat: logic for flag note deletion,