0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2024-12-30 22:34:01 -05:00
Commit graph

2207 commits

Author SHA1 Message Date
luis-411
788a45ec86
🎨Changed hover color of ExitButton (#21396)
no issue

- changed the hover color of the settings exit button from black to
grey-900
- keeps the X visible when hovering over it (before it was the same
color as the background)
2024-10-28 09:28:48 +00:00
Ronald Langeveld
1c95acfd57
Fixed flaky Admin X design tests (#21426)
ref ONC-478

- Admin X design tests became flaky largely due to the implementation of
a debounce.
- Initially running a `waitForTimeout` helped to give the environment
enough time to ensure that the specific requests are made, however it
proved to be unpredictable across CI and locally.
- We then replaced `waitForTimeout` in with `waitForRequest` to ensure
tests reliably wait for specific requests.
- Updated logic to check `x-ghost-preview` headers directly, ensuring
the correct response headers are captured and tested against
- Improved stability by using request interception and matching,
preventing debounce issues in the tests.
2024-10-28 17:25:05 +09:00
Cathy Sarisky
967cf23091
🐛 Fixed search state bug & missing last result (#21417)
closes #21343 

This fixes an issue in sodo-search where early results (for example,
matching the first letter typed in the search box) would get "stuck" in
the display, due to failure to update state (or actually, lacking
state).

Converted PostItems to a component, and gave paginatedPosts state.

I also fixed an undocumented bug where the last search result didn't
appear, due to an error in with slice's register.
2024-10-28 12:50:15 +07:00
renovate[bot]
9f1945cb4d Update dependency react-select to v5.8.2 2024-10-28 00:12:27 +00:00
Daniël van der Winden
6b7932ad9e
Improved hover styling for list items in Settings (#21387)
fixes
https://linear.app/ghost/issue/DES-804/implement-new-hover-styling-for-table-rows-and-lists-in-settings

This adds new hover styling for list items in Recommendations,
Newsletter and Integrations settings.

---------

Co-authored-by: Fabien 'egg' O'Carroll <fabien@allou.is>
2024-10-26 09:00:14 +02:00
Fabien O'Carroll
76d4ef27c4 Bumbed sodo-search to 1.5.0 2024-10-25 12:35:44 +01:00
Fabien O'Carroll
18a52004e3 Fixed yarn ship for sodo-search
Previously we ran `git status` on the whole repo, and then would continue with
the shipping process regardless of the outcome.
2024-10-25 12:35:44 +01:00
Fabien 'egg' O'Carroll
c23cca8739
Bumbed Portal to 2.46.0
This includes the new TRL lang support!
2024-10-25 10:34:24 +00:00
Cathy Sarisky
847bd2a98c
🎨 Supported RTL languages in Portal
Portal will now detect if the language locale is a RTL
language and update it's rendering to accommodate!
2024-10-25 16:19:19 +07:00
Peter Zimon
e514b24696
Add Inter font to the list of available custom fonts (#21409)
DES-910

Inter is a font that we make available to users. This commit adds it to
the list of available fonts in the design settings.
2024-10-25 08:59:44 +00:00
Mithelan Devanandan
96e75ac0e3
Handled missing user cover image
closes https://github.com/TryGhost/Ghost/issues/21350

Without this we would attempt to render load the url `null`
2024-10-25 15:28:12 +07:00
renovate[bot]
8b1b7ca666 Update dependency @uiw/react-codemirror to v4.23.6 2024-10-25 05:31:37 +00:00
Aileen Booker
7b8a68f56e Fixed Tailwind not applying styles for custom fonts dropdown
ref 154b839a8d

The changes done with 154b839a8d  look like a good improvement because it removes the need of managing font names in two places, but Tailwind does not agree. Classes are only applied when Tailwind knows them beforehand.
2024-10-25 01:19:19 -04:00
Aileen Booker
e6d63e0863 Fixed custom fonts not styled in select dropdown 2024-10-24 23:50:34 -04:00
Chris Raible
b44ad06015
Fixed browser tests yielding a false passing result in CI (#21401)
no issue

- Browser tests in CI were yielding a passing result even if one or more
tests failed (including retries).
- The `yarn dev` command that triggers the browser tests in CI was
catching any errors and exiting with code 0, resulting in a  in CI.
- This commit changes `yarn dev` to exit with code 1 if the browser
tests fail, so that CI will correctly fail if any of the browser tests
fail.
2024-10-24 17:22:37 -07:00
Chris Raible
af0f26c75f
Added Dev Container setup (#21279)
no issue

- Dev Containers let you work on Ghost in a consistent, isolated
environment with all the necessary development dependencies
pre-installed. VSCode (or Cursor) can effectively run _inside_ the
container, providing a local quality development environment while
working in a well-defined, isolated environment.
- For now the default setup only works with "Clone repository in
Container Volume" or "Clone PR in Container Volume" — this allows for a
super quick and simple setup. We can also introduce another
configuration to allow opening an existing local checkout in a Dev
Container, but that's not quite ready yet.
- This PR also added the `yarn clean:hard` command which: deletes all
node_modules, cleans the yarn cache, and cleans the NX cache. This will
be necessary for opening a local checkout in a Dev Container.
- To learn more about Dev Containers, read this guide from VSCode:
https://code.visualstudio.com/docs/devcontainers/containers#_personalizing-with-dotfile-repositories

---------

Co-authored-by: Joe Grigg <joe@ghost.org>
Co-authored-by: Steve Larson <9larsons@gmail.com>
2024-10-24 11:15:08 -07:00
Fabien 'egg' O'Carroll
3f9fd2ad3f
Removed flaky playwright tests (#21397)
refs INC-116

These tests are causing random failures on CI and stopping us from
merging PRs and creating releases. The aim is to unblock us and then
bring them back
2024-10-24 23:59:54 +07:00
Sanne de Vries
4a5c8000bf
Fixed spacing issue with signup terms in Portal (#21390)
REF DES-907
2024-10-24 11:58:00 +00:00
Aileen Booker
c1ce322e86
Custom fonts (#21337)
- Adding custom fonts for themes behind a feature flag
- Introduces new `@tryghost/custom-fonts` module to manage custom fonts
- UI updates for Branding and Theme settings

---------

Co-authored-by: Fabien O'Carroll <fabien@allou.is>
Co-authored-by: Sodbileg Gansukh <sodbileg.gansukh@gmail.com>
Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: Daniël van der Winden <danielvanderwinden@ghost.org>
2024-10-24 07:43:08 -04:00
Ronald Langeveld
96239d31a6
Added Comments Sorting UI (#21375)
ref PLG-220

- Added UI for Comments Sorting on the Comments UI App.

Co-authored-by: Sanne de Vries <65487235+sanne-san@users.noreply.github.com>
2024-10-24 19:01:14 +09:00
Ronald Langeveld
cd3b1c3935
Bumped Portal to 2.45.1 (#21386)
no issue

Co-authored-by: Sodbileg Gansukh <sodbileg.gansukh@gmail.com>
2024-10-24 04:30:00 +00:00
Djordje Vlaisavljevic
880c88a184 Bumped admin-x-activitypub package
no ref
2024-10-23 19:44:40 +01:00
Djordje Vlaisavljevic
ba0c0439ab Made clicking users and posts on your profile bring up drawer view
ref https://linear.app/ghost/issue/AP-510/clicking-on-following-and-followers-users-should-open-the-drawer-on, https://linear.app/ghost/issue/AP-511/clicking-on-items-in-posts-and-liked-tabs-of-your-profile-should-open
2024-10-23 19:44:40 +01:00
Djordje Vlaisavljevic
79439b80c1 Made links inside posts look nicer
ref https://linear.app/ghost/issue/AP-513/show-nicer-links-in-posts
2024-10-23 19:44:40 +01:00
Djordje Vlaisavljevic
45df4bf860 Added ReplyBox to Articles viewed in drawer view
ref https://linear.app/ghost/issue/AP-514/show-replybox-when-article-is-opened-in-drawer
2024-10-23 19:44:40 +01:00
Michael Barrett
3d430b453f
Opened follow notifications in profile viewer in admin-x-activitypub (#21384)
refs
[#479](https://linear.app/ghost/issue/AP-479/open-profile-viewer-when-clicking-follow-notifications)

Clicking on a follow notification will now open the profile viewer with
details of the profile of the user that followed you

---------

Co-authored-by: Djordje Vlaisavljevic <dzvlais@gmail.com>
2024-10-23 14:26:31 +01:00
Daniel Lockyer
23cff56961 Removed unused vite-plugin-commonjs dependency 2024-10-23 13:43:53 +02:00
Sodbileg Gansukh
c11c516e14
Made unsubscribe from all button sticky on scroll (#21381)
ref DES-785
2024-10-23 19:07:29 +08:00
Michael Barrett
1b468f333b
Added buttons to show more data on profile in admin-x-activitypub (#21373)
no refs
2024-10-22 21:29:46 +01:00
Djordje Vlaisavljevic
26133095ea Added excerpt to Ghost posts
ref https://linear.app/ghost/issue/AP-124/view-full-article
2024-10-22 21:02:42 +01:00
Djordje Vlaisavljevic
773ce016b0 Made Following button disabled
ref https://linear.app/ghost/issue/AP-501/updated-suggested-users
2024-10-22 21:02:42 +01:00
Djordje Vlaisavljevic
36d15a4b40 Updated suggested users list
ref https://linear.app/ghost/issue/AP-501/updated-suggested-users
2024-10-22 21:02:42 +01:00
Michael Barrett
63afb15356
Added button to show more followers on profile in admin-x-activitypub (#21371)
no refs
2024-10-22 20:56:14 +01:00
Michael Barrett
e9914d8fe5
Fixed followers list on profile in admin-x-activitypub app (#21370)
refs
[AP-489](https://linear.app/ghost/issue/AP-489/followers-showing-unknown-on-user-profile)

Fixed the followers list on profile in admin-x-activitypub app by
utilising a custom endpoint to fetch a list of expanded followers
seeming though the followers endpoint only returns follower id's
2024-10-22 20:21:12 +01:00
Michael Barrett
b9768f99e9
Added posts to the user profile in admin-x-activitypub (#21369)
refs
[AP-484](https://linear.app/ghost/issue/AP-484/render-posts-on-user-profile)

Added posts to the user profile in admin-x-activitypub
2024-10-22 19:54:05 +01:00
Michael Barrett
febb7f720e
Used attributedTo for the Like activities on the profile page (#21367)
refs
[AP-487](https://linear.app/ghost/issue/AP-487/likes-on-profile-info-displaying-incorrect-actor-info)

Used `attributedTo` for the `Like` activities on the profile page of the
`admin-x-activitypub` app
2024-10-22 17:02:04 +01:00
Michael Barrett
94584489b4
Added graceful handling of suggested profile errors in admin-x-activitypub (#21366)
no refs

Added graceful handling of suggested profile errors in
admin-x-activitypub
2024-10-22 15:49:21 +01:00
Djordje Vlaisavljevic
f214213859 Improved how we handle Like notifications
ref https://linear.app/ghost/issue/AP-480/handle-likes-received-on-replies

- Clicking a notification now opens Article/Note in the drawer
- When the liked post is a reply, the content of the reply is shown in the notification
2024-10-22 15:42:25 +01:00
Djordje Vlaisavljevic
936ff85efb Updated welcome screen copy and link
ref https://forum.ghost.org/t/activitypub-beta-start-here/51780
2024-10-22 15:42:25 +01:00
Djordje Vlaisavljevic
7e7aee92c5 Removed Comment button in drawer view
ref https://linear.app/ghost/issue/AP-498/remove-items-from-post-view-in-sidebar
2024-10-22 15:42:25 +01:00
Djordje Vlaisavljevic
51913a7990 Removed button for resizing the drawer
ref https://linear.app/ghost/issue/AP-498/remove-items-from-post-view-in-sidebar
2024-10-22 15:42:25 +01:00
Djordje Vlaisavljevic
797a34f9e2 Removed static Unfollow button from Following tab
ref https://linear.app/ghost/issue/AP-499/remove-unfollow-buttons-from-following-tab-on-your-profile
2024-10-22 15:42:25 +01:00
Djordje Vlaisavljevic
8846cb9d19 Removed static Delete button from the dropdown
ref https://linear.app/ghost/issue/AP-420/i-can-see-a-delete-action-on-posts-that-are-not-mine
2024-10-22 15:42:25 +01:00
Djordje Vlaisavljevic
ba43678964 Fixed z-index issue
ref https://linear.app/tryghost/issue/AP-464/feed-view-refinements
2024-10-22 15:42:25 +01:00
renovate[bot]
eb85af051f Update tiptap monorepo to v2.9.0 2024-10-22 13:57:37 +00:00
Michael Barrett
e75de41eac
Filtered out non-follower activities on home feed of the admin-x-activitypub app (#21362)
refs
[AP-477](https://linear.app/ghost/issue/AP-477/incorrect-posts-in-home-feed)

Filtered out non-follower activities on home feed of the
`admin-x-activitypub` app
2024-10-22 14:42:43 +01:00
Cathy Sarisky
1ce5dc34ca
🐛 fixed routing error when no recommendations (#21251)
no ref.

The default routing for the portal app is a signup page. When a site has
no recommendations, the result of triggering that page (by following a
link that goes there) is a prompt to sign up, or a notification that one
cannot sign up, if membership is disabled.

This patch adds a "No recommendations" message, which will be shown if a
user follows a recommendations link (#/portal/recommendations) on a site
without recommendations. While we shouldn't end up there very often,
it'll make a lot more sense when it does!
2024-10-22 11:34:44 +01:00
Djordje Vlaisavljevic
7bc510f1c9 Bumped admin-x-activitypub to 0.1.5
no ref
2024-10-22 10:57:58 +01:00
Djordje Vlaisavljevic
6bc933f149 Fixed breakpoint for large screens
ref https://linear.app/tryghost/issue/AP-464/feed-view-refinements
2024-10-22 10:57:58 +01:00
Djordje Vlaisavljevic
5af25e1433 Bump admin-x-activitypub to 0.1.4
no ref
2024-10-22 09:33:40 +01:00
Michael Barrett
2f70d29baa
Reverted revert of reply filtering in admin-x-activitypub (#21357)
no refs
2024-10-22 09:33:34 +01:00
Djordje Vlaisavljevic
7c32527159
Updated ActivityPub design (#21327)
ref https://linear.app/ghost/issue/AP-476/remove-static-buttons-from-notifications-and-resolve-css-issues, https://linear.app/ghost/issue/AP-449/remove-follow-button-and-component, https://linear.app/ghost/issue/AP-448/add-loading-state-for-home-tab, https://linear.app/ghost/issue/AP-446/update-top-nav-bar-design

- Added the Suggestions sidebar
- Added real data to `Your profile` tab
- Switched navigation in top-bar to text-based
- Added loading states to Home and Activity tabs
- Fixed overflow and z-index CSS issues
- Removed `Unfollow` modal since now have a more user-friendly way to follow users
- Changed link color to blue
2024-10-21 20:24:36 +01:00
Michael Barrett
4277c2a9d5
Reverted reply filtering in admin-x-activitypub (#21355)
refs
[TryGhost/Ghost#21258](https://github.com/TryGhost/Ghost/pull/21258)

Reverted reply filtering in `admin-x-activitypub` that was added in as a
temporary fix
2024-10-21 16:06:52 +01:00
Daniël van der Winden
66a78dc2b1
Fixed history action icons (#21354)
fixes
https://linear.app/ghost/issue/DES-784/action-icons-have-wrong-z-index-are-hidden-beneath-user-avatars

Action icons next to each item in History were obscured by the staff
user's avatar. This fix resolves that.
2024-10-21 14:42:40 +00:00
Kevin Ansfield
698e42433c Added staff2fa labs flag 2024-10-21 11:01:40 +01:00
Daniël van der Winden
db3bab4f79
Updated layout for Analytics in Settings (#21322)
fixes
https://linear.app/tryghost/issue/DES-483/improve-analytics-card-layout-in-settings

Analytics settings in admin were difficult to read, as they were all
bunched together. This change lays them out in rows, making the
Analytics settings much easier to scan.

---------

Co-authored-by: Steve Larson <9larsons@gmail.com>
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
Co-authored-by: Cathy Sarisky <42299862+cathysarisky@users.noreply.github.com>
Co-authored-by: Ghost CI <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jubi-git <117194340+jubi-git@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 09:44:48 +00:00
Steve Larson
1a37e77f6a
Bumped signup-form (#21348)
no ref
2024-10-20 13:30:31 +00:00
Steve Larson
f759f1e042
Bumped comments-ui (#21347)
no ref
2024-10-20 08:28:32 -05:00
Steve Larson
4f28e7ea43
Bumped sodo-search (#21346)
no ref
2024-10-20 13:24:21 +00:00
Steve Larson
a01b361e45
Bumped portal (#21345)
no ref
2024-10-20 13:22:46 +00:00
Cathy Sarisky
324211f64d
fix build for search, signup, comments = 80-90% reduction in size! (#21342)
no ref

This change to vite.config.js fixes errors in the sodo-search,
signup-form, and comments packages, preventing inclusion of all of
i18n/locales. As the number of translated strings has gotten larger,
these builds have increased significantly in size, bloated with strings
that aren't actually present in them (in 58 different languages!)

No obvious build errors are present with these changes, but an extra
eyes would be appreciated. Vite isn't my forte.

---------

Co-authored-by: Steve Larson <9larsons@gmail.com>
2024-10-17 12:35:56 -05:00
Steve Larson
2e0293c99f
🐛 Fixed NQL filters for single letter slugs (#21340)
fixes https://github.com/TryGhost/Ghost/issues/20133
- includes fix to support single letter slugs
2024-10-17 15:35:26 +00:00
Daniël van der Winden
eaed33972f
Admin navigation settings fix (#21323)
fixes
https://linear.app/tryghost/issue/DES-73/enter-should-create-new-navigation-itemmove-to-next-field

Solves a regression where, when adding navigation items, pressing ENTER
(when on the last item in the list) no longer created a new row.

Also solves an issue where the `+` button next to the row of input
fields wasn't positioned correctly when a form error was showing (it
jumped down along with the error).
2024-10-17 13:10:21 +00:00
Cathy Sarisky
3a662007cd
🌐 New translations and bug fix on /month and /year (#21267)
No issue

Wrapped a missing /month and /year string. Should work with and without
trials now.

Added a few additional translations for Japanese and French.

Adjusted German - some strings were too long to fit in the layout.
Changed (the German equivalents of) "Start a X day free trial" to
"Select", because the German is just not going to fit on the button.
2024-10-16 09:23:10 +01:00
renovate[bot]
864e7b27e4 Update dependency tailwindcss to v3.4.14 2024-10-15 15:58:30 +02:00
renovate[bot]
b70bb13fb4 Update sentry-javascript monorepo to v7.119.2 2024-10-15 15:57:58 +02:00
Kevin Ansfield
65d84fad17 Refactored cta/main form conditional in comments-ui
no issue

- micro-refactor that came out of a bigger draft-replies refactor, splitting out early to keep main change cleaner
- adjusted nested ternary style and naming to improve clarity
- added unit tests to ensure the logic behaviour stayed consistent
- cleaned up useless dummy unit test file
2024-10-15 12:50:12 +01:00
Kevin Ansfield
f982bbe9fa Extracted comment member name and initial helper functions
no issue

- extracted functions for easier re-use and testing
- removed duplicate definition of comment member initials function
2024-10-15 07:53:57 +01:00
renovate[bot]
32419e4e07 Update dependency use-debounce to v10.0.4 2024-10-14 00:24:20 +00:00
Djordje Vlaisavljevic
bce8687004
Added nicer apostrophes (#21271)
ref https://linear.app/tryghost/issue/DES-814/replace-dumb-quotes-with-smart-quotes-in-admin

- Replaced “dumb” apostrophes with “smart” (or “curly”) apostrophes, see
http://quotesandaccents.com/
2024-10-10 10:11:19 +01:00
Daniel Lockyer
de5dcb8189 Fixed treeshaking and require size for date-fns
- we don't need to require the entire package and this costs 5% of our
  boot time
- this commit bumps NQL to the latest version, which fixes the requires
  to help with treeshaking and loading less code
2024-10-09 17:03:04 +01:00
Sag
09b4aceb64
Released Portal v2.44.1 (#21262)
no issue

- this release contains a fix for Tips & Donations for Ghost sites
hosted on subdirectories (commit:
55e415c0c7)
2024-10-09 10:17:02 +00:00
Fabien O'Carroll
72d46a4706 Bumb admin-x-activitypub to 0.1.3 2024-10-08 20:09:32 +01:00
Fabien O'Carroll
18f900f38b Filtered replies out from activities
This is a temporary fix until we're able to work out what's going on in the
backend.
2024-10-08 20:09:32 +01:00
Michael Barrett
20cb63b9c6
Bump admin-x-activitypub to 0.1.2 (#21257)
no refs
2024-10-08 17:52:11 +01:00
Michael Barrett
4058fa2794
Added reply filtering to the activities tab of the activitypub app (#21254)
refs
[TryGhost/ActivityPub#63](https://github.com/TryGhost/ActivityPub/pull/63)
2024-10-08 17:26:59 +01:00
Michael Barrett
f798955bc9
Tweaked feed item when in inbox view (#21255)
no refs
2024-10-08 17:03:14 +01:00
Cathy Sarisky
55e415c0c7
🐛Fixed 404 error for Tips & Donations on subdirectory sites (#21250)
closes #21123 

- There was an error in the calculation of the site's url for sites setup
as subdirectories (yoursite/blog instead of just yoursite/).
- Fixed and tested with a manual build of portal. There's apparently a gap
in test coverage here, as it passed both before and after...
2024-10-08 14:38:53 +02:00
renovate[bot]
d7ab1c60d7 Update dependency @uiw/react-codemirror to v4.23.5 2024-10-07 00:51:08 +00:00
Fabien O'Carroll
f7c46088f6 Bumbed admin-x-activitypub to 0.1.1
This should roll out the fix for the ActivityPub API URL
2024-10-06 21:57:05 +07:00
Fabien O'Carroll
5d25b6e512 Removed _ObsoleteListIndex.tsx
This file is no longer used
2024-10-06 21:57:05 +07:00
Fabien O'Carroll
2fb4d83b5a Remove usage of useSiteUrl from Activities component
refs https://linear.app/tryghost/issue/AP-469

This takes advantage of the new criteria in the API so that we don't have to
use the problematic useSiteUrl.
2024-10-06 21:57:05 +07:00
Fabien O'Carroll
5bdfac4e1f Ensured queries are dependent on siteUrl
refs https://linear.app/tryghost/issue/AP-469

The first time `useSiteUrl` was called it would return the origin of the admin
url, rather than the site url which causes errors in production. Instead of
relying on the admin-x-framework to get the site url, we can make the request
ourselves and cache it - this ensures that we always have the correct URL.
2024-10-06 21:57:05 +07:00
Steve Larson
2157cbfc20
🌐 Updated packages for improved i18n support (#21218)
no ref

We've shipped quite a few updates to our i18n package these past couple
weeks and are due for an update to the consuming packages. Special
thanks to our community contributors for the translations, and in
particular to @cathysarisky for their continued effort!
2024-10-03 22:27:16 +00:00
Steve Larson
ed2828861c
Skipped admin-x-demo tests (#21221)
no ref

These are flaky on CI this week and we're not currently making use of
this demo.
2024-10-03 22:10:33 +00:00
Steve Larson
77ab8baa82
Bumped comments-ui (#21217)
no ref
- bumped to include i18n changes
2024-10-03 21:40:00 +00:00
Steve Larson
d436fa5e8b
Bumped signup-form (#21215)
no ref
- bumped to include i18n changes
2024-10-03 21:39:13 +00:00
Steve Larson
8aa920e425
Bumped search (#21216)
no ref
- bumped to pull in i18n changes
2024-10-03 21:33:19 +00:00
Steve Larson
ddf1744231
Bumped Portal (#21214)
no ref
- bumped to get i18n changes
2024-10-03 21:26:17 +00:00
Djordje Vlaisavljevic
0729c76b95 Fixed tabs in profiles showing up in the wrong place
ref https://linear.app/tryghost/issue/AP-429/add-ui-for-searching-and-viewing-mastodon-profiles
2024-10-03 15:30:39 +01:00
Djordje Vlaisavljevic
1bb09a9b7e
Updated ActivityPub inbox layout and profiles (#21200)
- Improved inbox layout for the home screen, optimized for long-form
content
- Added expand/collapse when profile details are too long
- Added link to profile on the original server to profiles

ref https://linear.app/tryghost/issue/AP-463/add-show-all-to-profiles-with-long-summaries-and-attachment-lists, https://linear.app/tryghost/issue/AP-424/inbox-and-feed-view-need-to-be-differentiated
2024-10-03 15:01:20 +01:00
Michael Barrett
0d8ea553bd
Updated activitypub search suggestions to be dynamic (#21202)
refs
[TryGhost/ActivityPub#60](https://github.com/TryGhost/ActivityPub/pull/60)

Updated activitypub search suggestions to be dynamic
2024-10-03 14:43:54 +01:00
Cathy Sarisky
1196688b0e
🌐 Improved i18n support for Portal error messages (#21190)
no ref

Expose (some) Portal error strings for translations

💩This is a somewhat hacky (but test-passing and individual inspection
passing) solution to the way Portal handles errors. Or rather, the
half-dozen ways Portal handles errors.

Passing 't' around with context and state, and occasionally recreating
it from the site object. Yes, I am also somewhat horrified, but a better
implementation will need a major rewrite of Portal.

Addresses errors in both the popover React app and in the
data-attributes.

There are probably more. Since Portal exposes raw API responses in some
places, it's hard to enumerate everything that /might/ end up being
client-facing, but at least I've gotten the ones that I've commonly
seen.

Improvements very welcome.
2024-10-03 13:35:23 +00:00
renovate[bot]
34090f7370
Update dependency flexsearch to v0.7.43 (#19455)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>nextapps-de/flexsearch (flexsearch)</summary>

###
[`v0.7.43`](12f48e64f7...4c3966709f)

[Compare
Source](12f48e64f7...4c3966709f)

###
[`v0.7.42`](a0a798d7fe...12f48e64f7)

[Compare
Source](a0a798d7fe...12f48e64f7)

###
[`v0.7.41`](5c54b465a8...a0a798d7fe)

[Compare
Source](5c54b465a8...a0a798d7fe)

###
[`v0.7.40`](b8279ebddc...5c54b465a8)

[Compare
Source](b8279ebddc...5c54b465a8)

###
[`v0.7.39`](f18da33d8f...b8279ebddc)

[Compare
Source](f18da33d8f...b8279ebddc)

###
[`v0.7.34`](1d620d68c4...f18da33d8f)

[Compare
Source](1d620d68c4...f18da33d8f)

###
[`v0.7.33`](https://redirect.github.com/nextapps-de/flexsearch/compare/0.7.31...1d620d68c498e6617192fdd6ff6e0e70c666b254)

[Compare
Source](https://redirect.github.com/nextapps-de/flexsearch/compare/0.7.31...1d620d68c498e6617192fdd6ff6e0e70c666b254)

###
[`v0.7.31`](65b027ca31...0.7.31)

[Compare
Source](65b027ca31...0.7.31)

</details>

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM4Ljk3LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-02 16:21:12 +01:00
Michael Barrett
d3d2ea44e4
Updated following/followers in activitypub profile preview to be dynamic (#21170)
refs
[AP-442](https://linear.app/tryghost/issue/AP-442/add-dynamic-following-followers-to-search-result-profile),
[TryGhost/ActivityPub#53](https://github.com/TryGhost/ActivityPub/pull/53)

Updated following/followers in activitypub profile preview to be dynamic
2024-10-02 15:41:25 +01:00
Steve Larson
0f7b1567a3
Reverted "🌐 Updated Portal error handling to be i18n-friendly (#21176)" (#21184)
no ref
- this caused some troubles with error representation and changed
defaulting behavior

Going back to the drawing board on this one. I've been working on a
larger scale refactor so that this could be a hook, which feels much
more appropriate, though a much more substantial change.
2024-10-02 12:06:09 +00:00
renovate[bot]
4bd844fc2c Update dependency @uiw/react-codemirror to v4.23.4 2024-10-02 09:34:41 +00:00
Steve Larson
49debef3da
🌐 Updated Portal error handling to be i18n-friendly (#21176)
no ref
- Portal was not set up in a way to allow for easy use of the i18n
module for errors, as they weren't a React component
- moved away from the class model to a functional component that could
utilize React state (AppContext)

I'm working on a different refactor that would convert more of Portal to
hooks & functional components so that the codebase is more consistent
and easier to read. This will have to work for the moment while that is
being done, as that's no small task.
2024-10-01 21:19:09 +00:00
Cathy Sarisky
6e599ef541
🌐 Added ⬅️RTL to sodo-search & improved tests (#21152)
no ref

- added dir prop, calculated by i18next from language (using the dir
function)
- tweaked a few styles to use me/ms/pe/ps instead of mr/ml/pr/pl
- added updated test that checks that stemming works in English, and added tests for partial and full-word searching with RTL content.
2024-10-01 18:04:54 +00:00
ココロ
300eba49ca
🌐 Improved sodo-search for CJK (#21148)
no ref

According to the flexsearch documentation, https://github.com/nextapps-de/flexsearch?tab=readme-ov-file#cjk-word-break-chinese-japanese-korean for searching CJK text, need to pass in a custom encode function for better search results.

This enhancement for CJK will only take effect when the ghost site locale is set to one of `zh`, `zh-Hans`, `zh-Hant`, `ja`, `ko`.

Co-authored-by: Cathy Sarisky <42299862+cathysarisky@users.noreply.github.com>
2024-10-01 18:01:54 +00:00
renovate[bot]
e2d20d5c49 Update tiptap monorepo to v2.8.0 2024-09-30 16:05:32 +00:00
Michael Barrett
8fa9fb9c25
Updated search to be dynamic in admin-x-activitypub app (#21099)
refs
[AP-352](https://linear.app/tryghost/issue/AP-352/search-for-mastodon-usernames-in-ghost-admin)

Updated the search functionality in the admin-x-activitypub app to be
dynamic and utilise the search API endpoint provided by the activitypub
service

---------

Co-authored-by: Djordje Vlaisavljevic <dzvlais@gmail.com>
2024-09-30 11:32:05 +01:00
Daniel Lockyer
e2bf950b63 Removed unused @sentry/tracing dependency
- this isn't used anywhere so we can remove it and cleanup a dependency
2024-09-30 11:05:22 +02:00
Kevin Ansfield
26f429be78 Shipped comments-ui@0.18.3 2024-09-26 17:56:28 +01:00
Sanne de Vries
5a251b5cac
Fixed comment form visual issues (#21138)
REF PLG-225
- When editing a comment, the form was not aligned correctly.
- The form has more height by default now even when not focused, to
increase engagement.
2024-09-26 18:35:01 +02:00
Fabien O'Carroll
146e702d93 Updated @tryghost/admin-x-activitypub to 0.1.0
This will test the release when we merge to main
2024-09-26 23:24:26 +07:00
Fabien O'Carroll
d9a2b0e3a6 Removed private flag
This is necessary so that we can publish to npm
2024-09-26 23:24:26 +07:00
renovate[bot]
bec6371e5c Update tiptap monorepo to v2.7.4 2024-09-26 13:01:56 +00:00
renovate[bot]
7b274497d2 Update tiptap monorepo to v2.7.3 2024-09-25 19:46:00 +00:00
Kevin Ansfield
4389140853 Shipped comments-ui@0.18.2 2024-09-25 16:19:58 +01:00
Sanne de Vries
68c3d99f15
Fixed various visual details in Comments UI (#21121)
REF PLG-225
- Updated placeholder text color to work in dark mode
- Fixed spacing for reply input field
- Changed comment input field styles
- Changed left border width from 3px to 1px
- Updated "Expertise" modal typography
- Updated CTA typography
2024-09-25 17:11:53 +02:00
Kevin Ansfield
175d76c831 Shipped comments-ui@0.18.1 2024-09-25 16:02:57 +01:00
Kevin Ansfield
2bca5efcec Added reply button to comment replies
closes https://linear.app/tryghost/issue/PLG-221

- added `toggleParentReplyMode()` to comment component's props so clicking Reply on a reply opens the reply form on the top-level parent to emphasise we only support 1-level deep replies and avoid unexpected nesting
- adjusted conditional so "Reply" button is shown in `<CommentMenu>` when a parent is present (behind labs flag)
- updated `useLabs()` to always return an object so we don't need to add nullish checks everywhere

# Conflicts:
#	apps/comments-ui/test/e2e/actions.test.ts
2024-09-25 15:49:56 +01: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]
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
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
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
Hannah Wolfe
554920d20b
Shipped sodo-search@1.2.0 (#21090)
- This adds i18n support to search
2024-09-24 13:13:27 +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
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
Sag
4dc4b19b09
Released Portal v2.43.2 (#21082)
ref https://github.com/TryGhost/Ghost/pull/21042
2024-09-24 07:49:23 +00:00
renovate[bot]
355793ebd1 Update dependency tailwindcss to v3.4.13 2024-09-24 08:59:06 +02: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
renovate[bot]
894a961f9e Update dependency tailwindcss to v3.4.12 2024-09-23 09:13:59 +02:00
renovate[bot]
6d80063539 Update dependency @uiw/react-codemirror to v4.23.3 2024-09-23 06:34:27 +00:00
Fabien O'Carroll
2681e526f6 Fixed type errors for admin-x-activitypub
We didn't catch these because ci type checks weren't running, but they are now!
2024-09-21 10:20:20 +07:00
Fabien O'Carroll
92c17ade34 Ensured types are checked as part of unit tests
Otherwise we get green ticks on a PR and then the build fails on main
2024-09-21 10:20:20 +07:00
Djordje Vlaisavljevic
674227941e Added nicer focus state so text and button don't clash
ref https://linear.app/tryghost/issue/AP-307/component-for-replying-to-objects-in-the-inboxfeed
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
ae50afe307 Fixed linting issue
ref https://linear.app/tryghost/issue/AP-307/component-for-replying-to-objects-in-the-inboxfeed
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
9bd2b26226 Fixed avatars appearing stretched in replies
ref https://linear.app/tryghost/issue/AP-374/add-design-for-replies
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
9b2228708a Improved feed item layout and typography
ref https://linear.app/tryghost/issue/AP-282/render-notes-in-the-frontend
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
6d873600f0 Simplified drawer design
ref https://linear.app/tryghost/issue/AP-282/render-notes-in-the-frontend
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
4aa5e4f091 Added Just now as a timestamp
ref https://linear.app/tryghost/issue/AP-282/render-notes-in-the-frontend
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
0cf5d11bf2 Fixed bugs with textarea focus on disabled states 2024-09-21 09:39:42 +07:00
Fabien O'Carroll
bd2a0369ed Added new reply to the comments state
ref https://linear.app/tryghost/issue/AP-395

This is a stopgap solution, because currently we don't have any of our own
reply data in the frontend, so this will show the new reply, but it won't be
present on page reload. Should be enough for a demo video, but I think we need
to either fetch our outbox, or make a new replies endpoint and fetch from there
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
8cc3646c29 Fixed post reply button
ref b9d02f8051beb9120a282bcbf0f70440c2a3c39e

Because we disabled the button on blue of the textarea, it was being disabled
before the click would be handled! Using the mousedown event means that our
event gets handled before the blur.
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
78bb1461a8 Focused reply input when clicking comment button in drawer
ref https://linear.app/tryghost/issue/AP-396

We need to use a number instead of boolean here so that the state is always
refreshed, otherwise we can run into issues where we set `focused` to true but
there's no rerender because it was previously set to true, but unfocused
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
6a3632e457 Updated button based on focus state
ref https://linear.app/tryghost/issue/AP-398

This adds an internal focus state so that we can render the reply box different
based on whether or not the textarea is focused!
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
403cac4c42 Focused reply box when clicking comment button on feed item
ref https://linear.app/tryghost/issue/AP-396

I think it's nicer API to pass in a focused property, rather than an
element ref, but I don't have much experience here, so it might be the
wrong approach!
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
3e6b3bda8a Populated reply box avatar
ref https://linear.app/tryghost/issue/AP-397

I think we're gonna want to pass this data into the component long
term, but this will do for now, I'm going to look at cleaning up these
components in my next B week
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
e8e44a0312 Added toast notification for successful reply
ref https://linear.app/tryghost/issue/AP-395
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
5ff7dce5a2 Emptied reply textarea after reply success
ref https://linear.app/tryghost/issue/AP-395

I've also set the disabled prop here too, not sure if necessary
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
82328708ac Set loading state of the post reply button
ref https://linear.app/tryghost/issue/AP-394

I've also passed the disabled prop, but not sure if it's necessary
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
f60f22be2d Added placeholder text to AP reply box
ref https://linear.app/tryghost/issue/AP-399/add-reply-box-placeholder
2024-09-21 09:39:42 +07:00
Fabien O'Carroll
ea9fcd8f2a Initial wire up of reply box to the API
ref https://linear.app/tryghost/issue/AP-287
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
b6c5cca890 Updated AP reply box design
ref https://linear.app/tryghost/issue/AP-307/component-for-replying-to-objects-in-the-inboxfeed
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
6df9ad6537 Added Copy link button to feed items
ref https://linear.app/tryghost/issue/AP-308/ui-for-deleting-replies
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
6708787731 Added static reply box for ActivityPub content
ref https://linear.app/tryghost/issue/AP-307/component-for-replying-to-objects-in-the-inboxfeed
2024-09-21 09:39:42 +07:00
Djordje Vlaisavljevic
1680817da2 Added More menu for feed items and static Delete menu item
ref https://linear.app/tryghost/issue/AP-308/ui-for-deleting-replies

- Added `dotdotdot` icon
- Added optional `destructive` prop to `Menu` items
2024-09-21 09:39:42 +07:00
renovate[bot]
78ad06226a Update dependency react-select to v5.8.1 2024-09-19 15:41:43 +00:00
renovate[bot]
46aa2a7ce7
Update Koenig packages (#21048)
Ref: https://linear.app/tryghost/issue/ENG-904/bookmark-card-hot-linking-favicons

When a bookmark is added(pasting a URL) into the editor we’re immediately hitting the oembed endpoint twice.
The editor shouldn’t be firing a second bookmark oembed request when it’s already been given all the bookmark data from the first request.
Details: https://linear.app/tryghost/issue/ENG-904/bookmark-card-hot-linking-favicons#comment-852d53dc
2024-09-19 18:19:36 +05:30
Cathy Sarisky
6b84d9a900
🎨 wrapped missing i18n strings in portal (#21042)
ref https://forum.ghost.org/t/how-to-translate-the-date-intervals-year-and-month-in-portal-js/25599

- Added sneaky missing translation wrapping, notably the elusive year and month strings. Also "Change Plan" and "Choose Plan" for upgrade situations.
- Finding and adding these missing wrappings is critical to making Ghost's i18n usable for customers using other languages
2024-09-19 13:30:45 +01:00
Michael Barrett
a886d22437
Updated activities tab to use the activities endpoint in the activitypub app (#21037)
refs
[AP-377](https://linear.app/tryghost/issue/AP-377/inbox-returning-33mb-of-data),
[TryGhost/ActivityPub#43](https://github.com/TryGhost/ActivityPub/pull/43)

Updated activities tab to use the activities endpoint in the activitypub
app
2024-09-19 10:45:54 +01:00
Sanne de Vries
7d97c4659d
Improved comments UI styles (#20957)
REF https://linear.app/tryghost/issue/PLG-225

- Reduced overall spacing and font-sizes for it to be more compact
- Optimised mobile spacing and typography
2024-09-18 12:52:13 +00:00
Michael Barrett
d7ee3b2e42
Updated activitypub app to utilise new activities endpoint (#21025)
refs
[AP-377](https://linear.app/tryghost/issue/AP-377/inbox-returning-33mb-of-data),
[TryGhost/ActivityPub#40](https://github.com/TryGhost/ActivityPub/pull/40)

Updated activitypub app to utilise new activities endpoint which returns
a paginated list of activities
2024-09-18 10:33:52 +01:00
Sag
ab47dc719d
Released Portal v2.43.1 (#21017)
no issue
2024-09-16 20:23:59 +00:00
Michael Barrett
4ace5104a6
Added toggle sidebar size button to article modal in admin-x-activitypub (#21015)
no refs

Added a button to toggle sidebar size from the article modal in the
admin-x-activitypub app
2024-09-16 16:50:22 +01:00
Michael Barrett
12710eaefa
Added open reply notification in sidebar functionality (#21014)
no refs

Added logic to open the notification in the sidebar when the
notification is clicked if it is a reply notification
2024-09-16 16:49:52 +01:00
Sag
430fbdb987
🐛 Fixed member filtering for "Unsubscribed from newsletter" filters (#20926)
ref https://linear.app/tryghost/issue/ENG-1466
ref https://linear.app/tryghost/issue/ENG-1484

- Previously, filtering members with multiple "Unsubscribed from
newsletter x" led to no filtering at all, all members were returned
- This was caused by a bug in NQL, that is fixed in version 0.12.5, cf.
[commit](dd18d1d6ca)
- We're also removing the safeguard in the product around bulk deletion
when multiple newsletter filters are in use, as the root problem has
been fixed
2024-09-16 11:16:49 +02:00
Daniel Lockyer
c29dc48370 Updated version handling in Admin-X Settings
fix https://linear.app/tryghost/issue/DEV-22/add-support-to-admin-for-parsing-ghost-git-version

- we need to be handle the output given by `git describe`, to account
  for upcoming changes to our versioning
- this commit allows Admin-X Settings to parse these strings, and adds
  tests to check for this
2024-09-16 09:57:09 +02:00
Fabien 'egg' O'Carroll
a44274d7f3
Fixed hostname check for reply notificiations (#21002)
In order to show replies in our notifications, we loop through all the
replies in our inbox, and filter them by the ones replying to an account
on our domain, however the check we were doing was on the admin domain -
which is sometimes the same as the frontend domain, but not always. This
fixes the check so that we check the frontend domain, which is the one
used by activitypub.
2024-09-13 16:54:31 +07:00
Fabien 'egg' O'Carroll
9e4704a75f
Fixed the rendering of object attachments (#21001)
Pulled out the logic of finding the attachment(s) into a shared
function, which will only return an array if there are multiple
attachments, otherwise either null or an object will be returned.

This fixes an issue where the code assumed that an array meant
we have multiple attachments
2024-09-13 16:14:23 +07:00
Fabien 'egg' O'Carroll
c98ff3856e
Used attributedTo over actor when available (#20998)
refs https://linear.app/tryghost/issue/AP-388

The attributedTo property of objects refers to the author of the object,
wheras the actor of an activity refers to the author of the activity -
in the case of a `Create` activity - these are generally the same, but
in the case of an `Announce` they are different, the author refers to
the "announcer" and the attributedTo the author of the content! This is
a quick patch to use the true author when it's available, and in a
format we can handle.
2024-09-13 05:54:25 +00:00
Djordje Vlaisavljevic
eb796e0785 Fixed nested Replies line placement
ref https://linear.app/tryghost/issue/AP-374/add-design-for-replies
2024-09-12 16:35:50 +01:00
Djordje Vlaisavljevic
a087e329ed
Updated ActivityPub Feed and Replies design (#20992)
- Added activity icon for Replies
- Updated Replies design
- Updated hard-coded Profile values to more realistic ones
- Renamed ActivityPub nav item and moved it to the top of the navbar
- Added a check for post attachments
2024-09-12 16:03:49 +01:00
renovate[bot]
6cf3dcd5f5 Update dependency @tailwindcss/forms to v0.5.9 2024-09-12 12:10:08 +02:00
Ronald Langeveld
6d3317fcfc
Added feature flagging system for Comments UI (#20984)
ref PLG-229

- Previously we had no way of using Ghost labs flags in Comments UI.
- With this change, we now get Labs data from the existing content
  settings endpoint.
- Additionally, we have a `useLabs` hook that can be accessed from
  anywhere in the App to put those awesome new features behind a flag
for staging
- And we can pass labs params to the initialiser for testing.

For more details: https://ghost.slack.com/archives/C06TQR9SHSM/p1726133527960489
2024-09-12 18:36:37 +09:00
Michael Barrett
6704705c86
Added comment navigation in the admin-x-activitypub app (#20987)
refs
[AP-279](https://linear.app/tryghost/issue/AP-279/handle-incoming-replies)

Implemented a basic navigation stack for comments in the
admin-x-activitypub app. This allows users to navigate between comments.
2024-09-12 10:23:27 +01:00
Michael Barrett
2fc6634573
Added nested comment rendering in admin-x-activitypub app (#20980)
refs
[AP-279](https://linear.app/tryghost/issue/AP-279/handle-incoming-replies)

Added nested comment rendering in admin-x-activitypub app so that
replies to posts and replies to replies can be viewed by the user
2024-09-12 08:20:39 +01:00
Ronald Langeveld
ba74785250
Added comment improvements feature flag (#20986)
ref PLG-229

- Added `commentImprovements` feature flag toggle
2024-09-12 14:49:22 +09:00
renovate[bot]
cf8691d07f Update dependency tailwindcss to v3.4.11 2024-09-12 07:38:09 +02:00
Michael Barrett
2cb9cf8b8b
Added comments to activities in the admin-x-activitypub app (#20958)
refs
[AP-279](https://linear.app/tryghost/issue/AP-279/handle-incoming-replies)

Wired up the comments to the activities in the admin-x-activitypub app
so that comments (replies) can be viewed by the user
2024-09-11 17:44:12 +01:00
Michael Barrett
cbacea418f
Added reply handling to the notifications tab of the admin-x-activitypub app (#20956)
refs
[AP-279](https://linear.app/tryghost/issue/AP-279/handle-incoming-replies)

Added reply handling to the notifications tab of the admin-x-activitypub
app so that replies to posts can be viewed by the user
2024-09-11 17:36:02 +01:00
Peter Zimon
23ffdaf860
Added help pages to Portal links (#20974)
DES-777

- "Not receiving emails" and "Disabled emails" help pages are not
possible to access directly which makes communication to members hard
2024-09-11 13:19:16 +00:00
renovate[bot]
af244477ac Update dependency @tailwindcss/forms to v0.5.8 2024-09-11 12:05:22 +02:00
renovate[bot]
59a5a81d3b Update dependency @uiw/react-codemirror to v4.23.2 2024-09-10 20:19:47 +00:00
Kevin Ansfield
174b13982a
Released signup-form 0.1.6 (#20959)
ref https://linear.app/tryghost/issue/ONC-314

- releasing new code for integrity token passthrough
2024-09-10 15:34:00 +01:00
Peter Zimon
5be65b7e21
Fixed missing initials on staff invites' avatars (#20948)
DES-775

- Initials were missing on avatars in the invite list of Settings/Staff
2024-09-09 13:56:29 +00:00
renovate[bot]
c96744156e
Update dependency @playwright/test to v1.46.1 (#20866) 2024-09-06 10:35:50 -07:00
Fabien O'Carroll
7ee15044e9 Fixed animation of love heart bump
Resetting the isClicked state immediately would cancel the animation
2024-09-06 21:07:13 +07:00
Fabien O'Carroll
2749296fea Invalidated queries when liking and unliking objects
This gives us some live-ness in the frontend, so that when you unlike an item
in the liked view - it will be removed from the list, and the count will be
updated.
2024-09-06 21:07:13 +07:00
Fabien O'Carroll
bd66efa70a Added support for listing likes
We can reuse the FeedItem here, and I've defaulted to the 'feed' layout - I'm
not 100% sure if that's correct.

The liked collection doesn't have `liked` properties, and it's a little tricky
to add on the backend with how fedify works - so for now we hardcode the
`liked` property to true, which we can do because we're rendering all of the
liked content!
2024-09-06 21:07:13 +07:00
Fabien O'Carroll
c0386b6c69 Refactored like and unlike API requests
We don't want our components littered with fetch calls, as it makes it
difficult to test. Instead we move our http api code into the ActivityPubAPI,
giving us a central place for adding authentication and tests in the future.

We also make sure that the components use a react query wrapped call - so that
we can take advantage of the query invalidation.
2024-09-06 21:07:13 +07:00
Chris Raible
07932325f4
Added type checks to admin-x-design-system unit tests (#20863)
no issue

- Previously we weren't running the type checks in the
`admin-x-design-system` in CI, because we only run `yarn test:unit` in
CI. This adds the typechecks to the `yarn test:unit` command so CI will
fail if the type checks fail.
2024-09-05 16:15:15 -07:00
renovate[bot]
e3db122bc5 Update dependency @uiw/react-codemirror to v4.23.1 2024-09-05 20:51:29 +00:00
Djordje Vlaisavljevic
3f797d5882
Connected outgoing Like API(#20931)
ref https://linear.app/tryghost/issue/AP-286/outgoing-like-activities
2024-09-05 19:57:00 +01:00
Djordje Vlaisavljevic
21fb57eabd
Refactored and reorganized FeedItem and Profile (#20919)
- Moved engagement stats to a reusable component
- Moved functions from Profile to a separate file
- Fixed Following on Your Profile and moved them from
modals to tabs
2024-09-05 13:07:01 +01:00
renovate[bot]
67291056b0
Update Koenig packages (#20911)
Ref: https://linear.app/tryghost/issue/ENG-1435/threads-embeds-contain-broken-images

Fixed broken Thumbnails and Icons
2024-09-03 16:13:13 +00:00
Kevin Ansfield
1bc34f7227 Added Tips & Donations one-off payments
no issue

Give your audience a simple way to support your work with one-time payments, no membership required.

- cleaned up `tipsAndDonations` labs flag
2024-09-03 16:00:48 +01:00
Daniel Lockyer
f96313e9c2 Enabled treeshaking for validator in AdminX design system
ref https://linear.app/tryghost/issue/DEV-20/faster-builds

- we can save 75KB by using a tree-shaking import for validator
- import string comes from validator docs
- also adds validator import, which was missing for this package
2024-09-03 10:44:14 +02:00
Daniel Lockyer
7db1cb4f14 Fixed treeshaking for lodash in AdminX apps
refs https://dev.to/pffigueiredo/making-lodash-tree-shakable-3h27
ref https://linear.app/tryghost/issue/DEV-20/faster-builds

- by importing `lodash`, we import a huge 500KB file into all AdminX
  apps
- we only use one function from this, so we can switch to `lodash-es`
  and Vite will treeshake the rest out of the final compiled JS
- this saves 500KB in each AdminX app and improves compile times
2024-09-03 10:18:04 +02:00
Djordje Vlaisavljevic
3696d4305c Added static design for Replies
ref https://linear.app/tryghost/issue/AP-374/add-design-for-replies
2024-09-02 21:38:32 +01:00
Kevin Ansfield
73d75413a0
🎨 Convert portal links to relative to avoid homepage flash on click (#20896)
closes https://linear.app/tryghost/issue/PLG-190

- often when adding portal links to your own site pages the URLs are added as absolute on the site's homepage due to copy+paste from displayed URLs in Admin
- when clicking absolute portal URLs the homepage is first loaded before the Portal popup is shown resulting in a slower and flashier experience
- added a transform for all local portal URLs on the page when Portal is initialized so links open the Portal popup immediately on the current page
2024-09-02 11:23:12 +00:00
Daniel Lockyer
33dd6b6b49 Removed concurrently from building apps
ref https://linear.app/tryghost/issue/DEV-20/faster-builds

- we added concurrently because, in theory, it should make builds faster
  by utilizing more cores
- however, when combined with Nx, it seems that we are trying to exceed
  the number of cores, which actually makes individual builds slower
- I've removed concurrently from the apps, which should improve the
  build time significantly
2024-09-02 12:06:27 +02:00
Djordje Vlaisavljevic
a3e498106d Added icons to Activity items to make it easier to scan the page
ref https://linear.app/tryghost/issue/AP-283/handle-incoming-likes
2024-09-02 10:43:38 +01:00
Djordje Vlaisavljevic
c260ed5202 Added support for badges to APAvatar
ref https://linear.app/tryghost/issue/AP-283/handle-incoming-likes
2024-09-02 10:43:38 +01:00
Ronald Langeveld
b62baa8b0b
Added sentry to support error on Portal (#20890)
ref PLG-204

- Added a sentry capture so we know when and if the support error
component gets triggered.
2024-09-02 16:58:22 +09:00
Sodbileg Gansukh
d30164df97
Improved publishing flow (#20878)
ref DES-706

* After a user publishes or schedules a post, they are directed to the post list
* If a post is sent as an email, they are directed to the Analytics page
* In both cases, a confirmation modal is shown
* If a post is published, they can share it directly from the confirmation modal
* Added a "Share" button and some additional functions (view, edit, and delete post) to
published posts in post analytics
* Added a manual "Refresh" button to post analytics so that there is
no need to reload the whole app to update the data

---------

Co-authored-by: Sag <guptazy@gmail.com>
2024-08-29 21:17:16 +02:00
Daniel Lockyer
0a6cd75993 Gated NestJS framework behind environment variable
- we added NestJS to Ghost as a way forwards for a new framework within
  Ghost but we haven't added much to it
- requiring all the NestJS code adds about 6-9% to our boot time, so if
  we're not using it, it's just time we're burning for no benefit
- for now, I've gated this behind an env var to prevent it from loading
- we can't use labs flags in the boot process, so I've gone for an env
  var
2024-08-29 12:18:42 +02:00
Kevin Ansfield
0d091992f2 Shipped new Portal version 2024-08-28 17:54:58 +01:00
Sanne de Vries
8ddbf471dd
Updated donation success modal styles (#20859)
REF PLG-152
2024-08-28 15:48:57 +00:00
Kevin Ansfield
c689414497
Added missing translation entries for Portal field placeholders, labels, and errors (#20858)
no issue

- added `t()` around static strings to allow them to be translated
- updated translation files, with context provided in `context.json`
2024-08-28 15:43:03 +00:00
Kevin Ansfield
32edc12cc2 Fixed error closing donation success modal
no issue

- when redirecting from Stripe back to Ghost after making a donation the URL contained a double slash (`//#/portal/...`) which triggered browser security errors when Portal modified the browser history stack when navigating
- the above could prevent the donation success modal from closing
2024-08-28 12:38:14 +01:00
Kevin Ansfield
2b2e5dfeb1 Updated Portal readme with more testing/releasing details 2024-08-28 10:37:04 +01:00
Michael Barrett
59a3a9514b
Added data retrieval for activitypub activities (#20830)
refs
[AP-283](https://linear.app/tryghost/issue/AP-283/handle-incoming-likes)

Added data retrieval for activitypub activities in the acvitiies tab of
the ActivityPub demo
2024-08-28 09:39:01 +01:00
Chris Raible
a79ab03463
Fixed failing type check in admin-x-design-system story (#20838)
no issue

- The type checks for `admin-x-design-system` were failing for me locally for a Storybook story. It looks like we changed the `PopoverPosition` type to use 'start'/'end' rather than 'left'/'right', but this story was still using 'left'. This was causing `yarn test` to fail in the `admin-x-design-system` app.
- This commit updates the story to use 'start' instead of 'left', which allows the type checks to pass.
2024-08-27 17:58:42 -07:00
Steve Larson
962194b595
Bumped Portal (#20837)
no ref
2024-08-27 21:29:40 +00:00
Steve Larson
8a1274517d
🐛 Added integrity token to one click subscribe (#20836)
ref https://linear.app/tryghost/issue/ONC-269

When we added the integrity token to all `send-magic-link` callers in
Portal, we missed one.
2024-08-27 21:17:19 +00:00
Kevin Ansfield
709ee163e3 Bumped Portal
ref https://linear.app/tryghost/issue/PLG-152

- updates tips and donations success states
2024-08-27 19:30:27 +01:00
Kevin Ansfield
f613f42bec Updated donation success states
closes https://linear.app/tryghost/issue/PLG-152

- switched member success to a notification
- updated non-member success modal to include signup and signin links
2024-08-27 19:30:27 +01:00
Sodbileg Gansukh
0cf987ebff
Fixed Radix UI related custom validity error (#20829)
ref DES-755

- a direct child of a form control primitive should be a form element
- for TextField component, a div was the direct child
- this moves the input element to the form control primitive
2024-08-27 18:17:39 +08:00
Steve Larson
d24af3bd50
Bumped Portal (#20826)
ref https://github.com/TryGhost/Ghost/issues/20767
2024-08-26 23:06:27 +00:00
Steve Larson
22fcd21fbb
Fixed Portal honeypot field (#20825)
ref INC-97
ref https://github.com/TryGhost/Ghost/issues/20767
- finishes wiring up the honeypot fied
- updates state handing to properly set the value
- maintains honeypot field across page changes within portal

There isn't a single previous commit to point to here since they didn't
get squashed. We added a honeypot field to help mitigate bot signup
activity. It's hidden, and if filled out, we can anticipate it's a bot.
Right now this just logs to Ghost while we collect data.
2024-08-26 22:51:57 +00:00
Peter Zimon
65b6978482 Updated layout switch 2024-08-26 14:02:47 +02:00
Peter Zimon
6530cd535e Added basic inbox view 2024-08-26 14:02:47 +02:00
Djordje Vlaisavljevic
8cbdecfc7f Added static design for Search page
ref https://linear.app/tryghost/issue/AP-352/search-for-mastodon-usernames-in-ghost-admin
2024-08-26 14:02:47 +02:00
Djordje Vlaisavljevic
6171a417de Updated design of Notes in the feed and in the drawer
ref https://linear.app/tryghost/issue/AP-282/render-notes-in-the-frontend
2024-08-26 14:02:47 +02:00
Djordje Vlaisavljevic
5b70fc6b1c Added design for Profile component
ref https://linear.app/tryghost/issue/AP-305/profile-viewer-component-that-can-render-activitypub-actor-data
2024-08-26 14:02:47 +02:00
Djordje Vlaisavljevic
366d683d7b Fixed time not being converted properly
ref https://linear.app/tryghost/issue/AP-131/show-nice-relative-timestamps
2024-08-26 14:02:47 +02:00
renovate[bot]
91e8aa1271 Update dependency jsdom to v24.1.3 2024-08-26 09:44:19 +02:00
Sam Lord
0a9d2fadba Added honeypot field to prevent bot signup/signin
ref KTLO-1
Should prevent untargeted attacks using headless browser bots.
2024-08-22 22:32:04 +01:00
Sam Lord
ebc87002ce Added integrity token to signup-form package
ref KTLO-1
2024-08-22 22:23:16 +01:00
Sam Lord
ef4f79370f Added support in Portal for integrity tokens on magic link API
ref KTLO-1
These tokens should prevent untargeted attacks, as the magic link
endpoint needs a token that was generated by the server, similar to a
CSRF token, but without needing any server-side state, or a cookie to
be set for unauthenticated users.
2024-08-22 22:23:16 +01:00
Ronald Langeveld
ad3751bfa6
Added i18n support to tips and donations on portal (#20812)
ref PLG-159

- wrapped strings inside the translate function in Portal
- added new strings to i18n files
2024-08-22 15:28:08 +07:00
Princi Vershwal
309cb37cc6
Updated nql package (#20811)
Ref [ONC-216](https://linear.app/tryghost/issue/ONC-216/improve-the-performance-of-the-membersevents-aggregated-click-event)

Needed changes in nql package for this task.
2024-08-22 07:55:14 +00:00
Kevin Ansfield
f08e4d4728 Hid tips and donation settings when Stripe is disabled
closes https://linear.app/tryghost/issue/PLG-178

- updated conditional to ensure we're ready for GA by showing when Stripe is enabled rather than only when the feature flag is enabled
2024-08-21 16:12:00 +01:00
Kevin Ansfield
27123844dc Added donation notification toggle to user settings
closes https://linear.app/tryghost/issue/PLG-155

- added checkbox when "stripe enabled" check is true
2024-08-20 16:00:32 +01:00
Ghost CI
5effca4c5e Merged v5.89.5 into main 2024-08-20 14:33:31 +00:00
Steve Larson
dac2561252
🔒 Added uuid verification to member endpoints not requiring a session
ref https://linear.app/tryghost/issue/ENG-1364
ref https://linear.app/tryghost/issue/ENG-1464

- credits to https://github.com/1337Nerd
- added a hashed value to endpoints that do not require a member sign in in order to verify the source of the link and resulting request
- added redirect to sign in page when trying to access newsletter
management
2024-08-20 16:24:02 +02:00
Kevin Ansfield
0b3f7d7705 Updated tips & donations default suggested value
closes https://linear.app/tryghost/issue/PLG-156

- updated all default fixtures to use `500` ($5) as the default suggested donation value
- added migration to update existing settings using the old default of `0` to `500`
  - this is fine to apply because the feature hasn't been released so there's no explicit `0` values in the wild
- added an acceptance test for the adminx-settings tips & donations section
2024-08-20 12:07:51 +01:00
renovate[bot]
26724d8705 Pin dependencies 2024-08-19 16:53:43 +02:00
Sodbileg Gansukh
2f76847e00
Migrated the design system to Radix (#20244)
ref DES-331
2024-08-19 20:37:33 +08:00
renovate[bot]
4462b20e01 Update dependency tailwindcss to v3.4.10 2024-08-19 08:38:24 +02:00
renovate[bot]
dc7abe4712 Update sentry-javascript monorepo to v7.119.0 2024-08-15 15:11:53 +02:00
Peter Zimon
108c9f60c8
Add reusable UI components to ActivityPub (#20758)
AP-348

ATM the top navigation and the article drawer components are missing for
ActivityPub UI. They are both part of the next phase so we need to add
them.
2024-08-15 12:28:08 +02:00
Sodbileg Gansukh
5ee67892dc
Improved publishing flow end screen (#20701)
ref DES-594

- this update introduces some improvements to the publishing flow end screen
- everything's behind a feature flag — publishFlowEndScreen
2024-08-15 18:22:32 +08:00
Djordje Vlaisavljevic
04b600b0b8 Refactored renderAttachment to keep it DRY
ref https://linear.app/tryghost/issue/MOM-282/render-notes-in-the-frontend
2024-08-14 16:30:14 +01:00
Djordje Vlaisavljevic
ee5a49077d Made hover state on links inside Notes easier to see
ref https://linear.app/tryghost/issue/MOM-282/render-notes-in-the-frontend
2024-08-14 16:30:14 +01:00
Djordje Vlaisavljevic
6ae20a8d32 Added relative timestamps to feed objects
ref https://linear.app/tryghost/issue/AP-131/show-nice-relative-timestamps
2024-08-14 16:30:14 +01:00
renovate[bot]
4d133defa0 Update tiptap monorepo to v2.6.1 2024-08-13 11:14:48 +00:00
renovate[bot]
808ed29c27 Update tiptap monorepo to v2.6.0 2024-08-13 09:44:26 +00:00
renovate[bot]
fa9bc4d446 Update Koenig packages 2024-08-12 22:00:16 +01:00