144 Commits (7e8ad785f49c305e2f2835ec51474a29f9090ff0)

Author SHA1 Message Date
Julian Lam f93a0b83bb test: fix tests so that when user.create is called, email is set prior to confirmation 2 years ago
Barış Soner Uşaklı d20b07cfea
Webpack5 (#10311)
* feat: webpack 5 part 1

* fix: gruntfile fixes

* fix: fix taskbar warning

add app.importScript
copy public/src/modules to build folder

* refactor: remove commented old code

* feat: reenable admin

* fix: acp settings pages, fix sortable on manage categories

embedded require in html not allowed

* fix: bundle serialize/deserizeli so plugins dont break

* test: fixe util tests

* test: fix require path

* test: more test fixes

* test: require correct utils module

* test: require correct utils

* test: log stack

* test: fix db require blowing up tests

* test: move and disable bundle test

* refactor: add aliases

* test: disable testing route

* fix: move webpack modules necessary for build, into `dependencies`

* test: fix one more test

remove 500-embed.tpl

* fix: restore use of assets/nodebb.min.js, at least for now

* fix: remove unnecessary line break

* fix: point to proper ACP bundle

* test: maybe fix build test

* test: composer

* refactor: dont need dist

* refactor: more cleanup

use everything from build/public folder

* get rid of conditional import in app.js

* fix: ace

* refactor: cropper alias

* test: lint and test fixes

* lint: fix

* refactor: rename function to app.require

* refactor: go back to using app.require

* chore: use github branch

* chore: use webpack branch

* feat: webpack webinstaller

* feat: add chunkFile name with contenthash

* refactor: move hooks to top

* refactor: get rid of template500Function

* fix(deps): use webpack5 branch of 2factor plugin

* chore: tagging v2.0.0-beta.0 pre-release version 💥 :shipit: 🎉 🚀

* refactor: disable cache on templates

loadTemplate is called once by benchpress and the result is cache internally

* refactor: add server side helpers.js

* feat: deprecate /plugins shorthand route, closes #10343

* refactor: use build/public for webpack

* test: fix filename

* fix: more specific selector

* lint: ignore

* refactor: fix comments

* test: add debug for random failing test

* refactor: cleanup

remove test page, remove dupe functions in utils.common

* lint: use relative path  for now

* chore: bump prerelease version

* feat: add translateKeys

* fix: optional params

* fix: get rid of extra timeago files

* refactor: cleanup, require timeago locale earlier

remove translator.prepareDOM, it is in header.tpl html tag

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels

- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks

* docs: fix typo in comment

* test: spec changes

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)

* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels

- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks

* docs: fix typo in comment

* test: spec changes

* feat: allow app.require('bootbox'/'benchpressjs')

* refactor: require server side utils

* test: jquery ready

* change istaller to use build/public

* test: use document.addEventListener

* refactor: closes #10301

* refactor: generateTopicClass

* fix: column counts for other privileges

* fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking]

* fix: typo in hook name

* refactor: introduce a generic autocomplete.init() method that can be called to add nodebb-style autocompletion but using different data sources (e.g. not user/groups/tags)

* fix: crash if `delay` not passed in (as it cannot be destructured)

* refactor: replace substr

* feat: set --panel-offset style in html element based on stored value in localStorage

* refactor: addDropupHandler() logic to be less naive

- Take into account height of the menu
- Don't apply dropUp logic if there's nothing in the dropdown
- Remove 'hidden' class (added by default in Persona for post tools) when menu items are added

closes #10423

* refactor: simplify utils.params [breaking]

Retrospective analysis of the usage of this method suggests that the options passed in are superfluous, and that only `url` is required. Using a browser built-in makes more sense to accomplish what this method sets out to do.

* feat: add support for returning full URLSearchParams for utils.params

* fix: utils.params() fallback handling

* fix: default empty obj for params()

* fix: remove \'loggedin\' and \'register\' qs parameters once they have been used, delay invocation of messages until ajaxify.end

* fix: utils.params() not allowing relative paths to be passed in

* refactor(DRY): new assertPasswordValidity utils method

* fix: incorrect error message returned on insufficient privilege on flag edit

* fix: read/update/delete access to flags API should be limited for moderators to only post flags in categories they moderate

- added failing tests and patched up middleware.assert.flags to fix

* refactor: flag api v3 tests to create new post and flags on every round

* fix: missing error:no-flag language key

* refactor: flags.canView to check flag existence, simplify middleware.assert.flag

* feat: flag deletion API endpoint, #10426

* feat: UI for flag deletion, closes #10426

* chore: update plugin versions

* chore: up emoji

* chore: update markdown

* chore: up emoji-android

* fix: regression caused by utils.params() refactor, supports arrays and pipes all values through utils.toType, adjusts tests to type check

Co-authored-by: Julian Lam <[email protected]>
3 years ago
CommanderRoot 200f0b2e4f
refactor: replace deprecated String.prototype.substr() (#10432)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated

Signed-off-by: Tobias Speicher <[email protected]>
3 years ago
Julian Lam 1b8eeaf840 feat: more tests for ensuring downvoted posts are added to the :votes zset 3 years ago
Barış Soner Uşaklı 1264dcb555 test: add email interstitial tests 3 years ago
Barış Soner Uşaklı 0e273ab25a test: fix tests 3 years ago
Barış Soner Uşaklı 404a877408 test: add missing tests 3 years ago
Barış Soner Uşaklı 754cdab896 test: debug routes in dev 3 years ago
Barış Soner Uşaklı c5f08fdc81 breaking: remove socket.io/flags.js
refactor: helpers.loginUser returns a single object {jar, csrf_token}
3 years ago
Barış Soner Uşaklı ae64b9f495 test: add another assert for random failing test 3 years ago
Barış Soner Uşaklı e3f5b706a5 test: show body when test fails 3 years ago
Julian Lam 10bb8cf747 test: fix account export test routes 3 years ago
Barış Soner Uşaklı 3605ac811d fix: possible test fix for subfolder redirect 3 years ago
Julian Lam 8cb475482a test: remove debug log 3 years ago
Julian Lam 4eacfef02b fix: missing relative path in test 3 years ago
Julian Lam 58e0a366c8 fix: #9834, missing null email check on new registrations, added tests 3 years ago
Julian Lam cb69934ad0 test: no need to create fake interstitial as NodeBB comes with some by default 3 years ago
Julian Lam 81611ae1c4 fix(emails): broken test for api/user/email/:email
+ fixed broken tests due to unexpected behaviour for email confirmation
4 years ago
Julian Lam 0960a81468 fix: tests 4 years ago
Barış Soner Uşaklı 36f119a96a fix: #9492, keep query params on redirect 4 years ago
Barış Soner Uşaklı fc90f32ec0 fix: tests, new categories go to top now 4 years ago
Peter Jaszkowiak dab3b23575 chore: eslint no-var, vars-on-top 4 years ago
Peter Jaszkowiak b56d9e12b5 chore: eslint prefer-arrow-callback 4 years ago
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template 4 years ago
Julian Lam 5c21c33e58 fix: tests breakage due to 67e3fb6498 4 years ago
Barış Soner Uşaklı d41ce87334 fix: removed object routes 4 years ago
Barış Soner Uşaklı 647d3ba810 fix: removed methods 4 years ago
Barış Soner Uşaklı 8ece64ab82 fix: test for https://github.com/NodeBB/NodeBB/pull/9180 4 years ago
Barış Soner Uşaklı 5fa098326f fix: https://github.com/NodeBB/NodeBB/pull/8685
fix category link redirect on cold load
fix helpers.redirect if passed in url is external
fix ajaxify so it doesn't slice first character of external url
4 years ago
Julian Lam ee4d90f68f fix: test breakage from f300c933a5 4 years ago
Julian Lam f300c933a5 refactor: move session revocation route to write api 4 years ago
Barış Soner Uşaklı 255cf43ea9 fix: show msg on fail 4 years ago
Barış Soner Uşaklı bf480ee58b refactor: setupApiRoute signature 4 years ago
Barış Soner Uşaklı 872bacf1c4
Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
4 years ago
Barış Soner Uşaklı 7db224f689 fix: timeago test for dev/prod 4 years ago
Barış Soner Uşaklı cecdd2915e fix: timeago test 4 years ago
Barış Soner Uşaklı 3b231360d3 feat: load jquery-form before using 4 years ago
Julian Lam 229eb2c2d8 fix(writeapi): tests 4 years ago
psychobunny bf3c1c0878 fix: manifest test + remove duplicate test 4 years ago
Barış Soner Uşaklı 5e8c376115 fix: remove old test 4 years ago
Barış Soner Uşaklı e3a0b4b1c1 fix: tests 4 years ago
Barış Soner Uşaklı 52718ce0ba fix: remove old test 5 years ago
Barış Soner Uşaklı f0ce309d03 fix: test 5 years ago
Barış Soner Uşaklı 3be4d5f7d5 feat: redirect /me to user profile 5 years ago
Barış Soner Uşaklı ec5582b53c
feat: add privilege give/rescind hooks (#8336)
* feat: add privilege give/rescind hooks

action:privileges.categories.give/rescind
action:privileges.global.give/rescind

breaking change, privileges.categories.give/rescind and privileges.global.give/rescind use full privilege name for groups ie `groups:find` instead of `find`

* fix: tests, privileges renamed
5 years ago
Barış Soner Uşaklı e3c9dafa08 fix: tests 5 years ago
Julian Lam cf7e0cfd2d
feat: no more session cookie for guests (#7982)
* feat: no more session cookie for guests

* fix(tests): added additional tests and fixed the broken test
5 years ago
Barış Soner Uşaklı dec8040c09 feat: widgets/index.js
enable widget-essentials in tests
fix widget test
6 years ago
Julian Lam 79eed9ae60 feat: #7743 meta/templates.js 6 years ago
Barış Soner Uşaklı cd2e68cb2d feat: remove unused code, add 2 tests 6 years ago