Commit Graph

97 Commits

Author SHA1 Message Date
Sodbileg Gansukh
66b749ba90 Removed tabbed look from post analytics page with only one metric
refs https://github.com/TryGhost/Team/issues/2620
2023-03-16 19:51:04 +08:00
Djordje Vlaisavljevic
5172d07238 Updated post analytics mentions empty state
refs https://github.com/TryGhost/Team/issues/2575
2023-02-23 15:44:35 +00:00
Simon Backx
85ac38cc48 Added mentions page for a post
fixes https://github.com/TryGhost/Team/issues/2590

Added a new route that only shows mentions for a given post. Reuses the same controller and template.
2023-02-22 10:48:15 +01:00
Djordje Vlaisavljevic
1545d4fb5b Added mentions widget to post analytics
refs https://github.com/TryGhost/Team/issues/2575
2023-02-21 19:59:02 +00:00
Simon Backx
1ef4690c7b Wired up mentions API to post analytics
refs https://github.com/TryGhost/Team/issues/2575
2023-02-21 11:46:16 +01:00
Djordje Vlaisavljevic
097416ba19 Added rough placeholder mentions widget
refs https://github.com/TryGhost/Team/issues/2575
2023-02-21 10:18:50 +00:00
Simon Backx
923c522778
Implemented email analytics retrying (#16273)
fixes https://github.com/TryGhost/Team/issues/2562

New event fetching loops:
- Reworked the analytics fetching algorithm. Instead of starting again
where we stopped during the last fetching minus 30 minutes, we now just
continue where we stopped. But with ms precision (because no longer
database dependent after first fetch), and we stop at NOW - 1 minute to
reduce chance of missing events.
- Apart from that, a missing fetching loop is introduced. This fetches
events that are older than 30 minutes, and just processes all events a
second time to make sure we didn't skip any because of storage delays in
the Mailgun API.
- A new scheduled fetching loop, that allows us to schedule between a
given start/end date (currently only persisted in memory, so stops after
a reboot)

UI and endpoint changes:
- New UI to show the state of the analytics 'loops'
- New endpoint to request the analytics loop status
- New endpoint to schedule analytics
- New endpoint to cancel scheduled analytics
- Some number formatting improvements, and introduction of 'opened'
count in debug screen
- Live reload of data in the debug screen

Other changes:
- This also improves the support for maxEvents. We can now stop a
fetching loop after x events without worrying about lost events. This is
used to reduce the fetched events in the missing and scheduled event
loop (e.g. when the main one is fetching lots of events, we skip the
other loops).
- Prevents fetching the same events over and over again if no new events
come in (because we always started at the same begin timestamp). The
code increases the begin timestamp with 1 second if it is safe to do so,
to prevent the API from returning the same events over and over again.
- Some optimisations in handing the processing results (less merges to
reduce CPU usage in cases we have lots of events).

Testing:
- You can test with lots of events using the new mailgun mocking server
(Toolbox repo `scripts/mailgun-mock-server`). This can also simulate
events that are only returned after x minutes because of storage delays.
2023-02-20 16:44:13 +01:00
Peter Zimon
63d216c321
Email debug updates (#16185)
no refs.

This commit fixes a couple of UX issues on the email debug screen:

- shows [...] button only for errors actually longer than the available
space to avoid confusion about where there's more error text
- use actual avatars instead of fake red/blue dots to make it consistent
with the rest of the app
- adds click through to member details screen to easily access member
data if needed
- updates text select for provider ID for easier copying
- removes unused "Download full error message" icon
2023-01-26 15:12:26 +01:00
Sanne de Vries
c616f56a2a Replaced copy that uses "See" to "View" across Admin
Refs https://www.notion.so/ghost/Member-activity-improvements-247080c54dac4ebf86d10b38508d2a19
2023-01-11 15:44:23 +01:00
Rishabh
e74ba81276 Refined email debug screen error handling
refs https://github.com/TryGhost/Team/issues/2327
2022-12-02 21:29:07 +05:30
Simon Backx
6ae9b49e73 Added post title to email debug page 2022-12-02 16:51:51 +01:00
Rishabh
ddb61c3b3c Wired static expand error logic on email debug
refs https://github.com/TryGhost/Team/issues/2327

- wires the static handling of error message on debug screen with real error
2022-12-02 20:41:08 +05:30
Peter Zimon
f562d19f3c Updated error display styles for error debug
refs. https://github.com/TryGhost/Team/issues/2327

- Some minor CSS style changes were needed for errors on the email debug screen. Also we weren't showing any message i - for whatever reason - there was no data for batches.
2022-12-02 15:13:07 +01:00
Simon Backx
fc12767917 Wired up retry button on debug page 2022-12-02 14:57:03 +01:00
Peter Zimon
e0c52d0670 Added static expand error logic to email debug
refs. https://github.com/TryGhost/Team/issues/2327

- The length of the error messages for temporary and permanent failure tabs on the email debug screen can be arbitrary. This degrades scannability and limits the number of displayed rows in the list. Adding an expand button to the error message makes sense since the errors might repeat and the error code + the beginning of the message can be enough to understand them. Also this allows more rows to be displayed per screen.
2022-12-02 14:49:28 +01:00
Simon Backx
b81cc13e48 Fixed email batches and recipient pagination 2022-12-02 14:49:21 +01:00
Simon Backx
928a73c536 Fixed email debug page always showing error + breadcrumb 2022-12-02 14:45:06 +01:00
Peter Zimon
9b276e6aa2 Added empty state handling to email debug tabs
refs. https://github.com/TryGhost/Team/issues/2327

- the lists and tables were completely empty when there was no error or some data was missing
2022-12-02 13:34:30 +01:00
Rishabh
cee94217a8 Fixed lint 2022-12-02 16:22:59 +05:30
Rishabh
d82cfb1d57 Updated static error message on debug screen
refs https://github.com/TryGhost/Team/issues/2327

- updates major error message on email debug screen from the email model
2022-12-02 16:12:48 +05:30
Rishabh Garg
a8a879ef53
Wired email debug screen with API (#15919)
refs https://github.com/TryGhost/Team/issues/2327

- wires email debug screen with real data from API
- fetches email batch data for showing all batches along with those errored
- fetches all recipient failures - temporary and permanent
- shows email settings that was used for sending out the email
2022-12-02 14:38:40 +05:30
Elena Baidakova
95c3a68c34
Updated the filter naming in Post Analytics (#15898)
closes TryGhost/Team#2329
- Replace 'Received' on 'Sent' in member's filter
- Moved links for feedback analytics from chart to table
2022-11-30 17:39:37 +04:00
Elena Baidakova
1b784b5ec5
Added events to Post Analytics page (#15886)
closes TryGhost/Team#2313
- Added Sent event to Post analytics and Members feed. Now post can be
Sent or Received or Bounced.
- Excluded Delivered event from Sent filter on backend.
2022-11-28 17:43:35 +04:00
Kevin Ansfield
d15f740a3f Fixed TaskCancelation errors
sentry issue: ADMIN-AY5

- added guards for cancelation errors where we're casting tasks to promises
- see http://ember-concurrency.com/docs/task-cancelation-help for full details
2022-11-23 10:42:40 +00:00
Ronald Langeveld
08232bd538
Cleaned up GA Flags (#15762)
closes https://github.com/TryGhost/Team/issues/2126

- Cleaned up the following GA flags: `newsletterPaywall`, `freeTrial`, `compExpiring`, `searchHelper`, `emailAlerts`, `fixNewsletterLinks`.
2022-11-18 16:09:25 +07:00
Simon Backx
c2dfb2b579
🐛 Fixed link click counts for duplicate links (#15789)
refs https://github.com/TryGhost/Team/issues/2213

When an email contains multiple links to the same destination, that link
is only shown once on the analytics page. The total displayed count is
not summed correctly.
2022-11-10 10:51:26 +01:00
Simon Backx
a5c4091620 Fixed analytics page feedback chart filter button links
no issue

Clicking the 'see members' button in the feedback chart tooltip went to a page with a hardcoded post id instead of the actual post id.
2022-11-10 10:38:09 +01:00
Elena Baidakova
a605679bfa
Moved all code for feedback chart to one file (#15774)
closes TryGhost/Team#2143
- All logic for feedback pie chart was spread through multiple files. It
would be difficult to scale it. Now it is encapsulated in one file.
2022-11-08 09:42:32 +04:00
Rishabh
5a029620fd Updated new analytics page with audience feedback
refs b027ed6378

- analytics page was split between old and new behind the audience feedback flag
- the new page had missing method as we switched the page to new one once the flag was switched on
2022-10-28 12:01:11 +05:30
James Morris
b08500fc32 Updated the copy changes for the Post Analytics tabs
refs https://github.com/TryGhost/Team/issues/2180
2022-10-27 17:17:04 +01:00
James Morris
3d3653b09a Removed links from sources and added a prefix icon
refs https://github.com/TryGhost/Team/issues/2183
2022-10-27 17:07:41 +01: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
Elena Baidakova
423314713e
Added total feedback amount to analytics tabs (#15708)
closes TryGhost/Team#2172
2022-10-27 18:30:04 +04: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
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
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
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
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
Simon Backx
fee493af45 Wired up source to conversions on analytics page
refs https://github.com/TryGhost/Team/issues/2157

- The source links to the referrer url if there is any
- A dash is used if no source is available
2022-10-25 14:30:40 +02:00
James Morris
bd091c65c7 Tidying up some aspects of the post analytics page and engagement bar
- Removed the dummy rows as they looked like loading states
- Improved the spacing of the pie chart
- Showing total number when pagination isn't required
- Tweaks across the page to look more consistent

refs https://github.com/TryGhost/Team/issues/2149
2022-10-25 12:55:03 +01:00
James Morris
c533af61a9 Removed the source attributiont table from Post Analytics page and added dummy metric to Conversions tab
refs https://github.com/TryGhost/Team/issues/2157
2022-10-25 11:05:44 +01:00
James Morris
9f7a8a6f2f Renamed the member links to be something simpler on Post Analytics page
refs https://github.com/TryGhost/Team/issues/2147
2022-10-24 16:52:59 +01:00
James Morris
53e20f30ae Rearranged the markup so the empty state shows ok without pie chart
refs https://github.com/orgs/TryGhost/projects/60
2022-10-24 11:03:54 +01:00
Simon Backx
fd91f7eebb
Added email sent events (#15682)
fixes https://github.com/TryGhost/Team/issues/2137

For the analytics page, we need the sent events to show up immediately
after sending an email. Otherwise we need to wait for emails to be
marked as received (which takes too long) before being able to show them
on the analytics page.

This adds the email_sent_event, which is hidden by default everywhere
and used on the analytics page.
2022-10-24 11:11:44 +02:00
Elena Baidakova
9720459f55
Added pie chart for activity feed (#15673)
closes TryGhost/Team#2088
- Added pie chart to feedback event
- Added `negative_feedback` field to response from BE
2022-10-21 21:34:05 +04:00
James Morris
a79c48e547 Add in dummy rows and empty states to the engagement bar
refs https://github.com/TryGhost/Team/issues/2130
2022-10-21 17:33:44 +01:00
Simon Backx
7c824556c2
Added new members filters and refactored filters (#15667)
fixes https://github.com/TryGhost/Team/issues/2112

- Removed a bit of duplicate code across templates and components that was used to handle filters
- Updated filter objects to contain information about the filter
- Added resource filters that are able to select a single resource, which can be used in columns
- Filters can now define columns by themselves. Not all columns already make use of this functionality, but we can move those over later (cleanup: https://github.com/TryGhost/Team/issues/2133)
- The filter definitions became quite long. We should move them to separate files in the future: https://github.com/TryGhost/Team/issues/2134
- Filters can now have custom NQL parsing
- Improved support for parsing recursive or grouped NQL queries
- Added support for filtering members by feedback
2022-10-21 17:18:00 +02:00