Commit Graph

8825 Commits

Author SHA1 Message Date
Peter Zimon
4d81b40573 Added Headline theme to design settings 2022-03-21 10:45:32 +01:00
Daniel Lockyer
691f2fc64e Deduped dependencies via yarn-deduplicate
refs ce81d907b6
refs 8b5b0b12e8

- we've added some Renovate config to run this automatically but we
  should run this manually first so the first dependency bump won't
  contain extraneous cleanups
2022-03-21 09:20:44 +00:00
Daniel Lockyer
a6950c9f3f Updated lockfile v2
- not sure why these changes weren't picked up before
2022-03-21 09:20:03 +00:00
Daniel Lockyer
835fa044ec Updated lockfile 2022-03-20 19:21:37 +00:00
renovate[bot]
7d29b66ab6 Update dependency ember-simple-auth to v4.2.1 (#2305)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 18:43:40 +00:00
renovate[bot]
95217fc07b Update dependency @joeattardi/emoji-button to v4.6.4 (#2308)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 18:43:22 +00:00
renovate[bot]
e2e28c74a5 Update dependency papaparse to v5.3.2 (#2304)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 18:42:42 +00:00
renovate[bot]
622711038a Update dependency @tryghost/members-csv to v1.2.8 (#2302)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 18:42:15 +00:00
renovate[bot]
98e6ed6b5e Update dependency @tryghost/timezone-data to v0.2.60 (#2301)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 18:42:03 +00:00
renovate[bot]
3245edf710 Update dependency @tryghost/color-utils to v0.1.12 (#2299)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 18:41:43 +00:00
Thibaut Patel
a47b61c1d4 Added canceled subscriptions in member detail screen (#2287)
refs https://github.com/TryGhost/Team/issues/1141

Showing canceled subscriptions provide a more complete picture of the activity of a member.

- Given there is no `member.product` object when a subscription is canceled, use the `member.subscriptions.price.product` objects instead of `member.products`.
- applied boy-scout rule for linter errors and and code formatting
- removed `multipleTiers` flag conditionals as it's now GA
- set up subscriptions as a separate mirage resource so they are easier to work with
    - updated `PUT /members/:id/` endpoint to match real API's complimentary subscription behaviour
    - modified mirage member serializer to match API output

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
2022-03-18 16:15:42 +00:00
Daniel Lockyer
2fd52f009d v4.40.0 2022-03-18 16:00:40 +00:00
Kevin Ansfield
091ae194bf 🐛 Fixed duplicate email open rate column when filtering members by open rate
no issue

- email open rate is shown by default so we don't need to add the column a second time when the list is filtered by that data
- added `email_open_rate` to the default columns list so it's ignored when adding any filtered-by columns
2022-03-17 09:29:15 +00:00
Matt Hanley
b0bd691d52 Merged v4.39.1 into main
v4.39.1
2022-03-16 14:48:44 +00:00
Daniel Lockyer
d2eee5b7a5 v4.39.1 2022-03-16 14:47:02 +00:00
Kevin Ansfield
129d202595 🐛 Fixed slow loading and high memory usage of members list screen
refs https://github.com/TryGhost/Team/issues/1423

- problem:
  - all members requests were automatically adding `?include=email_recipients` as the email recipients relationship was set up to be always embedded
  - embedded email_recipient records also embed the whole email record
  - on the members index screen this meant for each of the 50 members loaded on a page we were also loading every email they have ever received resulting in a huge API response
  - this was not a problem previously because the API was ignoring the `include` parameter on the browse endpoint and Admin wasn't formatting the include properly in snake_case
- solution:
  - the only place we need associated email recipients is on the member details screen where they are used to show the email activity feed
  - removing the `{embedded: 'always'}` option for the `member.emailRecipients` association stops `?include=email_recipients` being added automatically to every members request
  - the member details screen explicitly adds `?include=email_recipients` so no further changes are needed
  - activity feed will be changing to use proper event objects in the future and further optimisation can be made
2022-03-16 14:33:56 +00:00
Peter Zimon
004a483bb1 Fixed unsplash icon positioning in design settings 2022-03-16 08:51:14 +01:00
Kevin Ansfield
fcb27507d3 🐛 Fixed slow loading and high memory usage of members list screen
refs https://github.com/TryGhost/Team/issues/1423

- problem:
  - all members requests were automatically adding `?include=email_recipients` as the email recipients relationship was set up to be always embedded
  - embedded email_recipient records also embed the whole email record
  - on the members index screen this meant for each of the 50 members loaded on a page we were also loading every email they have ever received resulting in a huge API response
  - this was not a problem previously because the API was ignoring the `include` parameter on the browse endpoint and Admin wasn't formatting the include properly in snake_case
- solution:
  - the only place we need associated email recipients is on the member details screen where they are used to show the email activity feed
  - removing the `{embedded: 'always'}` option for the `member.emailRecipients` association stops `?include=email_recipients` being added automatically to every members request
  - the member details screen explicitly adds `?include=email_recipients` so no further changes are needed
  - activity feed will be changing to use proper event objects in the future and further optimisation can be made
2022-03-15 18:26:24 +00:00
Peter Zimon
c4644ca7a9 Changed default offer display title 2022-03-15 12:31:27 +01:00
Kevin Ansfield
4e1f292c74 Revert "Removed unused modal files"
This reverts commit 1b4126b6f0.

- this was in error, `settings/members/archive-tier` wasn't a modal file
2022-03-14 12:38:39 +00:00
Kevin Ansfield
85d7932e45 Resolved deprecation warnings for dynamic modal component binding (#2303)
refs https://github.com/TryGhost/Team/issues/559
refs 054a5f15f5

- with the update of `ember-promise-modals` we started to get deprecation warnings when using `modals.open('modal-component-name')`
  - upcoming Ember build updates will introduce tree shaking but using run-time lookup of modal components by name works against that because it's not statically analysable
- switched to importing components and passing the component class directly, eg. `modals.open(ModalComponent)`
- standardized modal component class names with a `MyModal` style to get better behaviour in code editors when it auto generates imports
- dropped the modal defaults from the modals service because we can now use a static `modalOptions` property on the modal components themselves when we want to override the defaults
2022-03-14 10:52:04 +00:00
Kevin Ansfield
32658c25c2 Fixed linter errors in <ModalProduct> template
no issue

- dropped unnecessary/invalid nested `<form>` elements
2022-03-14 10:51:19 +00:00
Kevin Ansfield
7374b0f8c6 Fixed errors thrown in tests that were causing random failures
no issue

- dropped `id` attribute added to `<GhBenefitItem>` because it was only using the index resulting in multiple `id="1"` on the page which is invalid HTML and caused Glimmer to complain
- added a check for `portalPreviewIframe` existence when the portal message listener in the offer controller is fired because it was occurring out of sync with the tests and throwing async errors that were picked up in random later tests
2022-03-14 10:28:58 +00:00
Kevin Ansfield
0be1f206a5 Removed unused modal-custom-view-form.js file
no issue

- the `custom-view-form` modal has been migrated to the newer modal style but the original modal's component file wasn't cleaned up
2022-03-14 10:00:40 +00:00
Kevin Ansfield
1b4126b6f0 Removed unused modal files
no issue

- we had two archive-tier modals with the version living in `modals/tiers/archive` being the only one used
2022-03-14 09:46:49 +00:00
Kevin Ansfield
4d8c12d2b8 Fixed sticky URL when using Escape to close view theme modal
no issue

- we were missing handling for the view-theme modal being closed outside of a route transition meaning the URL would stay on `/settings/design/view-theme/Theme` even though it's the index that was shown, preventing the same theme being viewable again and back/forward behaving as expected
2022-03-11 19:14:16 +00:00
Kevin Ansfield
4db4233b87 Fixed integration edit page not showing after creating new integration
refs 054a5f15f5

- `beforeClose` behaviour has changed slightly with the upgraded ember-promise-modals
- added a guard for the modal existing when transitioning back to the integrations index screen, this makes sure we're not transitioning back to the index screen after the modal has already initiated a transition to the integration edit screen
2022-03-11 19:10:44 +00:00
Kevin Ansfield
054a5f15f5 🐛 Fixed scheduled date/time inputs not being focusable when used from post preview modal
closes https://github.com/TryGhost/Ghost/issues/14296

- bumped fork of `ember-promise-modals` as newer version exposes all focus-trap options and per-modal disabling
- disabled focus-trap for the post preview modal because it was preventing clicks on the input elements performing default behaviour
2022-03-11 17:58:20 +00:00
Daniel Lockyer
042538ba2d v4.39.0 2022-03-11 16:00:27 +00:00
Rishabh Garg
6c6447ef4f Removed multiple tiers beta section (#2298)
refs https://github.com/TryGhost/Team/issues/1267

Multiple tiers is now available for all sites by default, so there is no need anymore for the beta section to enable it.
2022-03-11 20:14:47 +05:30
Sanne de Vries
bb7b388465 Fixed test 2022-03-11 12:52:30 +00:00
Sanne de Vries
b530df1e39 Directed selfhosters to 'done' screen after setup 2022-03-11 12:42:06 +00:00
Kevin Ansfield
134cd17649 Fixed flash of "No members" state when opening publish menu
no issue

- removed the count task state from the `disableEmailOption` getter so it doesn't get used to show the "Add members" notification before the count request has finished
2022-03-11 11:35:39 +00:00
Kevin Ansfield
bc5ddd9921 Resolved linter errors in <GhMembersRecipientSelect>
no issue

- fixed duplicate `id` attribute on the specific people checkbox
- switched toggle behaviour from a click event on the surrounding div to a change event on the checkbox
  - the surrounding `<label>` has appropriate `for` attribute so it acts as the click-to-change target
- added `aria-label` attributes to the checkboxes because the label element we're using does not surround any content that labels the checkbox
2022-03-11 11:06:13 +00:00
Kevin Ansfield
f0418266f4 🐛 Fixed "Must be in the past" error when closing and re-opening publish menu whilst scheduling
closes https://github.com/TryGhost/Team/issues/1399

- the publish/schedule save type was not being reset when closing the publish menu, even though the underlying post publish date _was_ reset leading to the publish menu and the post state being out of sync
- added a reset of the save type when closing the menu, this means "schedule" will need to be re-selected when re-opening the menu but that follows the same behaviour as the reset of the publish menu options
2022-03-11 10:13:08 +00:00
Sanne de Vries
118e5b40ca Fixed subtitle alignment issue on setup 2022-03-10 22:00:42 +00:00
Kevin Ansfield
b373109b16 Updated members bulk-delete test for change of default filter
refs 79afb5fc9c
refs 652fc883d7

- test was set up expecting "Label" to be the default filter shown when opening the members filter UI but it's been changed to "Name" which is no longer behind a labs flag
2022-03-10 17:05:15 +00:00
Kevin Ansfield
79afb5fc9c Added "Name" and "Email" filters to members screen
closes https://github.com/TryGhost/Team/issues/1408
closes https://github.com/TryGhost/Team/issues/1409

- adds new text-based filters that match against member names and emails that allows more specific filtering than search
  - new filter operators introduced for "contains", "does not contain", "starts with", and "ends with"
2022-03-10 16:45:24 +00:00
James Morris
a5002e8765 Increased size of members filters to better include all choices
refs: https://github.com/TryGhost/Team/issues/1418
2022-03-10 16:19:31 +00:00
Kevin Ansfield
e6b02fb416 Deleted unused get-started modal code
refs https://github.com/TryGhost/Team/issues/1412

- we've switched to a full "done" page instead so the now-unused modal and related styling can be cleaned up
2022-03-10 16:13:50 +00:00
James Morris
4ec15f7323 Tweaked visual things for polish with Activity
refs: https://github.com/TryGhost/Team/issues/1373

- Simplify the member details link on single member activity
- Adjust all the activity scrolling to work better at all sizes
- Make the header work properly with truncating at narrower viewports
- Remove unnecessary CSS and classes
- Remove the top line from the member detail box
- Move the member detail box so it stays when scrolling
- Make the empty state work with new member detail box position
- Better scrolling full width whilst not having full width like members
- Fix the subscriptions event icon which was a white box in dark mode
- Adjustments to global gh-list-scrolling styles at narrower viewports
- Test fully on narrower viewports and major browsers
2022-03-10 15:24:38 +00:00
Kevin Ansfield
12729bb469 Improved authentication timing in setup flow
https://github.com/TryGhost/Admin/pull/2286

- `session.authenticate()` returns from it's promise as soon as the authenticate request is completed but it was assumed that it returned after the `session.handleAuthentication()` promise was also completed. A side-effect of that was that depending on network timing, the setup flow could transition to the dashboard before we had loaded all of the necessary user, config, and settings requests
  - normally that's not a problem because `handleAuthentication()` kicks off a transition once authentication is fully complete, in the setup flow we're handling the transition manually so need a way to manage the full async flow from outside of the session service
  - it didn't show up as a problem previously because the setup flow transitioned to a third setup screen that didn't require all of the post-auth data to exist
- moved the async parts of `session.handleAuthentication()` into a task and updated to return the currently running task instance if one was already running
  - lets code that is relying on the full authentication flow to have completed call `await this.session.handleAuthentication()` without causing a double-load of the post-auth API requests
- updated setup flow
  - removed manual `session.populateUser()` call as that was a workaround for the async timing issue and caused a double-fetch of the current user API endpoint
  - added an `await this.session.handleAuthentication()` call to the manual post-auth handler so we don't transition until the full auth flow is complete
2022-03-10 11:53:37 +00:00
James Morris
b8f5fad9fe Updated the copy for All Done screen
refs: https://github.com/TryGhost/Team/issues/1376
2022-03-10 11:50:35 +00:00
Kevin Ansfield
7f3976868f Updated .lint-todo file 2022-03-09 17:32:14 +00: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
e0f1271a31 Reduced Activity on Dashboard down to 5 from 10
refs: https://github.com/TryGhost/Team/issues/1373

- reduced from 10 to 5 to keep things visually simpler
- sneaked in a little colour tweak to link on activity member detail header
2022-03-09 17:17:47 +00:00
James Morris
ae9f4a4ac8 Tweaked to slightly improve empty filters on Activity
refs: https://github.com/TryGhost/Team/issues/1373

- nothing much here, just changing where the member detail header renders on activity
- added a little padding to empty states to better vertically center
2022-03-09 17:07:01 +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
Kevin Ansfield
652fc883d7 Changed default member filter to "Name is"
refs https://github.com/TryGhost/Team/issues/1408

- "Name" is the first filter in the list and has a basic value type so it makes sense to make it the default compared to label
2022-03-09 16:52:51 +00:00
Kevin Ansfield
af08f050d3 Added "Email" members filter
refs https://github.com/TryGhost/Team/issues/1409

- added filter property definition using the same "contains" operators and parsing supported added for the "Name" filter
2022-03-09 16:05:28 +00:00