no issue
- adds `credentials: 'include'` option to `fetch()` which instructs browsers to save cookies in the POST response in cross-origin requests (default is `'same-origin'`)
no refs.
- fixes a visual bug that the checkmark icon's stroke color during the registration flow was #000. The bug was a sideeffect to the latest ember-svg-jar module update.
closes https://github.com/TryGhost/Ghost/issues/11057
- removed static "replace" configuration of posts/pages query params
- used the router service to register a `willTransition` event handler which handles conditional replaceState transition behaviour only when filters are changed whilst already on the posts/pages route
no issue
- the default "regular" url Unsplash provides is 1080px wide that does not work well for full-width image cards
- updated to grab 2000px wide images
no refs.
- Applied line-height for textareas with gh-input class. Having it applied all the textarea styles to textarea.gh-input caused bug in calculating the height of post titles in Koenig.
requires https://github.com/TryGhost/Ghost/pull/11024
With the bookmark card you can present links in a much richer format, similar to Twitter cards. If the URL points to a page with right meta information it can show the page title, excerpt, author, publisher and even a preview image.
Bookmark cards can be created in two ways:
1. pasting a link as the first thing in blank paragraph - we'll check to see if we can create an embed, if we can't then we'll create a bookmark card instead
2. manually selecting the bookmark card from the (+) menu or by typing "/bookmark<kbd>Enter</kbd>" or "/bookmark {url}<kbd>Enter</kbd>" for short (you might want to do this if you want the bookmark version instead of a full embed)
Pressing <kbd>Ctrl/Cmd+Z</kbd> after pasting will convert the bookmark card back to a link if that's preferred, alternatively a URL can be pasted with <kbd>Ctrl/Cmd+Shift+V</kbd> to avoid any automatic transformation to an embed/bookmark.
---
- adds "bookmark" card that functions similarly to the embed card
- if the oembed API request returns `type: "bookmark"` then the metadata is used to create a bookmark card
no issue
- https://deprecations.emberjs.com/ember-data/v3.x/#toc_evented-api-usage
- we were using the now deprecated `didCreate` and `didUpdate` events on the post model to perform controller-specific logic each time `post.save()` was called
- moved the functionality that was attached to the hook events into a `_savePost()` function and used that anywhere we were calling `post.save()`
no issue
- adds `whats-new` service that fetches the changelog from ghost.org and exposes the latest changelog entries
- trigger a background fetch of the changelog from ghost.org when first loading the admin when logged in, or after signing in
- adds a "What's new" menu item next to the user popup menu
- adds an indicator to the user menu button and what's new menu item if there are unseen changelog entries
- closing the changelog modal will update the "last seen date", clearing both indicators
closes https://github.com/TryGhost/Ghost/issues/10995
- when first loading the site preview, if private mode is enabled submit the login form in the background to get the cookie before loading the iframe
- refactors post-authentication preloading to ensure it occurs before post-authentication route hooks are called
- adds `showSuccess` attribute to `<GhTaskButton>` so that when set to `false` it can stay in the running state after "success" to avoid state change flashes whilst waiting for a transition
no issue
- `app/helpers/gh-format-html` is duplicated in `lib/koenig-editor/addon/helpers/sanitize-html` and is not used anywhere else
- `app/helpers/gh-path` is not used anywhere - the API should be returning absolute URLs everywhere so path generation is no longer as necessary within templates
- `app/helpers/is-equal` replaced with `{{eq}}` from `ember-truth-helpers`
- `app/helpers/is-not` replaced with `{{not}}` from `ember-truth-helpers`
- `app/utils/isFinite` is not used anywhere
- `app/utils/titleize` is not used anywhere
no issue
- update dependency `eslint-plugin-ghost` to v0.3.0
- includes new rules from `eslint-plugin-ember` 6.3.0-6.7.0
- fixed linting failures for new rules
refs https://github.com/TryGhost/Ghost/issues/10767
The use of the date format 'MM/DD/YYYY' is confusing to those not in American English locations. In the absence of being able to dynamically determine full locale data, using 'YYYY-MM-DD' seems to the least ambiguous date format which would be intuitive to most users.
no issue
- the new tag that is added to the store when opening the new tag route was not being cleaned up when leaving the new tag route
- blank tags have a name value of `undefined` which causes errors when calling `localeCompare()` on them as is done when ordering tag names for display in the tags input
refs. https://github.com/TryGhost/Team/issues/205
Major update to Ghost Admin UI including:
- improved general consistency (typography, colors and contrast, UI components, icons)
- new design for post and pages lists, improved discoverability of filters
- search moved to modal
- account menu is decoupled from ghost logo
- further usability fixes
no issue
- copies `password-generator` npm module functionality into a utility function because the way it was trying to use the `crypto` core library was tripping up webpack which no longer has `node: true` config set by `ember-auto-import`
no issue
- move the Zapier API Key details out of developer experiments because our Zapier 2.0.0 version is now public and requires an API Key when connecting
no issue
- a change in Ember 3.10's rendering has resulting in the component's element being removed before the `{{gh-markdown-editor}}`'s cleanup action is run which meant that we were trying to run `.querySelector` on `undefined`
- removes the code which moved toolbar elements around because it hasn't been used since we moved to Koenig, this meant that the cleanup action could also be removed
no issue
- moved `document-title` Route extension's functionality into the `ui` service
- updates the title each time the router service emits a route changed event
- `ui.updateDocumentTitle()` can now be called directly from components rather than the confusing `this.send('updateDocumentTitle')` bubbling behaviour
- refactored the `titleToken` implementation to use the now-formalised `RouteInfo`'s `metadata` field (https://github.com/emberjs/rfcs/blob/master/text/0398-RouteInfo-Metadata.md#appendix-a)
no issue
- modified `ui` service's `routeDidChange` handler to update it's `mainClass` property based on the new route's metadata
- used in the future for switching screen background colours
To use the feature, modify or add a `buildRouteInfoMetadata` hook in the route which you'd like to change, eg:
```js
export default AuthenticatedRoute.extend({
...
buildRouteInfoMetadata() {
return {
bodyClasses: ['my-body-class'],
mainClasses: ['grey-bg'] // <--------
};
}
});
```
The route hierarchy is taken into consideration with classes being added for all currently shown routes. For example if you wanted to add an `editor` class to all editor routes you could use the hook in `routes/editor.js` then if you added an `editor-new` class in `routes/editor/new.js` the resulting HTML output on the "New story" screen would be:
```html
<main class="gh-main editor editor-new">
```