Commit Graph

14613 Commits

Author SHA1 Message Date
Daniel Lockyer
80d5f89382 Lazy loaded cheerio dependency
refs https://github.com/TryGhost/Toolbox/issues/136

- `cheerio` isn't needed during the boot but it takes time and memory to
  load the library
- this commit moves `cheerio` requires later into the code to when they
  are needed
2021-11-18 17:31:04 +01:00
Peter Zimon
bf18b89a45 NFT card refinements
- Added AMP support
- Refined default frontend styles
2021-11-18 17:29:18 +01:00
Peter Zimon
45a814f596 Added Opensea logo to NFT cards 2021-11-18 17:29:18 +01:00
Renovate Bot
9b14f1c22f Update dependency @tryghost/metrics to v1.0.1 2021-11-18 16:36:48 +01:00
Renovate Bot
0ff7011b0b Update dependency @tryghost/helpers to v1.1.54 2021-11-18 16:36:04 +01:00
Renovate Bot
1b9ca304ed Update dependency @tryghost/color-utils to v0.1.5 2021-11-18 16:35:12 +01:00
Renovate Bot
6fad408f2c Update dependency @tryghost/request to v0.1.9 2021-11-18 16:35:03 +01:00
Renovate Bot
e54f0a644d Update dependency @tryghost/url-utils to v2.0.4 2021-11-18 14:37:10 +01:00
Renovate Bot
f1ec0c1056 Update dependency cssnano to v5.0.11 2021-11-18 13:41:39 +01:00
Fabien O'Carroll
3d47f2835b Updated NFT card rendering to include payload
refs https://github.com/TryGhost/Team/issues/1211

This adds the payload as a data attribute to the rendered card so that
we can transform the card form HTML back to mobiledoc easily.
2021-11-18 14:30:48 +02:00
Daniel Lockyer
e883d4c4fe
🐛 Fixed credentials provider for SES mail transport
refs https://github.com/TryGhost/framework/pull/41

- see the referenced PR for context but Ghost could not authenticate to
  SES in containers using IAM because of a missing dependency
- this has been updated in the Nodemailer docs and added in the PR
- the `@tryghost/nodemailer` package has been updated so this commit
  bumps it in Ghost
- credits to https://github.com/touzoku for the fix
2021-11-18 11:48:26 +01:00
Daniel Lockyer
b1ee741ddb
Added issue closed event to triggers for label action
refs 2a19e6151c

- we want to ensure that the `needs triage` label is removed when an
  issue is closed
- the event was handled in the labelling Action but it needs the event
  adding here to trigger execution
2021-11-18 11:05:49 +01:00
djordje vlaisavljevic
bc457e206f Updated Accordion card styles on frontend 2021-11-18 09:58:14 +01:00
Fabien O'Carroll
b2172cec5b Updated NFT card rendering for emails
refs https://github.com/TryGhost/Team/issues/1211

This adds custom rendering for nft cards in emails, using tables instead
of flexbox for alignment.

This also updates the button card to add the missing `kg-card` class to
it.
2021-11-17 15:46:11 +02:00
Kevin Ansfield
ca26c3ab0a Added logging of unexpected errors in oembed service
no issue

- if we encounter an unexpected error whilst fetching embed details we return a generic validation error so we're not leaking any details about the URL that is being hit, however that meant the error logs were only showing validation errors making debugging difficult
- added explicit logging of the unexpected error before throwing the generic validation error
2021-11-17 13:31:20 +00:00
Peter Zimon
bbceace31c Implemented table based NFT email styles 2021-11-17 14:05:39 +01:00
Sam Lord
0692ddf57d Revert "Replace update user last seen middleware with package version"
This reverts commit 07f8c6efbb.

Revert "Remove unused unit test file"

This reverts commit f1798119d3.
2021-11-17 11:00:55 +00:00
Sam Lord
d4e0ae14f1 Force start in email route tests to pick up stubbed API
refs: https://github.com/TryGhost/Toolbox/issues/130

The API version stays at v2 unless we stub the getFrontendApiVersion method. But stubbing the method doesn't get picked up unless we actually restart Ghost.

TODO: Maybe change the default here so we don't need to restart Ghost just to test the current version's API
2021-11-17 10:51:46 +00:00
Renovate Bot
b70ad5b170 Update dependency @tryghost/mw-update-user-last-seen to v0.1.1 2021-11-17 10:46:06 +00:00
Renovate Bot
f930575387 Update dependency gscan to v4.10.2 2021-11-17 10:41:00 +00:00
Sodbileg Gansukh
43ec108f75 Updated bookmark card CSS 2021-11-17 18:24:18 +08:00
Sodbileg Gansukh
dad9dba872 Updated gallery card CSS 2021-11-17 18:24:18 +08:00
Rishabh
fdc7f4219f Added generic class to toggle and callout cards
refs https://github.com/TryGhost/Team/issues/1209
2021-11-17 15:45:56 +05:30
Hannah Wolfe
332beaaf90
Moved "vhost-utils" to config helpers
- These are simple functions that get data from config in a specific format
- They are also used by the topmost part of the application
- Config helpers seems like a reasonable fit to get them out of the web folder
- Functions have also been renamed to try to get them to make more sense
2021-11-17 08:37:08 +00:00
Renovate Bot
89b0b6cf5b
Update dependency @sentry/node to v6.15.0 2021-11-16 20:53:05 +00:00
Fabien O'Carroll
d7621405ed Fixed NFT card rendering
refs https://github.com/TryGhost/Team/issues/1211

The nft card rendering has been updated to correctly handle the switch
from card_type to type, and the removal of the html property from the
NFT embed API
2021-11-16 22:49:42 +02:00
Fabien O'Carroll
e6773d00e6 Updated NFT Embed custom provider
refs https://github.com/TryGhost/Team/issues/1211

Added ?format=json to the URL in an attempt to mitigate any issues with
weird caching and receiving HTML rather than JSON.

Used `type` in place of `card_type` to closer follow how the bookmark
card/embed works.

Removed the html & width/heihgt properties which are not needed at all.
2021-11-16 21:28:36 +02:00
Sanne de Vries
b6b024b132 Fixed missing bottom spacing on email callout cards 2021-11-16 19:19:49 +01:00
Kevin Ansfield
63b7ef7dc6 Added Tenor contentFilter setting to config
refs https://github.com/TryGhost/Team/issues/1217

- moved top-level `tenorApiKey` to `tenor:apiKey` and added `tenor:contentFilter`
- added base config to `defaults.json`
- updated `public-config.js` and API output serializer to use the new top-level `tenor` key
2021-11-16 17:42:26 +00:00
Sanne de Vries
9fba3d6661 Updated callout card for dark mode themes
Refs https://github.com/TryGhost/Team/issues/1206

- Switched to semi-transparent background colors so that it works out of the box with dark mode themes
2021-11-16 18:35:34 +01:00
Sam Lord
620c12b05f Amend previous commit to prevent console.log
no issue

Large amount of unstaged changes prevented me from catching this
2021-11-16 17:12:39 +00:00
Sam Lord
a5484a0fe1 Fixed transaction logic in data importer
https://github.com/TryGhost/Toolbox/issues/130

The transaction no longer commits in the promise chain, which wasn't
valid logic for a transaction, since it is commited automatically when
the promise chain resolves, and rollsback automatically when the
promise chain rejects.

This makes code which fails during the transaction error in the right
place, instead of getting stuck here. (Especially good for writing
tests).

The tests for this code can now live in the integration folder.
2021-11-16 17:09:55 +00:00
Sam Lord
f1798119d3 Remove unused unit test file
no issue

Relates to previous commit
2021-11-16 16:05:50 +00:00
Sam Lord
07f8c6efbb Replace update user last seen middleware with package version
no issue

Part of the goal to move these middleware packages to remove untested code from the codebase
2021-11-16 15:58:45 +00:00
Hannah Wolfe
b684f3636e
Added more files to c8 excludes
There are some files we don't expect _unit_ tests for - they are e2e tested and tracking that is a different problem!
- express routes and wiring files
   - this does not count middleware. Middleware functions should be fully unit tested
- previous API version files
- canary api endpoint configuration files
   - this does not count api utils, valiation and serialisation which can be unit tested
2021-11-16 15:53:08 +00:00
Hannah Wolfe
4f9b72ff43
Renamed middlewares to middleware consistently
- This is a minor bugbare, but it will affect some configuration I'm about to do for c8
- I've been wanting to do it for ages, middleware is plural all on it's own so it's an odd affectation in our codebase
- This also only exists in 2 places, everywhere else we use "middleware"
- Sadly it did result in a lot of churn as I did a full find and replace, but consistency is king!
2021-11-16 15:51:47 +00:00
Naz
8281388290 Hardcoded ids in the data generator
refs https://github.com/TryGhost/Toolbox/issues/116

- Allows to have deterministic routing on each start of the instance - can use cache when starting tests
- To make use of the new fixtures need to place them in the content/data
folder when the test suite is initialized, then the cache detection will
kick in and boot up the UrlService in a constant time intead of having
to check "urlServiceUtils.isFinished"
2021-11-17 04:29:55 +13:00
Hannah Wolfe
2694cb6b87
Simplified the config logic in loggingrc (#13751)
- I have a hunch that config.get isn't that performant
- This calls config.get less times to hopefully get a tiny boost
- This probably isn't much more readable, but it is a lot less duplication... if it doesn't get us a slight perf boost its pure taste and can be put back
2021-11-16 15:00:11 +00:00
Hannah Wolfe
9a8b18a473
Swapped boot order for version util
- The version util is now required in logging as well as sentry and migrations
- I can see us needing it in config too, so put it straight to the first item
- we do this so that the debug statements can tell us how long each step took as we look to optimise everything
2021-11-16 14:44:14 +00:00
Hannah Wolfe
b781e47cb9
Changed to use different fixtures during testing
- this keeps production and test fixtures separate, so that changing the prod fixtures doesn't change the shape of our tests.
- we may still want to test that the production fixtures do what we expect, but that can be handled in a separate integration test, by specifically setting the fixture path
2021-11-16 14:03:42 +00:00
Sanne de Vries
5ccc1914f5 Updated rendering of callout card to override theme dark mode 2021-11-16 13:55:06 +01:00
Hannah Wolfe
426c8bf918
Refactored fixtures to be loaded by fixture manager
refs: https://github.com/TryGhost/Toolbox/issues/133

- instead of just a collection of utils, we now have a class that manages fixtures
- this should allow us to change the path to fixtures, e.g. between prod/dev and test, so that different fixtures can be loaded by default
- also makes it easier to test the fixture manager code itself
2021-11-16 11:17:03 +00:00
Naz
458f5b894b Moved Urls and Rexources reinitialization
refs https://github.com/TryGhost/Toolbox/issues/127

- New instances or Urls and Resources during init were messing up test suites without an obvious solution. Moved them to only be triggered when the cache is present.
- Note the e2e-frontend tests are failing if thie initialization happens every time when init is called. There seems to be some reliance on Resources being the same intsance between "softReset" which seems wrong, but wasn't able to track it down definitevely
2021-11-17 00:00:23 +13:00
Naz
1a3a80cacc Added resource cache handling to UrlService
refs https://github.com/TryGhost/Toolbox/issues/127

- The resource cache is needed to have quick and reproducible state of the resouces tied to the urls instead of waiting for the db queries to finish.
- Allows to use UrlService without any database connection at all - useful for unit testing
2021-11-17 00:00:23 +13:00
Naz
9b309cf4e7 Refactored URL cache persistance
refs https://github.com/TryGhost/Toolbox/issues/127

- This refactor is needed to accomodate incoming "resource cache" which shares a lot of common logic with how url cache is operated
2021-11-17 00:00:23 +13:00
Sam Lord
1234a61b52 Mode c8 configuration from package.json to .c8rc.json
refs: https://github.com/TryGhost/Toolbox/issues/117

Simplifies the commands in package.json by adding defaults to the .c8rc.json file
2021-11-16 10:22:15 +00:00
Sam Lord
0f53e23763 Configured c8 to exclude frontend and migrations from coverage
refs: https://github.com/TryGhost/Toolbox/issues/117

Adding a basic configuration to the unit test coverage tracking to
ignore irrelevant files.
2021-11-16 09:53:32 +00:00
Hannah Wolfe
88311381ef Added a URL Service boot log
- At the moment there's no way to see in the logs when the URL Service finally finishes
- This is the moment when Ghost stops serving 503s
- Adding this log line so it's clear to see, which migh be useful whilst were refactorising
2021-11-16 19:13:36 +13:00
Renovate Bot
e8535cec6a
Update metascraper to v5.25.1 2021-11-15 20:06:43 +00:00
Sanne de Vries
632e15affc Added callout card email styles
Refs https://github.com/TryGhost/Team/issues/1206
2021-11-15 19:45:33 +01:00