Commit Graph

12429 Commits

Author SHA1 Message Date
Daniel Lockyer
ff74f04600
Removed @tryghost/members-csv external import
- this package now lives in the Ghost monorepo so we should just use that
2022-08-24 10:57:48 +02:00
Daniel Lockyer
36c0b7d2bd
Added 60s timeout to Mailgun API calls
refs https://github.com/TryGhost/Toolbox/issues/164

- see referenced issue for more context but Ghost sometimes has issues
  with the email analytics job getting stuck
- we don't provide a timeout to the Mailgun library, so we just
  sit there idling for eternity if something between us and Mailgun is
  causing issues
- this commit adds a 60s timeout so we can at least error out and try
  again next time
2022-08-24 09:13:13 +02:00
Daniel Lockyer
76406f78bb
Added primary_name context for added events
refs https://github.com/TryGhost/Toolbox/issues/356

- we should store the `primary_name` on `added` events too because if
  the resource is eventually deleted, we won't have the pretty name to
  refer to it
2022-08-24 08:53:12 +02:00
renovate[bot]
c860b5b715 Update dependency @playwright/test to v1.25.1 2022-08-24 08:42:13 +02:00
Daniel Lockyer
5e38a23976 Fixed Action event resource_type from page to post
refs https://github.com/TryGhost/Toolbox/issues/356
refs 3a9016639c

- I misunderstood the purpose of a column, and changed the values that
  are inserted into it, which broke relation includes in Bookshelf
- I've since reverted that in the commit above but this migration is to
  fixup the data that got stored in the DB
- we want to replace `resource_type` = `page` back to `post`, but then
  use the `context` column as described in the referenced commit to
  store that the type is actually a `page`, so we can link to it
  from the audit log accordingly
- I'm overwriting the `context` column without taking into account the
  current contents but that's ok because this bug existed before we
  started using `context`
2022-08-24 08:37:51 +02:00
Peter Zimon
04161d2f7d Refined radio buttons on Offer screen
- radio button checkbox and colors were a bit off on Offer screen
2022-08-24 08:32:27 +02:00
Naz
5934794d86 Refactored verification trigger constructor
refs https://github.com/TryGhost/Toolbox/issues/387

- The constructor should be light initialization logic only. Putting business logic into constructor is quite dirty and not really testable!
2022-08-24 14:06:22 +08:00
renovate[bot]
456abc3ef2
Update dependency terser to v5.15.0 2022-08-23 19:47:07 +00:00
Rishabh Garg
c16abbf085
🐛 Fixed empty error csv file for member imports (#15274)
closes https://github.com/TryGhost/Team/issues/1828

- members importer was sending empty error files in case of invalid rows in CSV, hiding both error and affected rows
- fixes typo in `content` option(was `contents` before) passed to attachment (ref - https://nodemailer.com/message/attachments )
2022-08-24 00:49:30 +05:30
James Morris
a3d4c4b3a9 Made some adjustments to fix the feature flag for posts and pages
- There was some spillage from the feature flag
- This has some better handling of various styles

refs https://github.com/TryGhost/Team/issues/1818
2022-08-23 18:42:09 +01:00
James Morris
0596986138 Added in the feature flag for showing status or not
- It's a small thing but it's to hide status in columns for stylistic purposes

refs https://github.com/TryGhost/Team/issues/1818
2022-08-23 18:32:16 +01:00
James Morris
5a9a7accc0 More tweaks to the post table for attribution
refs https://github.com/TryGhost/Team/issues/1818
2022-08-23 18:27:23 +01:00
James Morris
fc0be31c3f Tidied up the styles for the member filtering
- Created a new tag type with max width
- Made sure tags didn't get to large for the box
- Double checked page or post title length

refs https://github.com/TryGhost/Team/issues/1832
2022-08-23 17:44:46 +01:00
Rishabh Garg
c48c65cc88
Added member email alert notification columns for staff (#15276)
refs https://github.com/TryGhost/Team/issues/1825

- adds 3 new columns to users table for storing email alert preferences for member signups/cancellation
- adds column for new member signup alert
- adds column for paid subscription started alert
- adds column for paid subscription canceled alert
- Updated default fixtures and tests for new columns
2022-08-23 22:11:38 +05:30
Daniel Lockyer
46cca8364d
Added integration resource linking
refs https://github.com/TryGhost/Toolbox/issues/356

- now we have an easy way to do it, linking the integration resource in
  is trivial
2022-08-23 18:06:12 +02:00
Daniel Lockyer
7f0996d986
Implemented resource linking in Audit Log
refs https://github.com/TryGhost/Toolbox/issues/356

- we have a very crude version of this before but it just wasn't
  maintainable
- one of the first things I did here was to add `include=resource` on
  the API call, so it returns the fields we need without extra API
  requests
- after we have the id/slug, I could build a route and model array
  dynamically, or return null if we can't redirect to the object (it
  doesn't exist)
2022-08-23 17:48:11 +02:00
Peter Zimon
35ff83afa9 Updated Audit log code block style 2022-08-23 17:38:08 +02:00
Fabien "egg" O'Carroll
0fc0bf40f1 Added ability to filter members by attribution to Admin
refs https://github.com/TryGhost/Team/issues/1832
2022-08-23 11:36:56 -04:00
Fabien "egg" O'Carroll
73466c1c40 Added ability to filter members on conversion attribution
refs https://github.com/TryGhost/Team/issues/1830
2022-08-23 11:36:56 -04:00
Fabien "egg" O'Carroll
83f2bf4757 Added ability to filter members on signup attribution
refs https://github.com/TryGhost/Team/issues/1831
2022-08-23 11:36:56 -04:00
Georg Grauberger
36d9ae36ae
Added secret handling for webhooks (#13980)
closes: https://github.com/TryGhost/Team/issues/1203
refs: https://github.com/TryGhost/Ghost/issues/9942

- Ensures that the webhook secret is validated and saved in Ghost admin
- Then makes use of this value by optionally adding an X-Ghost-Signature header that effectively signs the webhooks
- This allows for verifying the source of a webhook coming from Ghost is truly Ghost.
- Uses the same pattern as GitHub uses: https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks

Co-authored-by: Hannah Wolfe <github.erisds@gmail.com>
2022-08-23 16:34:32 +01:00
James Morris
c3fb0ef578 More work on the posts table for attribution
- Added in the open rate progress bar
- Columns in place with feature flag
- Moved open rate to tooltip for exact data

refs https://github.com/TryGhost/Team/issues/1818
2022-08-23 15:54:28 +01:00
Daniel Lockyer
f4f757c314
Fixed missing resource type definition
refs 3a9016639c

- this was accidentally missed from the referenced commit
2022-08-23 16:49:11 +02:00
Daniel Lockyer
3a9016639c
Fixed page actions stored under page resource type
refs bde9b84221

- the commit above claimed to fix an issue where actions taken on pages
  were stored using the `post` resource type
- whilst it does that, this actually breaks part of the API because we
  use the `resource_type` to join on tables when doing an
  `include=resource`
- this commit reverts that functionality and instead stores the type in
  the `context` field so we can still differentiate between pages and
  posts
2022-08-23 16:39:47 +02:00
Simon Backx
d91d6c1311
Added attribution counts to Pages API (#15289)
fixes https://github.com/TryGhost/Team/issues/1835

This was missed in the initial pass when adding to the Posts API
2022-08-23 10:26:34 -04:00
Hannah Wolfe
0695f74a65 Fixed some type issues with the api framework
- fixes a bunch of red squiggly lines due to type issues
- this in turn makes it slightly easier to read the API pipeline code
2022-08-23 14:49:29 +01:00
Hannah Wolfe
4cd210c29c Added post deletion tests using new e2e framework
- copied over and rewrote the deletion test from the legacy file
- added a new test that checks that we get a 404 when attempting to delete an unknown post
- this is a guard to protect and futureproof the API whilst we do refactoring to improve 404 handling from bookshelf
- in turn this is aimed at helping to get rid of a bunch of catch predicates from the API
2022-08-23 14:49:29 +01:00
Hannah Wolfe
a2a71c8e67 Renamed e2e admin post tests to legacy
- I want to start rewriting the post tests using the new e2e framework, but it's quite a big task
- For now I have renamed the existing file, and will use the correct file name for writing modern versions of tests
- Note: I have a specific test that I'd like to add which is far easier to write in the new framework
- This change should facilitate moving forward more with the new framework
2022-08-23 14:49:29 +01:00
Daniel Lockyer
9effa119c6 Implemented context on Actions events
refs https://github.com/TryGhost/Toolbox/issues/356

- in order to show data that we might not necessarily still have around
  (ie. when you delete a post, you might want the title), we're going to
  start utilizing the `context` column
- right now, we store the `primary_name` for deleted events, and we also
  store the `setting` `key` and `group` so we can reference it in the
  audit log
2022-08-23 14:58:41 +02:00
James Morris
7f6aa78c01 Tweaking styles for post and pages to work better with more data
refs https://github.com/TryGhost/Team/issues/1818
2022-08-23 13:39:22 +01:00
Simon Backx
934e61aa4c Updated activity feed to use full width
no issue

- Activity feed page now has `gh-main-fullwidth` class
- Page `<title>` is now 'Activity - Ghost' instead of just 'Ghost'
2022-08-23 14:36:48 +02:00
Peter Zimon
d5197fe196 Updated mobile styles for Audit log
refs. https://github.com/TryGhost/Toolbox/issues/356
2022-08-23 13:22:31 +02:00
Aileen Nowak
e5b604cca0 Updated camelCase properties in Explore endpoint to be snake_case 2022-08-23 12:04:07 +01:00
Aileen Nowak
4892f1d0d5 Added publication language to admin site endpoint
no issue

- The site locale should be exposed within the public site config in order to handle i18n in third party apps
- Added the locale to Explore service to simplify fetching it when submitting a new site
2022-08-23 12:04:07 +01:00
Kevin Ansfield
3fd32ce3cf
Lexical-powered editor experiment (#15278)
no issue

We're spending a bit of time playing with an alternative to mobiledoc-kit to test it's feasibility as a base for future editor improvements.

- add `editor.lexicalUrl` config that points at the unpkg release by default
- set up a route on `/ghost/#/lexical-editor/post/` for the test playground which renders `<KoenigLexicialEditor>` as the editor
- adds `<KoenigLexicalEditor>` component that lazy loads the external react component
2022-08-23 11:45:50 +01:00
Djordje Vlaisavljevic
df4c838443 Fixed bug with free membership price card
refs https://github.com/TryGhost/Team/issues/1806
2022-08-23 12:37:30 +02:00
Peter Zimon
8a2bb1f24e Fixed linting error in Admin 2022-08-23 12:26:51 +02:00
Peter Zimon
2d8b907449 Added feature flag condition to view user log
refs. https://github.com/TryGhost/Toolbox/issues/356
2022-08-23 12:22:58 +02:00
Peter Zimon
e06c4c3e0b Added access to user activity from staff profile
refs. https://github.com/TryGhost/Toolbox/issues/356

- administrators needed a quick way to access the Audit log prefiltered for a given user from the user's staff profile page
2022-08-23 12:17:06 +02:00
Djordje Vlaisavljevic
4e4d1015cd Fixed dark mode bugs
refs https://github.com/TryGhost/Team/issues/1724
2022-08-23 11:50:47 +02:00
Djordje Vlaisavljevic
d0e9b4b359 Fixed border radius when only child
refs https://github.com/TryGhost/Team/issues/1727
2022-08-23 11:50:47 +02:00
Peter Zimon
8fe8874393 Fixed name and email spacing in account menu 2022-08-23 11:50:29 +02:00
Peter Zimon
c82627be60 Added reset functions to Audit log
refs. https://github.com/TryGhost/Toolbox/issues/356

- The page title in Audit log didn't reset the filters and the search value
- Also, the button on the empty list screen didn't work
2022-08-23 11:37:45 +02:00
Peter Zimon
4aecc21a45 Updated Audit log filter dropdown
refs. https://github.com/TryGhost/Toolbox/issues/356

- The order of the items in the dropdown wasn't representing importance, also it took up a bit too much vertical space
2022-08-23 09:45:06 +02:00
Naz
02a0fd5a32 Fixed source attribution for staff token API requests
closes https://github.com/TryGhost/Toolbox/issues/386

- When the API request was made using staff token the source attribution was "user" instead of "api". Misattribution caused ripple effects in  limit service.
- The fix also adds a new combination of data available on the  `req` object - both `user` and `api_key` can be present when the request is done using a staff (user) token. Having both pieces of data on the request object gives more context for business logic, did not find a good reason to keep it "pure" with either `api_key` or `user` property.
2022-08-23 14:38:46 +08:00
Naz
6121451b5d Reused _resolveContextSource method in member update
refs https://github.com/TryGhost/Toolbox/issues/386

- Reusing tontext mapping logic to improve maintainability. It seems like the `update` method was not updated properly or intentionally was left out from  'import' source as that should not ever happen theoretically. Probably the latter is most likely.
- My reasoning on reusing same context to source mapping is: it is better to attribute an appropriate "import" source here. Who knows, maybe we'll have logic in the future where the importer updates instead of skipping existing members. It would not make sense to attribute the source to 'member' in that case, amirite?
- This refactor also makes maintainability of this code way easier
2022-08-23 14:38:46 +08:00
Naz
32343a7adb Extracted context to source mapping logic
refs https://github.com/TryGhost/Toolbox/issues/386

- Before changing the mapping logic it needs to become testable!
2022-08-23 14:38:46 +08:00
renovate[bot]
56da2a2be0
Update dependency tough-cookie to v4.1.0 2022-08-23 02:06:33 +00:00
renovate[bot]
7d5f282e14
Update metascraper to v5.30.3 2022-08-22 22:36:29 +00:00
Daniel Lockyer
43ad4ff814
Removed unused services
- these are not needed
2022-08-22 21:15:21 +02:00