Commit Graph

31667 Commits

Author SHA1 Message Date
Simon Backx
f7232a13b1 Added member growth sources
no issue

Co-authored-by: Djordje Vlaisavljevic <dzvlais@gmail.com>
Co-authored-by: Fabien 'egg' O'Carroll <fabien@allou.is>
Co-authored-by: James Morris <moreofmorris@users.noreply.github.com>
Co-authored-by: Rishabh Garg <rish@ghost.org>
2022-10-27 17:55:58 +02:00
Rishabh Garg
f1aff45dc7
Disabled attribution calculation when tracking is disabled (#15710)
refs https://github.com/TryGhost/Team/issues/2168

- forces attribution service to use empty history or context if attribution tracking is disabled
2022-10-27 21:10:03 +05:30
Simon Backx
5cb3c43e80 Fixed aggregated click events visible in dashboard
refs https://github.com/TryGhost/Team/issues/2175
2022-10-27 17:29:51 +02:00
Simon Backx
2903a30d39 Fixed member page breadcrumbs coming from analytics
fixes https://github.com/TryGhost/Team/issues/2140
2022-10-27 17:24:57 +02:00
Simon Backx
b916300ceb
Added aggregated click events (#15713)
fixes https://github.com/TryGhost/Team/issues/2175

- New event type `aggregated_click_event` that is disabled by default in all the existing activity feeds
- This returns click events, but only the first click events for each member/post combination.
- It includes the total count of unique link clicks for that member on that post combination
- Had to resort to some custom knex queries to make this work easily
- Requires `@tryghost/bookshelf-pagination@0.1.31`, included in `@tryghost/bookshelf-plugins@0.6.1` (this fixes an issue with custom selects breaking the total count query of pages)
- Went a bit overboard with the pagination tests to cover as much unknown edge cases as possible
2022-10-27 17:23:45 +02:00
Sam Lord
08427809ec Allowed data-generation script to run in all environments
refs: https://github.com/TryGhost/Toolbox/issues/453
2022-10-27 16:10:02 +01:00
Sam Lord
1b7df74703 Added option to use existing data when generating demo data
refs: https://github.com/TryGhost/Toolbox/issues/440
2022-10-27 16:10:02 +01:00
Elena Baidakova
310b70828f
Updated feedback confirmation modal styles (#15706)
closes TryGhost/Team#2173
2022-10-27 18:45:34 +04:00
James Morris
1cfaadbaf5 Updated the login copy in the Portal login modal
refs https://github.com/TryGhost/Team/issues/2182
2022-10-27 15:30:25 +01:00
Elena Baidakova
423314713e
Added total feedback amount to analytics tabs (#15708)
closes TryGhost/Team#2172
2022-10-27 18:30:04 +04:00
Rishabh Garg
6a619310f6
Removed attribution script if tracking sources is disabled (#15707)
refs https://github.com/TryGhost/Team/issues/2168

- site owners can now disable tracking sources from analytics settings.
- this change removes the loading of attribution script if tracking is
turned off so we don't capture any post/page or external source
attributions
2022-10-27 18:52:11 +05:30
Djordje Vlaisavljevic
1f48e728c4 Updated copy
refs https://github.com/TryGhost/Team/issues/2168
2022-10-27 14:27:08 +02:00
Rishabh
9503ca1c7b Wired new analytics settings for tracking email and sources
refs https://github.com/TryGhost/Team/issues/2168

- wires new source tracking setting for members to UI
- splits the new analytics page settings to its own component, cleaned up the files and wired up the settings upstream
2022-10-27 17:29:33 +05:30
Rishabh Garg
cca0f7d7dc
Added new setting to toggle tracking of member sources (#15705)
refs https://github.com/TryGhost/Team/issues/2168

- the new setting allows site owners to control if they want to track
the sources for new member signups and subscriptions
- its switched on by default, but can be toggled off from new analytics
settings page
2022-10-27 17:24:46 +05:30
Sam Lord
da559e5a7f Added @tryghost/data-generator dependency to Ghost core
refs: https://github.com/TryGhost/Toolbox/issues/440

This was working locally where the dependency is resolved implicitly, but when deployed there is no @tryghost/data-generator in the node_modules folder.
2022-10-27 11:51:09 +01:00
Simon Backx
b911208b41
Improved filter support in activity API to allow pagination (#15684)
fixes https://github.com/TryGhost/Team/issues/2129

- This changes how the activity feed API parses the filter.
- We now parse the filter early to a MongoDB filter, and split it in two. One of the filters is applied to the pageActions, and the other one is used individually for every event type. We now allow to use grouping and OR's inside the filters because of this change. As long as we don't combine filters on 'type' with other filters inside grouped filters or OR, then it is allowed.
- We make use of mongoTransformer to manually inject a mongo filter without needing to parse it from a string value again (that would make it a lot harder because we would have to convert the splitted filter back to a string and we currently don't have methods for that).
- Added sorting by id for events with the same timestamp (required for reliable pagination)
- Added id to each event (required for pagination)
- Added more tests for filters
- Added test for pagination
- Removed unsued getSubscriptions and getVolume methods

Used new mongo utility methods introduced here: https://github.com/TryGhost/NQL/pull/49
2022-10-27 12:13:24 +02:00
Simon Backx
076e3c02b2
Added linking between member and subscription created events (#15693)
fixes https://github.com/TryGhost/Team/issues/2160

- Adds a `batch_id` to both events that contain the same ID if they were created at the same time.
- Removes duplicate signup/conversion events using the batch_id
- Requires an update in mongo-knex to work (refs https://ghost.slack.com/archives/C02G9E68C/p1666773313272409?thread_ts=1666767872.375009&cid=C02G9E68C)
- Some dependencies needed an update to load the latest mongo-knex
- Added tiers to membersUtils, loaded on startup (we can start to use this instead of fetching it every time)
2022-10-27 11:44:19 +02:00
Daniel Lockyer
30327d62cd
Refactored DB backup lib to async-await
- also improves jsdoc comments to make it easier to see the types of
  variables around the code
2022-10-27 15:52:12 +07:00
Naz
6bd2769146
Hardened tiers-related snapshot tests
refs https://github.com/TryGhost/Team/issues/2077

- Members and Posts test suites were using a broad tiers property matcher, which is an anti-pattern for snapshot tests. Without more specific snapshots it would be very hard to track down tier-related breaking changes!
- This change is groundwork for a refactor coming in tier usage at API's output serializers
2022-10-27 15:54:28 +08:00
Elena Baidakova
e3ab868b83
Added email feedback column (#15698)
closes TryGhost/Team#2159
- Added column to email table
- Hide the feedback tab on frontend depending on the column value

Co-authored-by: Daniel Lockyer <daniellockyer@fastmail.com>
2022-10-27 11:22:50 +04:00
Daniel Lockyer
077ff89960
Removed pre-commit linting on non-main branches
- our use-case for this is to ensure that people don't push to
  `main` without running linting, as this can block CI from passing
  until the linting issue is resolved
- however, it can become annoying to run linting on non-main branches,
  especially when you just want to WIP some changes without caring for
  linting
- generally speaking, anyone who creates commits on a non-main branch is
  going to open them as a PR, so linting is run anyway
- this commit get the branch name and only runs linting if we're on
  `main`
2022-10-27 11:47:10 +07:00
Daniel Lockyer
3da7040e32
Removed verbose error logging for yarn dev failures
fixes https://github.com/TryGhost/Toolbox/issues/459

- in the situation where the `yarn dev` command fails, it pumps out a
  massive error message, which is incredibly distracting to the dev
  experience
- this changes the output to just be a log line with some suggestions on
  how to fix it
2022-10-27 11:25:43 +07:00
Fabien 'egg' O'Carroll
aa89fe55e0
Fixed Stripe Checkout not having the email prefilled from Portal (#15703)
We need to pass the customerEmail param along so that Stripe Checkout
will prefill it for us, this was missed in the refactor.
2022-10-27 11:00:21 +07:00
Fabien 'egg' O'Carroll
6c204b4c42
Added X-Robots-Tag header to redirect responses (#15700)
refs https://github.com/TryGhost/Team/issues/2072

We're still seeing some redirect URLs being indexed by Google.
2022-10-27 10:07:36 +07:00
James Morris
409377476d Fixed the dash bug next to the events in the table
refs https://github.com/TryGhost/Team/issues/2172
2022-10-26 18:20:02 +01:00
James Morris
683d476394 Added a quick fix to bring back the feedback tab pie chart
https://github.com/TryGhost/Team/issues/2172
2022-10-26 18:15:35 +01:00
James Morris
4f40fb8e12 Updated the post analytics tab design and added in responsiveness
- Changed the tab design to now include icons all across
- Better way of showing positive sentiment
- Much better responsiveness for the whole page

refs https://github.com/TryGhost/Team/issues/2172
2022-10-26 18:04:17 +01:00
Elena Baidakova
f1e476d6af
Add forceRender property to tabs (#15699)
closes TryGhost/Team#2163
- `forceRender` property adds ability to render content of tabs in
advance (even if tab wasn't selected)
2022-10-26 18:03:29 +01:00
Sam Lord
28b11e6fed
Added command to generate demo data (#15691)
refs: https://github.com/TryGhost/Toolbox/issues/440

New command to generate demo data, creates data for over 20 tables in
Ghost, suitable for testing most features of the dashboard, as well as
making guided product tours using newsletters, tiers, many posts and
tags.

Usage: `yarn start generate-data`

Optionally, keep your existing posts / tags with: `yarn start generate-data --use-existing-tags --use-existing-posts`
2022-10-26 17:55:08 +01:00
Aileen Nowak
8d9b8cf79c Fixed Explore iframe route handling hijacking routes on reload 2022-10-26 17:17:22 +01:00
Simon Backx
c7ef22d4df
Updated feedback button links (#15701)
fixes https://github.com/TryGhost/Team/issues/2174

The feedback links now use a hash instead of a querystring, so it won't pass by the server.

New format: https://site.ghost/post-slug/#/feedback/6359174f2eb251019d14d6fb/0?uuid=13924399-c3ae-413b-a045-0b8294d71f64
2022-10-26 18:04:11 +02:00
Elena Baidakova
57817eefc8
Added feedback buttons to emails (#15695)
closes TryGhost/Team#2075
2022-10-26 19:19:05 +04:00
Simon Backx
1a8f7e6972 Fixed labs not working on posts page initial load
no issue

When reloading the posts page, the labs settings wouldn't work. The 'feature' service labs property would try to JSON.parse an undefined labs setting (settings.labs === undefined) because settings wasn't loaded yet. After loading the settings, it wouldn't update because Ember's 'computed' decorator isn't able to watch this.

This was all caused by trying to access the emailAnalytics feature in the controller's constructor (this feature doesn't exist any longer). Removing this fixed the issue.

We probably need some protection for this in the future.
2022-10-26 16:03:02 +02:00
Djordje Vlaisavljevic
2bacff028b Updated analytics settings icon
refs https://github.com/TryGhost/Team/issues/2168
2022-10-26 15:15:09 +02:00
Djordje Vlaisavljevic
9719f25452 Added link to analytics settings to the settings page
refs https://github.com/TryGhost/Team/issues/2168
2022-10-26 15:15:09 +02:00
Djordje Vlaisavljevic
957d789857 Added mock component for analytics settings page
refs https://github.com/TryGhost/Team/issues/2168
2022-10-26 15:15:09 +02:00
Djordje Vlaisavljevic
b7eadb748d Added analytics settings icon
refs https://github.com/TryGhost/Team/issues/2168
2022-10-26 15:15:09 +02:00
Simon Backx
4501c82820 Fixed breadcrumbs when going from analytics to member
refs https://github.com/TryGhost/Team/issues/2140
2022-10-26 14:32:31 +02:00
Simon Backx
310459c3b9 Cleaned up FeedbackPage 2022-10-26 14:26:57 +02:00
Simon Backx
3cb56bad94 Added confirmation step when sending feedback
fixes https://github.com/TryGhost/Team/issues/2161

Confirmation step is skipped when already signed in.
2022-10-26 14:18:07 +02:00
James Morris
f1565fe92a Updated the copy for the audience feedback in preview and email based on feedback
refs https://github.com/TryGhost/Team/issues/2171
2022-10-26 12:17:07 +01:00
James Morris
4c6a57c8f3 Updated the feedback copy for Portal modal based on recent feedback
refs https://github.com/TryGhost/Team/issues/2170
2022-10-26 11:59:57 +01:00
Aileen Nowak
b79006d7f3 Added Ghost Explore app
no issue

- bumps Ghost Explore integrated app  to GA from alpha
2022-10-26 10:05:50 +01:00
Naz
cdd65f25ac
Migrated members importer to use tiers
refs https://github.com/TryGhost/Team/issues/2077

- The "productRepository" methods have been deprecated in favor of "tiers" and "Tiers API".
- The changes migrated usages of  "productRepository.getDefaultProduct" to Tiers API's "readDefaultTier"
2022-10-26 14:26:21 +08:00
renovate[bot]
d034526fe6
Update dependency supertest to v6.3.1 2022-10-26 02:54:43 +00:00
Daniel Lockyer
857dacbf16 Fixed missing column values for default paid tiers
fixes https://github.com/TryGhost/Toolbox/issues/455
refs https://github.com/TryGhost/Ghost/blob/main/ghost/core/core/server/data/migrations/versions/5.19/2022-09-02-20-52-backfill-new-product-columns.js

- the referenced migration does not handle backfilling the
  currency/monthly_price/yearly_price for the default paid tiers where
  they do not originate from Stripe
- this is causing issues in Ghost because of the missing data
- this migration backfills the columns for products where they are paid
  but do not currently contain values due to the bug above with the
  values for the default tier we usually use
2022-10-26 08:49:10 +07:00
renovate[bot]
f8cf220762
Update dependency mailgun.js to v8.0.2 2022-10-25 20:20:41 +00:00
James Morris
176af30788 Added in clicks URLs for the members table under clicked tab
refs https://github.com/TryGhost/Team/issues/2149
2022-10-25 17:50:23 +01:00
James Morris
d4e336dc2a Further tweaks and refactoring to engagement bar
- Made a new function that checks if stubs are needed per tab
- Renamed the check for pagination to be a little more clear
- Made sure the pagination block is always to the right
- Made sure the pagination buttons don't show when there is no pagination

refs https://github.com/TryGhost/Team/issues/2149
2022-10-25 16:59:29 +01:00
James Morris
66e42c8b29 Moved the pagination to the right based on feedback
refs https://github.com/TryGhost/Team/issues/2149
2022-10-25 16:13:42 +01:00