5798 Commits (d95b4ee29aa4a62737dacdfa68bcb43c94caa016)

Author SHA1 Message Date
Barış Soner Uşaklı 3ee4936db6 fix: keep sortBy while searching 4 years ago
Barış Soner Uşaklı 85cfe49d65 fix: autocomplete.user on search page 4 years ago
Barış Soner Uşaklı c107649b40 fix: #8732 4 years ago
Barış Soner Uşaklı d9a16855d0 refactor: posts api 4 years ago
Barış Soner Uşaklı 272e73da53 refactor: post restore/delete/purge 4 years ago
Barış Soner Uşaklı 9738e20207 refactor: merge post.edit
fix: dont fadeout/fadeint if title/post didnt change
4 years ago
Barış Soner Uşaklı 2279e37261 refactor: deprecate socket.emit('users.search') use api route 4 years ago
Barış Soner Uşaklı 083c74e059 refactor: api categories 4 years ago
Barış Soner Uşaklı 51a60d3d46 fix: handler for group.join 4 years ago
Julian Lam 20bb9c7ec8 fix: csrf token only on non-GET routes 4 years ago
Barış Soner Uşaklı 3673accdb8 refactor: api module
only return promise if callback is undefined
dont append baseUrl if url already starts with api
correctly handle writeapi readapi response for data/error
remove unused onError
dont append empty ? to url for get routes
4 years ago
Julian Lam a784d10fff refactor: api module returns promise, error-first cb if cb passed in
no more separate onSuccess onError callbacks

/cc @baris
4 years ago
Barış Soner Uşaklı 4b9444f1a5 fix: avatar selector 4 years ago
Barış Soner Uşaklı 872bacf1c4
Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
4 years ago
Julian Lam 1e07886f30 feat: require csrf token if not using bearer token 4 years ago
Barış Soner Uşaklı ba2e1c4c7e fix: show more lines 4 years ago
Barış Soner Uşaklı 01265d08f3 feat: add stack to deprecate message 4 years ago
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module 4 years ago
Barış Soner Uşaklı bddfcb5867 feat: #8734, add slugify module, deprecate utils.slugify 4 years ago
Barış Soner Uşaklı eab7489ec5 feat: #8734, move deserialize/serialize to package.json 4 years ago
Barış Soner Uşaklı 948f26143c feat: #5964, #8734 remove colorpicker 4 years ago
Barış Soner Uşaklı c954db84e4 refactor: require style 4 years ago
Barış Soner Uşaklı 931d44b5e2 fix: undefined api require, @julianlam 4 years ago
Barış Soner Uşaklı e2d407b769 fix: watch tooltip 4 years ago
Barış Soner Uşaklı aedd28e0a6 fix: module name 4 years ago
Barış Soner Uşaklı cc705e5e2b feat: #8734, move sortable to package.json 4 years ago
Barış Soner Uşaklı 75c9668656 fix: admin jquerui requires 4 years ago
Barış Soner Uşaklı 8c019a6a3b fix: timeago locale switch 4 years ago
Barış Soner Uşaklı 300a87559f feat: #8734, move bootbox to package.json 4 years ago
Barış Soner Uşaklı 420a312982 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı 3b231360d3 feat: load jquery-form before using 4 years ago
Barış Soner Uşaklı fda2aedfd8
feat: #8734, jquery-ui, jquery-form, timeago (#8748)
* feat: #8734, jquery-ui, jquery-form, timeago

get rid of forum/footer.js move that code to app.js & wait for app to load before calling ajaxify.end
make sockets.js a requirejs module
move jquery-ui to node_modules and load via requirejs
move jquery-form to node_modules and load via requirejs
move timeago to node_modules and load via requirejs
only include the css for needed jquery-ui widgets

* feat: keep socket/io global for backwards compat

* refactor: move socket listener to chat
4 years ago
Barış Soner Uşaklı ae3a231fce feat: #8734, remove semver.browser
use compare-versions as a module
4 years ago
Barış Soner Uşaklı 2c1897b373 feat: #8734, move slideout to package.json 4 years ago
Barış Soner Uşaklı 9c157de05d feat: #8734, move tinycon to package.json 4 years ago
Barış Soner Uşaklı 45e8a4d588 fix: #8734 make nprogress module 4 years ago
Barış Soner Uşaklı 12c8b1c2bc fix: dont allow adding duplicates to privileges page
hightlight uid/group if it is added again from autocomplete
4 years ago
Barış Soner Uşaklı f259063f08 fix: #8728, dont add admins to table 4 years ago
Julian Lam f870721fca feat(writeapi): file deletion route 4 years ago
Julian Lam 3ea1aa4780 refactor(writeapi): update route prefix to api/v3, default error option 4 years ago
Julian Lam 0973feea16 feat(writeapi): post bookmarking 4 years ago
Julian Lam 9942c248eb feat(writeapi): post voting 4 years ago
Julian Lam 414169fdfa feat(writeapi): post delete/restore/purge 4 years ago
Julian Lam 9be5629458 feat(writeapi): topic follow/ignore 4 years ago
Julian Lam da25ce4d09 feat: topic delete/restore/purge/(un)pin/(un)lock 4 years ago
Julian Lam 49652e6f1b feat: management of API tokens via ACP 4 years ago
Julian Lam adcadbb2b5 fix: tests 4 years ago
Julian Lam cb9369f10e fix: bad merge w/ category ACP page 4 years ago
Julian Lam a905d7f022 refactor: rewrite modules/api.js in AMD style 4 years ago
Julian Lam 40dc1c38d3 feat(writeapi): added DELETE /groups/:slug/membership/:uid route 4 years ago
Julian Lam 68ecf41ecf fix(writeapi): client-side group join API call 4 years ago
Julian Lam 952dc211dd feat(writeapi): added group joining and deletion 4 years ago
Julian Lam d044c3223e feat(writeapi): abstracted ajax calls out to new api module 4 years ago
Julian Lam ba345e53e8 feat(writeapi): added POST /api/v1/groups 4 years ago
Julian Lam 3072de4812 feat: added DELETE /api/v1/categories/:cid route 4 years ago
Julian Lam e942ad8101 feat: added PUT /api/v1/categories/:cid route
Deprecated admin.categories.update socket call
Showing stack trace in console for errors, when in development mode
4 years ago
Julian Lam a5af2dc819 feat: added PUT/DELETE /api/v1/users/:uid/ban routes 4 years ago
Julian Lam db5c5b2cfb fix: follow route to match spec 4 years ago
Julian Lam b5bbcbaeaa feat: added POST and DELETE /api/v1/users/:uid/follow routes 4 years ago
Julian Lam 7aed174ebc feat: added PUT /api/v1/users/:uid/password route 4 years ago
Julian Lam a1ddc210b2 feat: added DELETE /api/v1/users/:uid and DELETE /api/v1/users 4 years ago
Julian Lam d8879d21db fix: error handling with POST /api/v1/users 4 years ago
Julian Lam 58043e07ba fix: use POST call for user creation in ACP
- Not entirely sure about error handling yet, more research needed
- Also added socket method deprecation utility method
4 years ago
Barış Soner Uşaklı 7138d433b1 fix: selector, so it doesnt effect suggested topics 4 years ago
Julian Lam fc603a5368 fix: use app.parseAndTranslate instead of benchpress.parse 4 years ago
psychobunny 20e0cc5cbb fix: sorted list delete button 4 years ago
Barış Soner Uşaklı b955fd363d fix: dont allow sorting pinned topics on recent 4 years ago
Julian Lam 3c7f79cb8a fix: use console.info instead of console.log for sw registration 4 years ago
Barış Soner Uşaklı 1542a5d7e5 feat: remove post/header selector 4 years ago
psychobunny 60afb110ef fix: prevent mutiple highlighted rows on category/topic pages 4 years ago
Barış Soner Uşaklı 5d9a868142
feat: category filter on post queue (#8710)
* feat: category filter on post queue

category filter module

* feat: add spec
4 years ago
Julian Lam f1de084da3 fix: do not show TOC if fewer than 2 headings 4 years ago
psychobunny caa8c00f89 fix: params cached in autocomplete module 4 years ago
Peter Jaszkowiak 55d5cccf2e
Document deprecations and remove old ones (#8706)
* chore: document deprecation removal versions

* chore: remove deprecations 2+ versions old
4 years ago
Barış Soner Uşaklı 72e82c4aca Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
psychobunny 1761e13dbd feat: dedicated sorting buttons for plugin ordering in ACP 4 years ago
Barış Soner Uşaklı c33dc90562 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı 54737d3076 feat: #8233, search sub categories 4 years ago
psychobunny f4d76f1edd feat: move service-worker.js into its own file 4 years ago
Julian Lam 8437130ec2 fix: early button/anchor clicks do nothing
This reverts commit a395324b52, and
fixes the issue where the ACP became unusable because of the earlier
variant of this code.

Thanks @psychobunny for spotting.
4 years ago
Barış Soner Uşaklı a395324b52 Revert "fix: early button/anchor clicks do nothing"
This reverts commit 966d3f7654.
4 years ago
Julian Lam 966d3f7654 fix: early button/anchor clicks do nothing
This solves a small UX issue where clicking on a button (or anchor
that is not meant to be ajaxified) before ajaxify.end is called
leads to nothing happening because the appropriate click handler
has not been added.

This code will intercept premature clicks, wait until ajaxify.end
is called, and then re-send the click.
4 years ago
Barış Soner Uşaklı ea0f3262f4 feat: #8695, allow sort for guests 4 years ago
psychobunny 6478b32d0e feat: upload maskable icon for PWA 4 years ago
psychobunny aa268d5eeb feat: register service worker, #8126 4 years ago
psychobunny b6f2f0e5d0 fix: #8681 change owner modal's search should check if user is banned 4 years ago
psychobunny 611f3c6155 feat: allow autocomplete to pass optional params to user.search 4 years ago
Julian Lam f8032cd09b fix: add img-responsive to post queue post items 4 years ago
psychobunny 2ad3305879 fix: language key in reset password 4 years ago
Julian Lam 0fffe28941 fix: issue where the last flag filter could not be removed 4 years ago
psychobunny 2cd5f959a0 feat: add row highlighting for popular and unread 4 years ago
psychobunny 48a8ec4ab2 feat: return to previous page and/or category after marking topic unread
... also return to category if pagination is active and previous page was another page in the thread
4 years ago
Barış Soner Uşaklı f2f3ba49b6 feat: hightlight matches in quick search
fix title hightlights
4 years ago
Barış Soner Uşaklı f8ef380b34 fix: multiword match highlight 4 years ago
Barış Soner Uşaklı d38c872259 feat: add loading indicator 4 years ago
psychobunny 82ab6cd3b1 fix: tooltip placement on navbar search 4 years ago
psychobunny 683c01b0d3 fix: rogue tooltip on navbar profile icon 4 years ago
Barış Soner Uşaklı 445a840b88 fix: #8580, @julianlam 4 years ago
psychobunny 703ac1b685 fix: match api when modifying ajaxify.data.deleted (int, not bool) 4 years ago
Barış Soner Uşaklı 9a7c3c689f fix: lock/unlock toggle issue 4 years ago
Barış Soner Uşaklı 02a48e1c64 fix: change user tooltip container to content 4 years ago
Barış Soner Uşaklı 047c414841 fix: add user tooltips to body
so they don't get cutoff  in containers with overflow:hidden
4 years ago
Barış Soner Uşaklı ddc0ac37ab feat: allow adding nested replies to a target component 4 years ago
Julian Lam 43571bac38 feat: hotkey "/" to open ACP search 4 years ago
Julian Lam 763cec31bd feat: ctr-s for save on privileges page too 4 years ago
Julian Lam 8093142340 feat: ctrl-s now saves on settingsv1/v2 forms
... because nobody ever uses ctrl-s on a browser window.
4 years ago
Barış Soner Uşaklı 6669b23d9a feat: single href 4 years ago
Barış Soner Uşaklı 42298fe659 fix: clear old value on focus
hide results if input lost focus during search
4 years ago
Barış Soner Uşaklı c9c9dd2f9b fix: skip elements if they dont have proper index 4 years ago
Barış Soner Uşaklı 7148be2fd1 feat: allow passing in container to threadTools 4 years ago
Barış Soner Uşaklı 99f24c5997 fix: call to reskin 4 years ago
Julian Lam 44309ee62f fix: move necro-post to be in-line with posts 4 years ago
Barış Soner Uşaklı a8e18fdbe6 fix: client side crash if there are no topics 4 years ago
Barış Soner Uşaklı c1c617b323 feat: add topicIndex to category page 4 years ago
Barış Soner Uşaklı 632793b067 fix: dont use hardcoded fontawesome icons for lock pin 4 years ago
Barış Soner Uşaklı f6d564667e feat: switch to using topic/select component for merge
automatically add the selected tids to the merge modal
4 years ago
Julian Lam 762e9fe88c feat: undo for posts move 4 years ago
Julian Lam 65d94a3b6d fix: #8629 and change undo timeout to 10 seconds 4 years ago
Barış Soner Uşaklı 2bebdf017d fix: alert_id selector 4 years ago
Barış Soner Uşaklı 5a40d26b44 feat: #8626, new move posts modal 4 years ago
Barış Soner Uşaklı 5f10d67db5
Remove sounds (#8617)
* feat: remove sounds

* feat: remove more sounds

* feat: disable sounds plugin

* fix: openapi
4 years ago
Barış Soner Uşaklı 5002e0f62c feat: refactor app.js 4 years ago
Barış Soner Uşaklı 19c448612d feat: remove global RELATIVE_PATH 4 years ago
Barış Soner Uşaklı 3cd3b7a172 feat: remove app.template 4 years ago
Barış Soner Uşaklı 630bac2aa5 feat: remove global window.templates 4 years ago
Barış Soner Uşaklı fddeb5c0f8 feat: remove app.isConnected, use socket.connected 4 years ago
Barış Soner Uşaklı 94da9fe55e feat: add partials/footer/js.tpl
add ajaxify.coldLoad which gets called from partials/footer/js.tpl
4 years ago
Peter Jaszkowiak 64a457a441
fix(bug): #8611, custom route logic corrected (#8612) 4 years ago
Barış Soner Uşaklı 57f67e2b91 fix: don't toggle elements if there is no inputEl 4 years ago
Julian Lam f743f92088
refactor: socket posts delete/restore/purge so tid is not necessary (#8607)
* refactor: socket posts delete/restore/purge so tid is not necessary

* refactor: stop trying to be fancy

* fix: tests to not pass in tid into posts.deletePosts

* fix: some more unnecessary tid passing
4 years ago
Barış Soner Uşaklı 09de364e93 feat: add client side action:flag.create 4 years ago
Julian Lam 694f4b2bcf fix: accept/reject in post-queue instead of accept/delete 4 years ago
Barış Soner Uşaklı 9f9164a9be fix: #8582 4 years ago
Julian Lam fb3b4a0293 fix: debug logging 🐶 4 years ago
Julian Lam 56101ae5ae fix: ip-blacklist not working after #8580 4 years ago
Julian Lam c681b4b2e0 fix: ip-blacklist not working after #8580 4 years ago
Julian Lam dc5bd7601f fix: post-queue not working after #8580 4 years ago
Julian Lam abb5e81d0d feat: allow undo of topic move 4 years ago
Julian Lam cd8e7963de feat: added alert.timeoutfn
Also, various alert methods now pass two arguments,
alert and params
4 years ago
Julian Lam 5d60dce379 fix: select all checkbox does not re-enable bulk actions button 4 years ago
Julian Lam 9cbe9389f5 fix: use promises in privilege save
... instead of jQuery Deferreds
4 years ago
Julian Lam 7a5daff4c9 fix: overzealous click handler on flag list row 4 years ago
Julian Lam 9608b44f21 fix: +comment, -debug log 4 years ago
Julian Lam a3a2279358 feat: logic for bulk actions in flags list, #8571 4 years ago
Julian Lam 589216e720 fix: multiple alerts in the same millisecond overwrite each other 4 years ago
Julian Lam b2271eb64f fix: client-side error in flags/detail
... as the filter form is no longer present in the details page
4 years ago
Julian Lam 346db0d84d feat: flags list sorting, closes #8569 4 years ago
Barış Soner Uşaklı 35a538ec2a feat: allow adding multiple users to group 4 years ago
Barış Soner Uşaklı 3f01f4a2b8 Revert "feat: load timeago strings client-side"
This reverts commit 558a2d739c.
5 years ago
Julian Lam 558a2d739c feat: load timeago strings client-side
9adaccd036 introduced the ability to
configure an assetBaseUrl, but the timeago strings were still
calling a hardcoded value as it was handled server-side. There's
no need for the strings to be loaded until timeago is initialised.
5 years ago
Barış Soner Uşaklı 79e847d424 fix: #8558, only navigate if user is in same topic 5 years ago
Julian Lam 9adaccd036 feat: +assetBaseUrl, -l10BaseUrl, -requireBaseUrl
Additional base URLs were necessary for benchpress and translator,
and in order to not clutter the API response with needless one-
time use base URLs, I decided to use a single base that is used
by all of the services, assetBaseUrl.
5 years ago
Julian Lam def16f9e97 feat: introduce overridable l10nBaseUrl config value 5 years ago
Barış Soner Uşaklı 4216c277d5 feat: focus username when modal is shown 5 years ago
Julian Lam 2ee6248316 refactor: for codeclimate 5 years ago
Julian Lam a7071bb808 fix: map instead of forEach in privileges save 5 years ago
Julian Lam a716a5529c
feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals (#8541)
* feat: privileges save button, #8537, WIP

* fix: disable firefox autocomplete on privilege form fields

* feat: closes #8537 privilege changes commit on save

- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs

* fix(tests): remove duplicate template helper test

* fix(tests): broken template helper test

* feat: confirm dialogs for all privilege copy actions

Also, ability to add user to a privilege table without needing
to refresh the privilege table.

* feat: group row addition w/o table refresh

breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:

- filter:privileges.list, filter:privileges.admin.list,
  filter:privileges.global.list, filter:privileges.groups.list,
  filter:privileges.admin.groups.list,
  filter:privileges.gloval.groups.list

The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.

* fix: stale ajaxify data on privilege category switch

* fix: implicit privileges not showing for user privs

* fix: groups, not group, also fix tests

* fix(tests): again

* fix: wrong tpl rendered when adding group to global priv table
5 years ago
Barış Soner Uşaklı e7a502e0aa feat: add ability to search groups in group details page 5 years ago
Barış Soner Uşaklı 519e665939 fix: #8538, go to first unread instead of last read 5 years ago
Barış Soner Uşaklı 9e80a9efdd fix: #8534, dont show modal on search 5 years ago
Barış Soner Uşaklı fb7bb8d400 feat: use category selector in category page
fix privilege shortcuts in group page after search
5 years ago
Barış Soner Uşaklı 91411cc47c feat: add privileges shortcut to groups list
fix issues with escape group names
5 years ago
Barış Soner Uşaklı c4829fd8c2 feat: allow changing requirejs base url 5 years ago
Barış Soner Uşaklı bbc7737e14 feat: ability to clear cache from acp 5 years ago
Barış Soner Uşaklı 8d8117ffa1 feat: reduce amount of data loaded on acp admin page
get rid of socket call and use ajaxify.data.categories
5 years ago
Barış Soner Uşaklı fd4c3cda42 fix: #4695, remove new notif alert 5 years ago
Julian Lam 8473e165a6 fix: too small sortable handle for ACP>Manage>Categories
The handle was initially just the icon, but now it is the icon
and the category label itself.
5 years ago
Barış Soner Uşaklı 24535a62e7 feat: make category tools in acp a dropdown
add view category, view privileges into dropdown
5 years ago
Barış Soner Uşaklı 609e37a67b feat: remove deprecated utils.walk 5 years ago
Julian Lam 55b0e902fb feat: consolidation of flags to reduce flagspam, #8510
Squashed commit of the following:

commit c6d09396208a10c244d7b3d22ffd2d7dd1274d3a
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 13:41:32 2020 -0400

    fix: more tests

commit 32f9af2a87a81fa62ecca01e71d6f0d5b9d37ba1
Merge: e50907535 4eae927d1
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:53:04 2020 -0400

    Merge remote-tracking branch 'origin/master' into singleton-flags

commit e50907535109dbdbe8f15c3e2fcdf22d90b1332a
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:52:46 2020 -0400

    fix: controllers-admin test

commit fd5af99e303de48a80b0ccc166eee19175cf232b
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:26:55 2020 -0400

    fix(tests): dummy commit to trigger travisCI

commit c452a6ffcfaef91403de084c4ae16795cb23c60e
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:05:09 2020 -0400

    fix(openapi): openapi spec changes

commit 8089a74e89128141ab1e6f8ff83447114b3b846b
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:48:00 2020 -0400

    fix: reversing the order of reports for display purposes

commit a099892b377333561c72f1ad5b6b20ddb4ce8a96
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:45:44 2020 -0400

    refactor: run all flag creation calls in a single batch

commit b24999682f9d5a33a08a049749c1f0eb4f00facc
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:08:23 2020 -0400

    feat: handling multiple reporters per flag, #8510

commit 08c75c020021ada754bf0e39eae77d631b01dee5
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Jul 16 20:53:18 2020 -0400

    feat: upgrade script for #8510
5 years ago
psychobunny bc26883aed refactor: setting codeclimate to A 5 years ago
psychobunny a6ae69737b Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
psychobunny 10e4ae629c feat: highlight privs row if group is added / navigating from group page 5 years ago
psychobunny 53f6139b8c feat: prevent navigation away from groups page if changes are unsaved 5 years ago
psychobunny 2c83278f97 feat: quick access dropdown on groups page to access privileges page 5 years ago
Barış Soner Uşaklı 844f2b4ed0 feat: #8524, allow editing category of queued topic 5 years ago
Barış Soner Uşaklı ec05783507 feat: remove js-enabled.css 5 years ago
Barış Soner Uşaklı 2485a55092 feat: #8521, allow editing title before posting from queue 5 years ago
Barış Soner Uşaklı 8ddc8dd10f refactor: make msg pretty 5 years ago
Barış Soner Uşaklı 764969ab29 feat: show language when key isn't found 5 years ago
Barış Soner Uşaklı 1e7397b1b8 feat: allow searching categories in ACP 5 years ago
Barış Soner Uşaklı 320008cd49 feat: #8509, don't scroll chat to bottom if user scrolled up 5 years ago
Julian Lam 9fb9185fa7 feat: hide some filters behind 'more filters' button 5 years ago
Julian Lam d52d7bdb10 feat: collapsible daily flags graph 5 years ago
Julian Lam 1441720962 feat: logic for flag note editing, #8499 5 years ago
Julian Lam f85a45c722 feat: logic for flag note deletion, #8499 5 years ago
Barış Soner Uşaklı 5e984d10f0 fix: #8500 5 years ago
Julian Lam 2286ee2a61 fix: invalid session error modal during logout
A brief flash can be seen, but this is exacerbated by slow
connections and/or slow server response.
5 years ago
Julian Lam 3379d65f36 feat: fire action:flag.showModal on flag modal appearance 5 years ago
Barış Soner Uşaklı 00d39fb32c feat: #8460, export groups members as csv 5 years ago
Barış Soner Uşaklı 3dcf538773 feat: #8023, allow wildcard search for uid/email 5 years ago
Barış Soner Uşaklı 46a6686300 fix: category search in selector 5 years ago
Barış Soner Uşaklı 4adbf87c6c feat: warn user if whitelisted tags are less than minTags 5 years ago
Barış Soner Uşaklı 658dd03b03
feat: add tools to recent/unread (#8477)
* feat: add tools to recent/unread

* fix: open api spec

* fix: more api spec
5 years ago
Julian Lam 4f51838df8 feat: fire new hooks on chat message editing 5 years ago
Barış Soner Uşaklı ac6b571ed5 fix: dont allow searching by email/ip if not privileged 5 years ago
Julian Lam f3441fce4f fix: admin privileges client-side regression 5 years ago
Julian Lam da29b947bf feat: add js-enabled.css to list of preloaded css files 5 years ago
Barış Soner Uşaklı bd228d5ee7 feat: fix blocksCount not being returned on user profile
add hook action:user.blocks.toggle
5 years ago
Julian Lam 6cb31791ff feat: polish for user blocks UX 5 years ago
Julian Lam 6931f29d53 feat: allow flagging of user acounts from post tools menu 5 years ago
Barış Soner Uşaklı 2355d9d5dd fix: escape navigation item fields, theme:id, category fields 5 years ago
Barış Soner Uşaklı e53a18f219 fix: #8437, #8433 5 years ago
Barış Soner Uşaklı ed4b5caf2c fix: copy settings showing empty category selection 5 years ago
Barış Soner Uşaklı 0482fb2998 feat: use tags partial instead of post_bar 5 years ago
Barış Soner Uşaklı 8482a54a68 fix: don't init autocomplete if user doesn't have privs 5 years ago
Barış Soner Uşaklı 4f6b6c5631 feat: hide elements if search element is a direct child of dropdown
this fixes themes if they put the search input inside the dropdown
5 years ago
Barış Soner Uşaklı 8383992dcc feat: move export functions into child processes 5 years ago
Barış Soner Uşaklı 48b41debe6
fix: vulnerability in cover and admin uploads (#8419)
* fix: vulnerability in cover and admin uploads

* fix: remove old test

* fix: update tests
5 years ago
Julian Lam 040e6a9a4c fix: reverse tabnabbing exploit in post images 5 years ago
Barış Soner Uşaklı bfd7eafe5b fix: ban 5 years ago
Barış Soner Uşaklı b459592a4e Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Barış Soner Uşaklı f70d1648c6 feat: show more relevant snippets 5 years ago
Julian Lam 5a367ecbb4 fix: remove use of 'hidden' class in navbar toggling 5 years ago
Julian Lam f909ed2541 feat: show editor in post diffs if available 5 years ago
Julian Lam 2515aa77ba fix: bug where category privs page thought it was on admin 5 years ago
Julian Lam b3115ea813 fix: #8410 5 years ago
Julian Lam d5af976915 feat: #8408 flags' quick assignment 5 years ago
Julian Lam 58b3d608fc feat: allow post diffs to be restored, #8406 5 years ago
Barış Soner Uşaklı 6349fa03e1 feat: more search changes 5 years ago
Barış Soner Uşaklı 4b38533b15 feat: more merge/search fixes 5 years ago
Barış Soner Uşaklı bb3aa54006 feat: merge changes
allow selecting main topic to merge into
allow specifying a new title for merge topic
upon merge go to correct topic
new tests for merging with options
5 years ago
Barış Soner Uşaklı 8591f5d2cc fix: return false 5 years ago
Barış Soner Uşaklı 5fd05dc942 feat: more search & merge fixes 5 years ago
Barış Soner Uşaklı c4bdeae06e feat: merge improvements wip 5 years ago
Barış Soner Uşaklı d92032dad1 fix: prevent logout form from submitting 5 years ago
Julian Lam 4d60eac60f feat: #8384 options to delete account, content, or both 5 years ago
Julian Lam 67aca822e6 feat: account content deletion, closes #8381 5 years ago
Barış Soner Uşaklı 50703db879 fix: #8363, dont break history 5 years ago
Barış Soner Uşaklı 0c265a41d4 fix: #8363, go to hash when entering topic 5 years ago
Julian Lam a82e9bd7f6
feat: privileges for Admin Control Panel (#8355)
* feat: acp privileges (WIP)

* fix: restore global privilege hooks

* refactor: using cid 0 in admin privs

* fix: no need for zebrastripe-reset

* feat: manage:categories privilege WIP

* feat: renamed prefix to admin:, settigns and dashboard privs

* fix: nofocus on acp privs group find modal

* refactor: privileges.x.get() to not used hardcoded privs

* fix: crash if unable to get latest version

* feat: setting acp priv

* Revert "fix: crash if unable to get latest version"

This reverts commit afdb235f48eb0072d88de45f3a1e0151281095b3.

* feat: user/privilege acp privs

* fix: category selector in manage/privileges

* fix: guests potentially becoming admins

* fix: bug in setting admin privs

* fix: some last minute things + api docs

* fix: some more last minute fixes
5 years ago
Barış Soner Uşaklı 30cc83c033 fix: #8374, revert event delete 5 years ago
Barış Soner Uşaklı 7786187e84 fix: change event name so it doesnt trigger complete event
add data to complete event
5 years ago
Julian Lam 8ea1634824 feat: #8360 flag quick actions for delete/restore/purge 5 years ago
Julian Lam 922d49be0b fix(style): switch..case 5 years ago
Julian Lam a51fff8bd1
refactor: remove general menu from ACP (#8347)
* refactor: remove general menu from ACP

* fix: incorrect translation keys, fixed tests
5 years ago
Barış Soner Uşaklı 9ffcb6f7ba feat: add results into results container 5 years ago
Barış Soner Uşaklı f12d448ef5 feat: quick search changes 5 years ago
Barış Soner Uşaklı bb1a56f0fe feat: move quick search into search module
so it can be used directly
5 years ago
Barış Soner Uşaklı 47d73a2ab4 fix: move checks into timeout 5 years ago
Barış Soner Uşaklı a9315aee7d fix: #8339, add missing translation 5 years ago
Barış Soner Uşaklı 84c20f919b fix: don't explode if server sends `checkSession` 5 years ago
Barış Soner Uşaklı 5781a2dc65
feat: fix session mismatch errors by clearing cookie on logout (#8338)
* feat: fix session mismatch errors by clearing cookie on logout

* feat: remove app.upateHeader

ported from 2.0

* feat: handle if user doesn't click button and just refreshes page
5 years ago
Julian Lam f0e59c149d fix: eliminate unnecessary try..catch 5 years ago
Julian Lam 8d995d1eb6 refactor: flags detail page
- Show account moderation history
- Ban and delete quick actions

Squashed commit of the following:

commit 0e782e65f4d48ae814708e510ec9d01bcdd914e0
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:24:53 2020 -0400

    fix(deps): use persona 10.1.41/vanilla 11.1.17

commit 369e073d3c3189d8ce181eb3d573489cbe54d4fc
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:23:24 2020 -0400

    fix: allow ban and delete exported methods to have cbs

commit b83a086ea31a77ec82d161306c0b9bc115cb2a3a
Merge: 525aae1ea 256ee45d3
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:54:25 2020 -0400

    Merge remote-tracking branch 'origin/master' into flags-improvements

commit 525aae1ea2e5d0103028a0f0c8dde05f172d088e
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:53:39 2020 -0400

    feat: integrate ban history and username changes to flag history list

commit 3e68ad28ba266f4c8620a676aa7f463f0a9d1df7
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:53 2020 -0400

    feat: allow ban and deletion from flag details page

commit a559ea1d8e8883385c2876868d855a0b93516c54
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:00 2020 -0400

    feat: export banAccount and deleteAccount methods from accounts module
5 years ago
Barış Soner Uşaklı d6c2764fe7 fix: don't trigger quick search if val doesn't change 5 years ago
Barış Soner Uşaklı 6f78113ee3 fix: prevent duplicate search triggers
if app.handleSearch is called from a plugin in action:ajaxify.end events are fired multiple time
5 years ago
Barış Soner Uşaklı ada45a34d5 fix: search post snipets incase content is plain text 5 years ago
Barış Soner Uşaklı cb662e15ce feat: improve grunt restart/rebuild speed 5 years ago
Barış Soner Uşaklı 2a00b0e973 fix: utils.params({url: ''}) 5 years ago
Barış Soner Uşaklı 40b5cbab2c refactor: remove console.log 5 years ago
Barış Soner Uşaklı 765b8156d5 feat: parse quick search tpl even if no results
allows showing "no results found" in theme
5 years ago
Barış Soner Uşaklı 1f992cf371 fix: if category in selector has url use it 5 years ago
Julian Lam 6765de3db3 fix: sortable topics even if only 1 pinned topic 5 years ago
Julian Lam dd2bc18927 fix: #8298, use class name added by jQueryUI instead
This reverts commit 2e57d8ac31.
5 years ago
Julian Lam 2e57d8ac31 fix: discoverability of topic reordering, re: #8298 5 years ago
Julian Lam f2c725c658 fix: topic search shortcut for macs 5 years ago
Barış Soner Uşaklı be305410fb fix: #8293, don't show error if there are no self messages 5 years ago
Barış Soner Uşaklı 9839346ec3 fix: #8290, if there are no filters go to ?reset=1
dont count ?page=1 as a filter
5 years ago
Barış Soner Uşaklı 3fcbd69149 feat: reduce infinite scroll area 5 years ago
psychobunny 275e837bcf fix: jquery xhtml violations 5 years ago
Opliko 4855f1deca
fix:#8274 Don't escape HTML in manage users (#8275)
Perhaps the HTML for managing groups should ba actually rendered as HTML to serve its function. fixes #8274
5 years ago
Julian Lam ccc6118d30
Testing suite integration for openapi spec (#8263)
* feat: testing suite integration for openapi spec

The testing suite now takes the openapi spec into account. It will
check each route defined, make a call to it, and compare the
response with the defined schema. Any mismatches will cause the
test to fail.

* fix(openapi): removed debug stuff from tests

* fix(openapi): fixed some tests

* fix(openapi): added additional check to tests, test fixes

* fix(openapi): better tests, fixed spec errors

* fix(openapi): bad conditional in test

* fix: oops

* fix(openapi): more tests fixing

* fix(openapi): more tests

* fix(openapi): fix some more tests

* fix: verbose'd an info log

* fix: topic pagination route returns schema-optimized pagination block

* fix(openapi): more test/spec fixes

* fix(openapi): accidentally sending in authenticated jar for anon routes

* fix(openapi): more test/spec fixes

* fix(openapi): more spec fixes

* fix: timestampReadable Invalid Date

* fix(openapi): more tests... almost there

* fix(openapi): more tests fixing

* fix(openapi): finally all tests passing

* fix(openapi): added reverse test to compare response to spec

... and fixed all the tests that broke

* fix: remove tests related to group covers, as route is gone

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): object cache is not present for psql

* fix: tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Opliko 47e7e9572c Add loading=lazy tag to avatars
There is no reason why avatars should be a blocking reasorce, and browsers are now adding support for lazy loading of images (and iframes). According to [caniuse.com](https://caniuse.com/#feat=loading-lazy-attr) 62% of users use a browser that supports this attribute.

So there doesn't seem to be any downside to just adding this attribute here. It won't affect browsers that don't support it and might speed up page loads on browsers that do.
5 years ago
Barış Soner Uşaklı ba6d3fd372 fix: only trigger infinitescroll on scroll end 5 years ago
Julian Lam 1b425ef108 fix: no focus on find user modal 5 years ago
Julian Lam bcbf98aa4c fix: accidental fp precision on flag and acp dash graphs 5 years ago
Barış Soner Uşaklı 080317300a fix: #8221, fix parent selection 5 years ago
Julian Lam 5aa76cdf2f feat: pass in target element in action:topic.tools.load 5 years ago
Barış Soner Uşaklı 2f9c7c626f fix: #8203, fix user invites refreshing page 5 years ago
Barış Soner Uşaklı 4083a6e39b feat: add awaitable socket.emit 5 years ago
Barış Soner Uşaklı 6e5de39ba0 fix: also fix updating bookmark if sorting is newest_to_oldest 5 years ago
Barış Soner Uşaklı 32ada7c4e7 fix: #8188, fix bookmark if sorting is newest_to_oldest 5 years ago
Barış Soner Uşaklı bc93b5676c fix: #8175 5 years ago
Andrew Rodrigues 3c9689a5ac
feat: settings sorted list (#8170)
* feat: settings sorted list

see https://github.com/NodeBB/nodebb-plugin-quickstart/pull/9/files for sample
5 years ago
Barış Soner Uşaklı 067034082f fix: #6422, update deleted/restored messages 5 years ago
Baris Usakli 2e79480179 fix: #8151, don't crash if taskbar doesn't have element 5 years ago
Julian Lam 14655f8745 fix: no decimal places for category analytics 5 years ago
Julian Lam d6e3f3f058
fix: #8142, broken site if no server-side session (#8148)
* fix: #8142, broken site if no server-side session

During the `addHeader` middleware, a check is now done to see if
`req.session.meta` is present. This value is only present if the user
has a valid server-side session.  If it is missing, then it is probably
safe to assume that the server-side session was deleted (either
intentionally or accidentally). In that scenario, the client-side cookie
should be cleared.

Also, there was an issue where the sessionRefresh flag was never cleared
after a successful login, so that was fixed too.

* feat: exported method to get cookie config

* fix: don't clear cookie if cookie is being set

* fix: socket.io tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Barış Soner Uşaklı 3077eb9428 fix: remove unused conditional, dont add dupe messages 5 years ago
Julian Lam 594cd7e176 fix: #8127 user join system message duplicated
- Now showing user-join message for chat owner in addition to the newly
  added user
- If a modal already exists for a room when createModal is called, don't
  return null, return the modal
5 years ago
Julian Lam 106c141ff5 fix: background-size in taskbar images 5 years ago
Barış Soner Uşaklı c8fb7f9246 fix: escape register query param 5 years ago
yossizahn 09d55581d8 Fix: ACP > manage > group: save disableLeave (#8123)
* Fix: ACP > manage > group: save disableLeave

* Fix eslint comma-dangle
5 years ago
Opliko 879acc85ae Add disable/enable category to category edit page (#8118) 5 years ago
Barış Soner Uşaklı e06c1bfcd2 fix: escape config.userLang/acpLang, don't allow invalid language codes 5 years ago
Barış Soner Uşaklı 5a8217de01 fix: #8105, fix export json on page load 5 years ago
Barış Soner Uşaklı c1b1ee61f3 fix: create user modal instantly closing 5 years ago
Aziz Khoury acca0b956e more secure isRelativeUrl (#8087) 5 years ago
Barış Soner Uşaklı 05c9fe2735 feat: #5272, allow changing user groups from manage users page 5 years ago
Baris Usakli 4d66978338 fix: #8073, configurable necroThreshold 5 years ago
Baris Usakli c2cd7de891 fix: #8069, dont show hidden groups in search 5 years ago
Barış Soner Uşaklı 3811e0a3df fix: #8042, dont show errors after clearing form 5 years ago
Baris Usakli 6c404b81fb fix: use the correct attribute name for widgets 5 years ago
Julian Lam 645d647248
feat: wip, better digest handling (+ eventual digest resend logic) (#7995)
* feat: wip, better digest handling (+ eventual digest resend logic)

- await emailer.send call in digest.send method
- save send success to a new sorted set digest:{interval}:byUid

* feat: continuing work on digest tools

- Added ACP page to view digest settings and delivery times per user

* feat: added paginator and stub buttons for resending digest

* feat: wrapping up digest revamp

- New language strings in ACP digest page
- Client-side ACP script for digest ACP page
- Websocket call for ACP page to execute digests
- Broke out logic to retrieve user digest settings to getUsersInterval

* fix: minor cleanup

* fix: #8010 and some style suggestions from baris

* fix: resolve confusing comment
5 years ago
Barış Soner Uşaklı 4b8897d9bc fix: lint 5 years ago
Aziz Khoury beea56b3c6 ie11 doesnt support Object.values (#7993) 5 years ago
Barış Soner Uşaklı 441dd86d29 fix: convert param to string in slugify
fixes adding users to privilege table
5 years ago
Barış Soner Uşaklı 95a372df85
fix: #7977, fix undefined url (#7978) 5 years ago
Barış Soner Uşaklı ca3be1f336
fix: #7974 (#7976) 5 years ago
Baris Usakli 485fbd2f14 feat: #7964, change all categories at once
allow passing cids to setCategoryWatchState and category.exists
5 years ago
Baris Usakli 554e67116f feat: remove ability to delete events from acp 5 years ago
Baris Usakli 5b458fc7ca fix: #7953, allow icon only group badges 5 years ago
Barış Soner Uşaklı c5f7b66c3a fix: new nav items will show group select 5 years ago
Barış Soner Uşaklı f402d7271a fix: move post and change owner 5 years ago
Barış Soner Uşaklı b19f0a686c fix: 404 on new groups with spaces 5 years ago
Barış Soner Uşaklı 2444ed5c88 feat: #7932, redirect to group details after creation
add private/hidden on group creation modal
5 years ago
Baris Usakli 95ab071254 fix: remove jquery 5 years ago
Barış Soner Uşaklı 9a7560049a feat: bypass cropper for gifs 5 years ago
Andrew Rodrigues 40f131a6bb
fix: potential for XSS here 5 years ago
Barış Soner Uşaklı e0fec86628 fix: dont crash if callback is undefined 5 years ago
Barış Soner Uşaklı 35a4ca2fe9 feat: add sm2x avatar class #7813 5 years ago
Barış Soner Uşaklı 781b3f1a9a fix: #7800, dont crash on resize 5 years ago
Barış Soner Uşaklı 1789ecb45c feat: increase search timeouts 5 years ago
Barış Soner Uşaklı ebe5ed22bb feat: make handleSearch public 5 years ago
Barış Soner Uşaklı 2a5fe2b8f4 fix: #7894, translate log in to view 5 years ago
Barış Soner Uşaklı 0843497dd4 fix: #7893, check private upload setting 5 years ago
Barış Soner Uşaklı 3887fc678b fix: #7824, update timeago settings on userlanguage change 5 years ago
Julian Lam 9b09ee0e93 feat: client-side taskbar.update method, deprecates .updateTitle() 5 years ago
Julian Lam 1796b65d34 feat: option to restrict group leaving, closes #7770 5 years ago
Barış Soner Uşaklı ad96b0e0db feat: preserver querystring when changing category sort 5 years ago
Barış Soner Uşaklı 21e81f961c fix: #7780 5 years ago
Barış Soner Uşaklı f31d30cd02 feat: add client side hook for quick search&normal search 5 years ago
Barış Soner Uşaklı 6f375482a0 refactor: async/await admin/controllers 6 years ago
Barış Soner Uşaklı 7162051905 fix: #7791 6 years ago
Julian Lam 0921230976 fix(style): updated code to follow new eslint recommendations
Squashed commit of the following:

commit f9ce878b269b3568f0d649309aae1af4dcfdfeef
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:30:46 2019 -0400

    fix(style): updated code to follow new eslint recommendations

commit 80dd370e413f22badb96ff2138e7991dfff6d836
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:14:58 2019 -0400

    fix(deps): update dependency sitemap to v4

    Squashed commit of the following:

    commit f4dd9cabb21e26fdc21f8413be822ea7c64251f8
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee16dcc27a8dcc2e4479d1bc5e2d1b60e
    Merge: e3352b272 72590b346
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:09:55 2019 -0400

        Merge branch 'master' into renovate/sitemap-4.x

    commit e3352b272eb9400bdb00774973181397803765e4
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

commit 8e3c0cdcae22acc32d352be8bb72d60e7502dbc5
Author: Renovate Bot <bot@renovateapp.com>
Date:   Fri Aug 9 00:49:51 2019 +0000

    fix(deps): update dependency commander to v3

commit 2104449d38818f2fa4d44b3a58a0a168781acbfb
Author: Renovate Bot <bot@renovateapp.com>
Date:   Tue Aug 13 15:00:27 2019 +0000

    fix(deps): update dependency mongodb to v3.3.0

commit d2937f446a21131c070ae5d0ff33d67cfe465b8c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

commit 1b97e8b199f960dc24e5722702f27499ae049914
Author: Misty (Bot) <deploy@nodebb.org>
Date:   Tue Aug 13 09:28:39 2019 +0000

    Latest translations and fallbacks

commit 69a48957a2f0d23c4d194b664bda3a0431179c01
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 21:56:09 2019 -0400

    feat: async/await

commit b9b2a7e593a452de4bef6d0ab6abe368a3bdb8dd
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 20:58:29 2019 -0400

    feat: async/await refactor

    controllers/accounts

commit a8d43a175974a0c8ae3dc132bf51a7ed9a4c6305
Author: Baris Usakli <barisusakli@gmail.com>
Date:   Mon Aug 12 14:49:40 2019 -0400

    feat: async/await controllers/accounts

commit 2f25aae57bf9dbe98d655276770e56bed9ec023b
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 23:09:50 2019 -0400

    fix: #7831, fix pagination

    convert to async/await

commit c9e83f2374572264855a04156278eef256b0a20c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c4dd7583412c4e8d56e9c1688e48a44
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:13:41 2019 -0400

    fix: remove useless catchs and empty line

commit 2e4a71c0b6104738f15ffbfe3246105b922fdfb3
Author: Renovate Bot <bot@renovateapp.com>
Date:   Sat Aug 10 06:51:50 2019 +0000

    chore(deps): update dependency eslint-config-airbnb-base to v14
6 years ago
Julian Lam 3d3fa8655d feat: new client-side hooks for chat minimize and close
closes #7805
6 years ago
Julian Lam af968c6ae5 feat: fire updateRemainingLength hook for chats 6 years ago
Barış Soner Uşaklı 666e0eaff9 fix: #7798, fix nested post selection 6 years ago
Julian Lam 4fb271c684
System chat messages (#7771)
* fix: removed duplicate checkContent call in addMessage

addMessage is called in one place (sendMessage), and the checks
are already contained there. addMessage is the lower level call
and so should be called only from within core itself.

* feat: #7330 chat system messages for join, leave, rename

* fix: add back content checking in .addMessage();

* fix: tests, and added .addSystemMessage() method

Tests were relying on message indices that changed due to the
new system messages.

* feat: add tests for system chat messages

* refactor: rewrite half of src/messaging/rooms.js, fix tests

* feat: #7743 messaging/room.js

* fix: tests for messaging/room.js, #7743

* fix: trying to fix tests

* fix: omg :rage2:
6 years ago
Baris Usakli 9f78bd7a12 fix: sitemap ajaxify 6 years ago
Barış Soner Uşaklı 53e1b349ae
Change post owner (#7752)
* feat: #7749, allow array of keys for setObject

* feat: sortedSetRemoveBulk

* feat: test for bulk remove

* feat: #7083, ability to change post ownership

* feat: #7083, fix tid:<tid>:posters

* feat: #7083, front end

* fix: #7752, psql methods

* fix: add missing await

* fix: maybe psql
6 years ago
Barış Soner Uşaklı 2b70e86f21 fix: #7751, make necro separator a partial 6 years ago
Barış Soner Uşaklı 4170abfd6b feat: add utils.promiseParallel 6 years ago
Julian Lam 16aae51726 fix: private upload img replacement should happen before img wrapping 6 years ago
Julian Lam 49e3a368f8 fix: #7423 private uploads are linked to login page, for guests 6 years ago
Barış Soner Uşaklı bd640a1107
Topic await errors (#7727)
* feat: derp await

* feat: restore user.getSettings

* feat: cleanup

* feat: make tid const

* feat: cleanup

* fix: tests

* feat: deprecate filter:controllers.topic.get

* feat: rewrite post-index logic

* feat: change calculation to match others

* fix: use .async

* feat: remove try/catch wrapper
6 years ago
Julian Lam a0c0ef1ba4
feat: ACP analytics API route (#7725)
* feat: added API route for retrieving analytics via REST API

* feat: sets is now optional, can pass in multiple sets

* fix: moved expand and added json button to panel header

* fix: matching api params to socket method

* fix: update json api button url on graph change

* fix: updated default counts based on passed in units
6 years ago
Baris Usakli ee4d78cae3 feat: closes #7718 6 years ago
Julian Lam af17c6e31c fix: remove debug code that should not have made it in 6 years ago
Julian Lam 69fae1a7e4 fix: output span in buildAvatar helper instead of div
In not-so-rare circumstances, the avatar generated is wrapped in
an anchor so that when clicked, it goes to the user profile.

Unfortunately, html 4 spec doesn't like block level elements
inside anchors (since an anchor is an inline element), and even
though we define html5 doctype, browsers still reorder the div
and anchor, beats me as to why.

So I can trick the browser by using a span. The css already styles
it as inline-block so no further fixes are required.
6 years ago
Barış Soner Uşaklı a39f0ef592 fix: #5570, create per category user post zsets 6 years ago
Aziz Khoury 13efbc9967 feat: change widget-* to data-widget-* (#7703)
* change widget-* to data-widget-*, original pr#5444 but backward compatible

* lint
6 years ago
Barış Soner Uşaklı e1c05e59c9 fix: restrict drag drop to pin icon, closes #7702
https://github.com/NodeBB/NodeBB/issues/6081
6 years ago
Barış Soner Uşaklı b53a60c278 feat: show best & latest posts on profile 6 years ago
Julian Lam 289dada5f7 fix(deps): update to eslint@6 6 years ago
Barış Soner Uşaklı 25ea634787 fix: #7659 add option to change cookie link url 6 years ago
Julian Lam 2523889990
refactor: replace avatar conditional code with buildAvatar helper (#7681)
* feat: helper for building avatars

* feat: benchpress truefalse globals, componentPrefix in buildAvatar

* refactor: remove componentPrefix

* feat: changes to buildAvatar helper

- removed extra .avatar-xl class in generics.less
- added support for component override
- "size" can be a number now

* fix: prevent overflow of alt text in avatars

* fix: update doc on buildAvatar helper
6 years ago
Aziz Khoury a6436716ea feat: hooks can now return promise or call callbacks
* hooks can now return promise or call callbacks, either way works

* cleanups

* moar cleanups and fix callback 1st null arg

* rm unnessesary spread
6 years ago
Barış Soner Uşaklı 5fa5e999f8
Plugin metrics (#7626)
* feat: add enable/disable checkbox for plugin usage

* feat: submit plugin data to packages.nodebb.org

only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs

* fix: hash not working after first send

fix statusCode

* fix: remove url

* feat: show compatibilty

* feat: add install question for submit plugin usage
6 years ago
Julian Lam c7f95ccecc
feat: design revamp of ACP events page (#7664)
* feat: design revamp of ACP events page

- minor UX changes
- new filter controls, filters moved to sidebar
- form usable without js
- start/end filters NOT programmed yet

* feat: events ACP limit by date and perPage

* feat: pre-fill applied filters on template render

* fix: missing translation for ACP events perPage filter

* fix: added some comments to explain setHours behaviour

* fix: stop - start + 1

* fix: socket tests

* fix: +inf, not just inf

* fix: tests, because I am an idiot
6 years ago
Barış Soner Uşaklı 8aef689f05 fix: no need for moderate bit for global mods and admins 6 years ago
Barış Soner Uşaklı 035f624758
Remove implicit mod privs. closes #6345 (#7648)
* feat: add upgrade script to give mods privs

* feat: give all privileges when making a moderator

* feat: remove implicit privs

* feat: give global mods default privs

* feat: more priv fixes

* feat: use lodash

* fix: remove implicit mod priv from topic delete

* fix: more privs

* fix: posts.canEdit

* fix: canDelete and canEdit

* fix: tests, remove console.log

* feat: shorter functions

* feat: add tests

* fix: uids

* fix: redis random test fail
6 years ago
Barış Soner Uşaklı ebb32e7891 fix: attribute name so it works for both templates 6 years ago
Barış Soner Uşaklı 0721bee146 feat: on category search reveal children and parents 6 years ago
Barış Soner Uşaklı 6cebc7f069 feat: #7627, close chat on ajaxify on mobile 6 years ago
Barış Soner Uşaklı e65ddc98b5 fix: https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/53 6 years ago
Julian Lam a97e97b9c3 fix: incorrect pathname format for app.previousUrl 6 years ago
Barış Soner Uşaklı 106d52a47f fix: #7598, use notice element instead of alert 6 years ago
Julian Lam 7e5cb72a59 fix: #7618 save pathname into app.previousUrl ins. of entire url 6 years ago
Julian Lam a41769e61c
feat: update meta tags on ajaxify (#7580), fixes #7544
* feat: wip -- refresh meta tags on ajaxify

* feat: wrapped up meta tags update on ajaxify feature

* fix: removed commented-out line

* fix: removed another commented-out line
6 years ago
Barış Soner Uşaklı dfab231afd
Copy group privs (#7610)
* feat: ability to copy a groups privileges

ability to copy a group's privileges to all categories, or children of current category

* feat: switch to dropdown

added copy from category to groups

* fix: indents
6 years ago
yossizahn 1703233f48 fix: #7586, switchTimeagoLanguage shouldn't discriminate against languages w/o shorthands 6 years ago
Barış Soner Uşaklı bf6fc502c4 fix: #7564 6 years ago
Barış Soner Uşaklı c940a73359 fix: #7539 6 years ago
Barış Soner Uşaklı 9385c8e3ee feat: #7319 6 years ago
Barış Soner Uşaklı 32cf07d732 fix: #7464 6 years ago
Barış Soner Uşaklı f86d74d8b9 fix: #7424 6 years ago
Barış Soner Uşaklı 09681e6ccf fix: #7562 6 years ago
Julian Lam c38db4f765 feat: #7515
This reverts commit 81f8cfe3da.
6 years ago
Barış Soner Uşaklı 81f8cfe3da Revert "feat: #7515"
This reverts commit ac889db16b.
6 years ago
Barış Soner Uşaklı ac889db16b feat: #7515 6 years ago
Julian Lam 3871a02ccc fix: resolve CORS error on uploading via URL
On uploading a new profile picture via URL, a CORS error presents
itself during the .toDataUrl() call due to misconfigured CORS
handling in the library. The change here allows cropper.js to
check crossorigin attribute in image and handle appropriately.

Also, the error handling is improved so the error is caught on
Firefox, as it sends a different error message than on Chrome.
6 years ago
Barış Soner Uşaklı 2ee2cd528f feat: #7501 6 years ago
Barış Soner Uşaklı e906bea470 fix: escape search snippet closes #7506 6 years ago
Barış Soner Uşaklı 1f3554ff00 fix: #7503 6 years ago
Andrew Rodrigues 78e0b9834c fix: #7485 6 years ago
Andrew Rodrigues 24dcae2193 feat: manual password expiry. closes #7471 6 years ago
Julian Lam c289b904e6 fix: #7473 6 years ago
Andrew Rodrigues c37b2f2ed3 fix: #7378 6 years ago
Andrew Rodrigues dcdd41c7ce fix: #7454 6 years ago
Andrew Rodrigues 962b7f73d3 fix: #7472 6 years ago
Baris Usakli 7211dde7b9 feat: #7358 6 years ago
Baris Usakli 777ca03264 fix: #7432 6 years ago
Julian Lam d3a10628e7 fix: broken 50% border radius on emails, failing tests 6 years ago
Julian Lam 3a7f1c192b fix: failing tests from revamped-emails branch 6 years ago
Barış Soner Uşaklı 03305db845 fix: #7395 6 years ago
Julian Lam f32a992237
feat: revamp email templates to be more style agnostic (#7375)
* feat: re-designed digest

Updated design, logic no longer shows "no topics", just doesn't
show the list at all, teaser re-retrieved for digest so that it
always grabs a teaser even if there is no reply, changed default
email background to a light grey.

* fix: minor padding issues in digest

* fix: banned template

* fix: invitation.tpl

* fix: removed unused notif_chat and notif_post email templates

* fix: notification template

* fix: registration_accepted template

* fix: reset tpl

* fix: test tpl

* fix: email verify tpl

* fix: reset notify tpl

* fix: welcome tpl

* fix: additional minor font fixes

* fix: removed unused email header image assets

* fix: internationalised 'your daily digest' string

* fix: broken url in digest 🤦

* feat: added RTL support for emailer

/cc @PostMidnight
6 years ago
Barış Soner Uşaklı fc830c0f41 feat: lower search timeout 6 years ago
Barış Soner Uşaklı 8a0e1280d6 feat: quick search 6 years ago
Julian Lam 158f68eb47 fix: search.api not working on subfolder 6 years ago
Baris Usakli d2b8396764 feat: make topic search a function 6 years ago
Barış Soner Uşaklı c01d43e01d feat: quick search 6 years ago
Barış Soner Uşaklı d5ece9a4c3 fix: don't refresh page when enabling/disabling categories 6 years ago
Julian Lam ab0e547d23 fix: autocomplete not triggered if chat switched 6 years ago
Julian Lam 6c2f48f189 fix: #7366 6 years ago
Barış Soner Uşaklı 45c322aeb0 fix: #7357 6 years ago
Julian Lam e8f3c25676 fix: re-introducing indeterminate checkbox state to ACP privs 6 years ago
Julian Lam 0fffcb3855 fix: #7231, missing success alert on group name change in ACP 6 years ago
Julian Lam 96b6ce1f3c fix: eslint failure from daadcc4889 6 years ago
Andrew Rodrigues d864da1a2e
fix: move `action:alert.update` to after translator 6 years ago
Andrew Rodrigues daadcc4889
feat: add `action:alert.new`, `action:alert.update` hooks 6 years ago
Barış Soner Uşaklı fc6767e140 fix: #7098 6 years ago
Barış Soner Uşaklı e59b907d7c fix: #7229 6 years ago
Barış Soner Uşaklı 12c5899099 fix: #7339 6 years ago
Barış Soner Uşaklı 8e3bf58106 fix: #7338 6 years ago
Barış Soner Uşaklı c72da5595a fix: #6806
3 new global privileges
view:users
view:tags
view:groups
6 years ago
Barış Soner Uşaklı ae779ea4f9 fix: #7334 6 years ago
Barış Soner Uşaklı 9d1fcf4e36 fix: closes #7217 6 years ago
Barış Soner Uşaklı f6cfbbb520 fix: don't crash if body doesn't have `skin-` 6 years ago
Barış Soner Uşaklı c7abf07a3d fix: #7324
added disableToType option
6 years ago
Barış Soner Uşaklı 0366cfd8ec fix: allow regular groups to local login 6 years ago
Barış Soner Uşaklı 5353960ae7 fix: #7316 6 years ago
Julian Lam 8aebe88417 fix: #7306 6 years ago
Julian Lam 02a8ed9b11 feat: textcomplete over jquery-textcomplete, closes #7309 6 years ago
Julian Lam 7fb3c16882 fix: #7296, local login privilege available to registered-users only 6 years ago
Barış Soner Uşaklı d03220cdaf fix: #7094 6 years ago
Julian Lam 63061ffd37 feat: new hook filter:user.logout
- used for setting "next" for post logout redirection
6 years ago
Julian Lam cee47f78b2 fix: #7289 timeago shorthand toggle fails on non-existant language
- Exposing timeagoCodes to frontend
- Timeago language and shorthand toggling will fall back to 'en'
  if the requested language does not exist
6 years ago
Julian Lam 5ee173c2f6 fix: #7276 improper request for client-noskin.css 6 years ago
Barış Soner Uşaklı ac655564bb fix: post queue notifs
fix moderators not showing up immediately when adding them
6 years ago
Julian Lam 51b5fb9826 fix: added missing translation and error state for password change 6 years ago
Julian Lam 3859d417ce fix: #7236, header search stops working after header update 6 years ago
Julian Lam af4fd5979f Revert "fix: #7216, hide taskbar on chat modal invocation on mobile"
This reverts commit a70db885cf.
6 years ago
Julian Lam a70db885cf fix: #7216, hide taskbar on chat modal invocation on mobile 6 years ago
Barış Soner Uşaklı 428f587cbe fix: #7208 6 years ago
Barış Soner Uşaklı 28459d04c6 fix: #7187 6 years ago
Julian Lam 954af0f0d2 fix: #7176, FUOC on app.reskin() 6 years ago
Baris Usakli 8da3b2a487 fix: #7142
due to no refresh on login socket listeners were added more than once,
so remove them before adding the listeners
6 years ago
Barış Soner Uşaklı 8566205214 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 03299736dc fix: #7179
don't consider pinned topics in widget areas
6 years ago
Julian Lam 629b35546c fix: #7167, composer and chat not closing on logout 6 years ago
Barış Soner Uşaklı 43e7cc0afb fix: shorter function 6 years ago
Barış Soner Uşaklı 2da0a65765 fix: #7162 6 years ago
Julian Lam 8e9de540b4 fix: #7136 socket.disconnect() now called on invalid session 6 years ago
Julian Lam 4873a339c1 fix: RTL not respected when changed in user settings, related to #7146 6 years ago
Julian Lam d81e0a5f5b fix: #7146 Better RTL handling on (de-)authentication
- RTL is applied (or unapplied) on login and logout depending on
  user language/guest-detected language.
- config is automatically saved into res.locals.config whenever
  loadConfig is called
- On login/logout, buildHeader is called instead of getting config
- On logout, req.uid is deleted instead of set to 0
6 years ago
Julian Lam 900f0a0b78 fix: #7118, invoking autoLocale middleware on logout
Also:
- firing client-side hook on header update
- updating bootbox locale on header update
6 years ago
Andrew Rodrigues 7fb29f4272 fix: closes #6784 (#7137)
* fix: closes #6784

* #6784 also fix homepage + subfolder installs

* #6784 fixes suburls as well (ex. /tags/x and /groups/y)

* #6784 more elegant solution @pitaj

and the last time I touch this function, lol

* #6784 regis, final answer

I lied in that last commit
6 years ago
Barış Soner Uşaklı ab81cca735 fix: 7100 6 years ago
Barış Soner Uşaklı 7e828404f6 fix: #7116
dont save relative_path in db for group covers
6 years ago
Barış Soner Uşaklı 29a85aecc7 fix: #7138 6 years ago
Baris Usakli b47f939bfc fix: lint 6 years ago
Baris Usakli 69e0dbbf4a fix: #7091, #7093 6 years ago
Baris Usakli 0c1ac4d6a2 feat: #7032 6 years ago
Barış Soner Uşaklı 4650a76036 fix: #7124 6 years ago
Barış Soner Uşaklı 9f5062682d fix: unread badge
- only increase unread badge if topic or category is watched
- fix logic for "there are new posts/topics" on /unread and /recent
6 years ago
Barış Soner Uşaklı eb7ae54f81
Category watch state (#7109)
* feat: wip, category watch change

* feat: pass data to client

* feat: allow changing state

* fix: account page categories

* fix: show in unread if topic is followed or category is watched

* feat: add default watch state to acp

* feat: save user category watch state

* feat: update unread recent pages

* fix: remove dupe code

* fix: flip conditions

* fix: handle empty arrays

* fix: ignore/watch on others profile

* feat: upgrade script for category states

if there are any users ignoring categories set their state in new zset and delete cid:<cid>:ignorers

* fix: upgrade

* fix: tests

* fix: redis count

* fix: more tests
6 years ago
Barış Soner Uşaklı f103390aa5 fix: #7103
update counter when user navigates to /unread
fix new topic alert on /unread
moved unread code from footer to unread
6 years ago
Barış Soner Uşaklı 74d0e88df3 fix: don't explode if there is no css el 6 years ago