6119 Commits (9534f9b9b987eb96af39bc1d97c15262a0e826d7)

Author SHA1 Message Date
Barış Soner Uşaklı bb4be716d4 test: no need for this check 2 years ago
Barış Soner Uşaklı eacbad7ff7 test: fix utils 2 years ago
Barış Soner Uşaklı 699c3bdf35 test: missing utils tests 2 years ago
Barış Soner Uşaklı 9894d05f32 fix: closes #11508, update selector 2 years ago
Barış Soner Uşaklı 2055aae17f https://github.com/NodeBB/NodeBB/issues/11501 2 years ago
Barış Soner Uşaklı 9ec5f1f54b https://github.com/NodeBB/NodeBB/issues/11500 2 years ago
Julian Lam 5feb509b16 fix: don't crash if taskbar.tasklist is not defined yet 2 years ago
Barış Soner Uşaklı 0e4dbae91b fix dropdown nav highlight 2 years ago
Julian Lam 70f4d7f099 fix: topic thumbnail removal error
Relaxed DOM selector to accommodate changed tpl
2 years ago
Julian Lam dd8719a10e fix: upload modal error handler
The underlying API call was updated to v3 style (with standard status/response object in response body), so the existing code always falls back to the default error instead of showing the more specific error sent back by the backend.

Also, the fallback wasn't internationalized, so that's done to.
2 years ago
Barış Soner Uşaklı 2235f6c280 fix: #11451 , use bookmark from localstorage for guests 2 years ago
Barış Soner Uşaklı 0e5ae21286 fix: #11440, update timestamp on lastpost button 2 years ago
Julian Lam 9d49ec60a1 fix: remove socketGroups.issueMassInvite 2 years ago
Julian Lam b53f92fa2e fix: handle client-side acceptAll and rejectAll 2 years ago
Julian Lam 18c45b4461 refactor: group invitations; issuing, accepting, rejecting; now via API 2 years ago
Julian Lam 34d99c15af fix: use api routes for group accept/reject 2 years ago
Barış Soner Uşaklı cc1c493bbf fix: updating user bookmark when entering topic at the end from teaser 2 years ago
Barış Soner Uşaklı a3ae0c583a remove old code 2 years ago
Barış Soner Uşaklı 645ebec8fa feat: allow multiple topic selects in topic-list
chore: up persona
2 years ago
Barış Soner Uşaklı 5d9b23cafc fix: direct replies on dynamic posts 2 years ago
Barış Soner Uşaklı 29872b4326 make border color important 2 years ago
Barış Soner Uşaklı 2615192fc0 fix: topic labels on topics_list 2 years ago
Barış Soner Uşaklı 28ed6c923c update buildCategoryLabel
no bg image in labels dont put a i tag if no icon
2 years ago
Barış Soner Uşaklı 45addcf5ec refactor: simple load new posts 2 years ago
Barış Soner Uşaklı 69f24ed92a feat: add support for selected topic count 2 years ago
Barış Soner Uşaklı a83734fb2b fix: dont show search input if user doesn't have tag search priv 2 years ago
Julian Lam 33ad5a724a fix: buttons for post queue content editing 2 years ago
Barış Soner Uşaklı 6b89884dd5 use selected class for user status elements 2 years ago
Barış Soner Uşaklı 661a6e0473 https://github.com/NodeBB/NodeBB/issues/11329 2 years ago
Julian Lam 596db09f7e Merge branch 'master' into develop 2 years ago
Julian Lam ddcdaacc94 refactor: post-queue frontend logic 2 years ago
Barış Soner Uşaklı 77ddfc642e feat: closes #11139, move sort settings to user settings page
don't change user settings when user changes sort inside topic/category
2 years ago
Julian Lam 402229845c feat: display when an api key was last used, in ACP, #10873 2 years ago
Julian Lam 2614b95c40 fix: #11381, bug where the call to `action:settings.sorted-list.itemLoaded` did not properly pass in the correct element 2 years ago
Barış Soner Uşaklı 7ba70d1561
Bootstrap5 (#10894)
* chore: up deps

* chore: up composer

* fix(deps): bump 2factor to v7

* chore: up harmony

* chore: up harmony

* fix: missing await

* feat: allow middlewares to pass in template values via res.locals

* feat: buildAccountData middleware automatically added ot all account routes

* fix: properly allow values in res.locals.templateValues to be added to the template data

* refactor: user/blocks

* refactor(accounts): categories and consent

* feat: automatically 404 if exposeUid or exposeGroupName come up empty

* refactor: remove calls to getUserDataByUserSlug for most account routes, since it is populated via middleware now

* fix: allow exposeUid and exposeGroupName to work with slugs with mixed capitalization

* fix: move reputation removal check to accountHelpers method

* test: skip i18n tests if ref branch when present is not develop

* fix(deps): bump theme versions

* fix(deps): bump ntfy and 2factor

* chore: up harmony

* fix: add missing return

* fix: #11191, only focus on search input on md environments and up

* feat: allow file uploads on mobile chat

closes https://github.com/NodeBB/NodeBB/issues/11217

* chore: up themes

* chore: add lang string

* fix(deps): bump ntfy to 1.0.15

* refactor: use new if/each syntax

* chore: up composer

* fix: regression from user helper refactor

* chore: up harmony

* chore: up composer

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: fix composer version

* feat: add increment helper

* chore: up harmony

* fix: #11228 no timestamps in future 

* chore: up harmony

* check config.theme as well

fire action:posts.loaded after processing dom

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: up themes

* chore: up harmony

* remove extra class

* refactor: move these to core from harmony

* chore: up widgets

* chore: up widgets

* height auto

* fix: closes #11238

* dont focus inputs, annoying on mobile

* fix: dont focus twice, only focus on chat input on desktop

dont wrap widget footer in row

* chore: up harmony

* chore: up harmony

* update chat window

* chore: up themes

* fix cache buster for skins

* chat fixes

* chore: up harmony

* chore: up composer

* refactor: change hook logs to debug

* fix: scroll to post right after adding to dom

* fix: hash scrolling and highlighting correct post

* test: re-enable read API schema tests

* fix: add back schema changes for 179faa2270f2ad955dcc4a7b04755acce59e6ffd and c3920ccb10d8ead2dcd9914bb1784bed3f6adfd4

* fix: schema changes from 488f0978a4

* fix: schema changes for f4cf482a87

* fix: schema update for be6bbabd0e

* fix: schema changes for 69c96078ea

* fix: schema changes for d1364c3130

* fix: schema changes for 84ff1152f7

* fix: schema changes for b860c2605c

* fix: schema changes for 23cb67a112

* fix: schema changes for b916e42f40

* fix: schema change for a9bbb586fc

* fix: schema changes for 4b738c8cd3

* fix: schema changes for 58b5781cea

* fix: schema changes for 794bf01b21

* fix: schema changes for 80ea12c1c1, e368feef51, and 52ead114bec961c62fa2eb0786540e229f6e4873

* fix: composer-default object in config?

* fix: schema changes for 9acdc6808c and 093093420027999df3c67bf0ea6024f6dbf81d2d

* fix: schema changes for c0a52924f1

* fix: schema change for aba420a3f3, move loggedInUser to optional props

* fix: schema changes for 8c67031609

* fix: schema changes for 27e53b42f3

* fix: schema changes for 2835966518

* fix: breaking test for email confirmation API call

* fix: schema changes for refactored search page

* fix: schema changes for user object

* fix: schema changes for 9f531f957e

* fix: schema changes for c4042c70de and 23175110a2

* fix: schema changes for 9b3616b10392e247974eb0c1e6225a1582bf6c69

* fix: schema changes for 5afd5de07d

* fix: schema change for 1d7baf12171cffbd3af8914bef4e6297d1160d49

* fix: schema changes for 57bfb37c55a839662144e684875003ab52315ecc and be6bbabd0e

* fix: schema changes for 6e86b4afa20d662af8b9f1c07518df2d8c258105 and 3efad2e13b7319eb9a1f4fda7af047be43ebc11f and 68f66223e73a72f378f193c83a9b5546bede2cda

* fix: allowing optional qs prop in pagination keys (not sure why this didn't break before)

* fix: re-login on email change

* fix: schema changes for c926358d73

* fix: schema changes for 388a8270c9882892bad5c8141f65da8d59eac0fd

* fix: schema change for 2658bcc821c22e137a6eeb9bb74098856a642eaf

* fix: no need to call account middlewares for chats routes

* fix: schema changes for 71743affc3e58dc85d4ffa15ce043d4d9ddd3d67

* fix: final schema changes

* test: support for anyOf and oneOf

* fix: check thumb

* dont scroll to top on back press

* remove group log

* fix: add top margin to merged and deleted alerts

* chore: up widgets

* fix: improve fix-lists mixin

* chore: up harmony/composer

* feat: allow hiding quicksearch results during search

* dont record searches made by composer

* chore: up 54

* chore: up spam be gone

* feat: add prev/next page and page count into mobile paginator

* chore: up harmony

* chore: up harmony

* use old style for IS

* fix: hide entire toolbar row if no posts or not singlePost

* fix: updated messaging for post-queue template, #11206

* fix: btn-sm on post queue back button

* fix: bump harmony, closes #11206

* fix: remove unused alert module import

* fix: bump harmony

* fix: bump harmony

* chore: up harmony

* refactor: IS scrolltop

* fix: update users:search-user-for-chat source string

* feat: support for mark-read toggle on chats dropdown and recent chats list

* feat: api v3 calls to mark chat read/unread

* feat: send event:chats.mark socket event on mark read or unread

* refactor: allow frontend to mark chats as unread, use new API v3 routes instead of socket calls, better frontend event handling

* docs: openapi schema updates for chat marking

* fix: allow unread state toggling in chats dropdown too

* fix: issue where repeated openings of the chats dropdown would continually add events for mark-read/unread

* fix: debug log

* refactor: move userSearch filter to a module

* feat(routes): allow remounting /categories (#11230)

* feat: send flags count to frontend on flags list page

* refactor: filter form client-side js to extract out some logic

* fix: applyFilters to not take any arguments, update selectedCids in updateButton instead of onHidden

* fix: use userFilter module for assignee, reporterId, targetUid

* fix(openapi): schema changes for updated flags page

* fix: dont allow adding duplicates to userFilter

* use same var

* remove log

* fix: closes #11282

* feat: lang key for x-topics

* chore: up harmony

* chore: up emoji

* chore: up harmony

* fix: update userFilter to allow new option `selectedBlock`

* fix: wrong block name passed to userFilter

* fix: https://github.com/NodeBB/NodeBB/issues/11283

* fix: chats, allow multiple dropdowns like in harmony

* chore: up harmony

* refactor: flag note adding/editing, closes #11285

* fix: remove old prepareEdit logic

* chore: add caveat about hacky code block in userFilter module

* fix: placeholders for userFilter module

* refactor: navigator so it works with multiple thumbs/navigators

* chore: up harmony

* fix: closes #11287, destroy quick reply autocomplete

on navigation

* fix: filter disabled categories on user categories page count

* chore: up harmony

* docs: update openapi spec to include info about passing in timestamps for topic creation, removing timestamp as valid request param for topic replying

* fix: send back null values on ACP search dashboard for startDate and endDate if not expicitly passed in, fix tests

* fix: tweak table order in ACP dash searches

* fix: only invoke navigator click drag on left mouse button

* feat: add back unread indicator to navigator

* clear bookmark on mark unread

* fix: navigator crash on ajaxify

* better thumb top calculation

* fix: reset user bookmark when topic is marked unread

* Revert "fix: reset user bookmark when topic is marked unread"

This reverts commit 9bcd85c2c6848c3d325d32027261809da6e11c9e.

* fix: update unread indicator on scroll, add unread count

* chore: bump harmony

* fix: crash on navigator unread update when backing out of a topic

* fix: closes #11183

* fix: update topics:recent zset when rescheduling a topic

* fix: dupe quote button, increase delay, hide immediately on empty selection

* fix: navigator not showing up on first load

* refactor: remove glance

assorted fixes to navigator
dont reduce remaning count if user scrolls down and up quickly
only call topic.navigatorCallback when index changes

* more sanity checks for bookmark

dont allow setting bookmark higher than topic postcount

* closes #11218, 🚋

* Revert "fix: update topics:recent zset when rescheduling a topic"

This reverts commit 737973cca9e94b6cb3867492a09e1e0b1af391d5.

* fix: #11306, show proper error if queued post doesn't exist

was showing no-privileges if someone else accepted the post

* https://github.com/NodeBB/NodeBB/issues/11307

dont use li

* chore: up harmony

* chore: bump version string

* fix: copy paste fail

* feat: closes #7382, tag filtering

add client side support for filtering by tags on /category, /recent and /unread

* chore: up harmony

* chore: up harmony

* Revert "fix: add back req.query fallback for backwards compatibility" [breaking]

This reverts commit cf6cc2c454dc35c330393c62ee8ce67b42d8eefb.
This commit is no longer required as passing in a CSRF token via query parameter is no longer supported as of NodeBB v3.x

This is a breaking change.

* fix: pass csrf token in form data, re: NodeBB/NodeBB#11309

* chore: up deps

* fix: tests, use x-csrf-token query param removed

* test: fix csrf_token

* lint: remove unused

* feat: add itemprop="image" to avatar helper

* fix: get chat upload button in chat modal

* breaking: remove deprecated socket.io methods

* test: update messaging tests to not use sockets

* fix: parent post links

* fix: prevent post tooltip if mouse leaves before data/tpl is loaded

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: up harmony

* fix: nested replies indices

* fix(deps): bump 2factor

* feat: add loggedIn user to all api routes

* chore: up themes

* refactor: audit admin v3 write api routes as per #11321

* refactor: audit category v3 write api routes as per #11321 [breaking]

docs: fix open api spec for #11321

* refactor: audit chat v3 write api routes as per #11321

* refactor: audit files v3 write api routes as per #11321

* refactor: audit flags v3 write api routes as per #11321

* refactor: audit posts v3 write api routes as per #11321

* refactor: audit topics v3 write api routes as per #11321

* refactor: audit users v3 write api routes as per #11321

* fix: lang string

* remove min height

* fix: empty topic/labels taking up space

* fix: tag filtering when changing filter to watched topics

or changing popular time limit to month

* chore: up harmony

* fix: closes #11354, show no post error if queued post already accepted/rejected

* test: #11354

* test: #11354

* fix(deps): bump 2factor

* fix: #11357 clear cache on thumb remove

* fix: thumb remove on windows, closes #11357

* test: openapi for thumbs

* test: fix openapi

---------

Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Opliko <opliko.reg@protonmail.com>
2 years ago
Julian Lam 17d0b40efa fix: stop topic navigation hotkeys from firing if in a mousetrap-enabled form element 2 years ago
Barış Soner Uşaklı f054a4f44d fix: get cid from pid instead of passing in 2 years ago
Julian Lam 36bcdf8f9d Merge branch 'master' into develop 2 years ago
Barış Soner Uşaklı 8cf4a6f62e fix: alert on page load 2 years ago
Eldor 3bd9a87154 fix: show error alert if password change fails 2 years ago
Barış Soner Uşaklı 79731735c0 feat: allow file uploads on mobile chat
closes https://github.com/NodeBB/NodeBB/issues/11217
2 years ago
Barış Soner Uşaklı 06f4801e57 refactor: remove debug log closes #11090 2 years ago
Julian Lam 43e7c98824 fix: relax selectors for client-side form validation so that all form elements are checked 2 years ago
Julian Lam dadbcd731c feat: integrating basic client-side form validity checking in settings v1 and v2 2 years ago
Barış Soner Uşaklı 91c2e5ac25 refactor: not deprecated on 2.x 2 years ago
Julian Lam 97d8b53fd3 Merge branch 'master' into develop 2 years ago
Barış Soner Uşaklı d264c6ac4b refactor: use utils.debounce 2 years ago
Julian Lam a2fafc2b15 Merge remote-tracking branch 'origin/master' into develop 2 years ago
Barış Soner Uşaklı 9227b82e2c fix: check cid as well as template 2 years ago
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 2 years ago
Barış Soner Uşaklı aba420a3f3 feat: setting to show signatures only once in topics, closes #10071 2 years ago
Opliko bcb94edeb4 feat: add event type to topic event component 2 years ago
Julian Lam 4055e3bd1c feat: automatically enable the SMTP transport option if the SMTP service is changed 2 years ago
Barış Soner Uşaklı 4586f68eaf fix: race condition causing undefined ajaxify.data 2 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