Commit Graph

7160 Commits

Author SHA1 Message Date
Kevin Ansfield
73d4ac8a26 Made server unreachable and maintenance error request retries application-wide
closes https://github.com/TryGhost/Team/issues/837

We previously added automatic retries to the editor controller for post saves; reviewing the resulting logs in Sentry we can see this stopped the "Server unreachable" error alerts showing to users because the requests typically succeeded on the first retry that was made 5 seconds later. However the problem is not limited to post saves and we can see other requests hitting the same issue, including when working in the editor such as adding embed cards, uploading images, or fetching member counts before publishing.

All of the API network requests we make in Admin run through an `ajax` service that makes and handles the request/response. By moving the retry logic for specific errors out of the editor controller and into the ajax service we can make temporary connection handling more graceful across the app.

- move retry behaviour from the editor controller to the `ajax` service so we can retry any request rather than just post save requests
- speed up retries so we reconnect as soon as possible
  - first retry at 500ms, then every 1000ms (previous was every 5s which meant overly long waits)
- reduce total retry time from >30s to 15s
- improve reporting to Sentry
  - report when a retry was required
  - report when a retry failed
  - include the total time taken for both success and failure reports
  - include the `server` header value from requests to distinguish between CDNs
  - include type of error so we can distinguish "server unreachable" from "maintenance" retries
2021-06-30 14:51:40 +01:00
Kevin Ansfield
91ec4435b5 Fixed accidental re-introduction of labs email design settings modal
no issue

- looks like we had an accidental merge of labs files and CSS back in after it was moved out of labs
- fixes odd font sizes in the settings modal
2021-06-30 12:38:43 +01:00
Sanne de Vries
0d01065dcf Refined feature image hover state and spacing 2021-06-30 12:42:48 +02:00
Rishabh
f65bb737c3 Refined product benefits section
refs https://github.com/TryGhost/Team/issues/838

- fixed reordering not saving
- fixed last benefit item not saving without plus
- fixed cancel not removing unsaved benefits
2021-06-30 15:51:34 +05:30
Peter Zimon
5f346fbf6b Fixed currency selector for product settings 2021-06-30 11:32:09 +02:00
Peter Zimon
8b306bcca4 Multiple products settings refinements
- fixed dark mode product card color bug
- fixed no. of benefits counter on product card
- removed "Available in Portal" badge (all products are available)
2021-06-30 11:09:18 +02:00
Peter Zimon
d5d9bb634d Refined link builder for multiple products 2021-06-30 10:29:29 +02:00
Rishabh
42691c5cc9 Added multiple product option to Portal links
refs https://github.com/TryGhost/Team/issues/825

With multiple products, it's possible to link to any products from themes.

- updates links area in Portal to be able to handle multiple products
- the new product selector for links is behind the alpha flag
2021-06-30 13:18:40 +05:30
Daniel Lockyer
1bfee18cbe Merged v4.8.4 into main
v4.8.4
2021-06-29 18:07:38 +01:00
Daniel Lockyer
b27ae66160 v4.8.4 2021-06-29 18:06:03 +01:00
Kevin Ansfield
84d3643e9f 🐛 Fixed error when removing Facebook/Twitter social images on general settings screen
refs https://github.com/TryGhost/Team/issues/836
refs ceb16b5e9f

Problem:
- `<GhImageUploaderWithPreview>` was updated to swap deprecated `{{action}}` usage to `{{on "click"}}` but that came with a missed behaviour change because the click event will now be passed as the argument to `@remove`
- the `<GhImageUploaderWithPreview>` usage on the general settings screen for social images had a syntax error in it's usage of the `mut` helper that meant the supplied argument was being used as the value rather than a forced `""` value. Result was that we were replacing the image urls with a text representation of the click event when attempting to remove images, leaving a broken image in place and no way to upload a new image

Fix:
- fixed incorrect `mut` usage to correctly force `""` as the value when removing social icons
- updated `<GhImageUploaderWithPreview>` to force `""` as the argument passed to `@remove` to avoid any other issues due to the behaviour change
2021-06-29 17:54:09 +01:00
Rishabh
cef44533d9 Moved portal_products in preview behind feature flag
no refs

- only uses `portalProducts` value in portal preview url if the multiple products flag is turned on
2021-06-29 12:19:20 +05:30
renovate[bot]
66fe6bddb3 Handled products column for CSV import & export (#2017)
refs TryGhost/Team#765
refs ccd917ff8c

This includes the changes to `@tryghost/members-csv` so that we can read
and write the `product` column from/to csv files. Allowing us to include
products in exports, as well as use them in imports.
2021-06-28 22:25:15 +05:30
Kevin Ansfield
917c86db3b Changed mailgun API key wording to explicitly state "Private API key"
no issue

- Mailgun now also provides per-domain Sending API Keys which has caused some confusion because they will allow sending emails but won't allow for analytics to be fetched unlike the Private API Key
2021-06-28 17:26:32 +01:00
Kevin Ansfield
6f0955d232 Fixed validation errors not showing after failed save in editor
refs a6c6def7e1

- we weren't checking if an error was a validation error by examining the number of errors on the post model, this meant we weren't falling through to the generic error handling/display logic that shows an alert for validation errors when a save isn't a background/silent save
2021-06-28 15:52:36 +01:00
Kevin Ansfield
766de0d475 Added automatic retry of failed editor saves when Ghost is in maintenance mode
no issue

- when Ghost is in maintenance mode after an upgrade we know it will come back shortly so automatically retrying the save in the same way we do for "server unreachable" errors provides a smoother experience compared to halting and showing a red alert bar
2021-06-28 15:33:40 +01:00
Kevin Ansfield
53dbbf33a5 Fixed confusing editor state after a failed status change
no issue

- post status was not being reset after certain types of failure to publish/unpublish/schedule which meant that the editor could be left in an odd in-between state where the displayed status did not reflect reality
- fixed "saving/publish/schedule failed:" wording in error message when a server unreachable error was detected, the "saving/publish/schedule" did not reflect the actual status change because we were passing through only the current status rather than previous+new status'
2021-06-28 15:29:07 +01:00
Kevin Ansfield
a6c6def7e1 Fixed "Saving failed: undefined" error message in editor
no issue

- if a ServerUnreachable error is triggered by a non-background-save then we'd show the expected custom alert and then immediately overwrite it because `savePost`'s catch was not expecting an `undefined` error
2021-06-28 15:29:07 +01:00
Sanne de Vries
9105afe97c Fixed publish-menu position when settings menu is open 2021-06-28 16:27:58 +02:00
Kevin Ansfield
c032eadad5 Lock file maintenance 2021-06-28 13:16:49 +01:00
Rishabh
59367d418b Added option to hide labels for post acces
refs https://github.com/TryGhost/Team/issues/800

- makes labels option in members segment select
- hides label options in segment select for post access
2021-06-28 17:46:24 +05:30
Rishabh
c97be22854 Added segmented post access setting to labs menu
refs https://github.com/TryGhost/Team/issues/801

- adds the renewed product specific post access setting to new labs post settings sidebar
2021-06-28 17:46:24 +05:30
Rishabh
f9a25d4e41 Enabled product options for email recipient segment
refs https://github.com/TryGhost/Team/issues/801
refs 0caa539330

- adds back product options to email recipient segment filter in publish menu
2021-06-28 17:46:24 +05:30
Rishabh
3c5e334041 Added ability to set post access to segments
refs https://github.com/TryGhost/Team/issues/801

- This reverts commit de560733c5
- brings back members segment select component to post access, which allows setting access to specific labels/products
- only works behind the alpha feature flag - `multipleProducts`
2021-06-28 17:46:24 +05:30
Rishabh
3ac531be31 Added product options to members segment select
refs https://github.com/TryGhost/Team/issues/800
refs https://github.com/TryGhost/Team/issues/802

- adds product segments to segment select component behind the feature flag
- This reverts commit 27a2bc7722
2021-06-28 17:46:24 +05:30
renovate[bot]
6545ba8b82 Update dependency @sentry/ember to v6.8.0 (#2024)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 12:22:12 +01:00
Peter Zimon
0acf9b1d9b Refined benefits 2021-06-28 12:39:31 +02:00
Sanne de Vries
c1d3d8e4f2 styled reset passwords modal 2021-06-28 11:54:45 +02:00
Thibaut Patel
da9990db27 Added the "reset all passwords" user interface
issue https://github.com/TryGhost/Team/issues/750
pr https://github.com/TryGhost/Ghost/pull/13005
2021-06-28 11:54:45 +02:00
Rishabh Garg
46b311b561 Wired benefits section to API (#2023)
refs https://github.com/TryGhost/Team/issues/792

- updates product benefit to use `name` instead of `label` attribute for benefit text
- updates model/serializer/validator to correctly handle benefit attributes
- added `+` button for adding new labels as the enter behavior is closing the popup(needs fix)
2021-06-28 15:19:54 +05:30
Kevin Ansfield
386d59d709 Fixed editor save retry attempts data not making it to Sentry
no issue

- the options passed to `captureMessage` have specific top-level keys, arbitrary data needs to be supplied by the `extra` key rather
2021-06-28 10:34:21 +01:00
renovate[bot]
33b04313e0 Update dependency @tryghost/helpers to v1.1.48 (#2021)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 10:32:58 +01:00
renovate[bot]
7035001e72 Update dependency @tryghost/timezone-data to v0.2.46 (#2022)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 10:32:16 +01:00
renovate[bot]
621f014df6 Update dependency element-resize-detector to v1.2.3 (#2020)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 10:31:57 +01:00
renovate[bot]
31650171bb Update dependency @sentry/ember to v6.7.2 (#2016)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 10:31:15 +01:00
renovate[bot]
4d27f57969 Update dependency ember-test-selectors to v5.4.0 (#2019)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 10:30:53 +01:00
Sanne de Vries
637b50956e Adjusted padding in post settings menu 2021-06-28 10:11:40 +02:00
Renovate Bot
cb4cd7a313 Update dependency eslint-plugin-ghost to v2.4.0 2021-06-24 15:13:10 +00:00
Daniel Lockyer
e6a6303278 Merged v4.8.3 into main
v4.8.3
2021-06-24 14:00:17 +01:00
Daniel Lockyer
6fd806aac7 v4.8.3 2021-06-24 13:58:35 +01:00
Sanne de Vries
d676473bb1 Updated post settings menu icon 2021-06-24 14:51:10 +02:00
Daniel Lockyer
c70ca8dcbc Merged v4.8.2 into main
v4.8.2
2021-06-24 13:19:38 +01:00
Daniel Lockyer
539fbf040c v4.8.2 2021-06-24 13:16:51 +01:00
Daniel Lockyer
023820eddd Merged v4.8.1 into main
v4.8.1
2021-06-24 11:20:17 +01:00
Daniel Lockyer
c1149889c6 v4.8.1 2021-06-24 11:19:09 +01:00
Rishabh
38a499a531 🐛 Fixed stripe connect modal not closing
closes https://github.com/TryGhost/Ghost/issues/13090

The `X` on stripe connect modal is not closing the popup as the updated modal changes was not wiring the close method.

Note: Clicking outside the popup to close it was still working
2021-06-24 14:52:06 +05:30
Rishabh
4665e64103 🐛 Fixed default currency for MRR stats on dashboard
closes https://github.com/TryGhost/Team/issues/799

- previous logic was still using `stripe_plans` for MRR currency, which is not used anymore
- updates first product's currency as default mrr currency
2021-06-24 14:51:39 +05:30
Peter Zimon
81ae1afcaa Added inner scrolling for benefits list (alpha) 2021-06-23 15:12:08 +02:00
Kevin Ansfield
1206889b0d Fixed editor flex breakouts squashing sidebar in settings menu redesign
no issue

- added `--editor-sidebar-width` CSS variable directly in `index.html` so it doesn't get removed by `postcss-custom-properties` (we use `preserve: false` to avoid problems with `postcss-color-mod-function`)
- adjusted editor CSS
  - added max-width calc on container element to prevent browser from increasing the element's width beyond what would allow the sidebar to display at it's desired width
  - adjusted the editor flex breakout styles to work with a non-100vw width by using the sidebar width variable
- updated labs post settings menu component to set the `--editor-sidebar-width` variable to the actual width of the sidebar element
  - avoids need to have multiple classes with fixed widths to adjust editor and breakout sizes
2021-06-23 13:54:40 +01:00
Peter Zimon
516825e41f Fixed Multiple products alpha feature name case style 2021-06-23 11:58:59 +02:00