5949 Commits (9c9766334e7c3cbf9555463d6e4ab13d9513410a)

Author SHA1 Message Date
Barış Soner Uşaklı d2e6f31717 refactor: not used anymore 3 years ago
Barış Soner Uşaklı 012860a49a feat: show number of selected posts in reject confirm 3 years ago
Barış Soner Uşaklı 23175110a2 feat: post queue bulk actions closes #10520, fix #10555, 3 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 <julian@nodebb.org>
3 years ago
Julian Lam 21dbd47688 fix: typo in hook name 3 years ago
Julian Lam 46fbe15665 fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking] 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 <rootcommander@gmail.com>
3 years ago
Barış Soner Uşaklı 538ad9e18b feat: add confirm to reject, closes #10427 3 years ago
Julian Lam b88bb3cfbb feat: allow client-side hook registration chaining 3 years ago
Barış Soner Uşaklı f76c0e8952 refactor: shorter generateTopicClass 3 years ago
Julian Lam 935704a83c feat: collect hook logs in order to reduce console noise, flush on ajaxify loadScript completion 3 years ago
Julian Lam c83987bd20 fix: don't append to history on refresh or ajaxify to same url 3 years ago
Julian Lam 4b79dfd29d feat: add support for PATCH method in api module 3 years ago
Barış Soner Uşaklı 7c946570d5 feat: on online users page override timeago cutoff to 24 hours 3 years ago
Barış Soner Uşaklı be6bbabd0e feat: ability to mute users
new mute privilege
3 years ago
Barış Soner Uşaklı e9a86cb912 fix: optional params 3 years ago
Barış Soner Uşaklı e841d59a67 feat: add translateKeys 3 years ago
Barış Soner Uşaklı 70e613f814 fix: #10374, use quick search in setting 3 years ago
Barış Soner Uşaklı 37ef8366d0 fix: #10360, only take top level posts 3 years ago
Julian Lam fec907d99d fix: #10354, flag actions regression 3 years ago
Barış Soner Uşaklı 40230725c3 refactor: move header unread code to separate module 3 years ago
Barış Soner Uşaklı 4a1e761adb refactor: remove code that doesn't do anything 3 years ago
Julian Lam 1c8d1d231e fix(sorted-list): call loadItem hook on add/edit items as well as on item retrieval, refactor edit to call parse() 3 years ago
Julian Lam 914733e44b fix: allow calls to api module without a defined payload 3 years ago
Julian Lam 92d613e420 feat(sorted-list): add new client-side hook `filter:settings.sorted-list.loadItem` 3 years ago
Julian Lam fb4f89f391 fix(sorted-list): only call `.stripHTMLTags()` on string values 3 years ago
Barış Soner Uşaklı 0b813d601e fix: #10316, fix quoting regression 3 years ago
Julian Lam 1fa4134201 fix: #10329, select elements in sorted-list not showing proper values 3 years ago
Barış Soner Uşaklı 3acd2ac850 refactor: wrap around if at end
remove debug log
dont focus input on mobile
3 years ago
Barış Soner Uşaklı b517b376ac feat: ability to go through your posts in a topic
because I am 👴 useful for large topics
3 years ago
Barış Soner Uşaklı 503e27f709 fix: #10302, fix regression 3 years ago
Barış Soner Uşaklı 58b5781cea feat: closes #10296
asset_base_url in nconf
keep assetBaseUrl in config for backwards compat
3 years ago
Barış Soner Uşaklı 946d351f3a refactor: lazy load slugify 3 years ago
Barış Soner Uşaklı 398d25c210 feat: #10276, dont change/revert theme if its current 3 years ago
Barış Soner Uşaklı fb3f4f9a13 fix: #10256, allow quote tooltip on mobile 3 years ago
Barış Soner Uşaklı dcb201dfa8 fix: https://github.com/NodeBB/NodeBB/issues/10242 3 years ago
Barış Soner Uşaklı cf5c096806 feat: add upload helper module for drag&drop, paste, closes #6388
fix chat input not getting focused
3 years ago
Barış Soner Uşaklı 1d01741ae7 fix: #10208, don't use leading slash in directory names
change to use decodeURIComponent in utils.params
3 years ago
Barış Soner Uşaklı 93d18383ee fix: don't crash if quick search doesn't return posts 3 years ago
Julian Lam 89b559a2a3 refactor: sorted-list .get() to be async fn
+ plugin hook `filter:settings.sorted-list.load` to allow modification of params prior to template parsing
3 years ago
Julian Lam 578145acd6 fix: bug where page wouldn't complete loading if data.scripts was emptied 3 years ago
Barış Soner Uşaklı dc6e629d59 fix: https://github.com/julianlam/nodebb-plugin-mentions/issues/170 3 years ago
Barış Soner Uşaklı 92a249c947 fix: #10197, fix relative path urls for dashboard pages 3 years ago
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
3 years ago
Barış Soner Uşaklı 1c80adf1ef feat: revert label js change 3 years ago
Barış Soner Uşaklı fdfafb44fb fix: mark unread button showing the selected category 3 years ago
Barış Soner Uşaklı a75a043b61 feat: allow % in tags, #10135 3 years ago
Barış Soner Uşaklı 8ad64ec0f9 fix: #10121, fix error messages in user creation 3 years ago
Barış Soner Uşaklı 69a7634a78 fix: #10115, fix chat autocomplete hook 3 years ago
Barış Soner Uşaklı b179f0fc0f fix: use component instead of class name 3 years ago
Julian Lam 2fe53cf849 feat: `GET /api/v3/chats/:roomId/messages` 3 years ago
Julian Lam aaa6f752d0 refactor: put message api calls behind `/messages` prefix, #10097 3 years ago
Julian Lam 16ba16cdc4 fix: deprecate chats.leave 3 years ago
Julian Lam fe17c94c35 feat: `DELETE /api/v3/chats/:roomId/users` and `DELETE /api/v3/chats/:roomId/users/:uid` 3 years ago
Julian Lam d62ee84637 feat: `POST /chats/:roomId/users` 3 years ago
Julian Lam 6eea6451d2 feat: `GET /chats/:roomId/users` [breaking] 3 years ago
Julian Lam d5fd098ecf feat: `POST /chats/:roomId/:mid` and `DELETE /chats/:roomId/:mid` 3 years ago
Julian Lam f48ed3658a feat: `PUT /chats/:roomId/:mid` 3 years ago
Julian Lam 9a4fd5dc7e feat: `PUT /api/v3/chats/:roomId` 3 years ago
Julian Lam eeffb9d978 feat: `POST /api/v3/chats/:roomId` 3 years ago
Barış Soner Uşaklı a115b771f0 fix: #10096, don't display preview for links if hostname doesnt match 3 years ago
Barış Soner Uşaklı a9f81215cf fix: only render preview on topic page 3 years ago
Nazim d23ac79839 Revert 3 years ago
Barış Soner Uşaklı fdaf8274cf fix: #10090, remove left over necro posts messages 3 years ago
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
3 years ago
Barış Soner Uşaklı 91e21ecc62 fix: utils method 3 years ago
Barış Soner Uşaklı 9f1b8a3b1e refactor: use hasOwnProperty 3 years ago
Barış Soner Uşaklı dbba0c396b refactor: remove object.create 3 years ago
Barış Soner Uşaklı 3d3ae82f5b refactor: remove unused args 3 years ago
Barış Soner Uşaklı 633061f4a7 refactor: remove comment 3 years ago
Barış Soner Uşaklı d4f3ee67fa refactor: use .map to return promises 3 years ago
Barış Soner Uşaklı 682f60890b lint: fix 3 years ago
Barış Soner Uşaklı 10e890e41f fix: targetBlank/dropdown not getting cleared
show caret if nav item is dropdown
3 years ago
Barış Soner Uşaklı 69c96078ea breaking: #10077, store nav items in objects 3 years ago
Barış Soner Uşaklı 6ad0472106 breaking: remove socket.emit('topics.post')
remove socket.emit('topics.search')
remove socket.emit('topics.getTopic')
3 years ago
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')
3 years ago
Barış Soner Uşaklı 236d4e8056 fix: #10068, update data-index values after sort 3 years ago
Barış Soner Uşaklı 9af2335134 fix: #10068, baseIndex should be read before sort update fix off by one error 3 years ago
Barış Soner Uşaklı cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 3 years ago
Barış Soner Uşaklı 906dc5675e fix: handle start=0 stop=0 for topics.getTopicPosts
add more tests
3 years ago
Barış Soner Uşaklı 621c142f8e refactor: alerts 3 years ago
Barış Soner Uşaklı 0a6eeb933e lint: fix 3 years ago
Barış Soner Uşaklı cba78aee16 refactor: use alerts.error/success 3 years ago
Barış Soner Uşaklı 4f4236101b
fix: wrong usage of is ACP 3 years ago
Barış Soner Uşaklı dd02c49f43 refactor: use lang keys, fix typo 3 years ago
Barış Soner Uşaklı 1980feed46 refactor: use alerts module 3 years ago
Barış Soner Uşaklı 7b99dc46eb test: utils.params 3 years ago
Barış Soner Uşaklı 36aa60346b breaking: remove action:category.loaded, use action:topics.loading
action:category.loaded will not fire on infintite load of topics
3 years ago
Baris Usakli d378bf4c9c fix: quote button staying on screen on slow computers 3 years ago
Barış Soner Uşaklı 242f8e95ad fix: #10020, /api/post/upload returns v3 style response 3 years ago
Barış Soner Uşaklı fb363957d1 refactor: tab rules 3 years ago
Barış Soner Uşaklı d5bfd51267 fix: #10010, handle reverse sorting for topic events
dont add events to dom if sort is most votes
if sorting is reverse add new events after the main post or at the top instead of bottom
3 years ago
Barış Soner Uşaklı e368feef51 refactor: dont expost entire res._locals to client side 3 years ago
Barış Soner Uşaklı 4359e5c97c refactor: remove tabs after declaration 3 years ago
Barış Soner Uşaklı 258f368e32 refactor: add filter:topic.getPosts
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
3 years ago
Barış Soner Uşaklı 231472354e perf: create user tooltips on demand 3 years ago
Barış Soner Uşaklı 7f8783555b Revert "perf: remove createUserTooltips"
This reverts commit facc10e40f.
3 years ago
Baris Usakli facc10e40f perf: remove createUserTooltips 3 years ago
Barış Soner Uşaklı 41c3eb8298 refactor: shorter require 3 years ago
Barış Soner Uşaklı 96f13e4f5d feat: #9992, hooks.one 3 years ago
Barış Soner Uşaklı 0428912c6d refactor: deprecate app.alert functions user alerts module directly 3 years ago
Barış Soner Uşaklı 8b4510cc70 refactor: deprecate app.logout
use logout module instead
move header related code out of app.js
3 years ago
Barış Soner Uşaklı 619034484f refactor: simpler rejoin
remove pointless app.cacheBuster = null
3 years ago
Barış Soner Uşaklı f352be63dc refactor: deprecate app.openChat/newChat
use chat.openChat/newChat instead
3 years ago
Barış Soner Uşaklı 1a9b15989b refactor: move search functions from app.js to search module
deprecate:
app.handleSearch, use search.init(options) instead
app.enableTopicSearch, use search.enableQuickSearch(options) instead
app.prepareSearch, use search.showAndFocusInput() instead
3 years ago
Barış Soner Uşaklı 666fe209f0 refactor: move session messages 3 years ago
Barış Soner Uşaklı 3d2398ac4c test: lint 3 years ago
Barış Soner Uşaklı 518552543d refactor: move warnings/messages out of app.js 3 years ago
Barış Soner Uşaklı 41e0240010 fix: dont show previews on mobile 3 years ago
Barış Soner Uşaklı c1cc35a949 refactor: display errors from category drag/drop 3 years ago
Barış Soner Uşaklı 054685265d fix: category load more btn visibility 3 years ago
Barış Soner Uşaklı 2e623dd271 feat: #9967, allow dropdowns in navigation 3 years ago
Barış Soner Uşaklı f728abda06 fix: remove tooltip on ajaxify 3 years ago
Barış Soner Uşaklı 8a88295d04 fix: don't highlight external nav items 3 years ago
Barış Soner Uşaklı 9fbb3b11ef perf: only load posts once 3 years ago
Barış Soner Uşaklı 5a0efd2d42 fix: don't use # for previews 3 years ago
Barış Soner Uşaklı 8c67031609 feat: show posts previews if enabled on mouse over 3 years ago
Barış Soner Uşaklı 89399c0ed5 fix: #9954, get next post timestamp
fixes topic events being inserted in after first page but at the wrong spot
3 years ago
Barış Soner Uşaklı a7f235dbac fix: topic events not rendered in infinitescroll 3 years ago
Barış Soner Uşaklı 74aa12c95b fix: hooks is sometimes undefined 3 years ago
Barış Soner Uşaklı e8c17feedb refactor: use utils.debounce 3 years ago
Barış Soner Uşaklı 50b2ebf844 fix: remove unused code 3 years ago
Barış Soner Uşaklı 3d1cf168f2 revert: lazy load 3 years ago
Barış Soner Uşaklı 015727855f fix: remove loading="lazy", fixes inf. scroll loaded images 3 years ago
Julian Lam 80ea12c1c1 feat: new ACP option `emailPrompt`
... which allows administrators to disable the client-side prompt to
encourage users to enter or confirm their email addresses
3 years ago
Julian Lam 5a328485dd Revert "fix: only show email confirmation warning toast on pages that it applies"
This reverts commit 1bd1cc74a4.
3 years ago
Barış Soner Uşaklı 64192731a0 refactor: use search api for topic search 3 years ago
Barış Soner Uşaklı 89f5e06bbf fix: don't repeat search if on same page 3 years ago
Barış Soner Uşaklı 19ee717444 refactor: slowdown quick search 3 years ago
Barış Soner Uşaklı f4cf482a87 feat: show popular searches 3 years ago
Barış Soner Uşaklı 8d316d1859 fix: #9934, fix translator test 3 years ago
Barış Soner Uşaklı 47df62e700 fix: clicking outside postContainer should close tooltip 3 years ago
Barış Soner Uşaklı f02fba29dc refactor: add callback to loadNotifications 3 years ago
Barış Soner Uşaklı fec7ebed04 fix: tooltip 3 years ago
Barış Soner Uşaklı 66fca4e066 feat: quote tooltip 3 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
3 years ago
gasoved 227456fb17
fix: no global bootbox (#9879)
* fix: require bootbox (easy ones)

* fix: require bootbox (ugly ones)

* fix(eslint): a lengthy line
3 years ago
Julian Lam 3e69bcdf1f fix: #9872 update app badge with notification count if applicable 3 years ago
Barış Soner Uşaklı 176ed9199b Merge branch 'master' of https://github.com/NodeBB/NodeBB 3 years ago
Barış Soner Uşaklı 4f9717fb08 fix: escape thumbs, allow robots meta tag 3 years ago
gasoved 56d05b4e86
feat: confirm before deleting all events (#9875) 3 years ago
Barış Soner Uşaklı 543d85212b refactor: remove unused colorpicker 3 years ago
Barış Soner Uşaklı 27e53b42f3 feat: use unread icon in mobile 3 years ago
Barış Soner Uşaklı 96f5312de9 fix: #9865, don't display register messages after login 3 years ago
Barış Soner Uşaklı a7668a7fb1 refactor: use utils.debounce
fixes socket message spam in chat resize
3 years ago
Barış Soner Uşaklı 4404e81991
fix: switch inf. scroll to xhr (#9854)
this fixes infinitescroll when url has custom query parameters
also fixes infinitescroll for plugins like QnA
fixes infinitescroll on tags page
deprecate topics.loadMoreSortedTopics
deprecate topics.loadMoreFromSet
3 years ago
Julian Lam be43cd2597
Topic Linkbacks (#9825)
* feat: WIP topic linkbacks, + failing tests

* test: don't accidentally comment out all of the post tests

* fix: rename to "backlinks"

* feat: more stub code, more failing tests

* feat: backend methods and passing tests for topic backlinks

* test: uncomment test/posts.js again

* fix: missing quotation mark in topic event helper

* fix: superfluous usage of Promise.all

* test: fix broken test -- used hardcoded (and incorrect) url

* test: parseInt shenanigans
3 years ago
Barış Soner Uşaklı 0faa493745 fix: crossorigin not showing up on manifest link tag 3 years ago
Barış Soner Uşaklı 89af00d1d5 fix: #9827, fix reward duplication 3 years ago
Barış Soner Uşaklı 9f0e55ad3e fix: #9819, show same time info for ban 3 years ago