6120 Commits (438c4c897688d6c1aca6a1c0320ad4837ba99db1)

Author SHA1 Message Date
Julian Lam 96b46411b1 Merge branch 'master' into develop 2 years ago
Julian Lam 9c576a0758
Email confirmation QOL updates (#10987)
* breaking: remove `SocketUser.emailConfirm`, re: #10954

* chore: move email confirmation related configs to own section in Settings > Email

* feat: new user email method `getValidationExpiry`, returns expiration in ms.. probably.

* fix: bug where `user.email.isValidationPending` returned an u nexpected non-boolean value if there was no confirmation pending (only when checking email as well)

* fix: update getValidationExpiry to return ms

* test: use emailConfirmInterval for tests, for now

* fix: throw friendly error when attempting an email change within email confirmation window

* feat: new config option `emailConfirmExpiry` in days, governs how long the confirm link is good for

* test: additional tests for user email methods

* fix: add back missing handling of  option

* test: fix tests
2 years ago
Julian Lam af27606e20 fix: #10968, icon selector in ACP when icon name is typed in 2 years ago
Julian Lam 1e864a7518 Merge remote-tracking branch 'origin/master' into develop 2 years ago
Barış Soner Uşaklı 61d32bdebb fix: category ordering add test 2 years ago
Barış Soner Uşaklı 989b55d07e fix: crash in category drag, closes #10932
happens when a child is dragged to root or from root to a nested level
2 years ago
Barış Soner Uşaklı c0b1ded363 fix more categories button not moving with parent
fix order issue
2 years ago
Julian Lam 803398e915 fix: broken flag history on flag update 2 years ago
Barış Soner Uşaklı a584dae650 feat: add relevant topic events to post objects
see c9604f216a
2 years ago
Barış Soner Uşaklı aad0a618c8 fix: scroll to post if theme doesn't have top navbar 2 years ago
Julian Lam 6391f77b01 Merge remote-tracking branch 'origin/master' into develop 2 years ago
Julian Lam 135fe55bed feat: client-side hooks for navigator scroll action 2 years ago
Julian Lam 664bc5f54d fix: update nav thumb on setIndex call (thx @barisusakli) 2 years ago
Julian Lam aeb94c32b9 feat: j and k hotkeys in topic to navigate through it quickly 2 years ago
Julian Lam b7287c1eb8 fix: do not call `navigator.update()` when `scrollToElement` is explicitly passed a new index value 2 years ago
Julian Lam fa643eb808 fix: race condition where `navigator.update` was called when it should not be 2 years ago
Julian Lam 9f9a835fcb feat: a couple utility methods in navigator module to get and set count and index 2 years ago
Julian Lam 5b9de0e521 fix: be tidier and explicitly clean up ctrl-f hotkey on topic page 2 years ago
Julian Lam 3700174c62 refactor: added new ajaxify method .cleanup, called before ajaxify.start. 2 years ago
Barış Soner Uşaklı b5dd89e1c0
feat: store topic title and tags in diffs (#10900)
* feat: store topic title and tags in diffs

allow restoring post diff if tags didn't change

* test: fix tests, fast computer problems
2 years ago
Barış Soner Uşaklı 8e2129f858 fix: #10896, unescape / in taskbar 2 years ago
Julian Lam f1cca5be8d Merge remote-tracking branch 'origin/master' into develop 2 years ago
Julian Lam d3e38df8ea fix: add back timeago to post history modal 2 years ago
Julian Lam 881c7c4d18 fix: automatically remove `lang` parameter if it matches the forum default 2 years ago
Barış Soner Uşaklı f6f37dc1cd fix: registration regression, closes #10875 2 years ago
Opliko 1920732528
feat: remove visibilityjs (#10870)
* feat: remove visibilityjs

* fix: actually remove require

* style: add a newline

* style: forgot a semicolon

* style: accidently removed trailing newline

* fix: move property declaration to its actual previous place
2 years ago
Barış Soner Uşaklı b7addffc9e breaking: reduce nodebb.min.js size by around 800kb
const zxcvbn = require('zxcvbn');
bundles a huge amount of code, now it won't be in nodebb.min.js
2 years ago
Julian Lam df36d96788 fix: empty thread tools container on open 2 years ago
Julian Lam 3dd3cd8297 fix: add dropup handler to thread tools menu, updated how post tools menu adds dropup handler 2 years ago
Barış Soner Uşaklı a2d0cd162d
refactor: remove console.log 2 years ago
Julian Lam bc2ea86023 chore: remove client-side js file for tpl that no longer exists 2 years ago
Julian Lam d05705183f refactor: move export generation logic to v3 controller, GET/HEAD routes for exports
re: #10384
2 years ago
Barış Soner Uşaklı 0a6900fc77 feat: don't show signatures again in pagination mode in same topic 3 years ago
Barış Soner Uşaklı aba420a3f3 feat: setting to show signatures only once in topics, closes #10071 3 years ago
Opliko bcb94edeb4 feat: add event type to topic event component 3 years ago
Julian Lam 4055e3bd1c feat: automatically enable the SMTP transport option if the SMTP service is changed 3 years ago
Barış Soner Uşaklı 4586f68eaf fix: race condition causing undefined ajaxify.data 3 years ago
Julian Lam 847d2b9141 fix: #10795, early return for selection tooltip based on calling user privilege 3 years ago
Barış Soner Uşaklı b2da02d676 feat: add client side filter:chat.send, closes #10729 3 years ago
Julian Lam 820bc994d8
feat: UI changes for ACP > Manage > Categories (#10782)
* Revert "Revert "feat: cross origin opener policy options (#10710)""

This reverts commit 46050ace1a.

* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""

This reverts commit 9f291c07d3.

* feat: closes #10719, don't trim children if category is marked section

* feat: fire hook to allow plugins to filter the pids returned in a user profile

/cc julianlam/nodebb-plugin-support-forum#14

* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints

* fix: better looking placeholder text for ACP search

* fix: bug where fallback to forum search was not working due to client-side error

* feat: allow plugins to toggle whether IPs are shown in the users CSV export

* feat: Allow defining active plugins in config (#10767)

* Revert "Revert "feat: cross origin opener policy options (#10710)""

This reverts commit 46050ace1a.

* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""

This reverts commit 9f291c07d3.

* feat: closes #10719, don't trim children if category is marked section

* feat: fire hook to allow plugins to filter the pids returned in a user profile

/cc julianlam/nodebb-plugin-support-forum#14

* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints

* feat: Allow defining active plugins in config

resolves #10766

* fix: assign the db result to files properly

* test: add tests with plugins in config

* feat: better theme change handling

* feat: add visual indication that plugins can't be activated

* test: correct hooks

* test: fix test definitions

* test: remove instead of resetting nconf to avoid affecting other tests

* test: ... I forgot how nconf worked

* fix: remove negation

* docs: improve wording of error message

* feat: reduce code duplication

* style: remove a redundant space

* fix: remove unused imports

* fix: use nconf instead of requiring config.json

* fix: await...

* fix: second missed await

* fix: move back from getActiveIds to getActive

* fix: use paths again?

* fix: typo

* fix: move require into the function

* fix: forgot to change back to getActive

* test: getActive returns only id

* test: accedently commented out some stuff

* feat: added note to top of plugins page if \!canChangeState

Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>

* feat: show an informative message when no plugins are found after filtering

fixes #10771

* Latest translations and fallbacks

* Latest translations and fallbacks

* chore(deps): bump ace-builds from 1.7.1 to 1.8.1 in /install

Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.7.1 to 1.8.1.
- [Release notes](https://github.com/ajaxorg/ace-builds/releases)
- [Changelog](https://github.com/ajaxorg/ace-builds/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ajaxorg/ace-builds/compare/v1.7.1...v1.8.1)

---
updated-dependencies:
- dependency-name: ace-builds
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: swap out icons in ACP > Manage > Categories to more intuitive ones, remove extra placeholder div

* fix: hide expando button if no subcategories; remove attempt at establishing common vars, increased spacing between categories in list

* fix: buggy expando state on category drag/drop

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
Co-authored-by: Opliko <opliko.reg@protonmail.com>
Co-authored-by: Misty Release Bot <deploy@nodebb.org>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Julian Lam 6840a7423b feat: show an informative message when no plugins are found after filtering
fixes #10771
3 years ago
Julian Lam 25046642e7 fix: bug where fallback to forum search was not working due to client-side error 3 years ago
Julian Lam 1b9c68196f fix: better looking placeholder text for ACP search 3 years ago
Julian Lam b778e38c2b fix: move call to `ajaxify.parseData` out to root level 3 years ago
Julian Lam 165b804d64 refactor: rewrite ajaxify.parseData in vanilla 3 years ago
Julian Lam 2582cb53a6 fix: move `ajaxify.parseData` back out to DOMContentLoaded
partialy reverts 2bfccac72
3 years ago
Barış Soner Uşaklı 2da188fe10 fix: #10696, fix alert for password reset email 3 years ago
Barış Soner Uşaklı 48564cfa86 fix: #10675, don't ajaxify to /assets/ urls 3 years ago
Barış Soner Uşaklı 6a0339dea4 https://github.com/pichalite/nodebb-theme-slick/issues/60 3 years ago
Barış Soner Uşaklı 39d61061e0 feat: add clipboard to runtime modules 3 years ago
Barış Soner Uşaklı 2bfccac72a fix: #10642, fix order of dom ready events
plugin $().ready hooks will fire first, core will fire last
3 years ago
Barış Soner Uşaklı 191fb9f443 test: fix tests again 3 years ago
Barış Soner Uşaklı 60eeae95d2 lint: unnecessary escape 3 years ago
Barış Soner Uşaklı e802fab87f fix: get rid of math.random in utils.generateUUID 3 years ago
Barış Soner Uşaklı b124370b92 Merge branch 'master' of https://github.com/NodeBB/NodeBB 3 years ago
Barış Soner Uşaklı 7e4d2852f6 fix: #10528, gray out disabled nav items
use enabled property if present
change default to true, so added nav items are enabled by default
3 years ago
Julian Lam 92abb352b6 fix: encode privilege name for API call 3 years ago
Barış Soner Uşaklı 9acdc6808c feat: allow unban/unmute on flag details page. closes #10593 3 years ago
Barış Soner Uşaklı b17a81bfb0 fix: translate api error messages to user lang, closes #10623, 3 years ago
Barış Soner Uşaklı 24a640d93e fix: alert template error. closes #10620 3 years ago
Barış Soner Uşaklı 082a9e1d42 fix: remove ev, hooks don't pass event, closes #10611 3 years ago
Barış Soner Uşaklı b860c2605c feat: paginaton for admins-mods, closes #10610
ability to select categoriest to see children
3 years ago
Barış Soner Uşaklı a583141252 feat: add button to see category children, closes #10606 3 years ago
Barış Soner Uşaklı 70ad4a5222 fix: clear dragging on mouseup as well
dragging a modal wasn't firing dragend
3 years ago
Julian Lam 5aca106b81 chore: add note re: sort module 3 years ago
Barış Soner Uşaklı dc320c897a feat: closes #10601, ability to prevent alerts on topic list 3 years ago
Barış Soner Uşaklı e904f43857 feat: add sorted-list.parse 3 years ago
Barış Soner Uşaklı 8faa6f2382 feat: add new hook that fires when sorted-set list modal is shown 3 years ago
Barış Soner Uşaklı 7867ccd780 feat: #10585, ability to mute from flag details 3 years ago
Barış Soner Uşaklı 5e82cf23c6 fix: closes #10583, replace removed socket method with api method 3 years ago
Barış Soner Uşaklı 12b58fcfe6 refactor: return module if it doesn't have default export 3 years ago
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
Barış Soner Uşaklı 7a2f0ae15b fix: show local time for ban 3 years ago
Barış Soner Uşaklı 75ebe78619 fix: escape moderation note before adding to dom 3 years ago
Julian Lam 66eaae44a6 feat: add client-side static hook to fire immediately before any topic action (hint: delete `action` to stop default behaviour) 3 years ago
Barış Soner Uşaklı 6a55c02702 fix: #9790, get baseIndex on update for infinitescroll 3 years ago
Barış Soner Uşaklı 2657804c1f fix: #9790, fix sorting of more than one page of pinned topics 3 years ago
gasoved 84ff1152f7
feat: headers for global privs #9717 (#9762)
* feat: headers for global privs #9717

* fix: don't spoil headers to adminPrivs

Co-authored-by: Julian Lam <julian@nodebb.org>
3 years ago
psychobunny bf0c02a71e feat: a slightly less ugly rewards panel 3 years ago
Julian Lam 0a41741b7e refactor: deprecate picture update socket call, new API routes for picture update 3 years ago
Julian Lam 46e5e17d0f fix: focus on save button on plugin activation 3 years ago
gasoved fc0e655eef refactor: consistent jquery element var naming 3 years ago
gasoved 760ea9df1e fix: determine indeterminate checkboxes 3 years ago
gasoved 1272da6539 refactor: var to const 3 years ago
Julian Lam ca9bae3a1c fix: move app.alert back into the conditionals 3 years ago
Julian Lam 1bd1cc74a4 fix: only show email confirmation warning toast on pages that it applies 3 years ago
psychobunny ae793b4a44 chore: found some hooks that don't play well docgen 3 years ago
gasoved 3df79683f5
feat: create folders in ACP uploads #9638 (#9750)
* feat: create folders in ACP uploads #9638

* fix: openapi

* test: missing tests

* fix: eslint

* fix: tests
3 years ago
gasoved 61f02f17d8
feat: column based view on wide priv. tables (#9699)
* feat: column based view on wide priv. tables

* fix: add group/user

* feat: copy buttons to work on visible privs

* feat: show what's being copied in modal

* feat: optional title and message for category selector modal
3 years ago
Julian Lam 55693ec1b0 fix: lint 4 years ago
Julian Lam e803737a4b feat: add confirmation modal to topic event deletion 4 years ago
Julian Lam 1ee92c281d fix: topic event deletion 4 years ago
Julian Lam 152f194aee
Server-side rendering of topic events (#9733)
* style: reformat list of helpers exported

* refactor: move topic events partial into a helper, invoke helper in topic.tpl (see persona), update how events are added to the DOM via addTopicEvents

closes #9731

* style: lint
4 years ago
Barış Soner Uşaklı 60bf564321 fix: #9729, insert new posts after topic events 4 years ago
Barış Soner Uşaklı 77c3085a7b fix: #9727, addHandlers after hooks 4 years ago
Barış Soner Uşaklı 794bf01b21 feat: allow changing default search in 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
Barış Soner Uşaklı 382a4c2785 feat: #9705, use radio buttons for flag reasons 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