10312 Commits (7a5dbd9ff584f27f2ac61155bdb070c226c3b4fb)

Author SHA1 Message Date
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
Barış Soner Uşaklı 644504ff02 fix: #7483, show latest undeleted message as teaser 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ı 4b843ba16f fix: #7567, allow invite and approval at the same time 6 years ago
Barış Soner Uşaklı 5b85ed318a fix: #7625, on group rename update nav/widget items 6 years ago
Barış Soner Uşaklı 48538b28be feat: optimize group rename
removed async.each
6 years ago
Baris Usakli 8d319e4280 fix: psql error 6 years ago
Baris Usakli 2e6b562f1e fix: try to fix psql 🐶 6 years ago
Baris Usakli 31ccc860d3 feat: allow multiple scores in sortedSetsAdd 6 years ago
Barış Soner Uşaklı 0dca13e9c2 feat: optimize copy privileges 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ı 4d9bc30d1f
feat: async3 upgrade (#7639)
* feat: async3 upgrade WIP

* fix: async.doWhilst

* fix: async early exit

* fix: psql doUntil

* fix: psql again
6 years ago
Baris Usakli 64679b37cc fix: #7647, fix getModeratorUids
sets.groupNames is an array that contains other arrays of groupnames so passing it to getMembersOfGroups returned wrong results when there were more than 1 element in it.
6 years ago
Julian Lam 603c526287 fix: bad usage of async requisition 6 years ago
Julian Lam f321b426b1 fix: 7638, returnTo accidentally saved into user hash 6 years ago
Barış Soner Uşaklı 157b921e14 fix: #7634, make strip exif configurable 6 years ago
Barış Soner Uşaklı a8409fbd49 fix: #7636, use reputation threshold for post queue 6 years ago
Baris Usakli 63e5d383d9 fix: #7623, wait for lastonline to update on /users 6 years ago
Julian Lam 80c0d579e3 fix: #7593, unable to set account password if no password set 6 years ago
Barış Soner Uşaklı a8e6520559 fix: #7620, allow adding new fields into user objects for posts 6 years ago
Barış Soner Uşaklı 7ba4a864fd fix: #7629, new filter hook for room rename 6 years ago
Barış Soner Uşaklı 7a4b68e816 fix: #7628, log email send errors 6 years ago
Barış Soner Uşaklı f55cc66723 fix: {username} not working in notification.tpl
fix images going out of notification email
6 years ago
Barış Soner Uşaklı 3b0459a0a5 fix: do not prevent nbb from starting
if a plugin returns error for filter:auth.init
6 years ago
Julian Lam 91f0bce628 fix: #7624, default open state on stateless flags 6 years ago
Barış Soner Uşaklı 15391da51e fix: #7431, add /unread link to topic route 6 years ago
Barış Soner Uşaklı 35d10f764a fix: #7619 6 years ago
Barış Soner Uşaklı 172e688805 fix: handle missing timestamps 6 years ago
Julian Lam b70e03a7b0 fix: broken test for meta tags on ajaxify 6 years ago
Barış Soner Uşaklı f326f53d4f Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 15ce23da4c fix: #7613 6 years ago
Julian Lam f552cea523
fix: #7600, removing nbsp from email CTAs (#7606)
* fix: #7600, removing nbsp from email CTAs

* fix: added right arrow to CTA button
6 years ago
Julian Lam b32da57faf
fix: #7604 shortened CTA text and added custom text for some notifs (#7605)
* fix: #7604 shortened CTA text and added custom text for some notifs

Specifically, new-reply and new-chat have different CTA text as they
do not go to the forum home like other email templates send users to.

* fix: minor optimization as suggested by @barisusakli
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
Julian Lam 0d86781cb5 fix: #7599 image size measurement erroring out on missing path 6 years ago
Baris Usakli 3a7e99a503 fix: tests 6 years ago
Baris Usakli bd94fbc2b1 feat: let theme know downvoting is disabled, closes https://github.com/NodeBB/NodeBB/pull/7568
dont load downvote data if downvoting is disabled
6 years ago
Andrew Rodrigues 50260e137a fix: #7576 "Disable password changes" can be sidestepped 6 years ago
Andrew Rodrigues e114b16d7a fix: if editing password is disabled in ACP, prevent direct access via route/socket (related: #7576) 6 years ago
Baris Usakli cf5aeace6b feat: closes #7583 6 years ago
Baris Usakli c9ca72d0f3 fix: #7582 6 years ago
Barış Soner Uşaklı 96cb29aab0 fix: #7461 6 years ago
Barış Soner Uşaklı 3d938e7bf8 fix: increase batch size 6 years ago
jayjay9 8945ebcb81 fix: group cover upload not working for s3 upload (#7571) 6 years ago
Baris Usakli 07e9b67e8d fix: #7565 6 years ago
Barış Soner Uşaklı fe6d64ccbc fix: #7147 6 years ago
Barış Soner Uşaklı 8775e7e652 fix: node12 tests 6 years ago
Barış Soner Uşaklı 2c98dd5f9d
Object cache refactor (#7558)
* fix: cache refactor

db.getObjectField no longer loads entire object
db.getObjectsFields only clones data once
more tests

* feat: add back cache to redis

db.getObjectField no longer loads entire object
6 years ago
Aziz Khoury 45acf80987 remove expire timestamp when banning user permanently, fixes #7547 (#7548) 6 years ago
Barış Soner Uşaklı c6cd6c5705 fix: add post queue to /compose POST route 6 years ago
Barış Soner Uşaklı 4df925e76a fix: remove redis object cache 6 years ago
Andrew Rodrigues 740388492f fix: #7545 6 years ago
Andrew Rodrigues 9bf3517db1 fix: failing test from 00552d7183 6 years ago
Andrew Rodrigues 00552d7183 fix: fire filter:register.complete for users approved via registration queue 6 years ago
Andrew Rodrigues ddffc904f4 feat: allow file uploading on registration interstitial 6 years ago
Baris Usakli 8778f00b69 fix: #7540 6 years ago
Barış Soner Uşaklı ba5e1eaa4f feat: #7527 6 years ago
Julian Lam c38db4f765 feat: #7515
This reverts commit 81f8cfe3da.
6 years ago
Julian Lam d8978fb142 Merge remote-tracking branch 'origin/develop' 6 years ago
Julian Lam d3ebda7370 fix: more graceful error handling and output for cli/reset 6 years ago
Julian Lam 808c4909a4
fix: #6438 only apply whitelist when fields request empty (#7528)
* fix: #6438 only apply whitelist when fields request empty

* feat: explicit password retrieval denied via getUsersFields
6 years ago
Barış Soner Uşaklı eb2c3e5626 fix: don't crash if templateData is undefined 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
Barış Soner Uşaklı 397e062a3c fix: clear children before building tree
prevents infinite loop on databases that have children array saved in database
6 years ago
Barış Soner Uşaklı 4f3ca4d899 fix: upgrade script date 6 years ago
Aziz Khoury 3fbb6faf28 feat: update unban logic/invocation and refactor User.bans module
* auto unban when User.getUsersFields is called and the user is banned but has expired

* cleanups and removal of expiry_readable

* expiry_readable make an alias for backward compatibility

* User.bans.func vs User.*ban*Func

* console.log cleanups, plus todo message added

* use code util.deprecate

* fix: remove ununsed winston require
6 years ago
Baris Usakli ed91d3f2c8 fix: #7519 6 years ago
Baris Usakli fb58e23914 fix lint 6 years ago
Baris Usakli e479fad792 fix: #7517 6 years ago
Julian Lam 75ae29c1dd fix: #7470 Properly handle recompilation of email templates 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ı dbc4d8403d fix: #7461 6 years ago
Barış Soner Uşaklı abe4abb674
feat: add original sessionID to static:user.loggedOut 6 years ago
Barış Soner Uşaklı 8cc1864aa7 fix: #7491 6 years ago
Barış Soner Uşaklı 4db0efe32d fix: #7476 6 years ago
Barış Soner Uşaklı 2ee2cd528f feat: #7501 6 years ago
Barış Soner Uşaklı b52dba5c92 fix: #7508 6 years ago
Julian Lam 3ec9fc4098 fix: #7490 once again 6 years ago
Barış Soner Uşaklı 3304ffe978 fix: #7502 6 years ago
Julian Lam 6415ba82c4 fix: #7493, adding robots noindex meta tag to compose and reset routes 6 years ago
Julian Lam 86e1cdd541 fix: #7490, handling of image sizes if no size saved in db 6 years ago
Baris Usakli 8f55ab1340 fix: #7494 6 years ago
Julian Lam 63e16ec0a2 fix: #6911, email throttling options set 6 years ago
Julian Lam 33a1bf6cde fix: throttling email output to 2 messages every second, fixes #6911 6 years ago
Julian Lam 8d62ead329 fix: #7469 missing email logos, occasionally 6 years ago
Barış Soner Uşaklı 81306fff3c feat: allow multiple cids for getActiveUsers 6 years ago
Barış Soner Uşaklı b6440eed7a Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı fddb783ee9 fix: #7487 6 years ago
Baris Usakli ad2d7a6991 fix: move upload_url to prestart so it is defined in upgrade scripts 6 years ago
Andrew Rodrigues cead89f0ba fix: #7342 6 years ago
Andrew Rodrigues 6bed51ef1c chore: comment cleanup 6 years ago
Andrew Rodrigues 24dcae2193 feat: manual password expiry. closes #7471 6 years ago
Andrew Rodrigues 240f563ab0 fix: #7477 6 years ago
Julian Lam c289b904e6 fix: #7473 6 years ago
Andrew Rodrigues 962b7f73d3 fix: #7472 6 years ago
Barış Soner Uşaklı dd8d4f206a fix: remove async.series, dont crash if postAtIndex is undefined 6 years ago
Barış Soner Uşaklı b4a9bb10e5 fix: #7468 6 years ago
Julian Lam 697a6597f3
fix: #7444 Re-factor handling of og:image tags (#7463)
* fix: display proper site logo or og-image with sizes in head

* fix: refactor og:image logic, #7444

- Updated logic to set additional og:image tags based on more
  factors
- logo.png fallback

* feat: save image sizes on post upload, re: #7444

* fix: awaiting addTags in topic controller

* fix: pass strings to meta tags object

* fix: sending absolute image url to meta tag

* fix: removed unneeded async and requiring sync db

* feat: upgrade to calculate image sizes for all post uploads tracked

* fix: tests
6 years ago
Julian Lam 745a9589e9
Use topics:read privilege for topic filtering use cases (#7462)
* fix: use topics:read privilege for topic filtering use cases

* fix: tests

* fix: more broken tests
6 years ago
Baris Usakli 45d7e37ae8 fix: tests 6 years ago
Baris Usakli b48b6d75e5 fix: callbacks 6 years ago
Baris Usakli f8fa659642 fix don't crash if settings are not passed in 6 years ago
Baris Usakli 7addc5a0e2 fix: return early if keys is empty 6 years ago
Baris Usakli b3962c1694 fix: return early if keys is empty 6 years ago
Barış Soner Uşaklı 6cd3ac5b9b Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı b71e0eb179 fix: prevent infinite loops if category is already in children 6 years ago
Julian Lam d2cfe6b946
Moved onSuccessfulLogin call from plugins to core, + auth verification hook (#7416)
* fix: #7412, calling controllers.onSuccessfulLogin in core

* feat: added plugin hook for auth validation
6 years ago
Barış Soner Uşaklı b2fbeb053a Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 4732bed3db fix: #7448
don't set parent to itself
6 years ago
Baris Usakli 73d14e4516 fix: return early if there are not blocked uids 6 years ago
Baris Usakli 7211dde7b9 feat: #7358 6 years ago
Baris Usakli 756dfd8ae6 fix: #7008 6 years ago
Baris Usakli cbfbcee50f fix: #7406 6 years ago
Barış Soner Uşaklı aecdf739fd fix: change user/system cpu usage 6 years ago
Barış Soner Uşaklı 5eaa14e746 fix: strip exif data on image uploads 6 years ago
Barış Soner Uşaklı 2b6f1a05bf feat: admin/groups style change 6 years ago
Barış Soner Uşaklı db47753877 feat: add process cpu usage to admin 6 years ago
Barış Soner Uşaklı 684175f7d7 fix: #7413 6 years ago
Barış Soner Uşaklı e331f6b51d fix: #7414 6 years ago
Julian Lam 0360f6e1cb fix: l2spread @baris nib 6 years ago
Julian Lam 6c1f9c3c46 fix: restored email logo to all outgoing emails 6 years ago
Baris Usakli e613f88b29 use params 6 years ago
Baris Usakli 23da300958 feat: pass options to digest 6 years ago
Julian Lam 9731350812 fix: incorrect teaserPost logic 6 years ago
Julian Lam 43c4eb2350 fix: normalized font sizes for paragraphs in digest 6 years ago
Julian Lam d3a10628e7 fix: broken 50% border radius on emails, failing tests 6 years ago
Barış Soner Uşaklı d813a77a62 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 6472a06515 fix: hook names getting objectified by winston 6 years ago
Julian Lam 3a7f1c192b fix: failing tests from revamped-emails branch 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
Julian Lam d722f3b8b6 fix: mounting of all-route middlewares to router instead of app
related to julianlam/nodebb-plugin-session-sharing#73
These three lines haven't changed in two years, but it makes more
sense for them to be called against the relative path router,
otherwise req.originalUrl contains the relative path, which is
not necessary.
6 years ago
Julian Lam f972f75202 fix: incorrect returnTo set in registerComplete 6 years ago
Julian Lam eafe76debb feat: add vote status to getPostData API call 6 years ago
Julian Lam 7a5344533e fix: tests for #7385 6 years ago
Julian Lam 57069a5c48 fix: #7385 better handling for errors in Adv>Databases 6 years ago
Barış Soner Uşaklı c01d43e01d feat: quick search 6 years ago
Julian Lam 949b10f132 fix: no relative path needed in req.session.returnTo
re: julianlam/nodebb-plugin-session-sharing#73
6 years ago
Barış Soner Uşaklı c2e7ae7f41 fix: #7373 6 years ago
Barış Soner Uşaklı 2996a5dc25 fix: #7359 6 years ago
Barış Soner Uşaklı c6ad8fae2a fix: #7354 6 years ago
Barış Soner Uşaklı efd7d953de fix: uid check 6 years ago
Barış Soner Uşaklı c24dcf78b7 fix: uid checks 6 years ago
Barış Soner Uşaklı 5917dec288
fix: only allow numbers as scores (#7356)
* zadd score checks

* fix: only allow numbers as scores

* fix: convert values to strings
6 years ago
Barış Soner Uşaklı fe63fca846 fix: remove debug logs 6 years ago
Barış Soner Uşaklı bcd62586e2 fix: database 0 was being replaced with undefined because 0 is falsy 6 years ago
Barış Soner Uşaklı ba90bf3114 feat: check overide 6 years ago
Barış Soner Uşaklı f2d7f75ee2 feat: check CI failure 6 years ago
Barış Soner Uşaklı 2e2c3ac110 fix: #7352 6 years ago
Julian Lam aca0556052 fix: #7261, banned users still get digests 6 years ago
Baris Usakli 8c68780e54 fix: #7350 6 years ago
Julian Lam 0c09b7402d feat: logging password resets and errors into event log
closes #7343, also adds tests for password reset socket calls
6 years ago
Barış Soner Uşaklı fab52b840c fix: prevent crash if results.stats or results.serverStatus is undefined 6 years ago
Barış Soner Uşaklı 70d9c6c4ce fix: #7232 6 years ago
Barış Soner Uşaklı 8e3bf58106 fix: #7338 6 years ago
Barış Soner Uşaklı 56a493d873 fix: dont crash if userData is undefined #7262 6 years ago
Barış Soner Uşaklı a2f08e7da2 fix: #7240 6 years ago
Barış Soner Uşaklı cd1209906d fix: give default privs on new install to guests/spiders 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ı 9d1fcf4e36 fix: closes #7217 6 years ago
Andrew Rodrigues 5031bfe8c0 feat: allow themes to define custom classes for categories via filter:admin.category.get
`datalist` isn't supported in all browsers but this will fallback to the original behavior. The first item in the list is the placeholder.
6 years ago
Barış Soner Uşaklı d75a0d7724 feat: show more unread notifs 6 years ago
Barış Soner Uşaklı 6e69a9ab31 fix: merge post notifs 6 years ago
Barış Soner Uşaklı cd2f72fb73 feat: pass topic creation data to action:topic.save 6 years ago
Barış Soner Uşaklı 5353960ae7 fix: #7316 6 years ago
Aziz Khoury 6cd8248cae added empty array for customActions and another indentation fix attempt, related to #7284 6 years ago
Aziz Khoury 14addef67b indentation fix #7284 6 years ago
Aziz Khoury d94f6248ca related to https://github.com/NodeBB/NodeBB/issues/7212 6 years ago
Aziz Khoury eb21ca1190 added customAction in the registration queue users list, related to #7212 6 years ago
Aziz Khoury 04232986ab related to https://github.com/NodeBB/NodeBB/issues/7212 6 years ago
Julian Lam 02a8ed9b11 feat: textcomplete over jquery-textcomplete, closes #7309 6 years ago
Barış Soner Uşaklı 920efad04d fix: #7300 6 years ago
Barış Soner Uşaklı 70f8b418c4 fix: #6848
fixed in winston 3.2.0
6 years ago
Julian Lam f659ef4d80 feat: new hook filter:privileges.posts.edit 6 years ago
Julian Lam df6f75eb05 fix: #7298 privilege header misalignment 6 years ago
Barış Soner Uşaklı cf918078e5 fix: #7211 6 years ago
Julian Lam 0edeeea2cf Merge branch 'develop' 6 years ago
Barış Soner Uşaklı 7064fd0678 fix: #7235 6 years ago
Barış Soner Uşaklı ef0e780896 fix: use ACP config value for checking online status 6 years ago
Barış Soner Uşaklı a083d5f429 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı a22a3a9861 fix: log error to prevent headers already sent
retry on uniq index fail
6 years ago
Julian Lam 63061ffd37 feat: new hook filter:user.logout
- used for setting "next" for post logout redirection
6 years ago
Ricki Hirner 0a662e4882 Add Disallow: /compose to robots.txt 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 059a4be204 feat: explicit handling of SSO success and failure 6 years ago
Julian Lam 831d079512 fix: #7274 incorrect handling of client script 404s 6 years ago
Julian Lam a23854e3ff feat: new hook type: `response`
Used in authentication middleware. Instead of firing an action
hook, it now fires a response hook.

Response hooks are invoked serially, and if headers are sent from
one of the hook listeners, all subsequent hook methods are not
called.

Response hooks should only be used in situations where res.send
(or other like methods) are invoked. Existing plugin hooks that
pass in res purely for data retrieval purposes have not changed).

fixes nodebb/nodebb-plugin-write-api#101
6 years ago
Julian Lam f122fc44d0 fix: #7266 body does not contain skin class
A regression was identified where the skin was not shown in the
body class. This resolves the issue and adds a workaround so that
the fix does not become breaking for custom themes.
6 years ago
Barış Soner Uşaklı 7524d3c33b fix: generate timeago codes from files 6 years ago
Julian Lam 2b9322e1c2 feat: additional options for SSO plugins
+checkState property, pass Boolean false to skip nonce checking
+callbackMethod, default 'get', you can pass in 'post', etc.
6 years ago
Barış Soner Uşaklı ed5d2d6d15 feat: get rid of disk access 6 years ago
Julian Lam c831ff0de3
fix: removal of timeago fallback middleware (#7259)
* fix: removal of timeago fallback middleware

Instead of loading English fallback on missing language, we opt
to not send a script tag for a missing language to begin with.

Timeago already loads with English as default, so it will just
continue to use English.

* fix: check userLang against supported language codes

* fix: cleaned up code as per @pitaj

* fix: added comments

* fix: more fixes as per @pitaj

* feat: added addl. test for timeago locales, fixed broken test
6 years ago
Baris Usakli c14dbfc6b7 attempt to fix tests 6 years ago
Baris Usakli 65f6630722 add new hook action:plugins.firehook 6 years ago
Barış Soner Uşaklı ac655564bb fix: post queue notifs
fix moderators not showing up immediately when adding them
6 years ago
Peter Jaszkowiak e1ca2d81f9 refactor: use loash when possible (#7230) 6 years ago
Barış Soner Uşaklı 9328eeca95 fix: escape hook method 6 years ago
Barış Soner Uşaklı 428f587cbe fix: #7208 6 years ago