Commit Graph

5532 Commits

Author SHA1 Message Date
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
Elena Baidakova
b526c4b719
Add tests to tabs and events pagination (#15757)
closes TryGhost/Team#2128
2022-11-07 16:32:06 +04:00
Aileen Nowak
f2c0bff9df Updated <GHBillingIframe> to not leak event listeners
no issue
refs dac5cca899

- added cleanup of the `message` event handler added to `window` when the component is destroyed
- added a guard to the event handler method to abort early if a message is received whilst the component is being destroyed
- updated Billing Service and `<GHBillingIframe>` to not use `@classic` decorator
2022-11-07 11:59:14 +00:00
Sanne de Vries
2aa0ccde4f Fixed button group padding on email preview screen
No ref
2022-11-04 17:41:19 +07:00
Kevin Ansfield
91c3c9eece Fixed lexical editor not loading
refs https://github.com/TryGhost/Ghost/pull/15763

- the config service no longer exists, we need to use the object registered at `config:main` instead to grab the editor url
2022-11-04 09:25:52 +00:00
Kevin Ansfield
443867639f Deleted unused modal-whats-new component file
no issue

- backing class still existed for a component that previous had it's template removed
2022-11-03 17:18:37 +00:00
Kevin Ansfield
9bdb25d184
Fixed hosting management screen not loading after sign-in process (#15763)
refs https://github.com/TryGhost/Team/issues/2110

- dynamically defined properties on the config service did not have
autotracking set up properly if they were accessed in any way before the
property was defined, this caused problems in a number of areas because
we have both "unauthed" and "authed" sets of config and when not logged
in we had parts of the app checking for authed config properties that
don't exist until after sign-in and subsequent config re-fetch
- renamed `config` service to `configManager` and updated to only
contain methods for fetching config data
- added a `config` instance initializer that sets up a `TrackedObject`
instance with some custom properties/methods and registers it on
`config:main`
- uses application instance initializer rather than a standard
initializer because standard initializers are only called once when
setting up the test suite so we'd end up with config leaking across
tests
- added an `@inject` decorator that when used takes the property name
and injects whatever is registered at `${propertyName}:main`, this
allows us to use dependency injection for any object rather than just
services or controllers
- using `application.inject()` in the initializer was initially used but
that only works for objects that extend from `EmberObject`, the
injections weren't available in native-class glimmer components so this
decorator keeps the injection syntax consistent
  - swapped all `@service config` uses to `@inject config`
2022-11-03 11:14:36 +00:00
Kevin Ansfield
dac5cca899 Fixed <GhExploreIframe> leaking event listeners and throwing errors in tests
no issue

- added cleanup of the `message` event handler added to `window` when the component is destroyed
- added a guard to the event handler method to abort early if a message is received whilst the component is being destroyed
2022-11-03 10:25:43 +00:00
Kevin Ansfield
86751f902c Fixed "invoking component by passing its name" deprecations for newsletter modals
no issue

- in future Ember build tooling components must be imported directly rather than passing a name at runtime
2022-11-03 10:14:37 +00:00
Kevin Ansfield
d1a061e5a7
🐛 Fixed comped subscription duration drop-down sometimes not being visible (#15764)
closes https://github.com/TryGhost/Team/issues/2110

- added failing test showing feature service `@feature` properties
weren't autotracking correctly if accessed before
authentication+settings fetch occurs
- shows labs and feature properties on the feature service are not
reacting to changes in the settings service
- removing the `@computed` on the `feature.labs` getter stops it being
cached but it then fails on the `feature.testFlag` computed property
- updated `settings` service to behave as expected with our current
version of Ember
- inspected the store schema for `Setting` to define the "proxied"
properties up-front rather than only after fetching
- updated the property definition to use `computed` so we're opting in
to the old style reactivity (required adding the `@classic` decorator to
pass linting)
2022-11-03 10:08:48 +00:00
Djordje Vlaisavljevic
2cd106ba02 Fixed scrollable table data showing outside of table
no ref
2022-11-01 22:45:30 +01:00
Kevin Ansfield
2d2ac0102a Refactored signin controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to native class syntax and glimmer component patterns
- removed use of jQuery, the workaround to trigger change events no longer appears necessary
2022-11-01 14:12:23 +00:00
James Morris
8537239548 Moved the audience feedback setting into the footer
refs https://github.com/TryGhost/Team/issues/2191
2022-10-31 17:17:52 +00:00
Kevin Ansfield
5bf3fe9cb8 🐛 Fixed error preventing admin area being usable by staff users with Contributor role
closes https://github.com/TryGhost/Team/issues/2190

- added a guard around the tier fetches in `membersUtils` service so the fetch doesn't occur unless we have a logged in user and they aren't a contributor
- extracted the `withPermissionsCheck` mirage util function and added role checks around the mocked tiers endpoints
- added an acceptance test that loads the content screen and creates a draft post as a contributor to help catch regressions
2022-10-31 12:01:39 +00:00
Naz
49e97829d0
Added auto-mapping for complimentary_plan column
closes https://github.com/TryGhost/Team/issues/1076
refs f068e40723
refs 7fe9e06c4d

- The Members CSV importer was not auto-detecting and mapping the `complimentary_plan` column when it was present in CSV. This was to improve user-experience and NOT start the import as a "background job" by default.
- With resent (see refs) changes having "complimentary_plan" column in the imported file does not send the import into the background. We can now safely include it as auto-detected field, without compromising user experience.
2022-10-31 16:47:14 +08:00
Arjuna Kristophe Sankar
096dffb817
🐛 Fixed missing active theme breaks design screen (#15602)
closes: https://github.com/TryGhost/Ghost/issues/15505

When starting Ghost with a missing active theme, the design settings screen and change theme screen both end up in a broken state with the user unable to select a new theme as the active one.

The design screen has no default (or blank) slate, and so shows a preview of an empty theme.
- First added a new default screen to serve as a placeholder for when the state contains no active theme.
- Added a check for when there was no active theme, then redirects the user to the default screen .

The change theme screen wants to set an active property on the theme that should be active in the theme list.
- Added a check to see whether there is an active theme set.
- If there isn't one, don't bother trying to add the active property.
2022-10-30 14:14:11 +00: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
Rishabh Garg
d10d4390f0
Removed duplicate newsletter tracking settings (#15717)
refs cca0f7d7dc

- newsletter tracking setting has now moved to analytics settings page. the duplicate settings on newsletter settings page is removed.
2022-10-28 02:35:39 +05:30
Simon Backx
2e517b6744 Fixed membersTrackSources not hiding attribution analytics 2022-10-27 20:35:34 +02:00
Simon Backx
8bf8134500 Removed GA flags from labs page 2022-10-27 19:16:31 +02:00
James Morris
9888785a09 Added tooltips to larger tab icons when in responsive design for smaller screens
refs https://github.com/TryGhost/Team/issues/2179
2022-10-27 17:27:01 +01:00
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
932dee4958 Removed the need for custom column sizes on new clicked tab
refs https://github.com/TryGhost/Team/issues/2179
2022-10-27 17:11:32 +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
James Morris
9febc70d72 Tiny adjustments to the tabs so metrics don't look so big
refs https://github.com/TryGhost/Team/issues/2179
2022-10-27 17:05:04 +01:00
Aileen Nowak
93f20d4664 Added changelog subscribe button to What's new page
no issue
2022-10-27 17:01:27 +01:00
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
Elena Baidakova
423314713e
Added total feedback amount to analytics tabs (#15708)
closes TryGhost/Team#2172
2022-10-27 18:30:04 +04:00
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
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
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
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
Aileen Nowak
8d9b8cf79c Fixed Explore iframe route handling hijacking routes on reload 2022-10-26 17:17:22 +01: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
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
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
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
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
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
Djordje Vlaisavljevic
3e206411f8 Updated attribution info design on member profile
refs https://github.com/TryGhost/Team/issues/1986
2022-10-25 16:55:19 +02:00