1544 Commits

Author SHA1 Message Date
Julian Lam
847d2b9141 fix: #10795, early return for selection tooltip based on calling user privilege 2022-07-28 15:58:17 -04:00
Barış Soner Uşaklı
b2da02d676 feat: add client side filter:chat.send, closes #10729 2022-07-27 13:12:39 -04:00
Barış Soner Uşaklı
6a0339dea4 https://github.com/pichalite/nodebb-theme-slick/issues/60 2022-06-02 18:12:46 -04:00
Barış Soner Uşaklı
9acdc6808c feat: allow unban/unmute on flag details page. closes #10593 2022-05-15 21:49:27 -04:00
Barış Soner Uşaklı
b17a81bfb0 fix: translate api error messages to user lang, closes #10623, 2022-05-15 21:23:23 -04:00
Barış Soner Uşaklı
7867ccd780 feat: #10585, ability to mute from flag details 2022-05-06 14:16:41 -04:00
Barış Soner Uşaklı
5e82cf23c6 fix: closes #10583, replace removed socket method with api method 2022-05-05 21:24:25 -04:00
Barış Soner Uşaklı
012860a49a feat: show number of selected posts in reject confirm 2022-04-30 19:17:22 -04:00
Barış Soner Uşaklı
23175110a2 feat: post queue bulk actions closes #10520, fix #10555, 2022-04-30 19:07:49 -04:00
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 <julian@nodebb.org>
2022-04-29 21:39:33 -04:00
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 <rootcommander@gmail.com>
2022-03-31 13:49:56 -04:00
Barış Soner Uşaklı
538ad9e18b feat: add confirm to reject, closes #10427 2022-03-24 12:59:38 -04:00
Barış Soner Uşaklı
be6bbabd0e feat: ability to mute users
new mute privilege
2022-03-11 23:07:20 -05:00
Barış Soner Uşaklı
37ef8366d0 fix: #10360, only take top level posts 2022-03-02 11:08:16 -05:00
Julian Lam
fec907d99d fix: #10354, flag actions regression 2022-03-01 14:30:29 -05:00
Barış Soner Uşaklı
40230725c3 refactor: move header unread code to separate module 2022-02-28 20:37:55 -05:00
Barış Soner Uşaklı
4a1e761adb refactor: remove code that doesn't do anything 2022-02-28 20:36:47 -05:00
Barış Soner Uşaklı
0b813d601e fix: #10316, fix quoting regression 2022-02-18 19:01:32 -05:00
Barış Soner Uşaklı
503e27f709 fix: #10302, fix regression 2022-02-16 11:37:50 -05:00
Barış Soner Uşaklı
946d351f3a refactor: lazy load slugify 2022-02-14 21:50:30 -05:00
Barış Soner Uşaklı
fb3f4f9a13 fix: #10256, allow quote tooltip on mobile 2022-02-07 15:59:19 -05:00
Barış Soner Uşaklı
dcb201dfa8 fix: https://github.com/NodeBB/NodeBB/issues/10242 2022-02-04 10:37:59 -05:00
Barış Soner Uşaklı
cf5c096806 feat: add upload helper module for drag&drop, paste, closes #6388
fix chat input not getting focused
2022-02-01 20:03:15 -05:00
Barış Soner Uşaklı
dc6e629d59 fix: https://github.com/julianlam/nodebb-plugin-mentions/issues/170 2022-01-25 18:01:35 -05:00
Barış Soner Uşaklı
94da502629 fix: if no group label is selected, select no group title option
dont save groupTitle: "['null']" if nothing is selected
2022-01-24 16:41:25 -05:00
Barış Soner Uşaklı
1c80adf1ef feat: revert label js change 2022-01-19 21:41:39 -05:00
Barış Soner Uşaklı
fdfafb44fb fix: mark unread button showing the selected category 2022-01-19 21:30:14 -05:00
Barış Soner Uşaklı
69a7634a78 fix: #10115, fix chat autocomplete hook 2022-01-02 15:13:30 -05:00
Barış Soner Uşaklı
b179f0fc0f fix: use component instead of class name 2021-12-23 11:05:37 -05:00
Julian Lam
2fe53cf849 feat: GET /api/v3/chats/:roomId/messages 2021-12-22 15:19:37 -05:00
Julian Lam
aaa6f752d0 refactor: put message api calls behind /messages prefix, #10097 2021-12-22 14:39:18 -05:00
Julian Lam
16ba16cdc4 fix: deprecate chats.leave 2021-12-22 10:59:36 -05:00
Julian Lam
fe17c94c35 feat: DELETE /api/v3/chats/:roomId/users and DELETE /api/v3/chats/:roomId/users/:uid 2021-12-22 10:59:36 -05:00
Julian Lam
d62ee84637 feat: POST /chats/:roomId/users 2021-12-22 10:59:36 -05:00
Julian Lam
6eea6451d2 feat: GET /chats/:roomId/users [breaking] 2021-12-22 10:59:36 -05:00
Julian Lam
d5fd098ecf feat: POST /chats/:roomId/:mid and DELETE /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
f48ed3658a feat: PUT /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
9a4fd5dc7e feat: PUT /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Julian Lam
eeffb9d978 feat: POST /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Barış Soner Uşaklı
a115b771f0 fix: #10096, don't display preview for links if hostname doesnt match 2021-12-22 10:55:30 -05:00
Barış Soner Uşaklı
a9f81215cf fix: only render preview on topic page 2021-12-21 11:52:16 -05:00
Nazim
d23ac79839 Revert 2021-12-20 10:11:19 -05:00
Barış Soner Uşaklı
fdaf8274cf fix: #10090, remove left over necro posts messages 2021-12-18 16:46:49 -05:00
Barış Soner Uşaklı
c4042c70de feat: #9506, allow seeing and editing your queued posts
allow regular users access to post queue
allow regular users to edit their queued post/topic title
allow regular users to remove their post from post queue
ability to send a notification to user without removing from post queue
allow accessing single post queue items from notifications
2021-12-16 22:25:39 -05:00
Barış Soner Uşaklı
633061f4a7 refactor: remove comment 2021-12-15 12:51:52 -05:00
Barış Soner Uşaklı
d4f3ee67fa refactor: use .map to return promises 2021-12-15 12:49:50 -05:00
Barış Soner Uşaklı
6ad0472106 breaking: remove socket.emit('topics.post')
remove socket.emit('topics.search')
remove socket.emit('topics.getTopic')
2021-12-12 13:14:08 -05:00
Barış Soner Uşaklı
bd1cb2d4f9 breaking: remove socket.emit('posts.delete')
remove socket.emit('posts.restore')
remove socket.emit('posts.purge')
remove socket.emit('posts.deletePosts')
remove socket.emit('posts.purgePosts')
2021-12-09 19:58:40 -05:00
Barış Soner Uşaklı
236d4e8056 fix: #10068, update data-index values after sort 2021-12-08 11:16:49 -05:00
Barış Soner Uşaklı
9af2335134 fix: #10068, baseIndex should be read before sort update fix off by one error 2021-12-08 09:41:48 -05:00