71 Commits (d20b07cfeabc7354f48f4e96f86278cff5939141)

Author SHA1 Message Date
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
Barış Soner Uşaklı 4359e5c97c refactor: remove tabs after declaration 4 years ago
gasoved b0a24d6dd5
refactor: var to const and let (#9885)
* refactor: var to const and let

* fix: missed global bootbox usage

* refactor: align with eslint expectations
4 years ago
Julian Lam cf4b78dbd3 Revert "fix: taskbar icon not pushed via composer/persona"
This reverts commit 3a81c8fd42.
4 years ago
psychobunny d2492ef48e style: eslint 4 years ago
psychobunny 3a81c8fd42 fix: taskbar icon not pushed via composer/persona
@antosik, partially reverted your PR:
342503e07a

just specifically this file: 342503e07a/public/src/modules/taskbar.js

I'm not 100% sure, but it might be because this hook is called sooner than the hook being registered? https://github.com/NodeBB/nodebb-theme-persona/blob/master/public/persona.js#L100-L101  @julianlam
4 years ago
Anton Grigoryev 342503e07a
Feat: Client-side hooks - replace window.trigger (#9679)
* feat/clientside-hooks: replace window.trigger with hooks.fire

* feat(clientside-hooks): Move hooks require to the top

* fix: simplifying complex logical expression

* fix: client-side hook for translator - post-review fixes
4 years ago
Barış Soner Uşaklı 03e306349c fix: #9387, don't try to load undefined images 4 years ago
preetykumar 2826c6986c
Update taskbar.js (#9314)
* Update taskbar.js

add aria-label to make the link text discernible to screen readers.

* place quotes around attribute value

Co-authored-by: Peter Jaszkowiak <[email protected]>
4 years ago
Peter Jaszkowiak e128264b66
refactor: change Benchpress.parse to .render (#8856)
It has been deprecated with no warning message for a while
Changing these over before enabling the warning message to reduce spam
5 years ago
Peter Jaszkowiak 55d5cccf2e
Document deprecations and remove old ones (#8706)
* chore: document deprecation removal versions

* chore: remove deprecations 2+ versions old
5 years ago
Barış Soner Uşaklı 5002e0f62c feat: refactor app.js 5 years ago
Julian Lam 922d49be0b fix(style): switch..case 5 years ago
psychobunny 275e837bcf fix: jquery xhtml violations 5 years ago
Baris Usakli 2e79480179 fix: #8151, don't crash if taskbar doesn't have element 5 years ago
Julian Lam 106c141ff5 fix: background-size in taskbar images 5 years ago
Julian Lam 9b09ee0e93 feat: client-side taskbar.update method, deprecates .updateTitle() 6 years ago
Barış Soner Uşaklı 09681e6ccf fix: #7562 6 years ago
Julian Lam af4fd5979f Revert "fix: #7216, hide taskbar on chat modal invocation on mobile"
This reverts commit a70db885cf.
7 years ago
Julian Lam a70db885cf fix: #7216, hide taskbar on chat modal invocation on mobile 7 years ago
Julian Lam 629b35546c fix: #7167, composer and chat not closing on logout 7 years ago
Peter Jaszkowiak ba619c7ec8 style(eslint): match operator-linebreak preferences 7 years ago
renovate[bot] 64b9dabff8 chore(deps): update dependency eslint-config-airbnb-base to v13 (#6599)
* chore(deps): update dependency eslint-config-airbnb-base to v13

* chore: #6599, linting 😬
7 years ago
André Zanghelini f3956299eb Add tooltip in taskbar icons (#6693)
* Add tooltip in taskbar icons

* Translate taskbar title when creating taskbar
7 years ago
Julian Lam 3688840f1f using modal-unfocused instead, so regular modals still appear on-top of composer
_now_ it closes #6532
7 years ago
Julian Lam 8164a52fc4 no longer using bringModalToTop, in favour of taskbar modal focused class
re: #6532
7 years ago
Peter Jaszkowiak c91dfb46f6 Switch module t.js usage to Benchpress 8 years ago
Julian Lam 72e77772db Merge branch 'master' into develop 8 years ago
Peter Jaszkowiak a038c66549 ESlint quotes 8 years ago
Peter Jaszkowiak 277a7fb8b4 ESlint key-spacing, no-trailing-spaces 8 years ago
Peter Jaszkowiak b09b3aef7f ESlint no-undef, remove global comments 8 years ago
Peter Jaszkowiak 2ba46808a1 ESlint one-var, fix comma-dangle 8 years ago
Peter Jaszkowiak bc1d70c126 ESlint comma-dangle 8 years ago
barisusakli 33e452cc8e fix lint 9 years ago
barisusakli 0b95eab71e use roomName if availabe in taskbar
if room is renamed update title on taskbar
9 years ago
Julian Lam 42b01060d7 up themes, allow chat modal to be minimised 9 years ago
HeeL 4a3c31b2dc Fix space-before-function-paren linter rule 9 years ago
HeeL 3fa1c1f927 Fix space-infix-ops linter rule 9 years ago
psychobunny 489bdcced6 #4423 9 years ago
Julian Lam 6348eb2bab fixed #3359 10 years ago
Julian Lam 474ff3ed35 fixed #3359 10 years ago
psychobunny 533193fa79 send in data to action:taskbar.pushed as well 10 years ago
psychobunny c13e14d2c8 pass in element to filter:taskbar.push; taskbar.push cleanup 10 years ago
psychobunny 5d04cd0bef ability to add class to taskbar; new action hook; send touid in chat 10 years ago
psychobunny 23c4ecfe60 filter:taskbar.push
not really a filter, but does the job as long as its synchronous
10 years ago
psychobunny 2a88e08977 and one last derp 11 years ago
psychobunny 556d817cc5 forgot to return 11 years ago
psychobunny 458ee7cca8 acute ocd attack 11 years ago
psychobunny bfaeee2531 linting 11 years ago
psychobunny b511bc37fb don't initialize taskbar until dom is ready 11 years ago