Browse Source

Merge branch 'develop' of git.digitaltelepresence.com:digital-telepresence/dtp-base into develop

develop
Rob Colbert 4 months ago
parent
commit
7c4081cd89
  1. 2
      app/controllers/welcome.js
  2. 3
      app/services/feed.js
  3. 25
      app/services/user.js
  4. 4
      app/workers/media/job/webpage-screenshot.js
  5. 0
      client/fonts/code-bars.ttf
  6. 0
      client/fonts/dirty-sweb.ttf
  7. 0
      client/fonts/ink-studio.ttf
  8. 0
      client/fonts/ink-swipe.ttf
  9. 19
      client/less/site/fonts.less
  10. 2
      client/less/style.common.less
  11. 4
      package.json
  12. 10
      ssl/mkcert
  13. 82
      yarn.lock

2
app/controllers/welcome.js

@ -21,7 +21,7 @@ class WelcomeController extends SiteController {
const { limiter: limiterService } = this.dtp.services;
const welcomeLimiter = limiterService.createMiddleware(limiterService.config.welcome);
captcha.loadFont(path.join(this.dtp.config.root, 'client', 'fonts', 'Dirty Sweb.ttf'));
captcha.loadFont(path.join(this.dtp.config.root, 'client', 'fonts', 'dirty-sweb.ttf'));
function preventUserAccess (req, res, next) {
if (req.user) {

3
app/services/feed.js

@ -93,7 +93,7 @@ class FeedService extends SiteService {
async updateFavicon (feed) {
const linkPreview = await getLinkPreview(feed.link || feed.url, {
headers: {
'user-agent': this.userAgent.toString(),
'User-Agent': this.userAgent.toString(),
'Accept-Language': 'en-US',
},
followRedirects: true,
@ -124,7 +124,6 @@ class FeedService extends SiteService {
await SiteAsync.each(feeds, async (feed) => {
try {
feed.recent = await this.getFeedEntries(feed, { skip: 0, cpp: options.entryCount });
this.log.debug('feed entries', { count: feed.recent.entries.length });
} catch (error) {
this.log.error('failed to populate recent entries for feed', { feedId: feed._id, error });
// fall through

25
app/services/user.js

@ -122,16 +122,21 @@ class UserService extends SiteService {
isEmailVerified: false,
};
user.permissions = {
canLogin: true,
canChat: true,
canComment: true,
canReport: true,
canAuthorPosts: false,
canAuthorPages: false,
canPublishPosts: false,
canPublishPages: false,
};
/*
* Base permissions
*/
user.permissions.canLogin = true;
user.permissions.canChat = true;
user.permissions.canComment = true;
user.permissions.canReport = true;
/*
* Sites permissions
*/
user.permissions.canAuthorPosts = false;
user.permissions.canAuthorPages = false;
user.permissions.canPublishPosts = false;
user.permissions.canPublishPages = false;
user.optIn = {
system: true,

4
app/workers/media/job/webpage-screenshot.js

@ -29,6 +29,7 @@ class WebpageScreenshotJob extends SiteWorkerProcess {
async start ( ) {
await super.start();
this.userAgent = new UserAgent();
const workDirectory = path.join(
process.env.DTP_IMAGE_WORK_PATH,
@ -89,8 +90,7 @@ class WebpageScreenshotJob extends SiteWorkerProcess {
throw new Error('failed to create new browser page for capturing screenshot', { modelName, documentId, pageUrl });
}
const userAgent = new UserAgent();
await job.page.setUserAgent(userAgent.toString());
await job.page.setUserAgent(this.userAgent.toString());
await job.page.setViewport(job.data.viewport);
await job.page.goto(pageUrl, { waitUntil: 'networkidle2' });

0
client/fonts/CodeBars.ttf → client/fonts/code-bars.ttf

0
client/fonts/Dirty Sweb.ttf → client/fonts/dirty-sweb.ttf

0
client/fonts/Ink Studio.ttf → client/fonts/ink-studio.ttf

0
client/fonts/inkswipe.ttf → client/fonts/ink-swipe.ttf

19
client/less/site/fonts.less

@ -0,0 +1,19 @@
@font-face {
font-family: "Code Bars";
src: url(/fonts/code-bars.ttf);
}
@font-face {
font-family: "Dirty Sweb";
src: url(/fonts/dirty-sweb.ttf);
}
@font-face {
font-family: "Ink Studio";
src: url(/fonts/ink-studio.ttf);
}
@font-face {
font-family: "Ink Swipe";
src: url(/fonts/ink-swipe.ttf);
}

2
client/less/style.common.less

@ -1,3 +1,5 @@
@import "site/fonts.less";
@import "site/main.less";
@import "site/border.less";

4
package.json

@ -48,7 +48,7 @@
"ioredis": "^5.2.2",
"jsdom": "^19.0.0",
"libphonenumber-js": "^1.9.49",
"link-preview-js": "^3.0.4",
"link-preview-js": "^3.0.5",
"marked": "^4.0.12",
"mediasoup": "3",
"method-override": "^3.0.0",
@ -93,7 +93,7 @@
"unzalgo": "^3.0.0",
"upload": "^1.3.1",
"url-validation": "^2.1.0",
"user-agents": "^1.0.1295",
"user-agents": "^1.1.79",
"uuid": "^8.3.2",
"zxcvbn": "^4.4.2"
},

10
ssl/mkcert

@ -1,9 +1,11 @@
#!/bin/bash
DTP_PROJECT=dtp-sites
rm -f *crt *key
openssl genrsa -out dtp-sites.key
openssl req -new -out dtp-sites.csr -key dtp-sites.key -config openssl.cnf
openssl x509 -req -days 3650 -in dtp-sites.csr -signkey dtp-sites.key -out dtp-sites.crt -extensions v3_req -extfile openssl.cnf
openssl genrsa -out ${DTP_PROJECT}.key
openssl req -new -out ${DTP_PROJECT}.csr -key ${DTP_PROJECT}.key -config openssl.cnf
openssl x509 -req -days 3650 -in ${DTP_PROJECT}.csr -signkey ${DTP_PROJECT}.key -out ${DTP_PROJECT}.crt -extensions v3_req -extfile openssl.cnf
rm dtp-sites.csr
rm ${DTP_PROJECT}.csr

82
yarn.lock

@ -3104,11 +3104,6 @@ detect-file@^1.0.0:
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
detect-indent@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
detect-libc@^2.0.0, detect-libc@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
@ -3174,11 +3169,6 @@ dnscache@^1.0.1:
asap "^2.0.6"
lodash.clone "^4.5.0"
docopt@~0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11"
integrity sha512-NqTbaYeE4gA/wU1hdKFdU+AFahpDOpgGLzHP42k6H6DKExJd0A55KEVWYhL9FEmHmgeLvEU2vuKXDuU+4yToOw==
doctypes@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9"
@ -3230,7 +3220,7 @@ [email protected]:
dependencies:
domelementtype "1"
domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3:
domhandler@^5.0.2, domhandler@^5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
@ -3246,22 +3236,13 @@ [email protected]:
domelementtype "1"
domutils@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c"
integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==
version "3.1.0"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e"
integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
dependencies:
dom-serializer "^2.0.0"
domelementtype "^2.3.0"
domhandler "^5.0.1"
dot-json@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/dot-json/-/dot-json-1.2.2.tgz#7d35abece4aa22aa75a761388953f98495401bcc"
integrity sha512-AKL+GsO4wSEU4LU+fAk/PqN4nQ6PB1vT3HpMiZous9xCzK5S0kh4DzfUY0EfU67jsIXLlu0ty71659N9Nmg+Tw==
dependencies:
detect-indent "~6.0.0"
docopt "~0.6.2"
underscore-keypath "~0.0.22"
domhandler "^5.0.3"
dot-prop@^5.2.0:
version "5.3.0"
@ -3500,10 +3481,10 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
entities@^4.2.0, entities@^4.3.0, entities@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
entities@^4.2.0, entities@^4.4.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
errno@^0.1.1, errno@^0.1.3:
version "0.1.8"
@ -4697,14 +4678,14 @@ [email protected]:
readable-stream "1.1"
htmlparser2@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.1.tgz#abaa985474fcefe269bc761a779b544d7196d010"
integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==
version "8.0.2"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21"
integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==
dependencies:
domelementtype "^2.3.0"
domhandler "^5.0.2"
domhandler "^5.0.3"
domutils "^3.0.1"
entities "^4.3.0"
entities "^4.4.0"
http-cache-semantics@^4.0.0:
version "4.1.0"
@ -5729,10 +5710,10 @@ limiter@^1.0.5:
resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2"
integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==
link-preview-js@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/link-preview-js/-/link-preview-js-3.0.4.tgz#1e053f80ee20ef50d03e6742dc30dc8487112653"
integrity sha512-xsuxMigAZd4xmj6BIwMNuQjjpJdh0DWeIo1NXQgaoWSi9Z/dzz/Kxy6vzzsUonFlMTPJ1i0EC8aeOg/xrOMidg==
link-preview-js@^3.0.5:
version "3.0.5"
resolved "https://registry.yarnpkg.com/link-preview-js/-/link-preview-js-3.0.5.tgz#e0289085300614f841717595fe6a032a7a54b409"
integrity sha512-tOPdmphcZPxhZJFpkXj1D9ANDmK+yC6VzHwfl/ypfi1ASJUvkWNVkf3ikGk6p8CWA5wg8XVWNl2G++BL1UlCPg==
dependencies:
abort-controller "^3.0.0"
cheerio "1.0.0-rc.11"
@ -8875,9 +8856,9 @@ tslib@^2.3.0:
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
tslib@^2.4.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
tunnel-agent@^0.6.0:
version "0.6.0"
@ -8993,18 +8974,6 @@ undefsafe@^2.0.5:
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
underscore-keypath@~0.0.22:
version "0.0.22"
resolved "https://registry.yarnpkg.com/underscore-keypath/-/underscore-keypath-0.0.22.tgz#48a528392bb6efc424be1caa56da4b5faccf264d"
integrity sha512-fU7aYj1J2LQd+jqdQ67AlCOZKK3Pl+VErS8fGYcgZG75XB9/bY+RLM+F2xEcKHhHNtLvqqFyXAoZQlLYfec3Xg==
dependencies:
underscore "*"
underscore@*:
version "1.13.6"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441"
integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==
undertaker-registry@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50"
@ -9178,12 +9147,11 @@ use@^3.1.0:
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
user-agents@^1.0.1295:
version "1.0.1295"
resolved "https://registry.yarnpkg.com/user-agents/-/user-agents-1.0.1295.tgz#24cb53e431847470dbe29d3c857d061bcb1b52a3"
integrity sha512-9Rgw4X4FeHZ1d11X9zASRgLYlPKeBINZNRsitoL/RwNEXuNTnDiImMfqa5/+OoGBNRJ1kqxmH3bJL8Fu4m0VIg==
user-agents@^1.1.79:
version "1.1.79"
resolved "https://registry.yarnpkg.com/user-agents/-/user-agents-1.1.79.tgz#a653eaa19dee883e253c3656ff73f664af7ed9df"
integrity sha512-ZsAfj9LPawqkL3i5DSMC884GyXoOUbyWzizTf2VXzJr7Kh+kkuXpaKOX+gbEAMmrvkwUWWyCOxJCVcvOyRJLgg==
dependencies:
dot-json "^1.2.2"
lodash.clonedeep "^4.5.0"
util-deprecate@^1.0.1, util-deprecate@~1.0.1:

Loading…
Cancel
Save