5072 Commits (b734defbfaa9e2b164b76070e02a03695578205b)

Author SHA1 Message Date
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