Commit Graph

5454 Commits

Author SHA1 Message Date
Rish
05f7ec5dbe 🐛 Fixed email preview not visible to Editors
refs https://github.com/TryGhost/Ghost/issues/11841

- Allows editors to see email customization option for sending test newsletters
- Editors had the necessary permission fixtures but the UI was previously only available to owners or administrators
2020-05-28 15:57:59 +05:30
Kevin Ansfield
bdd874c01b Fixed sending of empty search param in members browse requests
no issue

- when the search param was empty we were still adding a `?search=` query param to the API request
2020-05-28 11:11:43 +01:00
Kevin Ansfield
514034d329 Fixed and improved members stats "debounced" fetches
no issue

- the "days changed" logic was incorrect so we were always performing new fetches rather than using existing data
- added a minor improvement that returns an in-progress fetch promise if we have one and params haven't changed - avoids triggering unnecessary extra fetches in the rare occasions the chart is re-rendered before a previous stats fetch has finished
2020-05-28 11:11:43 +01:00
Aileen Nowak
f7034c7e91 Updated billing icon in nav bar
no issue

- Replaced placeholder icon with new billing icon
2020-05-28 21:53:38 +12:00
Kevin Ansfield
ff33eb978b Added server-side search to new members screen (#1582)
requires https://github.com/TryGhost/Ghost/pull/11854

- ties the search input on the members screen to a `?search` query param, debounced at 250ms to avoid unnecessary API requests and UI churn
- updated the members route's `model` hook to pass through the search param in the API request query parameters
2020-05-28 10:15:17 +01:00
Kevin Ansfield
76b93c3be7 Fixed members chart
no issue

- "stale data" logic was incorrect so we were always returning `undefined` from `membersStats.fetch()`
- improved behaviour of the chart when stats are not available or are loading
2020-05-27 16:12:13 +01:00
Kevin Ansfield
86702ed949 Memoized member stats with expiration
no issue

- added a `member-stats` service to keep member stats state outside of the chart component's lifecycle
- returns memoized member stats when fetching if the query hasn't changed and the data is less than a minute old
- reduces potentially heavy network requests when quickly navigating between members list and other screens
2020-05-26 17:17:52 +01:00
Daniel Lockyer
b7b6c4b1b7 v3.17.1 2020-05-26 15:55:45 +01:00
Kevin Ansfield
16d34725af 🐛 Fixed members import not showing upload modal
no issue

- template was not renamed correctly in a758d99dc7
2020-05-26 15:49:48 +01:00
Kevin Ansfield
91873d1857 Improved number formatting in members screen
no issue

- added `format-number` helper that uses browser's built-in `toLocaleString()` method to format numbers such as adding commas or periods to improve number readability (`123,000` instead of `123000`)
- updated members chart totals to use the helper
- replaced direct `.toLocaleString()` usage with the new helper so we can change global number formatting if needed
2020-05-26 14:40:03 +01:00
Daniel Lockyer
f4c360b818 v3.17.0 2020-05-26 14:03:34 +01:00
renovate[bot]
780d8cdf8b Update dependency ember-assign-helper to v0.3.0 (#1577)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-26 12:56:41 +01:00
Kevin Ansfield
68fc08cce2 Disabled mirage in development
no issue

- Ghost's API now provides the live members stats endpoint
2020-05-26 12:26:04 +01:00
Kevin Ansfield
26f3d48f5d Updated members screen to work with final stats API naming
refs 071ab9774b

- stats API uses snake_case rather than camelCase to be consistent with the rest of Ghost's APIs
2020-05-26 12:26:04 +01:00
Renovate Bot
0dbff6518d Update Test & linting packages 2020-05-25 11:16:25 +00:00
Kevin Ansfield
fb1c048f24 Removed "members" from mocked stats API payload property names
no issue

- removes duplication from property names as the "members" part is implicit from the resource name
2020-05-25 10:35:39 +01:00
Kevin Ansfield
8c19ea9cf9 Updated <GhMembersChart> to fetch stats from the API
no issue

- added mocked API for `/admin/members/stats/` that generates random data for the chart
- re-architected `<GhMembersChart>` to fetch data from the API rather than calculating stats from all members loaded in memory
- enabled mirage in development so that the chart can be tested before the live API is ready
2020-05-22 17:58:45 +01:00
Kevin Ansfield
3a6550b7c4 Linked label dropdown in members screen to paginated list loading
no issue

- moved model loading back into the route
- updated model loading to refresh correctly when `label` query param changes
- fixed infinite loading/"no members" display in members list by using the `members.loading` property that `ella-sparse` gives us (previously we'd never leave the loading display because `this.members.length` would be 0)
- changed the members nav link to reset query params only if it's clicked whilst on the members screen - matches posts/pages behaviour and lets you navigate without having to re-enter your filter/search
2020-05-22 17:58:45 +01:00
Renovate Bot
59670d950b Update dependency ember-power-select to v4.0.2 2020-05-22 15:16:58 +00:00
Kevin Ansfield
03d4c55a8e Fixed dropdown styling for content filter and members chart timeframe
refs 654d373655

- `<PowerSelect>` no longer has it's own wrapper element so `@classNames=` has no effect and needs to be added to an explicit wrapper element
2020-05-22 11:38:50 +01:00
Kevin Ansfield
18a910d2ab Fixed redirect after saving member in "old" member screen
no issue

- changed the `replaceRoute` after saving to transition to the `member-old` route instead of `member` route
- updated tests to work with the old routes (for now)
2020-05-22 10:50:12 +01:00
Kevin Ansfield
7e7bca7ff0 Added loading state for member list rows
no issue

- with the sparsely loaded list you can scroll to an area which is being loaded in the background
- if a list row is being loaded, display a "loading" version of the row so it doesn't look like you're stuck on a blank screen
2020-05-22 09:31:17 +01:00
Nazar Gargol
5d59670ac3 Fixed browser URL syncronization with embeded iframe state
no issue

- Opted in to use explicit `hisotry.replaceState` and setting iframe's `src` using assignment instead of tracking it through computed property. This allows for tighter control over when iframe's history is updated which was causing problems when `src` was bound to computed property
- Added billing page metadata. This way browser history records appear with nicer signature
- Removed "update button" iframe and rewrote "global iframe" to not use modals. This allows to have single iframe on a page, which simplifies `postMessage` communication and preserve history inside iframe to be able to navigate it after closure
- Added route change handler responding to BMA app route changes. Allows to sync browser URL visible to the user with active route in BMA iframe. The sync is based on `hisory.replaceState` method that makes sure singular history records are kept in the browser history
- Added nested wildcard billing route. This is meant to catch all the nested routes inside of BMA iframe
2020-05-22 14:44:37 +12:00
Kevin Ansfield
5a1b3d90fb Updated members list to use paginated loading
no issue

- disabled members search/filter/chart as they won't work without all members loaded into memory (they will be added back later)
- added `ember-ella-sparse` to handle a sparse array of members
- updated `fetchMembersTask` to return a sparse array instance
- updated components that work on a `member` instance to use `.get` because all items in a sparse array are proxy objects
- changed list loading behaviour to not refresh the list from the API unless the client-side list is more than a minute old - allows for much snappier nav between list and details screens
2020-05-20 16:39:32 +01:00
Kevin Ansfield
f0e359be11 Refactored members routes
no issue

- moved labels fetching into the controller to unify members+labels loading approaches
- removed unnecessary `deactivate` hook on members route because the label form component already rolls back the model attributes when it's destroyed
- unified non owner/admin redirect approach across members and member routes
2020-05-20 16:39:31 +01:00
Kevin Ansfield
3cc10bfa83 Updated members routes/controllers with Octane idioms
no issue

- ran [`ember-native-class-codemod`](https://github.com/ember-codemods/ember-native-class-codemod) on members-related files
- updated files to remove need for `@classic` decorator where possible
    - switched to tracked properties
    - removed usage of `this.get/set/toggleProperty` etc
- swapped usage of `{{action 'foo'}}` for `{{this.foo}}`
2020-05-20 16:39:31 +01:00
Kevin Ansfield
a758d99dc7 Swapped duplicated members files from -dev to -old
no issue

- allows continued development on the "original/non duplicated" files to better preserve git history once the `-old.*` files are deleted
2020-05-20 16:39:31 +01:00
Fabien O'Carroll
c899af36b4 Hid Stripe apikey form if stripeDirect: false
no-issue

We are going to keep the UI as a fallback in future. Eventually this
`if` will include an `else` block rendering a Stripe Connect button.
2020-05-20 16:49:00 +02:00
Kevin Ansfield
055674af77 Fixed missing CSS styles in production builds
no issue

- some styles such as `border: none` inside `.gh-btn-white` were being stripped when ran through `clean-css` leading to visual differences between development and production
- disabled `ember-cli`'s default CSS minification as we already use `cssnano` for minification in our postcss pipeline for both dev and prod builds
2020-05-20 11:05:30 +01:00
Peter Zimon
4f2ed1bcec Removed test email function from Labs
no refs.
- removes leftover test email section from Labs to resolve a lot of confusion around it
2020-05-20 11:34:56 +02:00
Peter Zimon
66781a32ca Fixed FF dropdown visual bug
no refs.
- fixes double border visual bug in Firefox
2020-05-20 09:49:12 +02:00
Daniel Lockyer
68a799dd92 v3.16.1 2020-05-20 07:30:34 +01:00
Renovate Bot
0268b402d9 Update dependency pretender to v3.4.3 2020-05-19 16:23:14 +00:00
renovate[bot]
f97fa03ff9 Update dependency ember-cli-babel to v7.20.0 (#1574)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-19 17:22:46 +01:00
Kevin Ansfield
598a327d6e Duplicated members screens for development experiments
no issue

- members screens will be undergoing heavy development to change how underlying data loading works
- duplicated all related screens and components so that development can occur behind the `enableDeveloperExperiments` flag without breaking the existing screens
- added "Members (dev)" link to the duplicate screens in nav bar when `enableDeveloperExperiments` is on
2020-05-19 16:18:30 +01:00
Aileen Nowak
6ab565e14e Updated Pacific theme screenshot
no issue

Updated screenshot, as the theme look has changed
2020-05-19 14:10:35 +12:00
Daniel Lockyer
bf7aa833c6 v3.16.0 2020-05-18 14:43:53 +01:00
Kevin Ansfield
481bdfbe1a Fixed saving of custom views expansion state
no issue

- if `user.accessibility` is `null` as it is for newly created users then toggling the expansion state of custom views menus failed to save because we were assuming there was an object available
2020-05-18 13:45:59 +01:00
Kevin Ansfield
e7b198df4a Fixed initial animation of custom views expansion
no issue

- apply defaults during service initialisation so that `navigation.settings.expanded.posts` doesn't start out as "undefined" then transition to "true" on first render resulting in unnecessary animation in the sidebar
- speeds up acceptance tests which no longer need to wait for animation to complete before continuing
2020-05-18 13:42:01 +01:00
Kevin Ansfield
e721bca2d9 Fixed delete button in token select inputs
refs 654d373655

- ember-power-select switch to Glimmer components meant that our mousedown handler that was going through Ember's event bus was firing after the EPS events which trigger dropdown open/close and therefore not triggering the delete action
2020-05-18 13:33:21 +01:00
Kevin Ansfield
09435ecf76 Co-located component template files
no issue

Keeps component JS backing files and template files in the same directory which avoids hunting across directories when working with components. Also lets you see all components when looking at one directory, whereas previously template-only or js-only components may not have been obvious without looking at both directories.

- ran [codemod](https://github.com/ember-codemods/ember-component-template-colocation-migrator/) for app-level components
- manually moved in-repo-addon component templates in `lib/koenig-editor`
- removed all explicit `layout` imports as JS/template associations are now made at build-time removing the need for them
- updated `.embercli` to default to new flat component structure
2020-05-18 13:14:08 +01:00
renovate[bot]
fe96ce7915 Update dependency ember-infinity to v2.1.2 (#1573)
* Update dependency ember-infinity to v2.1.2
* updated gh-infinity-loader template to match ember-infinity default template

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-05-18 09:06:04 +01:00
renovate[bot]
44f15bb299 Update dependency ember-source to v3.18.1 (#1571)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-18 08:01:48 +01:00
renovate[bot]
29c966c3ee Update dependency ember-useragent to v0.10.0 (#1572)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-18 07:57:36 +01:00
renovate[bot]
ab65537b31 Update dependency autoprefixer to v9.8.0 (#1570)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-18 07:56:44 +01:00
Renovate Bot
e8a7dba233 Update dependency ember-source to v3.16.8 2020-05-18 00:15:09 +00:00
Kevin Ansfield
fa17efb966 Lock file maintenance 2020-05-17 23:05:58 +01:00
renovate[bot]
5e574946fb Update dependency eslint to v7 (#1566)
* Update dependency eslint to v7

* Fixed linting errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-05-17 22:53:37 +01:00
renovate[bot]
7b9c6bf797 Update dependency blueimp-md5 to v2.16.0 (#1569)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-17 22:43:28 +01:00
Kevin Ansfield
e35b6489c8 Removed ember-source from renovate ignore list
no issue

- `ember-power-select` has been upgraded which was the blocker for ember-source upgrade
2020-05-17 22:37:51 +01:00
renovate[bot]
654d373655 Update dependency ember-power-select to v4 (#1528)
* Update dependency ember-power-select to v4
* Fixed trigger component override collision when building

- move the "override" into our own namespace
- update all `<PowerSelect>` usage to explicitly reference our customised trigger component

* Bumped ember-power-datepicker

- bumps `ember-basic-dropdown` sub-dependency
- resolves "Error: Could not find module `ember-compatibility-helpers` imported from `@glimmer/component/index`"
- https://github.com/cibernox/ember-basic-dropdown/issues/551

* Updated trigger to use class syntax

- it's not possible to use `.extend()` on an imported class

* Updated <GhBasicDropdown>

- match updated ember-basic-dropdown code

* Added `autofocus` modifier

- added `ember-modifier` dependency so that we can create our own render modifiers

* Updated <GhSearchInputTrigger> to a glimmer component

* Updated gh-token-input components

* Fixed tests

- wrap `<PowerSelect>` with `<div>` to maintain test selectors
- fixed `<GhBasicDropdown>` not rendering anything due to not having a local template

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-05-17 22:35:53 +01:00
renovate[bot]
29a388ad27 Update dependency ember-infinity to v2.1.1 (#1484)
no issue

- fixed template reference
- updated template to match upstream's use of render-modifiers
- removed silencing of `isVisible` deprecation

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-12 09:05:17 +01:00
Kevin Ansfield
59a15a0895 Fixed incorrect validation when member's name is too long
no issue

- the email length validation was conditional on `member.name` rather than `member.email` so if the name was too long both name and email were marked as invalid
2020-05-11 11:40:38 +01:00
Kevin Ansfield
07f24e69f6 Reduced unnecessary waiting in tests
no issue

- fixed `<GhTaskButton>` not resetting after an externally triggered task run such as when pressing Cmd+S
- cleaned up manual timeouts/resets where button reset is now fully handled by `<GhTaskButton>` (these were causing 2.5s waits each time a save occurred in acceptance tests)
- where manual timeouts were required, reduce testing time from >2.5s to 50ms
2020-05-11 11:37:35 +01:00
Kevin Ansfield
8d96b2f610 Update dependency eslint-plugin-ghost to v1.4.1
no issue

- enables `prefer-ember-test-helpers` rule
- fixes single linting error from the new rule
2020-05-11 10:20:03 +01:00
renovate[bot]
23434dbd21 Update dependency ember-cli-moment-shim to v3.8.0 (#1567)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-11 09:02:39 +01:00
renovate[bot]
c19c066de7 Update dependency blueimp-md5 to v2.15.0 (#1565)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-11 09:00:27 +01:00
Renovate Bot
89f17dbe99 Update dependency broccoli-funnel to v3.0.3 2020-05-11 00:16:04 +00:00
Renovate Bot
6880a767c7 Update dependency ember-cli-htmlbars to v5.1.2 2020-05-08 15:12:18 +00:00
renovate[bot]
39b80798ed Update dependency ember-cli-htmlbars to v5 (#1559)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-08 13:00:28 +01:00
renovate[bot]
857e8b3a8a Update dependency ember-cli to v3.18.0 (#1558)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-08 12:59:57 +01:00
Daniel Lockyer
0d2967eeed v3.15.3 2020-05-08 12:17:17 +01:00
renovate[bot]
4dbaa3a3da Update dependency blueimp-md5 to v2.14.0 (#1557)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-08 12:07:49 +01:00
renovate[bot]
de60331bd9 Update dependency ember-test-selectors to v4.1.0 (#1564)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-08 12:06:29 +01:00
Liam Williams
06531daf85 🐛 Fixed unselectable routes files in macOS Safari (#1472)
closes TryGhost/Ghost#11472

- adds an explicit `.yaml` to the `accepts` attribute of the routes file uploader to work around Safari only allowing `.yml` to be selected when given the yaml mime type
2020-05-08 12:05:55 +01:00
Kevin Ansfield
a30f0b2851 💄 Adjusted email previews to better represent email behaviour of embed cards (#1554)
no issue

- added `sandbox` attribute which blocks scripts from running inside the iframe
- results in better representation of how embeds will render in emails where scripts are not allowed
2020-05-08 11:54:18 +01:00
Daniel Lockyer
574557dbb2 v3.15.2 2020-05-07 21:59:02 +01:00
Daniel Lockyer
2e3f9fe6f6 v3.15.1 2020-05-07 10:52:18 +01:00
Kevin Ansfield
b5e5469410 🐛 Fixed autofocus on password reset screen
no issue

- autofocus was running on both inputs so the "confirm" input was winning out
- updated copy
2020-05-07 10:33:27 +01:00
Renovate Bot
0ea722f647 Update dependency ember-cli-postcss to v6.0.1 2020-05-06 23:14:55 +00:00
Kevin Ansfield
5b17a70e8b Update dependency eslint-plugin-ghost to v1.4.0
no issue

- applies fixes for new/updated rules
- disables `ember/no-mixins` rule as we're not able to migrate away yet
2020-05-06 18:07:01 +01:00
Daniel Lockyer
c2d1e17e58 v3.15.0 2020-05-06 13:43:38 +01:00
Rish
141be13315 Fixed typo in regenerate modal
no issue
2020-05-06 12:48:20 +05:30
Rish
0daf5c1883 Cleaned key regeneration message for Zapier on route change
no issue

- After a successful key regeneration, the success message stayed in Zapier integration even on navigating away to different page, this clears up any message state on away transition
2020-05-06 12:43:29 +05:30
Rish
6b90aafd20 Added regenerate copy tweak for internal Zapier integration
no issue

- Updates dialog copy for confirmation of regenerating internal Zapier integration admin key
2020-05-06 12:36:43 +05:30
Peter Zimon
ae1afac049 Added tooltips for regenerate buttons
no issues.
- added tooltip for icon-only regenerate button in custom integrations and Zapier details screen so that users understand what the button does
2020-05-06 09:02:39 +02:00
Rishabh Garg
2b961df4cb Added regenerate button to integration api keys (#1562)
no issue

- Adds new regenerate button for refreshing custom integration's admin and content api keys
- Adds new regenerate button for refreshing internal Zapier integration's admin key
- Regenerates content or admin API key after confirmation and shows user new key
2020-05-05 23:44:45 +05:30
Peter Zimon
b6aa2ff41f Fixed copy for password reset instructions
no issues.
2020-05-05 15:58:56 +02:00
Nazar Gargol
47a4b9c433 Refactored check with regexp to error type checking
- Changed as per review here: https://github.com/TryGhost/Ghost-Admin/pull/1560#discussion_r420040384
2020-05-06 00:05:19 +12:00
Peter Zimon
39addff34f Added special view for "locked" users when they fail signin (#1561)
refs https://github.com/TryGhost/Ghost/pull/11790

- After user fails to signin due to "locked" being locked a new view with automatic email message and more instructions will be shown to make the password reset process easier.
- Refined instructions screen
- Added icon + animation
- Refined copy

Co-authored-by: Nazar Gargol <nazargargol@gmail.com>
2020-05-05 23:27:19 +12:00
Kevin Ansfield
76cbdbaee7 🐛 Improved scrolling of members screen in Firefox
refs https://github.com/TryGhost/Ghost/issues/11755

- adjusted estimated height to match actual rendered size and enabled `staticHeight` to switch to a simpler algorithm inside vertical-collection
- prevents some jank seen when scrolling where rows jump
2020-05-01 18:17:47 +01:00
Nazar Gargol
14122fdb39 Added response parameter to postMessage data
no issue

- The 'response' property is needed to make the receiving client generic in regards of what data format has to be returned as a result of the call. For example with this change the 'response: subscription' meant there should be an incoming 'message' event as a response to this call with 'subscription' key into it's data
2020-05-01 17:34:55 +12:00
Renovate Bot
0ec853299e Update dependency @tryghost/kg-parser-plugins to v0.10.1 2020-04-30 13:20:31 +00:00
Renovate Bot
7678938984 Update dependency @tryghost/kg-clean-basic-html to v0.1.9 2020-04-30 11:05:45 +00:00
Renovate Bot
2a2d14a74e Update dependency broccoli-concat to v4.2.4 2020-04-30 09:50:42 +01:00
Daniel Lockyer
6584123b97 Removed broccoli-concat from Renovate blacklist
no issue

- originally added because of https://github.com/broccolijs/broccoli-concat/issues/149, but this _should_ be fixed now
2020-04-30 09:35:58 +01:00
Kevin Ansfield
9582b9ea2f Fixed embed card sizing for Vimeo embeds with larger thumbnails
no issue

- we're adjusting the oembed endpoint to fetch larger thumbnails if possible and that results in Vimeo embed iframes being larger than the editor width which created large blank spaces above/below the video due to the iframe height not adjusting correctly
- in the embed card's resize routine, if we look for an embedded iframe and find a width/height attribute then we can use the aspect ratio to assign the correct height for the outer and inner iframes
2020-04-30 09:07:04 +01:00
renovate[bot]
453c6e777f Update dependency ember-data to v3.18.0 (#1553)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-29 10:48:58 +01:00
Kevin Ansfield
4ba1bb0e16 Added oembed metadata to embed card payloads
refs https://github.com/TryGhost/Ghost/issues/11756

- we'd like to render fallbacks for embed cards in constrained environments such as emails where the `html` contents may not be suitable
- oembed gives us data to be able to create fallbacks this such as a `thumbnail_url`, author information, and sizing but we were not storing it
- this change removes the `html` and `type` data from the response object as the existing top-level payload properties then stores the remainder of the response under a `metadata` property
2020-04-29 10:43:03 +01:00
Renovate Bot
9de0f1f4c1 Update dependency ember-data to v3.17.1 2020-04-28 17:31:55 +00:00
Kevin Ansfield
b5a2053618 Lock file maintenance 2020-04-28 16:49:08 +01:00
Peter Zimon
be99251f7f 💄 Improved members chart Y range
no issue.

- improved the Y axis of members list chart to only take the visible range into consideration. This way the change in a period is more understandable
- added labels to Y axis so that the range is clearer
2020-04-28 13:59:45 +02:00
Kevin Ansfield
fa9445d1ab Fixed invisible button text when toggling image card alt button
no issue

- `bg-white` was a default style but has a higher specificity than `bg-blue` used when active so the blue background wasn't taking effect
2020-04-28 09:48:00 +01:00
renovate[bot]
fd07e4a87f Update dependency testem to v3.1.0 (#1550)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-28 08:47:16 +01:00
Peter Zimon
21f7013c38 Set auto reset for impersonate copy link button
no issue.
- updated copy link button in member impersonate modal to auto reset after clicked so that people understand they can click the button again plus it's consistent with all other task buttons
2020-04-27 16:49:15 +02:00
Daniel Lockyer
34d530ab86 v3.14.0 2020-04-27 13:27:51 +01:00
Kevin Ansfield
842c3ffd93 Added "Email" card for inserting content that only appears when emailing posts to members
no issue

- any content inside the email card will not appear on the site, instead it will only be shown when using the members system to email the post to your members
- can `{first_name}` or `{first_name, "fallback"}` to personalise the email content for each member
2020-04-27 13:13:00 +01:00
Peter Zimon
ab8ef7f422 Updated email card help link
no issues.
- updated email card to point the help icon to its final page
2020-04-27 11:02:23 +02:00
Rish
08458f74a9 💄 Added reset behavior for test email newsletter button
no issue

This change adds auto-reset behavior to test email newsletter button by resetting it to default state - "Send test email" - after sending an email newsletter. Previously the button stayed in "Email sent" state after sending email which can be misleading when trying to send another test mail.
2020-04-27 11:39:18 +05:30
Kevin Ansfield
f26b27a44f Fixed publish menu tests
refs 9074181461

- the publish menu button text will now reset and because tests wait for all timers to finish before continuing the button text we're checking against has changed
2020-04-23 21:11:04 +01:00