refs https://github.com/TryGhost/Team/issues/3432
The theme images are used directly from admin assets using the admin assets url in AdminX, so these are redundant and not used.
refs https://github.com/TryGhost/Team/issues/3432
- shows user confirmation popup on deleting a theme
- shows user confirmation popup to activate an uploaded theme
- shows user confirmation popup to overwrite an existing theme
refs https://github.com/TryGhost/Team/issues/3432
File upload component was not firing `onChange` when user attempts to upload the same again, which is a side-effect of `input` field behavior. This change resets the file input on every upload with a new key so that the upload always fires
refs https://github.com/TryGhost/Team/issues/3448
Added the ability to specify a description for a custom theme setting
---------
Co-authored-by: Sodbileg Gansukh <sodbileg.gansukh@gmail.com>
refs https://github.com/TryGhost/Team/issues/3423
- When querying for posts that belong to a collection we should be returning full post information just like we do for Posts API.
closes https://github.com/TryGhost/Team/issues/3471
- after adding and removing an icon, icon settings passed an undefined
icon to the signup form's all-in-one style. The AIO conditions didn't
take that into account and caused the entire component to crash.
<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 9e1aea3</samp>
Fix signup form embed code generation when icon is not set. Add a check
for `this.settings.icon` in `signup-form-embed.js` before replacing
image path.
refs https://github.com/TryGhost/Team/issues/3458
From the discussion in slack, for all published/sent posts:
Published only --> view history & restore
Published & sent --> view history & restore
Email only --> history hidden
And for all unpublished/unsent posts:
All states --> view history & restore.
ref https://ghost.slack.com/archives/C02G9E68C/p1686735066587639
### <samp>🤖 Generated by Copilot at f9ec3e9</samp>
This pull request removes redundant build scripts from the `ghost/i18n`
and `ghost/signup-form` packages. This simplifies the build process and
avoids unnecessary TypeScript compilation.
fixes https://github.com/TryGhost/Team/issues/3473
When a signup happens via the embeddable signup form on your own site, we'll use the default
attribution, so it indistinguishable from a signup via Portal.
closes https://github.com/TryGhost/Team/issues/3471
- after adding and removing an icon, icon settings passed an undefined
icon to the signup form's all-in-one style. The AIO conditions didn't
take that into account and caused the entire component to crash.
<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 9e1aea3</samp>
Fix signup form embed code generation when icon is not set. Add a check
for `this.settings.icon` in `signup-form-embed.js` before replacing
image path.
fixes https://github.com/TryGhost/Team/issues/3470
- When members are disabled or invite only, the signup form embed should be disabled
- The comments access setting is now also disabled if members are disabled
- The tiers menus are now also disabled if members are disabled
no issue
- We need to send information about Stripe being enabled or disabled in live mode to analytics
- This hooks up the Domain events listeners in the analytics service and processes this information accordingly
no issue
- Withing the `SettingsBREADService` we want to call the `connect` method of the Stripe Service, which then dispatches the `DomainEvent`
- In order to ensure that the Stripe service is connected in 'live' mode, we compare the public key and make sure no live key was set before so to avoid multiple triggers of this call.
no issue
- This is preparation work to be able to listen to events whenever Stripe gets enabled in live mode or disabled again.
- This creates two new event types, which are being dispatched with `DomainEvents` from the Stripe service on the `connect()` and - vice versa - the `disconnect()` methods.
closes https://github.com/TryGhost/Team/issues/3429
Resolved the issue where the input field in the signup form was not scrolling horizontally when a long text was entered. Updated the form container to properly contain the input field and prevent it from extending behind the button. The input field now blends into the form box and enables horizontal scrolling when necessary.
---------
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
refs https://github.com/TryGhost/Team/issues/3432
- wires list of installed themes
- allows actions on themes like upload, activate, delete and download
- cleans up theme modal content and toolbar into granular components
refs https://github.com/TryGhost/Team/issues/3432
- adds new `useRequest` hook to manage API requests
- adds new `useThemes` hook that allows fetching and updating themes
- adds models pattern to store specific type and helper info for themes
refs https://github.com/TryGhost/Toolbox/issues/592
- this commit extracts the regression tests into a separate workflow
- this means they run in parallel and reduce the time we have to wait
for DB tests in general
- also fixes a test that was reliant on being run after the E2E
tests (!)
refs https://github.com/TryGhost/Toolbox/issues/592
- async-await makes the code easier to read
- also performs a small optimization to only load the foreign_keys
pragma once for SQLite
refs TryGhost/Team#3445
- The snippet model always expects an object as it gets serialized when
saving - if we give it a string, it gets doubly serialized. It breaks
snippet replacement and insertion in the new editor.
refs https://github.com/TryGhost/Toolbox/issues/592
- we should reset the URL service to avoid event listeners piling up and
slowing down CI due to the number of events it has to process
refs https://github.com/TryGhost/Toolbox/issues/592
- heads up, I'm not really sure about this fix
- when we're wrapping `setTimeout`, time stops and mysql2 starts doing
weird things because we then shift time and it hits timeouts
- apparently `shouldAdvanceTime` should fix this by automatically
incrementing time along with the system clock
- given the problem is quite difficult to hit, I could just be seeing a
lack of this due to some other factor
- also removed unnecessary sinon sandbox creation as this is superfluous
refs https://github.com/TryGhost/Team/issues/3458
From the discussion in slack, for all published/sent posts:
Published only --> view history & restore
Published & sent --> view history & restore
Email only --> history hidden
And for all unpublished/unsent posts:
All states --> view history & restore.
refs: https://github.com/TryGhost/Toolbox/issues/188
- some of our older packages used a pattern for linting which missed using test config for linting tests
- we need this to be consistent so that we can add more eslint rules for testing
- two packages also didn't use the lib pattern, which made the lint pattern error - so this was fixed as well
refs https://github.com/TryGhost/Team/issues/3456
- adds a boolean config whether members signup is enabled so that we can
hide the signup card option from the editor if it's not enabled.
closes https://github.com/TryGhost/Team/issues/3425
- Index collection is needed to support one of the usecases we have in the near future where we'd hold all posts that would be displayed on the "index" page.
closes https://github.com/TryGhost/Team/issues/3431
- We don't currently have a clear usecase to use the new pattern of updating posts as nested resource (of a collection). To simplify the API we are sticking with the approach of controlling where the post belongs to only through the Posts Admin API.
refs https://github.com/TryGhost/Team/issues/3274
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: Ronald Langeveld <hi@ronaldlangeveld.com>
Co-authored-by: Jono Mingard <reason.koan@gmail.com>
Co-authored-by: Sag <guptazy@gmail.com>
refs 551532f874
refs https://github.com/TryGhost/Team/issues/3324
- After analyzing data dumps, the data revealed that we have extra data from a stray batch. The filtering logic manually filters out the data to the recipients that belong to a "current batch".
- Hunting down the root cause of the data mixup proved to be too expensive of an investigation, so this is a "good enough patch" to deal with the problem.
- Most likely cause is the concurrent batch sending, but reducing the concurrency would be too expensive of a performance price to pay instead of filtering the data rarely.
no issue
The Storybook did set the color, but that shouldn't be set because normally the components are always rendered in an iframe, with a default black, unchangeable color.