Commit Graph

59 Commits

Author SHA1 Message Date
Ronald Langeveld
f2206fb232
Added one-time payments under "payments" for filtering (#20807)
ref PLG-153

- Scoped one-time payments (`donation_event`) under the "payments"
category in the member activity feed filter.
- Updated `toggleEventType` logic to ensure that toggling "payments"
also toggles one-time payments when the `tipsAndDonations` feature is
enabled.
- Refactored event type handling into utility functions for easier
testing.
- Added unit tests for the new utility functions to ensure correct
behaviour.
- Added acceptance testing.
2024-08-22 10:26:46 +00:00
Sag
7f963e9c2a
🎨 Added 'Changed email address' event to Member Activity (#20493)
fixes https://linear.app/tryghost/issue/ENG-1256

- when a member changes their email address, surface it in Member
Activity
2024-07-01 15:33:33 +00:00
Michael Barrett
81e160c8d3
🐛 Fixed member activity event filter (#16849)
closes https://github.com/TryGhost/Ghost/issues/16817

The member activity event filter was broken due to a recursion issue.
This commit changes the usage of a getter fn to a normal class method to
make the logic more performant and remove the recursion issue
2023-05-23 14:44:49 +01:00
Simon Backx
6566903df5
Cleaned up member attribution flag (#16745)
no issue

This commit removes the `memberAttribution` feature flag from the
codebase. Some CSS classes are not removed as removing them and updating
the associated CSS files have side effects sadly.
2023-05-05 15:04:14 +02:00
Simon Backx
848b2d82a1
Cleaned up suppressionList feature flag (#16736)
no issue

This pull request removes the `suppressionList` feature flag and all its
dependencies from the codebase. It makes the suppression list feature
the default and consistent behavior for all email events and
newsletters. It simplifies the UI, logic, and data related to email
events and newsletters. It affects several files in the
`ghost/admin/app`, `ghost/core/core`, and `ghost/members-api`
directories.
2023-05-04 14:47:04 +02:00
Kevin Ansfield
6a3a4632ad
Updated post links in member event feeds to point to post analytics screen (#16384)
refs https://github.com/TryGhost/Team/issues/2612

- member event feeds previously had links to posts that opened the
front-end post URL in a new tab
- now that we have an analytics screen for each post it makes sense to
link to that screen where possible because it allows drill-down into
site performance
2023-03-15 15:12:16 +08:00
Elena Baidakova
0bdccb6497
Update member activity dropdown (#15875)
closes TryGhost/Team#2250
2022-11-24 20:21:43 +04:00
Elena Baidakova
9d6bcdba47
Added spam event to feed in frontend admin (#15847)
closes TryGhost/Team#2248
2022-11-18 14:33:48 +04:00
James Morris
42bf847142 Cleaning up and formalizing how events show across all activity feeds
- There was some formatting problems on the Dashboard with certain events
- There was inconsitencies with how we formatted some events over others
- Removed 'on' and just using '-' for all

refs https://github.com/TryGhost/Team/issues/2243
2022-11-11 15:18:03 +00:00
Simon Backx
0bb7538cd1
Added feedback events to activity feed (#15639)
fixes https://github.com/TryGhost/Team/issues/2051
fixes https://github.com/TryGhost/Team/issues/2052
2022-10-17 15:44:18 +02:00
Kevin Ansfield
060d791a63 Removed need for .get() with settings service
no issue

The `settings` service has been a source of confusion when writing with modern Ember patterns because it's use of the deprecated `ProxyMixin` forced all property access/setting to go via `.get()` and `.set()` whereas the rest of the system has mostly (there are a few other uses of ProxyObjects remaining) eliminated the use of the non-native get/set methods.

- removed use of `ProxyMixin` in the `settings` service by grabbing the attributes off the setting model after fetching and using `Object.defineProperty()` to add native getters/setters that pass through to the model's getters/setters. Ember's autotracking automatically works across the native getters/setters so we can then use the service as if it was any other native object
- updated all code to use `settings.{attrName}` directly for getting/setting instead of `.get()` and `.set()`
- removed use of observer in the `customViews` service because it was being set up before the native properties had been added on the settings service meaning autotracking wasn't able to set up properly
2022-10-07 16:14:57 +01:00
Simon Backx
7e3b41f643
Removed emailClicks feature flag (#15556)
fixes https://github.com/TryGhost/Team/issues/2028

Since link clicks became GA, some older components and templates are no longer used.
2022-10-07 14:27:57 +02:00
James Morris
ec9e61dc2f Tweaks to how click events are handled based on feedback
refs https://github.com/TryGhost/Team/issues/1981
2022-09-27 12:29:08 +01:00
Kevin Ansfield
63b1e4e8ad
Resolved power-select related deprecation warnings for loading components by string (#15466)
no issue

- in many places we were passing a string as an argument to a `<PowerSelect>` related component that referred to a component name, that was throwing deprecation warnings because those strings were used dynamically with `{{component}}` later on which isn't statically analyzable
- switched to passing a component explicitly with `{{component}}`
- https://github.com/embroider-build/embroider/blob/main/REPLACING-COMPONENT-HELPER.md#when-youre-passing-a-component-to-someone-else
2022-09-24 17:00:05 +02:00
James Morris
eb7547ea3c Added a new click icon for the member attribution flag
- Adds a new SVG icon when the members attribution flag is on only
- Fixes up some dark mode issues for the URL scrollable in events

refs https://github.com/TryGhost/Team/issues/1951
2022-09-22 18:00:48 +01:00
James Morris
99332dae21 Added the new URL design for events over in the members activity page too
- Brought over the new URL events design
- Tested to make sure it worked as expected
- Had to add a new JS component file

refs https://github.com/TryGhost/Team/issues/1922
2022-09-22 13:44:45 +01:00
Simon Backx
b8041f0a60
Added clicks to activity feed (#15439)
closes https://github.com/TryGhost/Team/issues/1933

- Added click_events to activity feed
- Added support for parsing click_events in the frontend
- Moved url parsing (transform ready) to model layer of LinkRedirect
- Moved `getEventTimeline` method to the top of the event repository
- Added description field to parsed events in the frontend (because we need a second line)
- Fixed: member email not returned in comment_event
2022-09-21 10:25:51 +02:00
James Morris
42dfa4c552 Fixed bug where MRR was coming after link in events
refs https://github.com/TryGhost/Team/issues/1851
2022-08-25 14:27:14 +01:00
James Morris
86a0f103e9 Going for a simpler design for events
- The extra column made sense logically but was causing too many issues
- Going to try the single setence again but change visual style to be easier to parse
- Making sure this works around the feature flag

refs https://github.com/TryGhost/Team/issues/1851
2022-08-25 14:20:01 +01:00
Simon Backx
f124d142c9 Added member attributions to activity feed (#15283)
refs https://github.com/TryGhost/Team/issues/1833
refs https://github.com/TryGhost/Team/issues/1834

We've added the attribution property to subscription and signup events when the
flag is enabled. The attributions resource is fetched by creating multiple relations
on the model, rather than polymorphic as we ran into issues with that as they can't
be nullable/optional.

The parse-member-event structure has been updated to make it easier to work with,
specifically `getObject` is only used when the event is clickable, and there is now a 
join property which makes it easier to join the action and the object.
2022-08-24 11:17:28 -04:00
Fabien "egg" O'Carroll
3c431bd8da Revert "Added member attributions to activity feed (#15283)"
This reverts commit e986b78458.

The tests were not passing for the PR and it was erroneously
merged into main
2022-08-24 11:01:47 -04:00
Simon Backx
e986b78458
Added member attributions to activity feed (#15283)
refs https://github.com/TryGhost/Team/issues/1833
refs https://github.com/TryGhost/Team/issues/1834

We've added the attribution property to subscription and signup events when the
flag is enabled. The attributions resource is fetched by creating multiple relations
on the model, rather than polymorphic as we ran into issues with that as they can't
be nullable/optional.

The parse-member-event structure has been updated to make it easier to work with,
specifically `getObject` is only used when the event is clickable, and there is now a 
join property which makes it easier to join the action and the object.
2022-08-24 10:11:25 -04:00
James Morris
e56fbdbb57 Better handling of event objects and links with and without feature flag
refs https://github.com/TryGhost/Team/issues/1816
2022-08-22 18:37:49 +01:00
James Morris
18186f9ba6 Added in the attribution column for activity page
refs https://github.com/TryGhost/Team/issues/1816
2022-08-22 17:51:01 +01:00
James Morris
8b8fa76cc7 Made all the event tables more consistent
- Adjustments to the icon spacing for all tables
- Adjustments to the font weighting and colour for all event tables
- Changed activity on dashboard to have relative time
- Tweaked padding and margins to bring more consistency
- Also fixed a linting bug

refs https://github.com/TryGhost/Team/issues/1816
2022-08-22 13:32:36 +01:00
Simon Backx
59851fc1ab Revert "First iteration of adding in post and page columns to event tables"
This reverts commit 26150ca769.
2022-08-18 17:29:40 +02:00
Simon Backx
d01557cdf8 🐛 Fixed comments not visible in activity feed
refs https://ghost.slack.com/archives/C02G9E68C/p1660830163171599?thread_ts=1660829884.159749&cid=C02G9E68C

- Feature flag was still used, causing comment events to get filtered out
2022-08-18 15:46:21 +02:00
James Morris
26150ca769 First iteration of adding in post and page columns to event tables
- Adding in dummy column for page or post to various event table places
- This still requires wiring up with real data

refs https://github.com/TryGhost/Team/issues/1815
2022-08-17 16:20:05 +01:00
Simon Backx
235ede719c Updated comment activity feed text and styles
refs https://github.com/TryGhost/Team/issues/1731
2022-08-03 13:35:24 +02:00
James Morris
7af8ef0c10 Tidied up the comments post title style for events
- Following styling from email events
- Includes other tweaks to bring consistency
- Added in text truncating for member activity page

refs https://github.com/TryGhost/Team/issues/1731
2022-08-02 18:11:50 +01:00
Simon Backx
0963da7a2e Added support for comment activity feed events
refs https://github.com/TryGhost/Team/issues/1709

- Hides comment events if lab flag is disabled
- Hides comment events if comments are disabled
2022-07-22 11:52:11 +02:00
Daniel Lockyer
1d6fee8aa0 Fixed date zero-padding in table views
- when you have a date column in a table, dates with 2 digits vs 1
  digit cause the vertical alignment to be all over the place
- this commit fixes the date formatting for those entries to be zero-padded
2022-07-15 09:45:42 +01:00
Sanne de Vries
be2744c27f Updated activity feed empty state icon 2022-07-12 14:03:40 +01:00
Sanne de Vries
5e7678b239 Fixed empty states spacing regression 2022-06-01 17:31:23 -04:00
Simon Backx
6adecb5db1 Removed newsletter name from activity feed if no multiple newsletters
refs https://github.com/TryGhost/Team/issues/1563

- Check if we have multiple newsletters in the members-events-fetcher
- Pass the resulting value to the `parse-member-event` helper
- Pass the value to the activity feed table and table-row components
2022-05-04 10:23:32 +02:00
Simon Backx
da3b3850f5 Added the newsletter name to the activity feed
refs https://github.com/TryGhost/Team/issues/1563

- When a member (un)subscribes to a specific newsletter, we should add the name of the newsletter.
- Replaced CSS lowercase/first uppercase transform with a new HBS helper so we can maintain the caps in the newsletter names.
- Copy is still WIP, refs https://ghost.slack.com/archives/C02G9E68C/p1651569897474819
2022-05-03 14:24:18 +02:00
James Morris
ae1ead69e4 Fixed a hbs linting problem with the Clear Member button
no issue
2022-03-09 17:25:59 +00:00
James Morris
a26ca9bec6 Added some tweaks to Members Detail link for Activity
refs: https://github.com/TryGhost/Team/issues/1373

- changed searched name clear to say Clear Member as there was duplicates across the screen
- tried to tidy up the Member Detail link when filtered by members in Activity
- few tiny CSS tweaks
2022-03-09 16:59:55 +00:00
James Morris
b8823f433a Tidied up the Activity Feed search box
refs: https://github.com/TryGhost/Team/issues/1373

- added some additional styles to dropdown to better handle names and emails together
- widened the search box to better fit names and emails
2022-02-15 17:28:15 +00:00
James Morris
30f7892de8 Simplifying for the fitler dropdown for Activity Feed
refs: https://github.com/TryGhost/Team/issues/1373

- using more conventional controls with checkboxes
- simplifying to make ready for release
2022-02-15 15:41:32 +00:00
Matt Hanley
7966ff555f Updated row format for activity feed
- The row format was incorrectly outputting the month instead of the minute value when listing events
2022-02-15 14:46:48 +00:00
Gabriel Csapo
beb5ae1737 [chore] adds ember-template-lint and fixes all fixable issues (#2238)
no issue

- This will help with the octane migration and you can still run the lint rules even when they are todos. (Checkout the docs at 158b119667/docs/todos.md) The good news is any new code will be checked against the recommended config.
- I fixed all the auto fixable things we could get in this PR as well
2022-02-02 16:09:43 +00:00
Kevin Ansfield
be432dc4ca Added email fallback for selected member details on activity screen
no issue

- if a member has no name when they are selected on the member activity screen we weren't showing anything in the header breadcrumbs or member filter
- switched to showing name or email
2022-02-01 09:50:40 +00:00
Kevin Ansfield
d3447315ee Excluded all email related events from feeds when newsletter is disabled
refs https://github.com/TryGhost/Team/issues/1290

- added `{{members-event-filter}}` helper that can be used to build an event filter string that will always exclude email events when the newsletter is disabled
  - useful when used in conjunction with `{{members-event-fetcher}}` because the filter is automatically adjusted for you without needing additional logic or JS backing files for components
- updated dashboard and member screen activity widgets to use `{{members-event-filter}}`
- updated members-activity screen
  - updated to use `{{members-activity-filter}}` helper in the template which allowed for removal of filter generation in the controller
  - changed `@hideMemberOnlyEvents` to `@hiddenEvents` on `<MembersActivity::EventTypeFilter>` so that we can control which events are available in the filter based on newsletter enable/disable and presence of a filtered member
2022-01-27 19:19:15 +00:00
Kevin Ansfield
5dda8832f2 Added showSearchMessage option to gh-input-with-select/trigger component
refs https://github.com/TryGhost/Team/issues/1290

- when set to `false` prevents the dropdown opening when it would only contain the "Type to search" message
- uses the `@extra` hash param. Would be preferable to be able to use `@searchMessage=""` but ember power select doesn't pass the searchMessage argument through to the trigger
2022-01-27 18:56:13 +00:00
James Morris
1bcc396442 Styled up the filters dropdown for activity with a few other tweaks
refs https://github.com/TryGhost/Team/issues/1277

- added new selected style to filters for activity
- added new subscription icon for filters for activity
- added in the GhMembersAvatar to events row
- fixed the green link for activity mini-view
2022-01-27 17:14:06 +00:00
Kevin Ansfield
5696762984 Switched to top-level input field for members activity member search
refs https://github.com/TryGhost/Team/issues/1290

- switched to using our `gh-input-with-select/trigger` power select trigger to get a search input with select
  - kept the replacement with a button once a selection is made for easier clearing of the selection
2022-01-27 16:41:44 +00:00
James Morris
fa224988e5 Updated styles for Activity to address latest feedback
refs https://github.com/TryGhost/Team/issues/1277

- changed breadcrumb for activity
- added back in three columns for activity when not filtered
- made adjustments to visual look and feel
2022-01-27 15:27:26 +00:00
Kevin Ansfield
98eb75ef06 Added member search/filter UI to the members-activity screen
refs https://github.com/TryGhost/Team/issues/1290

- renamed `@updateExcludedEvents` to `@onChange` and updated associated action name so we have consistent naming for our select-like components
- added `<MembersActivity::MemberFilter>` component
  - utilises `<PowerSelect>` with a custom trigger component and  and a debounced search via the member's API
  - does not use `<PowerSelect>`'s default "selected" behaviour in favor of replacing the select with a button to provide a clearer "reset filter" UX that's easier to build/style outside of the power-select components
  - added `.ember-power-select-trigger-reset` class to reset margins, paddings, borders, and heights so that it's easier for a custom trigger's contents to control the display
2022-01-27 15:00:40 +00:00
James Morris
2f935163d5 Added basic activity filter styling with first round icons
refs https://github.com/TryGhost/Team/issues/1277
2022-01-26 17:54:26 +00:00