Commit Graph

39382 Commits

Author SHA1 Message Date
renovate[bot]
7f6517fbe8 Update dependency mysql2 to v3.11.2 [SECURITY] 2024-09-25 14:38:19 +00:00
Kevin Ansfield
a996cde39d Fixed flaky member expertise test
no issue

- a change in browser version/dependency versions/playwright/something else has made this test flaky because the reply editor form loses focus when the expertise field gains focus (this doesn't happen in the browser) meaning when we get to our assertions the elements we care about are missing
- forcing focus back puts us into a known state for our assertions
2024-09-25 15:25:34 +01:00
renovate[bot]
1616acc20d Update dependency mysql2 to v3.11.1 [SECURITY] 2024-09-25 12:50:53 +00:00
Daniel Lockyer
9bcca5122a Increased parallelisation of Nx processes
refs https://nx.dev/recipes/running-tasks/run-tasks-in-parallel

- CI has 4 cores and our local machines are also very powerful, so we
  can just set the default parallelisation to higher than is currently
  set to make things run quicker
2024-09-25 14:36:55 +02:00
renovate[bot]
b6e5c0fe68 Update tiptap monorepo to v2.7.2 2024-09-25 12:13:09 +00:00
Djordje Vlaisavljevic
cad5e27de9 Fixed Article feature image not showing up in the feed
ref https://linear.app/tryghost/issue/AP-433/article-feature-image-not-showing-in-the-feed
2024-09-25 10:27:24 +01:00
Daniel Lockyer
eebd198027
Fixed requiring passing tests for canary builds
- this disappeared due to a regression in a previous commit
2024-09-25 10:29:19 +02:00
Daniel Lockyer
5a72c5ad91 Updated Nx to v19
refs https://github.com/nrwl/nx/releases/tag/19.8.0

- this commit updates Nx to v19
- we need to add some extra commands to the dev script to stop and
  restart the Nx daemon, so it's ready and running before we execute a
  bunch of Nx commands concurrently
- this also updates nx.json to the format needed for the latest version
2024-09-25 10:16:08 +02:00
Ronald Langeveld
052ef6971f
🐛 Fixed infinite loops in setFeatureImageCaption for deleted posts (#21081)
ref ONC-364

- Adds a condition to check whether the record is deleted or if deleting
is in progress before firing the `setFeatureImageCaption`.
- Adds tests. Managed to reproduce the issue using tests.
2024-09-25 08:02:38 +00:00
Daniel Lockyer
0187d6b6a2 Fixed versioning and npm visibility for internal apps
- these apps don't need to be published because they're internal and get
  compiled into Admin
- therefore, we can reset their versions back to 0.0.0 and remove the
  publishConfig block so we don't accidentally publish them
2024-09-25 09:09:06 +02:00
renovate[bot]
662d10077f Update dependency html-validate to v8.24.0 2024-09-25 08:23:04 +02:00
Fabien 'egg' O'Carroll
8a1e71a553
Implemented lazy loading for Inbox & Activities (#21106)
closes https://linear.app/tryghost/issue/AP-421

This makes loading the inbox and activity tabs _way_ faster, so we no
longer have to artificially restrict the amount of data coming in, it
also gives us proper pagination for both views.
2024-09-25 12:20:07 +07:00
Chris Raible
0125f52dc4
Added sentry logging to local revisions service for localStorage errors (#21078)
no issue

- Added Sentry logs to capture how often we are running into
`QuotaExceededErrors` when saving local revisions to localStorage, to
help in deciding if localStorage is sufficient, or if we need to expand
to e.g. IndexedDB.
- Also adds some handling to ignore errors when calling
`localStorage.setItem()` elsewhere in the admin app to avoid crashing if
localStorage isn't supported or the quota is exceeded.
2024-09-24 19:39:36 -07:00
Steve Larson
c121149ca3
Added posts restore UI (#21096)
ref https://app.incident.io/ghost/incidents/107
ref cc88757e2a
- added new path in admin `/restore`
- added basic ui for restoring posts from local storage
- added limits for # of revisions for posts with an `id` (5 revisions)

This commit adds a simple UI for restoring posts in case of data loss.
This is a backstop for very rare situations in which it seems Ember gets
into a conflicted state. See ref'd commit for more info. Clicking
'Restore' will create a new post with the saved off content.
2024-09-24 15:01:17 +00:00
Hannah Wolfe
45211b2f4c
Fixed bounce rate on stats page (#21097)
closes
https://linear.app/tryghost/issue/ANAL-81/investigate-bounce-rate-looks-incorrect

- Think I've figured out what was wrong
- TODO: Figure out TinyBird's test pipeline, so we can verify this
2024-09-24 15:52:57 +01:00
Hannah Wolfe
7e27b1cb36
Clickthrough filtering for stats page (#21095)
closes
https://linear.app/tryghost/issue/ANAL-58/click-through-filtering-for-content
closes
https://linear.app/tryghost/issue/ANAL-60/click-through-filtering-for-sources
closes
https://linear.app/tryghost/issue/ANAL-61/click-through-filtering-for-locations

- This implements filtering and click-throughs for device, browser,
source, location and pathname.
- It requires significant updates to our tinybird setup, to pass through
all the right data and have them as parameters on the API endpoints
- We update the UI to add query parameters when clicking around and then
pass those through to every chart/request.
- We've added a interface to display the filters and remove them

---------

Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
2024-09-24 15:26:08 +01:00
Hannah Wolfe
5ebdbe4e25
Renamed referrer without www to source in tinybird (#21094)
ref
https://linear.app/tryghost/issue/ANAL-60/click-through-filtering-for-sources

- In our stats page we use the referrer without a protocol or www, that
is the pure domain as our source that we output
- Meanwhile all the data pipelines had the full url as the referrer
passed through
- When we come to add clickthroughs/filtering, we'll need to use this
value to filter the data. If we have a different value locally in the UI
to what is in the DB, we won't be able to make the filters match
- Also, we pay for everything we store, and this removes all the
https:// and www. data
2024-09-24 14:16:50 +01:00
Hannah Wolfe
26e09dd6cc
Added script for unsafe redeploys to tinybird (#21092)
- Whilst we are in development, we can safely make changes to all
aspects of our pipeline without worrying
- This is because currently, it's safe to delete all data and start over
- This script removes everything excepts the analytics_events
datasource, and then recreates everything fresh, repopulating from the
datasource where possible
- This shouldn't be used after tinybird is in production, we need a
better change process
2024-09-24 13:53:19 +01:00
Hannah Wolfe
554920d20b
Shipped sodo-search@1.2.0 (#21090)
- This adds i18n support to search
2024-09-24 13:13:27 +01:00
Daniel Lockyer
0854f8a531 Exported Git commit hash from update script
ref https://linear.app/tryghost/issue/DEV-25/move-version-bumping-logic-into-ghost-repo

- this allows us to re-use the value from outside the script in CI
2024-09-24 14:08:38 +02:00
Hannah Wolfe
2c1d57dcef
Updated stats UI to hide unfinished features (#21089)
ref
https://linear.app/tryghost/issue/ANAL-53/10-stats-page-engineering-stuff

- There are several features that we are yet to implement, the UI is
ready for them
- Hiding the UI in the short term so that it's less confusing what
is/isn't working as we test things
2024-09-24 12:44:38 +01:00
Cathy Sarisky
2a2d7bb9ad
Added i18n support to search - ready for translator work! (#21055)
ref https://github.com/TryGhost/Ghost/issues/16628

This adds translation support to search, which should be the last missing piece of i18n support for Ghost's frontend  🎉
- Translation (t) helper added to sodo-search.
- Ghost head tweaked to include data-locale.
- All (I hope) strings in sodo-search wrapped in the t helper.
- Possibly poor-quality French translation strings added.

---------

Co-authored-by: Vikas Potluri <vikaspotluri123.github@gmail.com>
2024-09-24 12:39:32 +01:00
Hannah Wolfe
e397046fb5
Improved the implementation of the stats page (#21088)
ref
https://linear.app/tryghost/issue/ANAL-53/10-stats-page-engineering-stuff

- All of these changes are intended to improve developer experience
going forward, to make it easier to implement further changes to the
stats page.
- Moved the modal into the stats components, as it has a lot of shared
code, and it makes it easier to update them all
- Removed various comment blocks that were outdated or didn't really add
value
  - Fixed all imports to use the same pattern starting `ghost-admin/`
  - Ensured all the components had the correct name
- Dried up the generation of params for Tinybird charts into a utility
function as we'll need to add several more in the near future
- Tried to use a consistent pattern everywhere for the order of
operations
- Dried up the implementation of technical.js which handles the
device/browser charts
2024-09-24 12:23:27 +01:00
renovate[bot]
31f1d7b464
Update dependency @tinybirdco/charts to v0.2.1 (#20937)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| @&#8203;tinybirdco/charts | [`0.2.0-beta.2` ->
`0.2.1`](https://renovatebot.com/diffs/npm/@tinybirdco%2fcharts/0.2.0-beta.2/0.2.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@tinybirdco%2fcharts/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tinybirdco%2fcharts/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tinybirdco%2fcharts/0.2.0-beta.2/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tinybirdco%2fcharts/0.2.0-beta.2/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 11:08:32 +01:00
Fabien O'Carroll
293a57adc7 Added fallback for Avatars when image loading fails
closes https://linear.app/tryghost/issue/AP-422

We found that some images will 403 when hotlinked, showing broken images, we
can catch these errors and render the default instead.
2024-09-24 16:51:01 +07:00
Michael Barrett
1a6da539b3
Updated activitypub app in preparation for pagination (#21054)
refs
[TryGhost/ActivityPub#44](https://github.com/TryGhost/ActivityPub/pull/44)

To support pagination in the activitypub app, the following changes have
been made:

- Move filtering and sorting of activities to the server
- Refactor how comments are processed (comments are now returned as part
of the activity)
- Refactor how replies to own activities are processed in the activities
tab (removed object map)
2024-09-24 10:46:56 +01:00
Kevin Ansfield
eb3824383b Shipped comments-ui@0.18.0
no issue

- general styling and design updates
2024-09-24 10:46:23 +01:00
Sanne de Vries
d789b7efbf
Updated comment report modal (#21084)
REF PLG-226
- Changed title copy from "You want to report this comment?" to "Report
this comment?"
- Changed button copy from "Report this comment" to "Report"
- Updated styles to be more responsive
2024-09-24 11:13:22 +02:00
Daniel Lockyer
ca691e99e8 Fixed branch name in canary workflow
- `github.ref_name` is a more reliable way to find the branch name than
  we were previously doing
2024-09-24 10:46:44 +02:00
Daniel Lockyer
24447f438e Passed along branch name to canary job
ref https://linear.app/tryghost/issue/DEV-20/faster-builds

- we should pass along the branch name in the metadata field so it's
  more DRY for canary builds in the future
2024-09-24 10:17:22 +02:00
Sag
4dc4b19b09
Released Portal v2.43.2 (#21082)
ref https://github.com/TryGhost/Ghost/pull/21042
2024-09-24 07:49:23 +00:00
Sodbileg Gansukh
2f02ec5566
Added unschedule bulk action to posts (#20945)
ref DES-675
2024-09-24 15:32:45 +08:00
Peter Zimon
8d54e4bf7a
Updated button styles (#21080)
DES-774

- The buttons in the Admin got very diverse over the last couple of
years. This PR updates the styles to use outline buttons, white
background for better contrast and slightly more rounded corners.
Additionally the right click and dropdown menu typography and spacing
has also been updated.
2024-09-24 07:20:20 +00:00
Daniel Lockyer
ae8f8f128b Added version bumping script to repo
ref https://linear.app/tryghost/issue/DEV-25/move-version-bumping-logic-into-ghost-repo

- we're slowly migrating our build code into the OSS repo, which means
  we need to move scripts over
- we have this as a bash script, but I've rewritten it to JS so it's a
  little more maintainable
- this script will just bump the version in the package.json files and
  set the GHA output
2024-09-24 09:11:54 +02:00
renovate[bot]
355793ebd1 Update dependency tailwindcss to v3.4.13 2024-09-24 08:59:06 +02:00
Kevin Ansfield
459a2c553e Added full-page refresh when new post route is in a bad state
ref https://linear.app/tryghost/issue/ONC-323

When the store gets into a bad state for new posts that causes saves to fail we can detect that by looking at the `model.isNew` property. Currently our best approach to fix this state is to restart the app.

- added a `didTransition()` hook to our `lexical-edit.new` route
  - detects the bad state, logs the error, and triggers a browser refresh
  - logs with a `recreatedPostIsGood` property that will let us know if we could instead just try recreating the post and avoiding a full refresh (so far we have no reproduction case so we need to learn what we can)
- added `sinon-chai` dependency for better assertions on spies/stubs
- added `sentry-testkit` dependency so we can test our Sentry integration calls
  - we can't use sinon for these calls because of the way Sentry's es6 imports work
- extracted our full Sentry config object generation to a util function so it can be re-used in unit tests
  - updated our integrations list to disable the default `dedupe` integration because it can cause very unexpected/difficult to debug test failures when you're asserting using `sentry-testkit`
2024-09-23 22:38:34 +01:00
Djordje Vlaisavljevic
f1553c385d Added break-all to links inside notes to avoid overflows
ref https://linear.app/tryghost/issue/AP-412/need-break-all-for-long-strings-in-replies
2024-09-23 21:59:18 +01:00
Djordje Vlaisavljevic
281f497606 Added formatting for numbers in Tab counters and FeedItem stat counters
ref https://linear.app/tryghost/issue/AP-425/use-formatted-numbers-everywhere
2024-09-23 21:59:18 +01:00
Djordje Vlaisavljevic
b7ef6ef521 Added more flexible layout for profile attachments
ref https://linear.app/tryghost/issue/AP-305/profile-viewer-component-that-can-render-activitypub-actor-data
2024-09-23 21:59:18 +01:00
Djordje Vlaisavljevic
2ab618709a Linked timestamps to original post URLs for easier navigation
ref https://linear.app/tryghost/issue/AP-408/add-link-to-original-post-location-in-ui-for-better-navigation
2024-09-23 21:59:18 +01:00
Sag
577362aabf
🐛 Fixed navigations links for Ghost sites hosted on a subdirectory (#21071)
ref https://linear.app/tryghost/issue/ENG-1570

- for a Ghost site hosted on a subdirectory, e.g. `/blog/`, adding a
navigation link to `/blog/page/` was being re-written as `/page/` in Admin settings
- fixed the underlying `formatUrl` utility function and added unit tests
2024-09-23 18:37:05 +02:00
Daniel Lockyer
9093ffbf98 Fixed browser tests incorrectly executing Stripe CLI
- we shouldn't try and load the Stripe CLI via the dev script because
  it's done in the browser tests and involves more setup than the dev
  script contains
- this cuts 2mins from the browser tests because they're no longer
  waiting for the Stripe CLI to be auth'd
2024-09-23 17:43:53 +02:00
Sanne de Vries
0656bd4de8
Added more specificity to newsletter title line-height (#21070)
REF DES-770
- In certain email clients such as Protonmail, the newsletter title
line-height was inherited from the `body` rather than the parent `td`.
This commit adds line-height to the title link explicitly.
2024-09-23 16:29:07 +02:00
Daniel Lockyer
7c346c28eb Enabled Nx caching on main
- we should be able to trust Nx enough that we can sustain the build
  cache across commits, which will speed up the workflow because we
  don't need to rebuild our TS projects all the time
2024-09-23 15:19:31 +02:00
Daniel Lockyer
5791be4937 Merged setup steps in CI
- we don't need these to be separate steps and having them separate
  actually makes CI slower because it takes ~10-12s for GitHub to start
  new jobs
2024-09-23 14:48:17 +02:00
renovate[bot]
7d441f24be Update dependency ember-auto-import to v2.8.1 2024-09-23 09:34:16 +02:00
renovate[bot]
894a961f9e Update dependency tailwindcss to v3.4.12 2024-09-23 09:13:59 +02:00
renovate[bot]
a1dcd9168d Update dependency ember-auto-import to v2.8.0 2024-09-23 09:08:50 +02:00
renovate[bot]
56af0e0095 Update dependency html-validate to v8.23.0 2024-09-23 08:59:09 +02:00
renovate[bot]
ed04bd4a8b Pin dependency microdiff to 1.4.0 2024-09-23 08:56:08 +02:00