Commit Graph

281 Commits

Author SHA1 Message Date
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
2019-06-28 14:59:55 -04:00
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
2019-06-07 14:10:44 -04:00
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
2019-06-04 17:25:09 -04:00
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
2019-05-30 19:30:47 -04:00
Julian Lam
0d86781cb5 fix: #7599 image size measurement erroring out on missing path 2019-05-13 15:54:46 -04:00
Barış Soner Uşaklı
c6cd6c5705 fix: add post queue to /compose POST route 2019-04-18 08:00:55 -04:00
Julian Lam
c38db4f765 feat: #7515
This reverts commit 81f8cfe3da.
2019-04-10 14:00:39 -04:00
Barış Soner Uşaklı
81f8cfe3da Revert "feat: #7515"
This reverts commit ac889db16b.
2019-04-09 12:21:46 -04:00
Barış Soner Uşaklı
ac889db16b feat: #7515 2019-04-09 10:59:01 -04:00
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
2019-03-18 12:09:10 -04:00
Barış Soner Uşaklı
aecdf739fd fix: change user/system cpu usage 2019-03-07 10:52:58 -05:00
Barış Soner Uşaklı
db47753877 feat: add process cpu usage to admin 2019-02-28 14:50:31 -05:00
Julian Lam
7a5344533e fix: tests for #7385 2019-02-19 11:20:50 -05:00
Julian Lam
57069a5c48 fix: #7385 better handling for errors in Adv>Databases 2019-02-19 10:12:31 -05:00
Barış Soner Uşaklı
2996a5dc25 fix: #7359 2019-02-12 09:19:19 -05:00
Barış Soner Uşaklı
c6ad8fae2a fix: #7354 2019-02-11 14:29:25 -05:00
Barış Soner Uşaklı
70d9c6c4ce fix: #7232 2019-02-06 15:31:56 -05:00
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.
2019-02-04 13:54:48 -05:00
Barış Soner Uşaklı
9328eeca95 fix: escape hook method 2019-01-10 23:52:53 -05:00
Barış Soner Uşaklı
f581c052ee feat: #7023
- add category selector to privileges and category create modals
- allow category selector to work for multiple selectors on same page
2018-12-04 14:32:43 -05:00
Peter Jaszkowiak
ba619c7ec8 style(eslint): match operator-linebreak preferences 2018-11-30 13:38:59 -05:00
Barış Soner Uşaklı
00a066985a cache categories:cid and cid:<cid>:children
these rarely change, no need to go to db for them
2018-11-27 19:38:28 -05:00
Barış Soner Uşaklı
d0750bc587 closes #7007 2018-11-26 16:58:03 -05:00
Barış Soner Uşaklı
53ad2bbd6e Categories optimize (#6999)
* WIP

* fix category page

* fix counts, and copyPrivileges

* fix lint

* more fixes,

* redis fix

* fix test

* fix  category test

* remove getParentsAndChildren
2018-11-25 19:08:38 -05:00
Barış Soner Uşaklı
01c942fc39 closes #6989 2018-11-22 11:42:39 -05:00
Peter Jaszkowiak
57b39d5ba2 fix(acp): small UI fixes for ACP privileges category selector (#6946)
- Add dropdown chevron
- Change translations
- Safety against `category` not an object
2018-11-13 12:26:50 -05:00
Barış Soner Uşaklı
7dabd13fea remove unused 2018-11-12 17:39:22 -05:00
Barış Soner Uşaklı
de14102ee7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2018-11-12 17:10:00 -05:00
Barış Soner Uşaklı
d9452bf3d4 fix: custom navigation item not showing groups 2018-11-12 17:09:58 -05:00
Julian Lam
b3f96d28aa fix(acp): hard-to-discover dropdown selector in ACP
Made the dropdown an MDL button fab with better positioning via
a p.lead so that it is more easily discoverable and obvious that
it is a button that can be pressed.

Fixes #6899
2018-11-12 16:44:13 -05:00
Barış Soner Uşaklı
b6771836cf closes #6937 2018-11-10 20:51:07 -05:00
renovate[bot]
64b9dabff8 chore(deps): update dependency eslint-config-airbnb-base to v13 (#6599)
* chore(deps): update dependency eslint-config-airbnb-base to v13

* chore: #6599, linting 😬
2018-11-07 15:53:14 -05:00
Barış Soner Uşaklı
537b7ff7e8 remove more parseInts 2018-10-23 21:36:00 -04:00
Barış Soner Uşaklı
7a44424214 parse '123' to 123 if it has no default 2018-10-22 20:59:13 -04:00
Barış Soner Uşaklı
ab7657d445 closes #6854 2018-10-22 07:30:48 -04:00
Barış Soner Uşaklı
9c022afae1 Parse int (#6853)
* Store config fields as JSON in the db

Fewer parseInts

* Remove unnecessary parseInts

* remove some dupe code add tests

* remove console.log

* remove more parseInts

* WIP: read meta.configs defaults from defaults.json

remove more parseInts

* more work

* add log for failing test

* update admin pwd

* fix tests, dont require posts/cache before configs are initialized

* handle saves

* Test boolean conditions

* remove more parseInts

* Fix boolean values

* remove lots more parseInts

* removed json parsing

* renamed var to number

* categories dont have timestamp
2018-10-21 16:47:51 -04:00
Barış Soner Uşaklı
26d4e0852f use includes instead of indexOf
use _.uniq instead of filter&indexOf
2018-10-20 14:40:48 -04:00
Barış Soner Uşaklı
6c15aee888 add cache hits/misses to posts cache 2018-10-15 15:03:06 -04:00
Barış Soner Uşaklı
b57db7fd8e update groups join to take array of group names (#6834)
* allow groups.join to take an array of group names

* pass an array to groups.join/leave in privileges

* split up groups/membership

* add hits/miss to group cache

* fix typo
2018-10-15 13:45:55 -04:00
Barış Soner Uşaklı
49ba5af5fa closes #6810 (#6813) 2018-10-04 10:56:47 -04:00
Baris Usakli
edefab1d69 closes #6728
add option to disable a category on creation
show disabled categories on manage privileges
2018-09-21 16:10:07 -04:00
Barış Soner Uşaklı
b7ead6dc9c Replace jimp with sharp (#6774)
* add probe image size and max image size

* replace jimp and image-probe with sharp

* better name for test

* resize with just path

* resize thumb inplace

* use filename
2018-09-20 17:05:52 -04:00
Barış Soner Uşaklı
446b125c83 escape post content 2018-09-04 10:59:52 -04:00
Barış Soner Uşaklı
3e1b007f9f escape title in post queue 2018-09-04 09:39:08 -04:00
Ben Lubar
33228bb7fe PostgreSQL database driver (#5861)
* [test/database/list] Fix test list 4 being used in two different tests

* [database/postgres] PostgreSQL database driver

* [database/postgres] Make transactions work based on continuation scope.

* [database/postgres] Implement nested transactions

* eslint --fix

* Add database changes from earlier this week to the PostgreSQL driver.

* Fix typo

* Fix postgres.incrObjectFieldBy returning undefined instead of null when given NaN

* [database/postgres] Fix sortedSetsCard returning an array of strings.

* Update socket.io postgres adapter

* Fix PostgreSQL erroring when multiple updates are made to the same sorted set entry in a single operation.

Add a test case to catch this error.

* Fix lint errors.

* Only prune sessions on one instance in a cluster to avoid deadlocks.

They're caught and handled by the database server, but they spam the logs.

* Fix arguments.slice.
2018-08-08 15:13:48 -04:00
Peter Jaszkowiak
70ff2d9b88 Support scoped theme packages 2018-06-11 10:10:16 -04:00
Barış Soner Uşaklı
11bb2f1560 closes #6528 2018-05-30 14:21:03 -04:00
Barış Soner Uşaklı
229e49cf8f closes #6523, closes #6524 2018-05-26 12:49:29 -04:00
Barış Soner Uşaklı
e29e0a98f5 closes #6515 2018-05-18 11:21:12 -04:00
Barış Soner Uşaklı
1f8b000530 log and show last restart on ACP dashboard 2018-05-02 13:38:36 -04:00