0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-06 22:40:14 -05:00
Commit graph

39991 commits

Author SHA1 Message Date
Yovko Lambrev
63c210199f
🌐 Bulgarian translation - ongoing updates and fixes (#21719)
no issue

- Some improvements to the previously translated strings
- Translations of newly introduced strings
2024-11-26 11:31:52 +08:00
Sanne de Vries
5b70c7d1d7
Improved vertical indentation alignment (#21718)
REF
https://linear.app/ghost/issue/PLG-275/improve-vertical-indentation-alignment
2024-11-25 14:39:17 +00:00
Sanne de Vries
5e42c3146d
Improved disabled state for "Add comment" button (#21717)
REF
https://linear.app/ghost/issue/PLG-281/change-button-to-being-disabled-without-input
2024-11-25 13:12:49 +00:00
Daniel Lockyer
6638c6fb8c Stopped deleting asset files before regenerating
fix https://linear.app/ghost/issue/ONC-619/remove-code-that-deletes-assets-before-regeneration-in-ghost

- in our asset minification code, we delete asset files before
  regenerating them
- on shared filesystems, we're seeing errors like `Unknown system error -116` where 116 is Stale NFS file handle
- this is probably happening because we delete files right before
  creating them, and maybe there is some distributed filesystem delay
  that's causing issues here
- to workaround that, we can just stop deleting the files, which means
  we can delete code (yay!)
2024-11-25 13:28:49 +01:00
Sanne de Vries
8371b6699f
Added confirmation popup for comment deletion (#21715)
REF
https://linear.app/ghost/issue/PLG-285/add-confirmation-modal-upon-comment-deletion
2024-11-25 12:04:31 +00:00
Sanne de Vries
2d9b593844
Added hover styles to comment context menus (#21714)
REF https://linear.app/ghost/issue/PLG-283/add-hover-state-to-menu-items
2024-11-25 11:41:10 +00:00
Sanne de Vries
1a0a36b64c
Changed click target for comment replied-to ref (#21713)
REF
https://linear.app/ghost/issue/PLG-282/change-click-target-for-replied-to-reference
2024-11-25 11:34:40 +00:00
Sanne de Vries
ac3467165d
Updated "Replied to comment" copy (#21711)
REF
https://linear.app/ghost/issue/PLG-278/update-replied-to-comment-copy
2024-11-25 11:10:00 +00:00
Kevin Ansfield
d204d67d1f Cleaned up comments-ui actions test setup duplication
no issue

- repeated use of the same init data made tests longer than they needed to be, especially as the number of tests grows
- added `initializeTest()` function to remove unnecessary duplication
2024-11-25 10:52:31 +00:00
Sanne de Vries
f06a766189
Replaced reply icon in comments-ui (#21710)
REF https://linear.app/ghost/issue/PLG-271/replace-reply-icon
2024-11-25 08:59:19 +00:00
Ronald Langeveld
253e596138
Reverting 2 commits (#21709)
no issue

- need to add an additional change.
2024-11-25 08:58:06 +00:00
Ronald Langeveld
6c3753f403
Bumped comments-ui to a new minor (#21708)
no issue

- Bumping to a new minor due to API changes.
2024-11-25 08:42:31 +00:00
Ronald Langeveld
31a80cf9b8
Fixed hidden/deleted replies in getCommentByID (#21707)
ref PLG-270

- Updated the getCommentByID service to filter out hidden and deleted
replies.
- Ensured all replies are loaded before applying the filter.
- Simplified logic to handle non-paginated routes by directly removing
unwanted replies.
- Wired up new Admin Endpoint that shows hidden replies but not deleted
replies.
- Updated comments-ui client.
2024-11-25 08:15:08 +00:00
Ghost CI
7cfb755bbd v5.101.4 2024-11-25 07:22:27 +00:00
Steve Larson
673e316580
🐛 Fixed unsubscribe all link in Portal sometimes failing (#21703)
ref https://linear.app/ghost/issue/ONC-613/

A little while back we changed to requiring a key when interacting with
member endpoints that are not authenticated. One request code path in
Portal was missed, causing some requests to fail. This should patch that
hole.
2024-11-24 01:10:25 +00:00
Steve Larson
588979e62f
Added Sentry logging in editor for incorrectly untitled slug values (#21682)
ref https://linear.app/ghost/issue/ONC-548/

We seem to occasionally get into a state where draft posts are stuck
with an untitled slug, which has been difficult to reproduce. It would
be helpful to gather some data on how frequently this is happening.
2024-11-23 00:25:18 +00:00
Steve Larson
7083bd0628
🐛 Fixed slug not always updating for draft posts (#21691)
ref https://linear.app/ghost/issue/ONC-548/

There have been reported cases of the editor not updating the slug for
draft posts. The logic should be as follows: for a draft post, if the
title was updated and we do not detect a custom slug, update it.

This got out of sync due to actions where the save was triggered but the
title onBlur effect (which updates the slug) was not triggered. This has
been resolved by evaluating the slug in the before save actions.
2024-11-23 00:24:17 +00:00
echobilisim3421
3277da7140
Updated Turkish translation in search.json (#21554)
no ref
2024-11-22 23:38:16 +00:00
Cathy Sarisky
ebd98d005a
🐛 fix Windows bug with the admin file upload widget (#21687)
closes #21439

On Windows 10/Chrome (but maybe nowhere else?), attempting to drag a
file into any of the drop targets in the admin panel resulted in
flickering behavior, and generally dropping didn't actually trigger the
upload.

I thought originally it was a problem with the size of the drop target,
but it actually appears to be a rerender bug. In brief, handleDragging
and handleStopDragging were firing repeatedly, and each fire triggered a
rerender, that added or removed a div from the file upload widget.

I suspect some browser-specific difference in how drag events fire is to
blame.

This PR moves the logic to change the classes applied to the div, rather
than changing whether the div is present.

I have manually tested with Windows 10 in the users import, theme
import, and content import widgets. Styles are preserved (although I
think they could be improved, as the grey outline is really faint) and
uploading now works consistently, instead of mostly triggering display
of the raw file most of the time.
2024-11-22 17:21:00 -06:00
Hannah Wolfe
2016e6a6df
Removed TTL from tinybird analytics_events datasource (#21697)
ref https://linear.app/ghost/issue/ANAL-115/data-retention

- The bad news here is I didn't notice that the tinybird web analytics
starter kit included a TTL on the analytics_events datasource of 60 days
- This means any data older than 60days was automatically dropped from
the table
- I updated this in the UI when I noticed it a few days ago, this makes
sure it can't come back
- The good news is that we don't have to implement anything to make this
work when we do get to the point where we want a TTL!
2024-11-22 15:52:28 +00:00
Chris Raible
d89c7d5f25
Added metric for time to create a database connection (#21696)
ref
https://linear.app/ghost/issue/ENG-1783/add-time-to-create-connection-metric

- Since we've added the "time to acquire" metric to get visibility into
contention in the connection pool, we've seen some anomalies where it
takes a surprisingly long time to acquire a connection (~60ms) when not
under load. Hypothesis is that these anomalies occur when there aren't
any open connections, so Ghost has to establish a new connection with
the DB, and that's the part that's actually taking most of that time.
This new metric should help confirm/deny that hypothesis.
- This will also be an interesting metric to keep an eye on and/or alert
on — if Ghost can't create new connections with its database
performantly, it's not going to perform very well.
2024-11-22 00:26:04 -08:00
Chris Raible
2ff82c7ac0
Configured prometheus client to reuse TCP connections to the pushgateway (#21695)
ref
https://linear.app/ghost/issue/ENG-1796/reuse-tcp-connections-when-sending-metrics-to-the-pushgateway

- When we rolled out the prometheus metrics collection, it overwhelmed
the pushgateway. Our hypothesis is that Ghost was creating too many new
TCP connections to the pushgateway.
- The prometheus client was creating a new connection with the
pushgateway each time it pushed metrics every 15 seconds.
- This commit changes the prometheus client to keep the connection
alive, and re-use it instead of creating a new one.
- It also limits the number of retries if pushing the metrics fails —
after 3 consecutive failures, Ghost will stop retrying and log an error.
2024-11-21 17:43:33 -08:00
Chris Raible
829a0fc7e9
Added email analytics throughput metrics (#21694)
ref
https://linear.app/ghost/issue/ENG-1508/add-custom-metrics-for-email-analytics-jobs

- With the experimental job queue, we're using email analytics as our
initial validation test case. We're hoping to see an improvement in
Ghost's throughput for ingesting email events. However, we don't
currently collect this data point, so it's kind of impossible to tell
right now if the job queue is making things better or not.
- This PR fixes that by adding two new prometheus metrics:
- `email_analytics_events_processed` — a counter incremented each time
an event is processed. Sometimes the event has already been processed in
the past, so this doens't always result in a new event being stored in
the DB.
- `email_analytics_events_stored` — a counter incremented each time an
event is stored in the DB. For example, if an email is opened 3 times by
the same recipient, this counter will only be incremented once.
- The metrics also have a label for the event type, so we can split out
opened events from delivered events. We can use the `rate()` function in
grafana to then get an `events ingested per second` metric, and compare
sites with/without the job queue enabled.
2024-11-21 17:30:43 -08:00
Steve Larson
48839c80ae
Added updated lock file for timezones bump (#21690)
ref c046bbda91
2024-11-21 20:04:08 +00:00
Djordje Vlaisavljevic
0861c524df
Connected the endpoint for publishing notes (#21680)
close
https://linear.app/ghost/issue/AP-601/allow-users-to-publish-short-form-content-as-notes

---------

Co-authored-by: Michael Barrett <mike@ghost.org>
2024-11-21 20:00:01 +00:00
Kevin Ansfield
0ac36bd324 Shipped comments-ui@0.22.4
no issue

- includes fix for reply-to-reply form not showing when parent comment is hidden
2024-11-21 18:49:18 +00:00
Kevin Ansfield
d1019a8e54 Fixed reply-to-reply comment form not showing when parent is hidden
closes https://linear.app/ghost/issue/PLG-266

- the reply form is a child of the parent comment component but we have different comment components for published vs unpublished with the bug coming from the latter missing the logic to display the form
- added missing form display and added a regression test
2024-11-21 18:44:23 +00:00
Fernanda Thiesen
db52ebb366
🌐 Updated pt-BR translations (#21636)
no ref

Suggestions for updating the confirmation email pt-BR translation with
more everyday terms and addressing gender-specific issues by using 'no
site' instead of 'em'.
2024-11-21 18:37:17 +00:00
Steve Larson
c046bbda91
🐛 Fixed Istanbul timezone (#21686)
ref https://linear.app/ghost/issue/ENG-1781/
- updated Istanbul TZ to +03

Thanks to @muratcorlu for the PR to TryGhost/SDK.
2024-11-21 17:23:21 +00:00
renovate[bot]
b098fb69be
Update dependency mailgun.js to v10.2.4 (#21685)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [mailgun.js](https://redirect.github.com/mailgun/mailgun.js) |
[`10.2.3` ->
`10.2.4`](https://renovatebot.com/diffs/npm/mailgun.js/10.2.3/10.2.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/mailgun.js/10.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mailgun.js/10.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mailgun.js/10.2.3/10.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mailgun.js/10.2.3/10.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mailgun/mailgun.js (mailgun.js)</summary>

###
[`v10.2.4`](https://redirect.github.com/mailgun/mailgun.js/blob/HEAD/CHANGELOG.md#1024-2024-11-21)

[Compare
Source](https://redirect.github.com/mailgun/mailgun.js/compare/v10.2.3...9ab89f6f6e00a9bac87a987410b810d6c9d3a5d4)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-21 16:54:50 +00:00
Kevin Ansfield
e5a21aaf54 Shipped comments-ui@0.22.3
no issue

- includes fix for missing progress indicator when submitting forms
2024-11-21 16:12:31 +00:00
Kevin Ansfield
0b806cc01b 🐛 Fixed missing progress indicator when submitting comments
closes https://linear.app/ghost/issue/PLG-265

- wrapped the async part of `dispatchAction` in a Promise so code that calls it can await the action completion
  - this was a regression introduced a long time ago when we switched to Typescript and React hooks
- added a `setDelay()` method to our `MockedApi` class to make it easier to test interstitial loading states
2024-11-21 16:03:30 +00:00
echobilisim3421
368a8eb2f8
🌐 Updated Turkish translations in comments.json (#21670)
no ref

Added missing Turkish translations
2024-11-21 15:23:12 +00:00
Cathy Sarisky
a31afd4b77
Made i18n more tolerant of missing files (#21561)
no ref

This fix adds an extra fallback to 'en' when a locale folder is missing one or more translation files, and a test for the fallback. Previously, Ghost would fail to boot if an expected file translation was missing.
2024-11-21 09:03:56 -06:00
Djordje Vlaisavljevic
3abff38a53
Added UI for publishing short-form notes from Ghost admin (#21667)
ref https://linear.app/ghost/issue/AP-601/allow-users-to-publish-short-form-content-as-notes

- Added a button to the top of the feed that opens a modal that lets you write and short post

---------

Co-authored-by: Michael Barrett <mike@ghost.org>
2024-11-21 12:07:55 +00:00
Ronald Langeveld
49c0e60053
Fixed admin replies pagination to always sort old to new (#21679)
ref PLG-227

- added the correct order params for admin replies to ensure they are
sorted oldest to newest.
- hardcoded since we want to ensure it remains that way.
2024-11-21 11:38:47 +00:00
Sodbileg Gansukh
9493fbefcc
Moved the custom fonts feature to public beta (#21664)
ref DES-985
2024-11-21 19:06:40 +08:00
Ronald Langeveld
4202cf137e
Bumped Comments-UI to 0.22.2 (#21678)
no issue
2024-11-21 11:04:41 +00:00
Ronald Langeveld
cf6884d098
Wired up Admin Comment Endpoints to UI (#21661)
ref PLG-227

- Updated logic that allows Admin Users on comments to interact with
some endpoints from a specific admin-only route.
- It pulls 2 admin specific routes:
- 1. an admin specific 'browse' route that includes hidden comments that
would otherwise be hidden from regular users and members.
- 2. A specific replies route, that would also include hidden comments
- This was needed in order to get accurate pagination.

- Additionally, it wires up the routes via `message-handler` that deal
with the potential cors issues.
- Includes style updates

---------

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2024-11-21 10:52:36 +00:00
Ghost CI
703ed9dfbc Merged v5.101.3 into main 2024-11-21 09:19:10 +00:00
Ghost CI
a238960726 v5.101.3 2024-11-21 09:19:08 +00:00
Fabien O'Carroll
3265e257b7 Fixed webhooks not firing for internal integrations
ref https://linear.app/ghost/issue/AP-598

We want to make sure that webhooks for internal integrations are fired even
when the custom integrations limit has been hit. In order to test this we've
had to update the fixtureManager to allow passing the integration type when
inserting fixture webhooks into the db.
2024-11-21 16:01:33 +07:00
Fabien O'Carroll
263c493e2b Refactored webhook restriction to WebhookTrigger
ref https://linear.app/ghost/issue/AP-598

This is not a change in functionality.

The ActivityPub integration is an `internal` integration, because we want it to
be available regardless of the plan a Ghost(Pro) site is on. However the
webhooks service is not able to differentiate between webhooks for a custom
integration and an internal one.

Rather than disable webhooks entirely when the custom integrations limit
active, we want to allow webhooks for internal integrations to work. The first
step towards that is keeping the listener for the model events and have the
limiting happen in the WebhookTrigger which allows us to be more specific as to
which webhooks should be triggered or not.
2024-11-21 16:01:30 +07:00
Ronald Langeveld
d800587225
Added new endpoint for loading replies as Admin (#21676)
ref PLG-227

- Wired up a new endpoint that would be able to paginate replies as an
admin user.
- The difference compared to the members-api endpoint is that this
includes hidden comments and includes the html string which is normally
hidden from non-admin users
2024-11-21 14:55:59 +08:00
Ronald Langeveld
f0dab9dc9a
Include hidden comments for admins in pagination count (#21675)
ref PLG-227

- Ensure hidden comments are included in the replies count for admin
users to ensure pagination works as expected.
2024-11-21 12:53:37 +08:00
Sodbileg Gansukh
1f501c1e58
Added author name as an additional check for official themes (#21665)
ref DES-982

- we're hiding font-related theme settings from official themes to make room for the new custom font settings
- this adds author name as an additional check on top of the existing ones (theme name and corresponding setting keys)
2024-11-21 12:04:24 +08:00
Ronald Langeveld
68d8262fab
Fixed member comments replies pagination (#21674)
ref PLG-227

- Changed replies count to exclude hidden and deleted replies to ensure
the accuracy of pagination data for members.
2024-11-21 03:53:26 +00:00
Fabien O'Carroll
19ab98f836 Fixed webhooks not firing for internal integrations
ref https://linear.app/ghost/issue/AP-598

We want to make sure that webhooks for internal integrations are fired even
when the custom integrations limit has been hit. In order to test this we've
had to update the fixtureManager to allow passing the integration type when
inserting fixture webhooks into the db.
2024-11-21 03:38:43 +00:00
Fabien O'Carroll
0919ae0d05 Refactored webhook restriction to WebhookTrigger
ref https://linear.app/ghost/issue/AP-598

This is not a change in functionality.

The ActivityPub integration is an `internal` integration, because we want it to
be available regardless of the plan a Ghost(Pro) site is on. However the
webhooks service is not able to differentiate between webhooks for a custom
integration and an internal one.

Rather than disable webhooks entirely when the custom integrations limit
active, we want to allow webhooks for internal integrations to work. The first
step towards that is keeping the listener for the model events and have the
limiting happen in the WebhookTrigger which allows us to be more specific as to
which webhooks should be triggered or not.
2024-11-21 03:38:43 +00:00
Steve Larson
c806cf665d
🐛 Fixed minifier for Windows users (#21311)
ref https://github.com/TryGhost/Ghost/pull/15893

This got closed as stale long ago. Resurrecting this as it's a simple
change and will help our Windows-based theme devs in particular.
2024-11-21 00:00:29 +00:00