Commit Graph

39966 Commits

Author SHA1 Message Date
Peter Zimon
535f0c560e Trying to add shadcn 2024-11-21 19:11:18 +01:00
Peter Zimon
7ba3b70da3 Rebased 2024-11-21 19:11:18 +01:00
Peter Zimon
5132b4600f Created Post analytics spike React app 2024-11-21 19:11:18 +01: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
Steve Larson
600b3c66ed
Bumped Koenig (#21672)
no ref
2024-11-20 21:03:11 +00:00
Kevin Ansfield
33709e7d0c Shipped comments-ui@0.22.1
no issue

- includes updated timestamp formatting
2024-11-20 15:30:53 +00:00
Sanne de Vries
ea1b786136
Updated timestamp format for comments (#21515)
ref https://linear.app/ghost/issue/PLG-235

- Any comments older than yesterday are now shown with the date instead of relative time
- Comments from the current year are now shown with just the month and day

---------

Co-authored-by: Kevin Ansfield <kevin@ghost.org>
2024-11-20 15:25:49 +00:00
Steve Larson
c3e261627f
Updated analytics button logic for disabled newsletter emails (#21643)
ref https://linear.app/ghost/issue/ONC-594

We had a check to prevent showing the Analytics page link for email-only
posts (newsletters) if newsletters were disabled. I don't see a good
reason to remove this - users then have to re-enable newsletters just to
see the analytics.
2024-11-20 08:43:35 -06:00
Michael Barrett
2e9dbd3ef0
Fixed suggested accounts not rendering in admin-x-activitypub (#21655)
refs
[AP-606](https://linear.app/ghost/issue/AP-606/suggested-accounts-not-rendering-due-to-404)

Some of the suggested accounts in `admin-x-activitypub` were not
rendering due to the requests for the data returning a 404. This was due
to incorrect account handles being used. This commit fixes the issue by
ensuring the correct handles are being used. This commit also adds a new
hook to handle the fetching of suggested accounts that also limits and
randomizes the accounts returned.
2024-11-20 14:07:05 +00:00
Kevin Ansfield
46bdbaa3b8 Shipped comments-ui@0.22.0
no issue

- includes updates behind `commentImprovements` flag
- bumped to 0.22 to avoid changes going live before next Ghost release
2024-11-20 12:33:53 +00:00
Sanne de Vries
5bbb98b661
Hooked up the CTA popup to the reply button (#21663)
REF
https://linear.app/ghost/issue/PLG-262/unhide-the-reply-button-when-comments-is-paywalled
- Previously, the reply button was hidden when the comments were
paywalled. Now, the button is visible and triggers a signup or upgrade
popup.
2024-11-20 10:10:50 +01:00
Steve Larson
2a0fc6fd1e
Fixed picker for local tz use (#21658)
ref 47b8161805

This ended up inverting the behavior, such that TZs far in advance of
GMT fouled up. This change builds the date by date components in the
local TZ so we should not run into further trouble...
2024-11-19 15:54:50 -06:00
Chris Raible
05127ddc5c
Reorganized docker related files (#21650)
ref https://linear.app/ghost/issue/ENG-1782/move-docker-related-files-to-a-better-location-that-githubscripts

- The docker files are currently located in `.github/scripts`. This location doesn't make a lot of sense — you wouldn't think to look there unless you already knew they were there. This also requires you to specify the path to the `compose.yml` file whenever running a `docker compose ...` command. 
- This commit moves the `compose.yml` file to the root of the repo, so you can simply run `docker compose up` and it will automatically find the file in the root, without having to specify `-f .github/scripts/docker-compose.yml`. This is a major win for convenience over the current setup.
- It also moves all the related files, including the `Dockerfile` used by the Dev Container setup and configuration files for supporting services into a new `.docker` directory, which is a more logical location, and should be easier to find.
- Also updated the current convenience commands in the `package.json` scripts block (`yarn docker:reset` and `yarn docker:down`
2024-11-19 13:15:06 -08:00
Steve Larson
47b8161805
🐛 Fixed scheduled post datepicker marking prior day as selected (#21657)
ref https://linear.app/ghost/issue/ONC-590

When choosing dates to schedule a post in the future, it could end up
displaying the wrong selected date because it was accounting for local
TZ. This doesn't make sense as we're displaying the site TZ in the
picker itself, and that's the real TZ used for scheduling.

In short, this feels confusing and also is often incorrect/misleading,
even though the scheduler in the background is correct. This should
align those to make it more transparent.
2024-11-19 20:47:12 +00:00
Kevin Ansfield
52e727a28c
Added in-reply-to references to comments-ui (#21656)
ref https://linear.app/ghost/issue/PLG-230

When clicking "Reply" on a reply we now show an "In reply to" reference on the form and when saved show that reference in the rendered view, making it easier to follow discussions within comment replies.

- updated calls to `openCommentForm` action when opening a reply to add the in-reply-to data to the `openForm` instance
- updated Form comment to use the `openForm` instance data when rendering the in-reply-to reference
- updated Comment component to render the in-reply-to reference from the API-provided data
  - includes click handler to scroll to the referenced comment
- added `getCommentInReplyToSnippet` helper function so strip a comment back to plaintext for display in the reply-to reference on the comment form (snippets on other comments are generated server-side)

---------

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2024-11-19 17:30:18 +00:00
Djordje Vlaisavljevic
232c897fa3
Split inbox and feed into separate tabs (#21642)
close https://linear.app/ghost/issue/AP-600/separate-feed-and-inbox-screens

- Instead of the layout switcher, we now have separate Inbox and Feed
tabs
- Inbox only shows long-form content (Articles)
- Feed only shows short-form content (Notes)
2024-11-19 17:04:39 +00:00
Sparsh
b1a75833a1
🌐 Added Nepali locale for newsletter.json (#21635)
no ref

- Added all field translations from English to Nepali for
`newsletter.json` file.

"Thank you for creating Ghost and making it open source.": "Ghost
सिर्जना गरेर यसलाई ओपन सोर्स बनाउनु भएकोमा धन्यवाद।"
2024-11-19 08:31:57 -06:00
Djordje Vlaisavljevic
dc8f553fc3 Updated feed view layout so it's more compact
close https://linear.app/ghost/issue/AP-464/feed-view-visual-refinements
2024-11-19 13:27:55 +00:00
Princi Vershwal
d17f52df9d
🐛 Fixed words breaking to new line in emails on mobile (#21652)
fixes https://linear.app/ghost/issue/DES-977/word-breaks-to-new-line-on-mobile-for-new-member-sign-up-email

- word-break is not required in the text "You can also copy & paste this URL into your browser:", so removed it
- word-break should be used in case of urls. No change in this
- Observed this patter across multiple email templates. Fixed all.
2024-11-19 10:43:32 +00:00
Aileen Booker
b177c7af43 Allowed transistion to settings when in forceUpgrade is active 2024-11-19 05:28:46 -05:00
Chris Raible
c4baf28823
Simplified Dev Container setup to use a single compose file (#21649)
no issue

- The current devcontainer setup was built with the intention of using
it as the _primary_ way of running Ghost in Docker locally. As such, it
was designed to be extensible — there was a `base.compose.yml` file with
the default configuration, and multiple other `compose.yml` files that
could be added to extend the base setup to cover different use-cases.
- We've run into some problems with using the devcontainer for regular
day to day usage, so we're moving toward using a more conventional
`compose` based setup for more advanced configurations.
- We're going to keep the devcontainer around as it's still nice for a
quick and easy setup, but it no longer needs to support multiple
configurations — as such, we can simplify the setup to a single
`compose.yml` file to make it easier to reason about and troubleshoot if
anything goes wrong.
- This commit removes the `.devcontainer/.docker` directory, and many of
the files that were in it. The main `compose.yml` file and the
Dockerfile were moved to the root of `.devcontainer` which should make
the setup a bit easier to follow and modify as needed.
2024-11-18 14:15:11 -08:00
Kevin Ansfield
2163fd5db3 Fixed missing in_reply_to_snippet for replies
ref https://linear.app/ghost/issue/PLG-230

- the `inReplyTo` relationship was not being loaded for replies which meant the mapper never hit the code which adds `in_reply_to_snippet`
- moved all `in_reply_to` code behind the `commentImprovements` labs flag
- updated tests to correctly disable/enable the flag
- added test for browsing comments with replies-to-replies so `in_reply_to_snippet` is captured in the snapshot
2024-11-18 21:35:40 +00:00
Princi Vershwal
527fb05a29
Fixed staff member login when 2FA is ON (#21647)
Fixes
https://linear.app/ghost/issue/ENG-1775/staff-users-are-not-able-to-verify-session-if-2fa-flag-is-on
2024-11-18 18:43:23 +00:00
Ghost CI
6eae395b24 Merged v5.101.2 into main 2024-11-18 18:14:43 +00:00
Ghost CI
d41ccdde8d v5.101.2 2024-11-18 18:14:42 +00:00
Steve Larson
34d267decc Reverted custom fonts flag (#21645)
ref https://ghost.slack.com/archives/C025584CA/p1731950126867179

- moved custom fonts functionality back to a labs flag
- reverted gscan version to 4.45 which doesn't include the custom fonts
checks/warnings
2024-11-18 11:53:29 -06:00
Djordje Vlaisavljevic
998ade4632
Added loading state to Your Profile page (#21638)
close
https://linear.app/ghost/issue/AP-515/add-loading-state-to-your-profile-page
2024-11-18 17:52:45 +00:00
Steve Larson
2447f37a14
Reverted custom fonts flag (#21645)
ref https://ghost.slack.com/archives/C025584CA/p1731950126867179

- moved custom fonts functionality back to a labs flag
- reverted gscan version to 4.45 which doesn't include the custom fonts
checks/warnings
2024-11-18 17:45:03 +00:00
Princi Vershwal
f2444b08f3
Added e2e test for sending invite to a staff member and user signing up using the invite link (#21637)
Fixes
https://linear.app/ghost/issue/ENG-1702/add-e2e-browser-test-for-staff-invite-and-accept-flow
2024-11-18 15:30:03 +00:00