Commit Graph

3920 Commits

Author SHA1 Message Date
Kevin Ansfield
48e3bf003d ESLint: Consistent ember property/method ordering
no issue
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/order-in-components.md
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/order-in-controllers.md
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/order-in-routes.md
2018-01-12 12:17:56 +00:00
Kevin Ansfield
f2da8a20b8 ESLint: Don't use observers if possible
closes https://github.com/TryGhost/Ghost/issues/8690
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/no-observers.md
- remove observers where possible
- move night shift toggle behaviour to the feature service
	- refresh feature service after import to fix stuck night shift toggle
2018-01-12 12:17:56 +00:00
Kevin Ansfield
b6ae61c22f ESLint: Be explicit with Ember Data attribute types
no issue
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/no-empty-attrs.md
2018-01-12 12:17:56 +00:00
Kevin Ansfield
fda94fedab ESLint: Alias model in controllers
no issue
- https://github.com/ember-cli/eslint-plugin-ember/blob/HEAD/docs/rules/alias-model-in-controller.md
- replace `model` with a meaningful property name everywhere possible
- refactor `design` and `general` settings controllers to use a directly injected settings service rather than passing it in as a "model" to be more explicit
2018-01-12 12:17:56 +00:00
Kevin Ansfield
7b4d1af3c8 Remove unused "copy-html" modal component 2018-01-12 12:17:56 +00:00
Kevin Ansfield
a85f5fae35 Switch to eslint-plugin-ghost extending plugin:ghost/ember
no issue
- fix lint errors in lib/gh-koenig
- fix ghost:base eslint errors
- update ember plugin refs, remove ember-suave plugin refs
- remove old jshint refs
- add `lint:js` script
- switch to `eslint-plugin-ghost` extending `plugin:ghost/ember`
2018-01-12 12:17:56 +00:00
Kevin Ansfield
832fd8bba3 🎨 Highlight non-breaking spaces as special chars in the editor
closes https://github.com/TryGhost/Ghost/issues/9384
- add non-breaking space char to CodeMirror's default "specialChars" regex so that they are visible in the editor
2018-01-11 09:20:25 +00:00
kirrg001
7970640667 Version bump to 1.20.0 2018-01-09 21:42:08 +01:00
Kevin Ansfield
a5eeb1865b 🎨 Move "Update available" notification to the About screen (#894)
refs https://github.com/TryGhost/Ghost/issues/5071

Upgrade messages are now shown on the About screen rather than as alerts. Notifications that are marked as `top` or `custom` are still shown as alerts to allow for certain upgrade messages to be given more visibility.

- remove old `upgrade-notification` service
- update the `upgrade-status` service:
  - add a `message` property that contains an upgrade notification if any exists
  - add a `handleUpgradeNotification` method that accepts a Notification model instance and extracts the `notification.message` property into a html safe string for use in templates
- when loading server notifications during app boot, pass notifications that aren't marked as `top` or `custom` to the new `handleUpgradeNotification` method
- update the `about.hbs` template to pull the upgrade message from the `upgradeStatus` service
2018-01-09 14:23:36 +00:00
juan-g
9fcaa3a5ed Theme translations and blog localisation (#703)
refs #5345, refs #3801, refs https://github.com/TryGhost/Ghost/pull/8437

- added language option to General Settings
- just a text field for flexibility, to allow any language (validation will be added later)
- default language is: English (en)
- added i18n docs link under the input field

**Documentation can be found at https://themes.ghost.org/v1.20.0/docs/i18n.**
2018-01-09 14:55:28 +01:00
Kevin Ansfield
12fb9504ae Added Zapier app with pre-built zap templates list (#943)
no issue

- add Zapier app to Apps screen
- use Zapier's zap template embed widget to list our pre-built templates
2018-01-09 11:36:41 +01:00
Kevin Ansfield
bde0b9768e Fix linting error 2018-01-08 19:30:16 +00:00
Kevin Ansfield
eef41d2cd7 🐛 Fixed editor cursor position on iOS when opening keyboard
closes https://github.com/TryGhost/Ghost/issues/9379
- detect iOS devices and start a requestAnimationFrame loop when inserting the markdown editor that watches `body.scrollTop` and translates the scroll that iOS applies to the body to the editor instead so that we keep the cursor on screen without the disconnected cursor proplems
2018-01-08 19:10:29 +00:00
Kevin Ansfield
f65b07c589 Fixed horizontal scroll in editor on iOS 2018-01-08 18:32:25 +00:00
Kevin Ansfield
99576c2da3 🐛 Fixed missing cursor and selection issues using editor on iOS
closes https://github.com/TryGhost/Ghost/issues/9378
- only disable element selection on the codemirror content on desktop
2018-01-08 17:02:04 +00:00
Abijeet Patro
57c20d5aae Prevent "Invalid URL" errors due to trailing spaces when editing Slack Webhook URL (#925)
no issue
- trim the slack URL in the `updateURL` action
2018-01-08 10:31:53 +00:00
Kevin Ansfield
cc33fa899d 🐛 Fixed navigation url inputs when configured URL has special characters (#941)
closes https://github.com/TryGhost/Ghost/issues/9373

- using an `<a>` element to parse a URL does not behave as expected when the URL has special characters because the `host` attribute will show the Puny URL version. Eg. `exämple.com` will become `xn--exmple-cua.com`
- `{{gh-navitem-url-input}}` was failing to manipulate the URL value because of the difference between the Puny URL encoded URL and the raw configured URL with unicode chars
- uses the `URI` module that's bundled with the imported version of `google-caja` to parse the URL via regexes rather than relying on native browser parsing
2018-01-07 12:14:24 +01:00
tamura shingo
85d4759044 🐛 Fixed Japanese IME popup position in editor (#940)
closes TryGhost/Ghost#9289
- add css to fix hidden textarea position
2018-01-05 13:37:03 +00:00
Kevin Ansfield
7469b7263f 🐛 Fixed list editing regression in 1.19.2
closes https://github.com/TryGhost/Ghost/issues/9372
- bump codemirror dependency to 5.33.0
- bump simplemde dependency
	- bumps internal codemirror to 5.33.0
	- moves all dependencies to devDependencies
2018-01-05 11:48:12 +00:00
Kevin Ansfield
a27052bdb6 Bump dependencies (#939)
no issue
- upgrade all dependencies with non-breaking changes
- bump sub-dependencies in yarn.lock
2018-01-04 14:18:32 +00:00
Aileen Nowak
b6bea4e7f9 Version bump to 1.19.2 2018-01-04 17:21:55 +07:00
Kevin Ansfield
a2b924b06e Skip tests that touch vertical-collection to fix random Travis failures (#938)
refs https://github.com/TryGhost/Ghost/issues/8805
- `{{vertical-collection}}` causes async issues and random failures in our tests
- we can't upgrade to the latest version which includes a test wait helper because it's buggy in Firefox
- skip the tests for now
2018-01-03 17:14:12 +00:00
Kevin Ansfield
a27887474e fix power-select import deprecations 2018-01-03 15:02:38 +00:00
Kevin Ansfield
33a8c945af Version bump to 1.19.1 2018-01-03 14:39:59 +00:00
Kevin Ansfield
dbd1edb7d3 Revert ember-cli to 2.16.2
no issue
- there's a [bug in ember-cli@2.17](https://github.com/ember-cli/ember-cli/issues/7518) that results in production builds throwing an error: `Uncaught Error: Could not find module 'ember-resolver' imported from 'ghost-admin/resolver'`
2018-01-03 14:37:28 +00:00
Kevin Ansfield
191300de74 🐛 Fixed missing error message for unexpected errors during import (#936)
no issue
- show an error message when a non-Ghost error is received, eg. when a proxy server times out due to a large import
2018-01-03 12:30:42 +00:00
John O'Nolan
e7be0075d8 2018 2018-01-02 21:46:16 +00:00
Kevin Ansfield
2d8b3039d1 🎨 Improved code injection loading behaviour on slow connections (#935)
closes https://github.com/TryGhost/Ghost/issues/9249
- in `{{gh-cm-editor}}` display a standard textarea in place of the CodeMirror editor whilst CodeMirror assets are loading in the background, textarea will be upgraded to a CodeMirror editor when loading finishes
- update styles so that the switch from plain textarea to CodeMirror is not too jarring
2018-01-02 18:29:03 +00:00
Peter Zimon
5ad75b76ff Fixed icon upload button hover state on General Settings screen (#934)
no issue
2018-01-02 16:32:26 +00:00
Kevin Ansfield
c885b960b6 Prevent double text selection in the editor
closes https://github.com/TryGhost/Ghost/issues/9356
- it was possible to start a selection from outside of CodeMirror's control, this was confusing because text appeared to be selected but wasn't
- disable user selection on the outermost CodeMirror wrapper so that the selection behaves as it does with a normal textarea where the selection needs to start from inside the content area
2018-01-02 14:53:35 +00:00
Kevin Ansfield
bdab644ad5 🐛 Fixed inability to create multi-word tags via post settings menu
closes https://github.com/TryGhost/Ghost/issues/9357
- detect space key being pressed and ignore in the token input's custom `selectOrCreate` action
2018-01-02 13:54:26 +00:00
Martín González
e64dc48d54 Improve users table mobile style (#908)
refs https://github.com/TryGhost/Ghost/issues/8744
- reduce padding
- avoid wrapping user badges
2018-01-02 11:35:24 +00:00
Kevin Ansfield
8072d75401 Fixed some Night Shift colours in the post settings menu
closes https://github.com/TryGhost/Ghost/issues/9244
- adjust weekday and current day text colours in the calendar popup to improve legibility
- match the new tags input colours to the other form inputs
2018-01-02 11:29:23 +00:00
Steven Cochrane
30ba178861 🐛 Fixed unexpected publishing of post via split-preview shortcut (Publish shortcut is now Ctrl/Cmd+Shift+P) (#924)
closes https://github.com/TryGhost/Ghost/issues/9296

If a user is trying to use the split screen preview shortcut in the admin client (`CTRL+ALT+P` for all platforms), this also calls the publish shortcut when using windows or linux. 

- change the publish shortcut to `${ctrlOrCmd}+shift+p`
2018-01-02 11:04:08 +00:00
Kevin Ansfield
4679302303 Don't destructure Ember.testing (#933)
no issue
- `Ember.testing` is or will soon be a getter/setter in Ember with the value set during a test, however destructuring will read the value when the module is evaluated
- moves all uses of `Ember.testing` inline
2018-01-02 10:19:59 +00:00
Tobias Bieniek
af1aa2fabf Update ember-simple-auth to v1.4.2 (#932)
no issue
- updates `ember-simple-auth` to v1.4.2 to take advantage of the bug fix in https://github.com/simplabs/ember-simple-auth/pull/1477
- enables/unblocks https://github.com/TryGhost/Ghost-Admin/pull/922
2017-12-27 16:19:48 +00:00
Kevin Ansfield
b5c4a17aad Bump dependencies (#929)
no issue
- upgrade all dependencies with non breaking changes
- bump sub-dependencies in yarn.lock
2017-12-13 12:27:15 +00:00
kirrg001
e3e57825bd Version bump to 1.19.0 2017-12-13 10:15:23 +01:00
Katharina Irrgang
3bba0a4eea Revert "Bump dependencies (#927)" (#928)
This reverts commit c00232ca92.
2017-12-13 10:10:46 +01:00
Kevin Ansfield
78c34830cd Trigger a background download request when Unsplash images are inserted
no issue
- update to match Unsplash's new API guidelines https://medium.com/unsplash/unsplash-api-guidelines-triggering-a-download-c39b24e99e02
2017-12-12 17:22:59 +00:00
Kevin Ansfield
c00232ca92 Bump dependencies (#927)
no issue
- upgrade all dependencies with non breaking changes
- bump sub-dependencies in yarn.lock
2017-12-12 14:00:35 +00:00
Kevin Ansfield
14f03a14a8 🐛 Fixed editor and drag/drop image uploads in IE11 (#926)
closes https://github.com/TryGhost/Ghost/issues/9321
- don't use `dataTransfer.effectAllowed` in IE11
- only fire the action in `{{gh-file-input}}` if there are files selected to prevent a double call to the action due to resetting the input
2017-12-12 11:53:35 +00:00
Aileen Nowak
97ffb63203 Version bump to 1.18.4 2017-12-07 19:30:00 +07:00
Kevin Ansfield
cac2fa5af7 🐛 Fixed Ctrl/Cmd+S save shortcut not working when tags input has focus (#921)
closes https://github.com/TryGhost/Ghost/issues/9298

- override the default Ember Power Select behaviour of stopping keydown event propagation for any alpha-numeric key events which was preventing our keyboard shortcuts from being triggerable
2017-12-07 13:09:22 +07:00
Katharina Irrgang
c0f5029868 Changed asset delivery to web/admin/views (#923)
refs #9178

- needs to be merged together with the server side PR (https://github.com/TryGhost/Ghost/pull/9308)
- we have moved the admin folder location from server/admin to server/web/admin
2017-12-06 17:37:06 +01:00
kirrg001
cd1471c166 Version bump to 1.18.3 2017-12-05 10:07:05 +01:00
Kevin Ansfield
222d98b454 🐛 Fixed "NaNUndefined" when inserting unordered list items (#920)
closes https://github.com/TryGhost/Ghost/issues/9302

- reverts the `simplemde` bump introduced in https://github.com/TryGhost/Ghost-Admin/pull/911/, the updated version of CodeMirror appears to contain a bug or incompatibility with SimpleMDE
2017-12-04 11:56:21 +01:00
Kevin Ansfield
d4444623d2 🐛 Fixed editor image uploads (#919)
closes https://github.com/TryGhost/Ghost/issues/9300
- as of d33cfdac30 we reset the file input earlier in the actions chain, this was clearing the file references before the editor was triggering the upload. By converting the `FileList` to an `Array` before resetting the input we keep hold of the file references and the upload works again.
2017-12-02 10:14:01 +01:00
Aileen Nowak
eee49ef78c Version bump to 1.18.2 2017-11-30 20:16:26 +07:00
Aileen Nowak
bc64db557b 🐛 Fixed blog icon not shown in nav (#918)
closes TryGhost/Ghost#9293

Added d982f7b520 (diff-f63965ba48df687541db46e0e1b2c2ecL10) back, which broke the rendering of the blog icon in the nav menu.
2017-11-30 20:12:01 +07:00
Kevin Ansfield
beb76982dd 🐛 Fixed time input bugs when leading zero is omitted
closes https://github.com/TryGhost/Ghost/issues/9262
- in `{{gh-date-time-picker}}` detect short 24hr format strings such as `3:30` and add a leading zero before triggering passed in actions
2017-11-30 17:06:48 +07:00
Kevin Ansfield
95f60f2340 Remove unused {{gh-datetime-input}} and related helper 2017-11-30 17:06:48 +07:00
Kevin Ansfield
65d58405ed 🐛 Fixed unresponsive upload buttons
closes https://github.com/TryGhost/Ghost/issues/9292
- fix a global find/replace error that caused the wrong element classes in the general and labs file dialog trigger events
2017-11-30 07:00:25 +00:00
Kevin Ansfield
61eec35b3c Version bump to 1.18.1 2017-11-29 15:50:50 +00:00
Kevin Ansfield
1a4909ea34 Always use closure actions
no issue
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/closure-actions.md
2017-11-25 09:49:49 +00:00
Kevin Ansfield
f9d30ff9c8 Use computed property brace expansion
no issue
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/use-brace-expansion.md
2017-11-25 09:49:49 +00:00
Kevin Ansfield
f25624234f Avoid leaking state in Ember objects
no issue
- https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/avoid-leaking-state-in-ember-objects.md
2017-11-25 09:49:49 +00:00
Kevin Ansfield
a654fa645b bump eslint-plugin-ember, enable default rules 2017-11-25 09:49:49 +00:00
Kevin Ansfield
1fb2b49a5b Remove unused top notification count functionality
no issue

- in a very old iteration of the admin design we needed a data attribute containing the number of notifications in order to add extra spacing in the styles. This hasn't been necessary for a long time and there are easier ways to do it now than using observers.
2017-11-24 11:15:59 +00:00
Kevin Ansfield
d982f7b520 Clean up markdown help toggle
no issue

The markdown help link was removed from the sidebar so the only link to toggle the markdown help modal is now the markdown editor yet we we still had a more general implementation with a confusing pass-through of closure actions.

- move the markdown modal toggle and display into the `{{gh-markdown-editor}}` component
2017-11-24 11:15:59 +00:00
Kevin Ansfield
d33cfdac30 🐛 Fixed inability to re-upload the same redirects file (#912)
closes https://github.com/TryGhost/Ghost/issues/9266
- `emberx-file-input` passes a `resetInput` function through to it's action handler but we weren't doing that in our override component. Added the missing functionality and updated all of our handlers to use that instead of doing manual resets
- added a `setFiles` action to `{{gh-uploader}}` and yield it for use in block invocations
2017-11-22 17:04:48 +00:00
Kevin Ansfield
7d1ee9386b Bump dependencies (#911)
no issue
- bump minor/non-breaking dependencies
- bump sub-dependencies in yarn.lock
2017-11-22 13:31:33 +00:00
Aileen Nowak
c7dad50ef8 Version bump to 1.18.0 2017-11-21 23:48:01 +08:00
Kevin Ansfield
4eff0938ea Bump dependencies (#910)
no issue
- bump all deps with non-breaking changes
- bump sub-dependencies in yarn.lock
2017-11-17 16:15:20 +00:00
kirrg001
120356e366 Version bump to 1.17.3 2017-11-16 16:01:51 +01:00
Kevin Ansfield
93071cb2e4 🐛 Fixed missing errors on failed import
no issue
- bug was introduced in https://github.com/TryGhost/Ghost-Admin/pull/902 where the change to `response.payload.errors` from `error.errors` was missed
2017-11-16 14:04:33 +00:00
Aileen Nowak
18614c39f6 Added missing client validations for blog title and user/subscriber email fields (#909)
refs TryGhost/Ghost#8143

Added more client side validations for input fields:

- Blog title in setup flow (150 chars)
- User email (191 chars)
- Subscribers email (191 chars)
2017-11-16 12:47:56 +00:00
Kevin Ansfield
d028b5a5b9 🎨 Allow any Slack-compatible webhook URLs in Slack app
closes https://github.com/TryGhost/Ghost/issues/9246, closes https://github.com/TryGhost/Ghost/issues/7856
- allow any valid URL in the slack webhook input
- update slack app description to mention Slack-compatible services including Discord and Mattermost
2017-11-16 12:36:17 +00:00
kirrg001
5b932c5c58 Version bump to 1.17.2 2017-11-14 14:09:36 +01:00
Kevin Ansfield
dfc59dc52a Changed theme upload dragged-over border colour to match app colours
closes https://github.com/TryGhost/Ghost/issues/9242
2017-11-14 12:27:14 +00:00
Kevin Ansfield
3c63ae0843 🎨 Added "Featured posts" filter and badge to stories list (#907)
closes https://github.com/TryGhost/Ghost/issues/9234
- add `featured` badge to stories/pages that have the featured flag
- add "Featured posts" to the post type filter dropdown
- simplified badge logic in `{{gh-posts-list-item}}`
2017-11-10 17:36:27 +00:00
Kevin Ansfield
0572c33e0f 🐛 Fixed failing Facebook URL validation for group urls (#906)
closes https://github.com/TryGhost/Ghost/issues/9160
- simplified FB validation to allow any valid FB url (autocomplete of raw usernames and facebook-like URLs is still in place)
- fixed a bug with sticky Twitter validation message, if you entered an invalid URL then changed it to an invalid username you still saw the invalid URL message (surfaced through new test helpers for validating facebook/twitter fields)
2017-11-10 16:38:30 +00:00
Kevin Ansfield
719c2c3c6e use windowProxy to avoid mangling URL during team acceptance tests 2017-11-10 14:27:47 +00:00
Kevin Ansfield
71afd505fa Fix yarn install errors
no issue
- `type-detect@4.0.4` was removed from the registry, ran `yarn upgrade` to bump the dep to `4.0.5`
2017-11-10 09:16:14 +00:00
Kevin Ansfield
fb3afd035e Version bump to 1.17.1 2017-11-09 14:37:42 +00:00
Aileen Nowak
61cb95f867 🎨 Increased allowed lengths of tag names/slugs and user names (#905)
refs TryGhost/Ghost#8143

Increases existing input validation length (soft limits) of the following fields:
   - `tags.name`: 191 chars
   - `tags.slug`: 191 chars
   - `users.name`: 191 chars
2017-11-09 14:31:25 +00:00
Kevin Ansfield
dee8927418 Bump dependencies
no issue
- upgraded all out-of-date deps which don't require additional work to support
- bumped yarn.lock sub-dependencies
2017-11-09 13:39:34 +00:00
Kevin Ansfield
3450bb25ae 🐛 Fix elastic scroll issues in admin on iOS
closes https://github.com/TryGhost/Ghost/issues/9093
- set app container to `position: fixed` covering full window area to prevent elastic scroll being possible on iOS
2017-11-09 12:55:46 +00:00
Martín González
a24db0c64e 🎨 Improve admin styles on mobile (#903)
refs https://github.com/TryGhost/Ghost/issues/8744
- active styles for mobile nav bar
- extra padding in the editor
- fixed bugs in team listing screen
- improved layout in the "Invite a new user" modal
- fixed bugs in theme listing layout
- improved layout of "Import content" file selection/import button
2017-11-09 12:28:54 +00:00
Kevin Ansfield
6e35ef79e5 Version bump to 1.17.0 2017-11-07 13:41:35 +00:00
Aileen Nowak
6080f03198 🎨 Increased maximum tag description length to 500 (#904)
no issue

- Increased the possible length of the tag description field from 200 to 500
2017-11-07 12:54:44 +00:00
Kevin Ansfield
a6dd33a8ec Ensure user model is present in willTransition hook 2017-11-07 12:34:39 +00:00
Kevin Ansfield
435438a43e Fix duplicated willTransition actions from merge 2017-11-07 12:25:17 +00:00
Eric Ellingson
704be46266 🐛 Fixed password fields not being cleared when leaving team/user page (#900)
closes TryGhost/Ghost#9174
- Added `willTransition` action which clears the password input fields when transitioning to a new route
2017-11-07 12:20:32 +00:00
Kevin Ansfield
3864584f74 Bump ember-ajax dependency (#902)
no issue
- upgrade `ember-ajax` to 3.0.0
- `ember-ajax` [now passes the payload through directly](https://github.com/ember-cli/ember-ajax/releases/tag/v3.0.0) rather than trying to normalize it so all our error handling needed to be updated
2017-11-03 22:59:39 +00:00
kirrg001
24000b83b0 Version bump to 1.16.2 2017-11-02 13:54:35 +01:00
Kevin Ansfield
414718a1cc 🐛 Fixed "Someone else is editing" errors showing when no-one else is editing (#901)
closes https://github.com/TryGhost/Ghost/issues/8969

Collision detection errors were appearing incorrectly because the save routines in the post settings menu bypass the sequential saves in the main editor controller and so are prone to having stale data if a previous save is still in progress.

- added a new `savePost` task that is part of the `saveTasks` group so that all post saves are sequential
- pass the `savePost` task to the `{{gh-post-settings-menu}}` component
- use `savePost` task in `gh-post-settings-menu` instead of calling `save()` directly on the model instance
2017-11-02 09:47:52 +00:00
Kevin Ansfield
7613f0e11b Bump vertical-collection dependency 2017-11-01 08:48:37 +00:00
Aileen Nowak
34e15f0619 🎨 Added confirmation dialogs when leaving screens with unsaved changes (#891)
closes TryGhost/Ghost#9119, refs TryGhost/Ghost#8483

- Apps - AMP
   - Added `leave-settings-modal` component to Settings - Apps - AMP
- Apps - Slack
   - Added `leave-settings-modal` component to Settings - Apps - Slack
   - Added a `triggerDirtyState` action that will uses a new Array with the input data to trigger the dirty state on the parent settings model
- Apps - Unsplash
   - Added `leave-settings-modal` component to Settings - Apps - Unsplash
   - Used manual tracking of changes with using a custom `dirtyAttributes` property and a `rollbackValue` to manually rollback the `isActive` attribute on the model
- Code injection
   - Added `leave-settings-modal` component to Settings - Code injection
- Design
   - Added `leave-settings-modal` component to Settings - Design (only for navigation model)
   - Used manual tracking of changes with using a custom `dirtyAttributes`
   - Added an additional `updateLabel` action to underlying `gh-navitem` component which gets fired on the `focusOut` event, to detect changes on the label
- Team - User
   - Added `leave-settings-modal` component to Team - User
   - Used manual tracking of changes with using a custom `dirtyAttributes` to track changes in slug and role properties
2017-10-31 15:27:25 +00:00
kirrg001
dac8fd2a09 Version bump to 1.16.1 2017-10-31 13:20:05 +01:00
Kevin Ansfield
97bde18402 Bump dependencies 2017-10-31 11:51:18 +00:00
Kevin Ansfield
0106a21e3c New tags input, drop selectize & jquery-ui deps (#892)
closes https://github.com/TryGhost/Ghost/issues/6458
- swap `ember-sortable` for `ember-drag-drop` in navigation UI
- extract PSM tag input into new `{{gh-psm-tags-input}}`
- add new `{{gh-token-input}}` that wraps `ember-power-select` and `ember-drag-drop` to replicate the previous selectize based tags input
- enhance `{{gh-psm-tags-input}}` behaviour to highlight selected primary tag and show "primary/internal" in selected tag titles
- 🔥 remove `selectize`
- 🔥 remove `jquery-ui`
- 🔥 remove unused `{{gh-navigation}}` component
2017-10-31 09:10:49 +00:00
Kevin Ansfield
9adbcd1fd0 Match service/controller import to ember-modules-codemod style for consistency
no issue

Automated tools, code generators, and editor integrations are increasingly standardising on the import style used in `ember-modules-codemod`. Our import style differed a little with regards to service/controller injection imports which meant we were starting to see inconsistent naming.
2017-10-30 09:38:01 +00:00
Aileen Nowak
f2ef3944cd Version bump to 1.16.0 2017-10-26 19:20:03 +07:00
Aileen Nowak
8f2dc2ff02 Match client-side password validation to new server-side rules (#899)
refs TryGhost/Ghost#9150

- added a new validator for password validations that will take care of the rules client side
- Passwort rules added:
   - Disallow obviously bad passwords: 1234567890, qwertyuiop, asdfghjkl; and asdfghjklm
   - Disallow passwords that contain the words "password" or "ghost"
   - Disallow passwords that match the user's email address
   - Disallow passwords that match the blog domain or blog title
   - Disallow passwords that include 50% or more of the same characters: 'aaaaaaaaaa', '1111111111' and 'ababababab' for example.
- When changing the own password, the old password is not affected by the new validations
- Validation are running on
   - setup
   - signup
   - password change in Team - User (only new passwords are validated)
   - passwort reset
2017-10-26 11:02:17 +01:00
Aileen Nowak
4676e9aa0a Version bump to 1.15.1 2017-10-24 16:19:28 +07:00
Kevin Ansfield
f48bf727c5 Version bump to 1.15.0 2017-10-19 14:26:38 +01:00
Aileen Nowak
db1c62b0f4 Fixed placeholder for password fields (#898)
refs TryGhost/Ghost#9150

😱 Updated two placeholder, which were still showing the old password length requirement.
2017-10-19 09:23:14 +01:00
Aileen Nowak
c993ae75b9 Increase password length validations for changes and signups (#897)
refs TryGhost/Ghost#9150

- Increase the password length in validators for signups, pw resets, and password changes for users to 10 instead of 8
- Update tests
2017-10-18 17:46:25 +01:00
Kevin Ansfield
305941f876 Version bump to 1.14.1 2017-10-17 16:14:31 +01:00
Kevin Ansfield
cccb50a080 Version bump to 1.14.0 2017-10-13 15:54:09 +01:00
Kevin Ansfield
956e34d009 🐛 Fixed "Post URL matches" text displaying when no template match is found (#896)
no issue

- adding missing conditional so we only display `Post URL matches post-slug-name.hbs` when a match is found
2017-10-13 13:25:52 +02:00
Kevin Ansfield
f622b31b1f Fix Ember deprecations and warnings (#895)
no issue 

- `controller.content` will no longer be an alias to `controller.model`
- split relationships and `attrs` in Post model, add missing transforms
- fix unknown `error` field in payload warning when `/users/me` returns 404 during tests
- fix unsafe style binding warnings
2017-10-13 16:39:49 +07:00
Kevin Ansfield
336e57b17a Bump dependencies (#887)
no issue

- ember/ember-data/ember-cli@2.16
- bump all outdated dependencies that do not require additional work or more extensive tests
- bump sub-dependencies in yarn.lock
- use `broccoli-uglify-sourcemap` (same dep as already used in `ember-cli-uglify`) instead of a separate `broccoli-uglify-js` package for building production codemirror assets
- add `/concat-stats-for` to `.gitignore` so that filesize stats from `CONCAT_STATS=true ember build` don't end up in the repo
2017-10-12 17:42:10 +02:00
Kevin Ansfield
a112513fdd Add docs links to README.md
no issue
- add link to getting started guide for running a Ghost blog
- add link to client contribution guide for working with Ghost-Admin
2017-10-11 10:17:38 +01:00
kirrg001
0c41165690 Version bump to 1.13.0 2017-10-10 14:40:34 +02:00
Kevin Ansfield
24df9781cc Custom Post Templates UI (#878)
refs https://github.com/TryGhost/Ghost/issues/9060

- add `{{gh-psm-template-select}}` component
  - allows selection of a custom template for a post if the active theme has custom templates
  - loads themes on render, only hitting the server if not already in the store
  - disables select if post slug matches a `post-*.hbs` or `page-*.hbs` template
- adds `customTemplate` attr to `Post` model
- adds `templates` attr to `Theme` model with CPs to pull out custom vs post/page override templates
- add `.gh-select.disabled` styles to make disabled selects look visually disabled
2017-10-10 14:26:19 +02:00
Kevin Ansfield
d6bd86f84b Added top-margin to nested lists (#889)
no issue

- nested lists can become very cramped in post previews, this matches the top margin of the list to what would normally be used in-between list items
2017-10-09 18:27:45 +07:00
Kevin Ansfield
60ed43b373 Limited simultaneous upload requests (#890)
closes https://github.com/TryGhost/Ghost/issues/9120

- use `ember-concurrency` to enqueue uploads in `{{gh-uploader}}
- set simultaneous upload limit to 2
2017-10-09 18:21:57 +07:00
kirrg001
d03c3a167d Version bump to 1.12.1 2017-10-06 14:45:19 +02:00
Aileen Nowak
fd9922903c Version bump to 1.12.0 2017-10-05 18:57:41 +07:00
Katharina Irrgang
79a746a254 Display private RSS feed url in general settings (#888)
refs https://github.com/TryGhost/Ghost/issues/9001

- show private feed url if private blogging is enabled
- added a `.avoid-break-out` CSS utility class to prevent layout issues caused by non-breaking text such as long links
2017-10-05 10:59:14 +01:00
Aileen Nowak
da38f0db19 🎨 Added confirmation dialog when leaving settings screen with unsaved changes (#871)
closes TryGhost/Ghost#8483

- Added a new modal component that gets rendered when leaving general/settings after changes have been done but not saved
- Removed independent saving logic for social URL for consistent UX
2017-10-04 11:49:30 +01:00
Aileen Nowak
51c3b25bee Version bump to 1.11.1 2017-10-04 16:37:59 +07:00
Aileen Nowak
5d756da81b Version bump to 1.11.0 2017-10-03 19:41:57 +07:00
Kevin Ansfield
b1ae1dbcdd Disable fuzzy auto-linking of URLs in markdown preview (#884)
refs https://github.com/TryGhost/Ghost/issues/8987

- set `linkify-it` `fuzzyLink` option to false so that it only auto-links URLs starting with `http(s)://` or other valid schemes
2017-10-03 12:14:40 +02:00
Kevin Ansfield
5fae14fa74 🎨 Added keyboard shortcuts for editor modes (#821)
closes https://github.com/TryGhost/Ghost/issues/8863

- Spellcheck shortcut: <kbd>Ctrl-Alt-S</kbd>
- Render preview shortcut: <kbd>Ctrl-Alt-R</kbd>
- Side-by-side preview shortcut: <kbd>Ctrl-Alt-P</kbd>
- fix "Hemmingway" typo
- update simplemde fork to add a bypass of the Ctrl->⌘ transformation in toolbar button tooltips
2017-10-03 12:31:10 +07:00
Kevin Ansfield
1543ffe6ed 🐛 Fixed search losing focus when removing search term (#883)
closes https://github.com/TryGhost/Ghost/issues/9075

- ensure we re-focus the input element after closing the dropdown so that it's not necessary to click on the search input again after using backspace
- removes unnecessary use of `run.scheduleOnce`
  - this was causing the error in TryGhost/Ghost#9075 because search was happening out of sync with the open/close of the dropdown in turn causing `ember-basic-dropdown` to try measuring non-existent elements
  - alternative fix would be to wrap each open/close, focus, and search call in separate `run.scheduleOnce('afterRender', ...)` calls
- remove use of `invokeAction`, it's not been necessary in Ember for a while now and we should be calling methods directly where possible for easier debugging
2017-10-03 12:00:25 +07:00
Kevin Ansfield
83050d7689 🐛 Fixed error when navigating to tag from admin search box (#881)
closes https://github.com/TryGhost/Ghost/issues/9074

- remove unused pagination route attrs that were interfering with routing service - these were a pre-1.0 hangover from when the tags screen had infinite scroll
- change `Posts` to `Stories` in the search dropdown for consistency
- add general fix for `adapter returned an array for the primary data of a 'queryRecord' response` deprecations by ensuring that `normalizeResponse` in our application serializer transforms the array we get from the server into a "single" JSON-API response
  - this deprecation was being triggered when loading a tag route directly
- fix `defaultValue` complex object deprecations raised from `Setting.unsplash` attr
2017-10-03 11:54:24 +07:00
Kevin Ansfield
66805967f9 🐛 Fixed unreadable HTML property colours in Night Shift mode (#885)
closes https://github.com/TryGhost/Ghost/issues/9080

- increase lightness of the default CodeMirror html property colour
2017-10-02 19:49:33 +02:00
Kevin Ansfield
1fc85dd2cd 🐛 Fixed confirmation modals when leaving editor with unsaved changes (#880)
closes https://github.com/TryGhost/Ghost/issues/9000

- reset the stored transition when clicking the "Stay" button in the modal so that subsequent transitions don't get stuck
2017-09-28 17:27:33 +02:00
Kevin Ansfield
af8a4281c3 Version bump to 1.10.0 2017-09-28 15:09:30 +01:00
Kevin Ansfield
0a8d25fae2 🐛 Fixed incorrect autosave of published posts when leaving editor (#879)
closes https://github.com/TryGhost/Ghost/issues/9072

- the checks when leaving the editor were detecting that the autosave tasks were running and so forcing an immediate autosave even though the autosave tasks wouldn't do anything
- exit early from autosave tasks if autosave isn't allowed
2017-09-28 14:53:22 +02:00
Aileen Nowak
9f226416b2 🐛 Fixed admin search not handling certain characters (#877)
closes TryGhost/Ghost#8959

- Treated the search input as a literal string rather than `RegExp` to allow characters that need escaping in `RegExp` and disable `RegExp` characterslike `|`.
- Replaced any non-word characters in `highlighted-text` fn with escaped characters, so they're working with `RegExp`.
2017-09-28 11:25:13 +01:00
Vikas
382e65aedc 🐛 Fixed editor font in MS Edge (#876)
closes https://github.com/TryGhost/Ghost/issues/8867
- removed smart-quotes in the editor.css file
2017-09-28 10:00:56 +01:00
Kevin Ansfield
efa18ca375 🐛 Fixed broken "retry" link when an Unsplash API request failed (#875)
closes https://github.com/TryGhost/Ghost/issues/9041

- add missing public `retryLastRequest()` method to Unsplash service
2017-09-28 10:00:04 +07:00
Kevin Ansfield
e59555c2d2 🐛 Fixed visibility of spellcheck errors in Night Shift mode (#874)
closes https://github.com/TryGhost/Ghost/issues/9056

- decrease transparency of background color applied to spellcheck errors in night shift
2017-09-28 09:46:48 +07:00
Kevin Ansfield
fb549645f8 Fixed normalization of attrs in Mirage config and tests (#872)
no issue

We weren't being consistent in our use of Mirage's `normalizedRequestAttrs()` method which meant that in certain cases Mirage's internal database had duplicated attrs, the original set being `camelCase` and the new/updated set being `underscore_case` which was not only confusing but can lead to errors or unexpected behaviour in tests.

- updated Mirage config to always normalize where necessary
- updated tests to always use `camelCase` attrs
- added `HEAD` route handler for gravatar to avoid unknown route noise in tests
2017-09-28 09:33:00 +07:00
Kevin Ansfield
62ef94760a 🐛 Fixed various iOS issues (#868)
closes TryGhost/Ghost#8962
- fix inability to close menu after clicking "more" in mobile quick-nav (credit @nithindavid)
- fix stories list header padding at iPhone 6S sizes
- fix horizontal scroll when menu is open
2017-09-27 17:22:44 +01:00
Kevin Ansfield
74f1470096 Version bump to 1.9.1 2017-09-26 14:49:00 +01:00
Kevin Ansfield
7a1dca5eee Use Unsplash's per-app CDN cache 2017-09-26 13:43:19 +01:00
Steven B
000c010ce6 🐛 Fixed incorrect publish menu date/time input sizes in IE11 (#853)
closes https://github.com/TryGhost/Ghost/issues/8514
- add `width: 100%` to elements in order to correctly size within their container
2017-09-25 12:12:54 +01:00
Yanke Guo
6c19a18791 🐛 Fixed blog icon display in admin menu when using a storage adapter (#831)
refs https://github.com/TryGhost/Ghost/issues/8885
- detect an absolute URL when setting the icon style in `{{gh-nav-menu}}`
2017-09-25 11:55:25 +01:00
Kevin Ansfield
b937c83bca 🐛 Fixed incorrect Home/End key behaviour on Windows (#870)
closes https://github.com/TryGhost/Ghost/issues/8775

- upgrades our SimpleMDE fork
  - [bumps CodeMirror version to 5.30.0](b3e9f8b579)
  - [fixes Home/End key behaviour on Windows](f2e981845c)
2017-09-25 12:54:19 +02:00
Victor Truong
726e396cc5 🎨 Mellowed the bright white info boxes in night shift mode (#869)
no issue
- add background and text colours to `.gh-box` that better match the night shift aesthetic
2017-09-25 10:04:32 +01:00
Kevin Ansfield
bd5f7a8daa 🐛 Fixed missing "file too large" text for import uploads (#867)
closes https://github.com/TryGhost/Ghost/issues/8660

- detect a `413` when uploading an import and show the appropriate message
- refactor `{{gh-file-upload}}` to use closure actions
- add test selectors to import errors HTML
- note: doesn't include tests because `{{gh-file-upload}}` doesn't rely on the file input's `change` event (as used by our other uploader components to facilitate testing) and browsers don't allow us to artificially set and submit files
2017-09-22 21:59:05 +02:00
kirrg001
5287b06170 Version bump to 1.9.0 2017-09-21 17:03:59 +02:00
Kevin Ansfield
048f052a3b Upload/Download redirects UI
closes TryGhost/Ghost#9028

- add upload/download UI to labs screen
  - displays success/failure state in the button for 5 secs after uploading
- minor refactor to remove redundant `{{#if}}` conditionals in general settings screen
- minor naming refactor of `onUploadFail` -> `onUploadFailure` for `{{gh-uploader}}`'s closure action
2017-09-21 17:01:40 +02:00
Kevin Ansfield
a22f80d388 🐛 Fixed unreadable Unsplash search text in Night Shift mode (#866)
closes https://github.com/TryGhost/Ghost/issues/9030

- don't change the search input's background color when the input has focus in Night Shift
2017-09-21 11:14:08 +02:00
Kevin Ansfield
6a9239974f Fixed missing Unsplash icons when API doesn't return an unsplash setting (#865)
closes https://github.com/TryGhost/Ghost/issues/9031

- add a default value `unsplash` value to the `setting` model so that Unsplash is activated when the server doesn't return an `unsplash` setting
- update the `unsplash-settings` transform to always deserialize or serialize to `{isActive: true}` when the value is blank or not parsable
- add acceptance regression test covering API not returning an `unplash` setting
- add unit tests for the `unsplash-settings` transform
2017-09-21 11:13:31 +02:00
Kevin Ansfield
c183c92c3b 🎨 Linked tags story count to filtered stories list (#863)
no issue

- adds a link to the existing stories count in the tags list that when clicked will transition to the stories screen showing all stories with that tag
2017-09-20 19:27:13 +02:00
Kevin Ansfield
560323de23 Remove config override 2017-09-20 11:24:04 +01:00
Kevin Ansfield
1cade0bc08 🎨 Enabled Unsplash integration by default (#862)
no issue

- Unsplash integration is enabled by default for all users
- it's no longer necessary to create your own Unsplash application and configure your application ID
2017-09-20 12:19:48 +02:00
kirrg001
e1c90bf97a Version bump to 1.8.7 2017-09-19 14:20:32 +02:00
Kevin Ansfield
aa5b85d7c1 🐛 Fixed "scheduled at" datepicker not showing correct month when opening (#860)
closes https://github.com/TryGhost/Ghost/issues/8891

- set the `center` option as well as the `selected` option for `{{power-datepicker}}` inside `{{gh-date-time-picker}}` to force the month view to jump to the correct date when the selection changes
2017-09-19 09:51:52 +07:00
Kevin Ansfield
1cab2dd66f Improved built JS compat w/ CloudFlare Auto Minify (#861)
refs TryGhost/Ghost#8815, TryGhost/Ghost#8840, TryGhost/Ghost#8842, TryGhost/Ghost#8849
- `ember-cli` 2.14 introduced some [new defaults for uglify-js](https://github.com/ember-cli/ember-cli/pull/7077) that resulted in CloudFlare's Auto Minify feature mangling the JS files and causing syntax errors
- revert the `semicolons: false` option to restore compatibility

**Note:** This does _not_ mean it's recommended to use CloudFlare's Auto Minify feature. It's still recommended that all CloudFlare's performance settings are [disabled for /ghost* URLs](https://docs.ghost.org/docs/troubleshooting#section-ghost-admin-not-loading)
2017-09-18 16:39:03 +01:00
Aileen Nowak
7302f31334 Version bump to 1.8.6 2017-09-14 18:43:19 +07:00
Aileen Nowak
f7b08a6fe6 Version bump to 1.8.5 2017-09-12 20:30:11 +07:00
Aileen Nowak
15e9d40fd4 🐛 Fixed team page not showing profile image and last seen (#857)
closes TryGhost/Ghost#8996

Fixes a bug, where properties in a nested component where not available and resulted in not rendering the users' profile images and 'last seen' dates on the team page.
2017-09-12 14:41:49 +02:00
Kevin Ansfield
b68f52fe0c Upgrade eslint dependencies (#855)
no issue

- bump ember-cli-eslint and eslint-plugin-ember
- fix indentation & "unnecessary escape chars" lint errors
2017-09-11 14:56:11 +07:00
Kevin Ansfield
9ed5aad186 Flatten nested components (#854)
no issue
- the upcoming Module Unification re-organisation in Ember will no longer support nested components
- this PR pre-emptively moves our usage of nested components into a flat file structure
2017-09-11 14:41:17 +07:00
Kevin Ansfield
8362f0cdf0 Remove unwanted String.prototype extensions (#856)
closes https://github.com/TryGhost/Ghost/issues/8958

- `markdown-it-named-headers` pulled in `String.js` despite it not being used which added a lot of String.prototype extensions and caused Ember deprecation notices
- moves the short `markdown-it-named-headers` functionality directly into our app code without using `String.js`
2017-09-11 10:39:22 +07:00
John O'Nolan
c20214af08 🎨 Improve visibility of unchecked checkboxes (#851)
no issue

* Checkboxes now have greater contrast when unchecked to make them more visible
* Checkbox colour tweaks for nightshift
2017-09-10 09:28:28 +01:00
kirrg001
fd3fb96a10 Version bump to 1.8.4 2017-09-07 14:45:56 +02:00
Austin Burdine
967db4a558 🐛 Fixed draft/scheduled/published date in content list (#852)
closes https://github.com/TryGhost/Ghost/issues/8917

- rename gh-format-timeago to gh-format-post-time
- add special handling for published & scheduled posts as per https://github.com/TryGhost/Ghost/issues/8917#issuecomment-327583767
- fix some timezone issues in acceptance tests
2017-09-07 13:17:36 +02:00
John O'Nolan
ccbe84e413 Remove wishlist links (#850)
No issue

The uservoice wishlist has been pretty inactive and neglected for quite a long time now. Removing links to it from Ghost is the first step toward retiring it. We're still listening to user feedback in order to determine the Ghost roadmap, but simplifying the process around it.
2017-09-07 09:05:02 +02:00
cristears
12ba6d272c 🐛 Fix double scrollbar in PSM code injection editors (#849)
refs TryGhost/Ghost#8896
- PSM code injection editors were suffering from the same issue as the Code Injection screen
- apply the same fix for the PSM editors as was used in #838
2017-09-06 12:01:48 +01:00
kirrg001
f8cf10c17e Version bump to 1.8.3 2017-09-05 20:36:01 +02:00
kirrg001
663511b2dd Version bump to 1.8.2 2017-09-05 14:17:34 +02:00
Kevin Ansfield
03c45a445e Removed defunct Ghost OAuth code (#848)
refs https://github.com/TryGhost/Ghost/issues/8958

- Ghost OAuth isn't coming back, time for the code to disappear and simply all the things
- fixes the `Usage of router is deprecated` notices that flood the console/test logs when testing
2017-09-04 21:17:04 +02:00
Kevin Ansfield
bffde8f29f Run Chrome in headless mode on Travis
no issue
- align Travis config more closely to default ember-cli setup
- run Chrome in headless mode in CI (Travis + `ember test`, `ember test --server` is "dev" mode)
- install yarn via install script rather than npm
- remove broccoli cache from Travis cache (not sure it ever worked?)
- remove forced node-sass install (no longer needed)
- add `testem` as a top-level dep to force the latest version (ember-data is pinned at 1.15)
2017-09-02 16:39:49 -04:00
Kevin Ansfield
c2557fb2a5 Upgrade to Ember 2.15.0
no issue
- bumped `ember`, `ember-cli`, `ember-data` and related dependencies
- bumped yarn.lock sub-dependencies
- use new public `router` service in place of the private `-routing` service
2017-09-02 16:18:10 -04:00
Kevin Ansfield
b139d9f0bb Apps wording consistency (#845)
no issue
- descriptions should be consistent between index and app screens
- field titles should have a consistent naming scheme
2017-09-01 09:00:02 -07:00
Kevin Ansfield
76a5f68be9 Version bump to 1.8.1 2017-08-31 14:34:52 +01:00
Kevin Ansfield
62e58b0366 🐛 Fixed "active" state of apps on apps index screen (#843)
no issue

On the apps index screen there were conditionals for each app so that active apps show "Active" instead of "Configure" when they are activated - the conditionals weren't working because the properties they check for weren't available in the template's context.

- add a new `settings/apps/index` controller that imports the `settings` service
- updates template conditionals to check for properties on the `settings` service
2017-08-30 14:31:04 +02:00
Kevin Ansfield
62775ecd54 Version bump to 1.8.0 2017-08-29 14:21:54 +01:00
Kevin Ansfield
0338b9dc4a 🐛 Fixed post saving indicator only indicating autosaves (#842)
refs https://github.com/TryGhost/Ghost/issues/8932

- show "Saving..." text when autosave or manual save tasks are running
- remove minimum period "Saving..." is shown for in tests
2017-08-29 13:33:13 +02:00
Filippo Conti
0d96ac38b5 🐛 Fix double-scrollbar in code injection editor (#838)
closes TryGhost/Ghost#8896
- remove `margin-right: 30px` and forced `overflow: scroll` styles for CodeMirror's "Scroll" element in the code injection editors
2017-08-29 10:01:31 +01:00
Kevin Ansfield
b5987a6979 🐛 Fix #tags added via PSM having "public" visibility (#841)
refs TryGhost/Ghost#8943
- Tag model has an observer watching the `isNew` and `name` properties so that it can set the `visibility: "internal"` property for new tags based on their name starting with a `#`
- PSM creates tags using `store.createRecord('tag', {name: tagName})` which means that the tag is instantiated with the `isNew` and `name` properties already set (unlike the tags screen where an empty tag is first created before the name is set via UI) - because the properties are there before at instantiation the observer never fires because it's only watching for changes
- adds the `.on('init')` modifier to the `setVisibilityOnNew` observer so that it's run for the watched properties during instantiation as well as on change
2017-08-29 10:19:47 +07:00
Kevin Ansfield
18d7a7b55d Guard against blank strings in json-string fields (#840)
no issue

We've seen an issue where after an import a user record had `tour: ""` which meant they were unable to log in due to JSON parsing of the empty string failing.

- add a guard so that an empty string is transformed to `null` before parsing
- changed `serialised` to `serialized` to match spelling in all other serializers
2017-08-29 10:03:45 +07:00
Kevin Ansfield
495d1e46b3 Bump dependencies (#839)
no issue
- bump dependencies that don't require additional changes
- bump sub-dependencies in yarn.lock
2017-08-28 11:39:29 +01:00
Seth Lilly
3b0b45fb97 Correct custom social OG preview in nightshift
Closes #8864
Assigns overrides to `og-preview-*` classes. Previously, the classes inherited their color from `body`.

Verified against https://developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fblog.ghost.org%2Fcustom-social-data%2F
2017-08-25 17:43:25 -04:00
Kevin Ansfield
687a374051 Version bump to 1.7.1 2017-08-24 14:45:03 +01:00
Kevin Ansfield
fe034c7bf6 Fix caching headers 2017-08-24 14:36:31 +01:00
Kevin Ansfield
8d9be438a6 Clean up API request headers 2017-08-24 13:04:54 +01:00
Erik Hanchett
01f2211c11 🐛 Fix field focus when adding navigation items (#835)
closes TryGhost/Ghost#8764
- when adding a new nav item in the `design` controller, use jQuery to give focus to the name field of the last navigation item
2017-08-24 12:53:14 +01:00
Kevin Ansfield
e32111a364 Version bump to 1.7.0 2017-08-22 14:09:29 +01:00
Kevin Ansfield
ba2cacb545 🐛 Fix save button showing "Retry" when user slug field loses focus (#834)
no issue
- the `updateSlug` task never returned a value if there was no change needed, this meant that giving the slug field focus then blurring it again caused the "Save" button to become red with "Retry" text
- always return true from `updateSlug` - this stops the button from showing "Retry" and will instead show "Saved" which is a little less confusing
2017-08-22 14:59:49 +07:00
Kevin Ansfield
983110d931 Switched from ember-cli-shims to new module imports (#779)
no issue

- add eslint-plugin-ember, configure no-old-shims rule
- run `eslint --fix` on `app`, `lib`, `mirage`, and `tests` to move imports to the new module imports
- further cleanup of Ember globals usage
- remove event-dispatcher initializer now that `canDispatchToEventManager` is deprecated
2017-08-22 14:53:26 +07:00
Erik Hanchett
e2f6061a71 🐛 Fix unexpected file dialog when pressing <enter> on user screen (#833)
closes TryGhost/Ghost#8835
- adds `type="button"` attribute to the file dialog trigger button, the default type for buttons is "submit" which will be triggered by pressing `<enter>` in a form field
2017-08-21 09:55:03 +01:00
Kevin Ansfield
3138a5bb62 Bump dependencies (#832)
no issue
- rollup of outdated deps that didn't contain breaking changes
- bumped sub-dependency versions in yarn.lock
2017-08-18 10:58:50 +07:00
Kevin Ansfield
327cbdf7a2 Remove usage of jquery-file-upload (#815)
closes https://github.com/TryGhost/Ghost/issues/6661
- refactor `gh-profile-image` component to use native browser functionality
- remove `jquery-file-upload` bower dependency
2017-08-18 10:27:42 +07:00
Kevin Ansfield
d860403b93 Version bump to 1.6.2 2017-08-17 18:29:53 +01:00
Farhad
5552a3edc0 🎨 Improve layout of team invites list at mobile sizes (#813)
refs https://github.com/TryGhost/Ghost/issues/8744
- adjust padding of `.apps-card-meta` at mobile sizes
- adjust title font-size of `.apps-card-title` at mobile sizes
- adjust wrapping behaviour of actions and status badge of invites on team screen
2017-08-17 12:03:20 +01:00
Seth Lilly
714717ba07 🎨 Fix positioning of direction arrows in subscribers table (#824)
closes TryGhost/Ghost #8876
- Changed arrow styles to enable correct positioning. The sort arrow displayed below the `th` label; this CSS change fixes it.
- Capitalization change: opinionated, but changing capitalization of “Address” to match “Subscription Date”.
2017-08-17 11:46:10 +01:00
Kevin Ansfield
ffbcd32a42 🎨 Fix legibility of contributor names in Night Shift
closes TryGhost/Ghost#8851
- use `var(--lightgrey)` as text colour for contributor names
2017-08-17 11:37:13 +01:00
Vikas
0c2e07451a 🎨 Improve legibility of theme uploader text in Night Shift (#823)
closes TryGhost/Ghost#8875
- use `var(--midgrey)` for `.gh-image-uploader .description` (only used in file `{{gh-file-uploader}}`)
2017-08-17 11:27:03 +01:00
Kevin Ansfield
35ec58f915 🐛 Fix missing Unsplash icons in uploaders when using config override (#829)
no issue
- the `config` injection in `gh-image-uploader` was missing so the Unsplash button was only being displayed for the length of the session after visiting the Unsplash app screen (creates in-memory settings record based on config) or more permanently by saving the Unsplash settings (in which case the image uploader component reads the settings from the DB rather than config)
2017-08-17 16:19:36 +07:00
cobbspur
da6b97ad23 Version bump to 1.6.1 2017-08-16 13:07:59 +01:00
Kevin Ansfield
46458487fd 🐛 Fix Unsplash when using Night Shift (#828)
closes https://github.com/TryGhost/Ghost/issues/8905
- import unsplash css file in `app-dark.css`
- add background and logo styles to match night shift styles
2017-08-16 10:04:07 +01:00
Kevin Ansfield
265dd54ae9 Version bump to 1.6.0 2017-08-15 18:36:42 +01:00
Kevin Ansfield
2901c45026 Bump postcss and cssnano related dependencies
no issue
- an earlier dependency update resulted in production builds failing due to `cssnano`'s `postcss-merge-idents` dependency failing with a `Maximum call stack size exceeded` error
- bump `cssnano` to the 4.0.0 RC which includes a fix for this issue
- bump other `postcss` dependencies for good measure
2017-08-15 18:10:11 +01:00
Kevin Ansfield
350e3d1481 Unsplash integration
closes https://github.com/TryGhost/Ghost/issues/8859, requires https://github.com/TryGhost/Ghost/pull/8895
- adds Unsplash app to app settings
  - enable/disable toggle
  - validation and testing of Unsplash App ID
  - Unsplash App ID field hidden if provided via Ghost config
  - adds `fetchPrivate` method to `config` service to pull config that requires authentication and updates authentication routines to fetch private config
- adds Unsplash buttons to editor toolbar and `{{gh-image-uploader}}`
  - only present when Unsplash app is enabled
  - opens Unsplash image selector when clicked
  - `{{gh-image-uploader}}` has a new `allowUnsplash` attribute to control display of the unsplash button on a per-uploader basis
- adds Unsplash image selector (`{{gh-unsplash}}`)
  - uses new `unsplash` service to handle API requests and maintain state
  - search
  - infinite scroll
  - zoom image
  - insert image
  - download image
- adds `{{gh-scroll-trigger}}` that will fire an event when the component is rendered into or enters the visible screen area via scrolling
- updates `ui` service
  - adds `isFullscreen` property and updates `gh-editor` so that it gets set/unset when toggling editor fullscreen mode
  - adds `hasSideNav` and `isSideNavHidden` properties
- updates `media-queries` service so that it fires an event each time a breakpoint is entered/exited
  - removes the need for observers in certain circumstances
2017-08-15 16:01:12 +01:00
Kevin Ansfield
bb17675602 Move csscomb.json to project root for better editor integration
no issue
- Atom and other editors have csscomb integrations that will look in the project root for configuration
- if you open Ghost-Admin (or Ghost/core/client) as a project then the custom config will be used which can be more convenient than maintaining a global config
2017-08-15 16:01:12 +01:00
Kevin Ansfield
6ae881e918 Remove unused gh-infinite-scroll component and infinite-scroll mixin
no issue
- this component and mixin has been replaced by `ember-infinity`
2017-08-15 16:01:12 +01:00
Kevin Ansfield
9ad5644031 Remove jquery ajax prefilter
no issue
- a jQuery ajax prefilter was used to add our own `Authorization` header to all requests that go through jQuery
- if a request had a different `Authrorization` header (eg, when accessing an 3rd party API) then the prefilter replaced it breaking the request
- it's no longer necessary because all Ghost API requests go through our `ajax` service which adds the necessary headers
2017-08-15 16:01:12 +01:00
Kevin Ansfield
267ce40945 Refactor general UI state into a service
no issue
- moves general UI state control such as menu display, autonav, settings menu, etc into a `ui` service for easier use within components
- no longer required to jump through hoops passing state and actions down from application controller into components
- removes indirect "route" actions in favour of calling actions/methods directly on the `ui` service
2017-08-15 16:01:12 +01:00
Kevin Ansfield
b643d47054 🐛 Fix order of multiple upload results (#825)
no issue
- push upload results into an array at the same index as the passed in files array
2017-08-14 09:35:41 +07:00
Kevin Ansfield
4e836d436f Bump dependencies (#826)
no issue
- rollup of minor dependency updates
- bump yarn.lock sub-dependencies
- remove deprecated use of `testSelector`
2017-08-11 16:28:05 +01:00
kirrg001
23b0d95a1f Version bump to 1.5.2 2017-08-10 16:25:03 +02:00
Kevin Ansfield
cba36b867a Added regression tests for handling of HTML errors (#816)
closes https://github.com/TryGhost/Ghost/issues/8203
- rename `version-mismatch-test.js` to the more generic `error-handling-test.js`
- add tests to simulate receiving HTML errors (eg, the type of error received from CloudFlare for a gateway timeout)
2017-08-10 17:59:53 +07:00
Kevin Ansfield
11cbe1abba 💄 Fixed scrollbar on editor title input in Chrome on Windows (#822)
closes https://github.com/TryGhost/Ghost/issues/8866
- add `overflow: hidden` to disable scrollbars on editor title input
2017-08-10 17:52:59 +07:00
kirrg001
6cc5ad15ec Version bump to 1.5.1 2017-08-08 15:14:32 +02:00
kirrg001
26d50254a7 Version bump to 1.5.0 2017-08-03 16:02:48 +04:00
Aileen Nowak
dd4fe3a68f Added Twitter & Facebook data override fields to PSM (#814)
refs https://github.com/TryGhost/Ghost/issues/8334, requires https://github.com/TryGhost/Ghost/pull/8827
- added open graph and twitter fields to `Post` model
- added facebook and twitter card pane to PSM
- 💅🏼 Added preview styles for custom FB/Twitter cards
2017-08-03 15:45:14 +04:00
Kevin Ansfield
d469134fb1 improve editor drop target colours 2017-08-03 15:27:59 +04:00
kirrg001
fe9432d8bd Version bump to 1.4.0 2017-08-02 15:13:29 +04:00
kirrg001
c1d0f42954 Revert: Version bump to 1.3.1 2017-08-02 14:56:14 +04:00
Sebastian Gierlinger
8bf7ffac3f Version bump to 1.3.1 2017-08-02 14:35:33 +04:00
Aileen Nowak
6945c942d0 🎨 Improved theme validation messages (#812)
closes TryGhost/Ghost#8530

- Changed the wording for activation and uploading a theme to separate between error and warnings in the title and the body text for the modal
- Changed the wording of "Activated successful with warnings/errors" to "Activation successful with (warnings || errors)"
2017-08-02 14:30:47 +04:00
Kevin Ansfield
b89a0d0a5e ️ Added per-post code injection fields to PSM (#811)
- Remove gh-tab* components
    - The PSM was the only place where the `gh-tabs-manager`, `gh-tab`, and `gh-tab-pane` components were being used. These were very old components and did not work well with newer Ember versions and best practices.
    - 🔥 remove `gh-tab*` components
    - 💄 fix indents in `gh-post-settings-menu` template
    - 🎨 add support for named subviews ready for additional PSM panes

- Added per-post code injection fields to PSM
    - add "Code Injection" pane to the PSM
    - implement `codeinjectionHead` and `codeinjectionFoot`  attributes on `Post` model and save values from PSM
    - use CodeMirror for the PSM code injection fields
2017-08-02 13:32:51 +04:00
kirrg001
8f85dad836 Version bump to 1.3.0 2017-08-01 17:29:48 +04:00
Kevin Ansfield
fb930b0698 ️ Add "Excerpt" field to post settings menu (#810)
refs TryGhost/Ghost#8793

- add `customExcerpt` attr to Post model + reorder attrs to be alphabetical
- add "Excerpt" field to PSM
- add validation for `customExcerpt` length (max 300 chars)
- add style adjustments for custom excerpt UI
2017-08-01 12:24:46 +04:00
Kevin Ansfield
68d2164672 🐛 fixed active users list not showing more than 20 users (#806)
closes https://github.com/TryGhost/Ghost/issues/8773
- swap old custom `PaginationMixin` for `ember-infinity`
2017-07-31 17:10:52 +04:00
John O'Nolan
86759067ea 🎨 Reorder fields in blog setup form (#808)
closes https://github.com/TryGhost/Ghost/issues/8622 by inadvertent knock-on effect.

People were having trouble with automatically entering password verification in blog title field. This re-orders the form to a more "normal" flow where password field is the last item on the page, so no risk of double-typing it.
2017-07-31 17:06:25 +04:00
kirrg001
a445cd41a5 Version bump to 1.2.0 2017-07-31 14:40:18 +04:00
Aileen Nowak
7eca803d00 🙅 Disable image upload save btn when uploading (#805)
closes TryGhost/#8724

Adds a `isUploading` action that disables the `save` button for `upload-image` component until the upload process is finished.
2017-07-31 13:44:26 +04:00
Kevin Ansfield
c489f4474b ⬆️ bump core ember dependencies (#804)
no issue

- bump core `ember`, `ember-data` and `ember-cli` related dependencies
- remove deprecated `MODEL_FACTORY_INJECTIONS` flag
- update files to better match `ember-cli new` output for easier diffs during upgrades
2017-07-31 13:38:46 +04:00
Kevin Ansfield
6bd1e54381 fix slack tests (#807)
refs 63df5ffb9b
- alert was switched for a notification so tests needed updating
2017-07-31 13:25:09 +04:00
John O'Nolan
63df5ffb9b Resolve nightshift visual bugs
Closes https://github.com/TryGhost/Ghost/issues/8731, closes https://github.com/TryGhost/Ghost/issues/8742

- Visual bugs resolved
- Slack test message converted from alert to notiftication
- Slack test message notification copy update
- Increased size for notifications
2017-07-31 11:49:49 +04:00
kirrg001
86dd36994d Version bump to 1.1.0 2017-07-28 18:31:37 +04:00
Kevin Ansfield
7d5c0552fe ️ hemingway editor mode (disable backspace) (#803)
no issue
- adds Hemmingway Mode toggle to the editor toolbar that disables
backspace
- shortcut is <kbd>Ctrl+Alt+H</kbd>
2017-07-28 17:21:09 +04:00
Kevin Ansfield
335f7efa10 Version bump to 1.0.2 2017-07-27 13:45:36 +04:00
Kevin Ansfield
91a295ed73 Version bump to 1.0.1 2017-07-26 15:03:02 +04:00
Kevin Ansfield
19174c3b1a 🎨 fix download count position on setup/one (#801)
no issue
- default component tag of `<div>` forced the download count to appear
on it's own line, setting `tagName: ''` returns the desired inline
behaviour
2017-07-26 13:03:09 +04:00
Kevin Ansfield
cd97421cf6 Version bump to 1.0.0 2017-07-22 19:55:42 +01:00
Kevin Ansfield
3656297843 🐛 fix duplicate posts bug, more intelligent autosave when transitioning (#800)
no issue
- fixes bug where multiple posts were created starting with one char and growing until the new->edit transition completed, e.g. posts with content such as `a`, `ab`, `abcd` were created in quick succession
  - moves old `_savePromise` body into the `save` task
  - call the `save` task instead of the old `_savePromise` so that concurrency is handled properly
- fixes odd behaviour with the "Are you sure you want to leave?" modal appearing too often - it's now aware of on-going or scheduled saves and will wait for those to complete before transitioning
  - move all transition abort/save/retry handling into `toggleLeaveEditorModal` method
  - check for a running save, wait for it to finish then retry the transition
  - check for a scheduled autosave, cancel it if present and perform an immediate autosave then retry the transition
  - don't attempt new->edit transition on successful save of new post if we're already waiting for a different transition
  - once the new->edit transition has completed, if the post body content has changed schedule an autosave manually so that the user doesn't need to type something again to save what they assume is already saved
  - remove debounced slug generation/save on type of title field in favour of generation and save on focus out which plays a lot nicer with the new transition autosave behaviour
2017-07-22 10:25:00 -04:00
Kevin Ansfield
5a47f2ae4b 🐛 fix loss of editor focus on new post autosave (#798)
refs TryGhost/Ghost#8723
- #795 contained a regression where the body focus was lost during the new->edit transition because at that point `model.isNew` is false
- returns `shouldFocusEditor` code that was removed in #768 (it was assumed the body should _always_ have focus in that PR)
- instant-save if body is edited and the post is new - fixes issue where you could keep typing without any save when body had autofocus
- don't show preview link for new posts - fixes issue where it links directly to the admin endpoint so it would force a refresh
2017-07-21 19:11:24 -04:00
Kevin Ansfield
fb12237f62 🐛 fix filter dropdown issues
closes https://github.com/TryGhost/Ghost/issues/8729, closes https://github.com/TryGhost/Ghost/issues/8728
- remove the duplicated `max-height` rules for different parts of the power select dropdowns - they were interacting with each other and causing a large part of the lists to be unreachable
- bump the `bufferSize` so that enough dropdown items are rendered to fill the dropdown list
- filter the temporary tags that are created when using the PSM tags input so duplicates aren't visible in the tags dropdown filter
2017-07-21 19:01:54 -04:00
Kevin Ansfield
0f35d06942 🎨 show "locked" badge in team list (#794)
refs https://github.com/TryGhost/Ghost/issues/8652
2017-07-21 22:21:27 +01:00
Kevin Ansfield
9eda60a283 🎨 update markdown help modal shortcuts
no issue
- match shortcuts to the new editor shortcuts
- add shortcut for ordered lists
2017-07-21 17:01:04 -04:00
Kevin Ansfield
cd805608f1 🎨 fix typo in welcome tour (#797)
closes https://github.com/TryGhost/Ghost/issues/8730
- "and 'about' or 'contact' page" -> "an 'about' or 'contact' page"
2017-07-21 17:50:27 +04:00
Kevin Ansfield
12e251df8e 🎨 only focus editor body for new posts (#795)
closes https://github.com/TryGhost/Ghost/issues/8718

- only give focus to editor body when starting a new post
- update the title and body placeholders
2017-07-20 17:41:30 +02:00
John O'Nolan
2ef4472523 Minor colour update for nightshift
See https://github.com/TryGhost/Ghost/issues/8715
2017-07-20 18:07:00 +04:00
Kevin Ansfield
fe1c70f3c7 🎨 use blue instead of yellow for warning alerts (#792)
closes https://github.com/TryGhost/Ghost/issues/8680
2017-07-20 16:00:41 +02:00
Kevin Ansfield
7a5d132e1a 🎨 fix about logo colours in nightshift (#793)
closes https://github.com/TryGhost/Ghost/issues/8715
- use SVG logo, invert in nightshift
- fix colour of `>` in screen titles in nightshift
2017-07-20 17:59:45 +04:00
Kevin Ansfield
ec2a257443 🐛 fix "failed" button flash on password reset (#791)
closes https://github.com/TryGhost/Ghost/issues/8688
- `reset` task wasn't returning a truthy value on success so `gh-task-button` flashed the "retry" state before the transition happened
2017-07-20 19:12:33 +07:00
Kevin Ansfield
09bc15e980 🐛 fix broken editor at mobile sizes (#790)
closes https://github.com/TryGhost/Ghost/issues/8657
- add checks for the toolbar being present before attempting to set classes on the buttons
2017-07-20 18:37:18 +07:00
Kevin Ansfield
84b2824f95 🐛 don't show mobile nav bar when not logged in (#789)
closes https://github.com/TryGhost/Ghost/issues/8625
- add CSS rules for the non-authed pages to remove the mobile nav bar
2017-07-20 18:22:34 +07:00
Kevin Ansfield
783d9fa0a3 🎨 fix wording and capitalisation on empty stories screen (#787)
closes https://github.com/TryGhost/Ghost/issues/8689
- remove titlecase and switch `posts` to `stories`
2017-07-20 18:14:53 +07:00
Kevin Ansfield
9237e06493 🎨 fix missing lock icons on password reset form (#782)
closes https://github.com/TryGhost/Ghost/issues/8688
- match input fields HTML to other icon inputs
2017-07-20 18:06:02 +07:00
Kevin Ansfield
671d71cae7 🐛 fix editor fenced code block handling (#781)
closes https://github.com/TryGhost/Ghost/issues/8695
- non-spellchecker mode should be "gfm" not "markdown" so that fenced
code blocks are displayed correctly and other markdown behaviour better
matches the preview/rendering
2017-07-20 17:59:24 +07:00
Aileen Nowak
c478564513 🎨 Publish menu wording and saving states improvements (#788)
closes TryGhost/Ghost#8696

- Changes the `gh-save-button` component to allow a custom `runningText` which would be rendered in the button when the current task is running.
- Adds a `runningText` CP to `gh-publishmenu` component, which will render (depending of post status and desired save type) 'Unpublishing', 'Publishing', 'Scheduling', 'Updating', 'Unpublishing', 'Rescheduling', and 'Unscheduling'.
2017-07-20 11:46:31 +01:00
Aileen Nowak
2cbb181866 💄 Theme upload modal style improvements (#784)
no issue

With GScan sending error details now, the modal was a bit overloaded.

This PR adds a toggle for each error rule which - when clicked - shows the details and the affected files.
2017-07-20 11:30:45 +01:00
Kevin Ansfield
a99ecf4818 🐛 fix guard for inviting owner in setup/three (#786)
refs https://github.com/TryGhost/Ghost/issues/8692

- fixes the guard on setup/three against inviting the owner user set up
on setup/two (we were sending invites for every e-mail in the list
rather than only valid e-mails)
- adds a check to see if we get any invalid errors from the server and
will show those separately to the `x emails failed to send` alert
2017-07-20 12:08:34 +02:00
Kevin Ansfield
7e595d4be7 🐛 fix double-click on post to open editor (#780)
closes https://github.com/TryGhost/Ghost/issues/8675
- move `gh-posts-list-item` to closure actions
- add missing `openEditor` action in posts controller
2017-07-13 16:55:13 +07:00
kirrg001
bcac713851 Version bump to 1.0.0-rc.1 2017-07-11 16:41:08 +02:00
Kevin Ansfield
6d11515f81 🐛 empty posts shouldn't be publishable (#776)
closes https://github.com/TryGhost/Ghost/issues/8501

- don't show publish menu for new posts - the publishmenu options don't make much sense for a post that hasn't been saved yet
- show post status as "new" when a post is unsaved rather than "draft"
2017-07-10 17:24:21 +02:00
Kevin Ansfield
a0af248df4 🎨 Focus editor content area by default (#768)
closes TryGhost/Ghost#8525

- always give focus to the editor content area by default when loading the editor
- allow content autosave to work for new posts (it was previously turned off for new posts)
- move transition-on-save behaviour from editor/new controller into the controller mixin's save routine
- cancel background autosave when "are you sure you want to leave?" modal is shown as it can cause the "leave" option to fail because it attempts to delete the post record that can be in flight (plus if we're saving anyway it doesn't make much sense to ask the user  🙈) - this is quite an edge-case as it will only happen if the user makes a content change to a draft post then tries to leave the screen within 3 seconds
- change the editor placeholder text
- wait for any save task to finish before exiting the new post route (fixes infinite loop and popup of "are you sure you want to leave?" modal that is then closed automatically straight away
- add a guard to the `gh-post-settings-menu` component so that if the authors query takes a while we don't end up trying to set a value when the component has already been removed
2017-07-10 17:09:50 +02:00
Kevin Ansfield
1596721468 🐛 fix PSM throbber bugs (#777)
closes https://github.com/TryGhost/Ghost/issues/8611
- fix positioning of "static page" throbber
- fix PSM throbbers re-appearing after PSM close/open (need to use `pushObject` instead of `push` so that it's KVO compliant and the `_activeThrobbers` CP is updated)
- fix order of `willDestroyElement` so that we don't attempt to use `get` after the component is destroyed
- fix issue in Chrome that was preventing the Meta Data link from sliding the PSM panels
2017-07-10 19:15:20 +07:00
Kevin Ansfield
ad358375b8 🐛 fix enter key not working in text inputs/areas (#771)
closes https://github.com/TryGhost/Ghost/issues/8588, closes https://github.com/TryGhost/Ghost/issues/8639
- check that we have an action assigned to keyEvent codes before attempting to prevent the default behaviour
- no tests because browsers don't trigger form submissions in response to JS key events as a security measure
2017-07-10 19:09:11 +07:00
Kevin Ansfield
1d3a9a692d 🎨 fix non-square icon sizes (#778)
closes https://github.com/TryGhost/Ghost/issues/8665

- updates width/height for non-square icons to match the desired dimensions (width+height have to be specified for IE11)

Changes introduced in #724 failed to take into account a few of our icons are not square (notably the `arrow-*-small.svg` icons) resulting in some icons appearing too small.
2017-07-10 13:54:24 +02:00
Kevin Ansfield
625cc3fe92 🎨 fix case inconsistency in team labels (#774)
closes https://github.com/TryGhost/Ghost/issues/8661
2017-07-10 13:36:11 +02:00
Kevin Ansfield
d37f68adcb 🐛 fix autosave+transition on title blur with empty title (#767)
refs TryGhost/Ghost#8525
- fix `saveTitle` action
	- don't abort title save when we have an empty title
	- force a "dirty" state so that the save actually happens
- add acceptance test for title blur behaviour
- extract multiple instances `"(Untitled)"` into a const
2017-07-10 18:33:05 +07:00
John O'Nolan
9738ecc9dd Minor style fixes 2017-07-10 11:20:56 +01:00
Kevin Ansfield
0853b57244 🐛 prevent session sync issues with multiple tabs/refreshes (#772)
refs https://github.com/TryGhost/Ghost/issues/8616

- only refresh tokens on boot if we last refreshed more than 24hrs ago - this should prevent rapidly changing access/refresh tokens when opening new admin tabs or refreshing whilst other tabs are open
- fix token refresh test which was testing it's own behaviour instead of the applications 🙈

This may not be the full solution to the session issues but it closes one potential culprit and should at least reduce token churn which can only help track down the real cause.
2017-07-10 12:18:19 +02:00
Katharina Irrgang
034f74a560 Merge pull request #773 from kevinansfield/soo-many-tags
🚀 supercharge tags performance
2017-07-09 14:31:06 +02:00
Kevin Ansfield
d65666f90b 🚀 supercharge tags performance
closes https://github.com/TryGhost/Ghost/issues/8540
- use `{{vertical-collection}}` in the tags dropdown filter list, opening the dropdown is now virtually instant as it's not attempting to immediately render components for every tag in the list
- remove pagination/infinite scroll from tags screen
- load all tags when accessing the tags screen
  - will pause to show spinner if no tags have previously been loaded
  - if tags exist in the ember data store, show the list immediately and load/update list in the background
- use `{{vertical-collection}}` to render enough tags to fill the scrollable area with a small buffer and use occlusion and element re-use to swap tags in whilst scrolling (suuuuper fast no matter number of tags loaded)
- scroll tags into view when they are selected (keyboard nav now makes a lot more sense)
- tested with 875 tags and 2x/5x CPU throttling with no major slowdowns 🎉
2017-07-07 17:53:08 +01:00
Kevin Ansfield
8965db6bdb 🔥 remove content screen keyboard shortcuts
closes https://github.com/TryGhost/Ghost/issues/8662
- removes `k`, `j`, `up`, `down` shortcuts for changing the active post (these were already mostly unusable in 1.0) and the associated `enter` and `ctrl/cmd+backspace` commands for opening and triggering the delete modal respectively
- removes the `c` shortcut for opening the new post screen
2017-07-07 10:37:24 +01:00
Kevin Ansfield
d2a1835f5a 🎨 fix editor header not covering scrolled content (#769)
no issue
- background color of the editor header at smaller screen sizes had been removed resulting in the editor content showing through when scrolling, this adds the explicit bg color back for both normal and dark mode
2017-07-06 17:23:14 +07:00
Kevin Ansfield
036ab413d3 🐛 fix display/message bugs in re-auth modal (#770)
closes https://github.com/TryGhost/Ghost/issues/8656
- prevents button stretching from flexbox and adds margin between input and button
- use the `context` attribute returned from the server instead of the `message` so the error is now `Your password is incorrect.` instead of `You are not authorised to make this request.`
- return truthy/falsy values from the auth tasks so that the save-state button shows the correct state
2017-07-06 17:18:19 +07:00
Fixer
fc706d1c02 Additional check of privacy.useGravatar for gh-profile-image component (#761)
closes TryGhost/Ghost#8612

* Additional check of privacy.useGravatar for gh-profile-image component
- added a check for privacy.useGravatar flag
- checked: tests are OK

* fix other issues in gh-profile-image
- we had CPs with side-effects 🤢
  - replace CP with basic properties that can be set within the component
  - use `didReceiveAttrs` and `ember-concurrency` to debounce changes to the email property and make the functionality easier to reason about
- fix the broken fade-in animation when the avatar changes
- fix tests - `.to.be.blank` was always returning true, replaced with `to.be.empty` which caused the tests to fail properly then replaced them with the expectations for the actual values
2017-07-06 16:33:15 +07:00
Aileen Nowak
26ae3fa69d 🐛 fix sticky save notifications (#762)
closes TryGhost/Ghost#8610

There's an issue in CSSnano, which we're using in production mode to minify our CSS that caused animation frames to not work properly anymore.
See: https://github.com/ben-eb/gulp-cssnano/issues/33#issuecomment-210518957

Adding the recommended options fixed this issue.
2017-07-04 11:20:25 +01:00
Patrick Kim
1d15386960 🐛 fix broken image upload button (#766)
closes https://github.com/TryGhost/Ghost/issues/8637
- add a default object to `_openImageFileDialog` args so that destructuring with default params works when not passed a value
2017-07-04 11:11:54 +01:00
Aileen Nowak
0b238e6463 💄 Consistent layout for about page (#763)
closes TryGhost/Ghost#8623

Uses the same classes as the other pages for more consistency and sexiness. Also updated the links to slack and contributers to be correct.
2017-07-04 11:41:38 +02:00
Aileen Nowak
92253cfb35 💅🏼 Set width of searchinput to 100% (#764)
closes TryGhost/Ghost#8630

Add `width: calc(100% - 8px)` (substract 8px to keep a bit of a padding to the icon) to `.ember-power-select-search input` class so the input field is full width.
2017-06-29 09:54:55 +02:00
kirrg001
42128ace8c Version bump to 1.0.0-beta.2 2017-06-23 09:58:44 +02:00
Aileen Nowak
067a90a733 🐛 Add conditional to fix post scheduling (#760)
refs TryGhost/Ghost#8603

With 69b82b9207 we introduced a bug, that caused the Ghost Admin to crash when scheduling a blog post. Adding a check in the conditional prevents it from crashing and fixes the functionality.
2017-06-23 07:13:54 +02:00
Hannah Wolfe
a07e6ebe8d Minimal client extensions (#759)
no issue

- Add minimal extensibility to Ghost Admin

- Adds 3 sections of semi-flexible customisation to Ghost Admin
- Options:
   - Menu: a list of links with icons and text and hrefs, also has a title
   - Dropdown: another list of links
   - Script: a custom container and a script file

- All of this can be provided via the blog config
- Also adds 2 extra icons for use with these menus

- 🎨 Improve extensibility
2017-06-22 20:37:04 +02:00
Aileen Nowak
7eb60b0086 💅🏼 Imprve theme activation error messages (#756)
refs TryGhost/Ghost#8530

This PR takes care that the modals for theme activation gets the same treatment as theme upload modal:
- differentiate between normal and fatal errors
- list headings for each error type (fatal, normal or warning)
- update test
2017-06-22 19:19:01 +02:00
David Wolfe
fa391217b9 Disable simpleMDE image shortcut (#758)
no issue

- disables simpleMDE image shortcut when using cmd+alt+i
2017-06-22 17:36:40 +02:00
Kevin Ansfield
ebc8cc8ed2 ctrl/cmd-shift-i triggers image file dialog (#750)
closes https://github.com/TryGhost/Ghost/issues/8523
- use shortcuts mixin to register `cmd-shift-i` shortcut in
`gh-markdown-editor` that triggers the image insertion dialog
- joins multiple uploaded images with new lines instead of a space for
easier editing post-upload
- add `captureSelection` option to `_openImageFileDialog` so that
insertion shortcut triggered when editor doesn't have focus doesn't
insert at the last focused char position
- if image insertion happens with no cursor position add two newlines
before the inserted image markdown for easier editing (previously it
would be inserted immediately after the last char in the post)
- removes unused `editor-shortcuts.js` file
2017-06-22 13:02:38 +01:00
Kevin Ansfield
698a446b0a 🐛 fix title not updating after import (#749)
closes https://github.com/TryGhost/Ghost/issues/8508
- manually set `config.blogTitle` when reloading settings after a
successful import
2017-06-22 11:51:38 +01:00
Hannah Wolfe
808fd492de 💄 🐷 Remove word "static" from PSM
refs #4374

- see if taking this word away + the throbber makes it clearer
2017-06-22 11:35:52 +01:00
Aileen Nowak
533ad231f7 💅🏼 Reduce meta description word count font-size (#757)
closes TryGhost/Ghost#8552

Reduce the `font-size` per `0.5rem` so it'll fit within the `700px` `max-width` of the parent container even with three numbers in word count.
2017-06-22 11:53:24 +02:00
John O'Nolan
7295bb942d Really fix selected text colour this time
Cause apparently I wasn't fucking specific enough the first time
2017-06-21 15:56:44 +01:00
John O'Nolan
9296db0ae8 👀 bugfix editor text selection colour 2017-06-21 13:39:35 +01:00
John O'Nolan
32f419e87c Visually stimulating cursor 💅🏼 2017-06-21 13:05:14 +01:00
Katharina Irrgang
844bb3277d Revert "always give editor content focus by default (#748)" (#755)
This reverts commit 3c2f3da689.
2017-06-21 18:28:29 +07:00
Katharina Irrgang
203afcb531 🐛 fix image upload for icons: reset input (#754)
closes TryGhost/Ghost#8545
2017-06-20 16:54:27 +07:00
Katharina Irrgang
69b82b9207 🐛 fix date with seconds (#753)
closes #8603

- see https://github.com/TryGhost/Ghost/issues/8603#issuecomment-309538395
- see comment in code base
2017-06-20 15:12:57 +07:00
Aileen Nowak
ff249689d5 ⬆️ Trigger image upload when clicking on image (#735)
* ⬆️  Trigger image upload when clicking on image

closes TryGhost/Ghost#8544

When clicking on an already uploaded icon, logo or cover in Settings -> General we trigger now the file upload to be able to replace it.

* use lowercase event names

* toggle progress bar when replacing image
2017-06-19 11:55:28 +01:00
Kevin Ansfield
b00bdf6f17 set spellchecker to "off" by default (#747)
closes https://github.com/TryGhost/Ghost/issues/8566
- sets codemirror into "markdown" mode during initialisation
2017-06-19 11:32:37 +01:00
Kevin Ansfield
3c2f3da689 always give editor content focus by default (#748)
closes https://github.com/TryGhost/Ghost/issues/8525
- always give focus to the editor content area by default when loading
the editor
- change the editor placeholder text
2017-06-19 11:16:09 +01:00
Aileen Nowak
9b0c542cc1 💄 Fix positioning of loading spinner (#751)
closes TryGhost/Ghost#8556

Use the correct classes consistently for `gh-loading-spinner` component.
2017-06-19 11:09:53 +01:00
David Wolfe
8f58dd92dd Update post save button texts (#736)
closes https://github.com/TryGhost/Ghost/issues/8536, closes https://github.com/TryGhost/Ghost/issues/8500

- Post save button will now display publish/un-publish/schedule/un-schedule/re-schedule/update
- On successful save button will display published/un-published/scheduled/un-scheduled/re-scheduled/updated
2017-06-15 18:35:23 +01:00
Kevin Ansfield
2b353b5f13 📖 update all support.ghost.org links to docs/help.ghost.org (#740)
no issue
- support.ghost.org has gone away, we now have self-host/dev
documentation on https://docs.ghost.org and user documentation at
https://help.ghost.org
2017-06-15 18:19:12 +01:00
David Wolfe
db0ea54f72 Subscribers export button :hover should be blue (#744)
No Issue
- class should be gh-btn-hover-blue not gh-btn-hover-green
2017-06-15 12:43:00 +01:00
David Wolfe
f35ca49913 Add subscribers export button class (#743)
closes https://github.com/TryGhost/Ghost/issues/8553
- adds a href for pointer and hover class to subscribers export button
2017-06-15 10:26:29 +01:00
Kevin Ansfield
b126f21539 🐛 fix Cmd-S save with cursor in slug field
closes https://github.com/TryGhost/Ghost/issues/8551
- move `updateSlug` logic from `gh-post-settings-menu` component to `editor-base-controller` mixin
- put `updateSlug` and `save` into a task group so that concurrent calls are queued - means that pressing Cmd-S with the cursor still in the slug field will first trigger the `updateSlug` call (triggered by the field blur) then trigger the `save` call (triggered by Cmd-S) when `updateSlug` has finished so there are no conflicts and you still see the "saved" notification
2017-06-13 16:04:09 +01:00
Aileen Nowak
c8b8cb8478 🐛 fix styles for password forgot link (#734)
closes TryGhost/Ghost#8550
- use no success- and failure-classes for forgot link `gh-task-button`
- fixes loading spinner fill and positioning.
2017-06-13 10:01:20 +01:00
Aileen Nowak
336ff5667d 🎨 give suspended user badge a little room (#732)
closes #8546
- creates new `.suspended` class as a copy of `.administrator` for better naming and add `15px` of `margin-left` to it.
2017-06-13 09:54:05 +01:00
John O'Nolan
cbd18c6253 Update dark mode
Fixes https://github.com/TryGhost/Ghost/issues/8560

Depends on https://github.com/TryGhost/Ghost-Admin/pull/733
2017-06-12 21:50:17 +01:00
John O'Nolan
d39bbb89ab New tour styles 2017-06-12 21:50:17 +01:00
Kevin Ansfield
8e772ea646 Version bump to 1.0.0-beta.1 2017-06-08 20:46:12 +01:00
Kevin Ansfield
9881a52bea 🐛 fix saving users when slug has been changed (#731)
closes https://github.com/TryGhost/Ghost/issues/8547
- `window.history.state` is no longer a thing (not sure if it's a recent browser change or because we switched to hash-urls) so the URL change logic after a successful user save needs to use `window.location.hash` instead
2017-06-09 00:04:16 +07:00
Kevin Ansfield
05a3a11855 welcome tour (#527)
refs https://github.com/TryGhost/Ghost/issues/5168
- adds a `tour` service that handles syncing and management of tour throbbers & content
- adds a `gh-tour-item` component that handles the display of a throbber and it's associated popover when clicked
- uses settings API endpoint to populate viewed tour items on app boot/signin
- adds `liquid-tether@2.0.3` dependency for attaching throbbers and popups
- adds initial tour contents
2017-06-08 22:00:10 +07:00
John O'Nolan
1288d58f18 Fix display bug on wide aspect ratio images 2017-06-08 10:57:17 +02:00
Aileen Nowak
1a85bf017a 🐛 Use new user image properties for image upload (#729)
closes TryGhost/Ghost#8521
- the image uploader modals in `user.hbs` used the old image properties instead of `coverImage` and `profileImage`.
2017-06-07 09:19:58 +01:00
John O'Nolan
dedd6349ee Update ludicrous invisible notifications to be blue instead of white (#730)
no issue
2017-06-07 09:18:52 +01:00
Katharina Irrgang
8b74fa13fa 🎨 improve theme results (#726)
closes TryGhost/Ghost#8222

- there are fatal and normal errors
- fatal === can't activate a theme
- the normal errors are only returned in development mode (!)
- Separate between `fatal` and normal errors and group them
2017-06-06 13:09:52 +07:00
John O'Nolan
21d99b5763 More intuitive editor cursor when clicking below the current line/editable area 2017-06-05 15:31:57 +01:00
Kevin Ansfield
2243c12aca 🐛 fix IE11 bugs and styles (#724)
closes https://github.com/TryGhost/Ghost/issues/8384

- fixes image uploads on settings/general by reverting to jQuery for triggering the file dialog because IE11 doesn't support `MouseEvent` events or have the `.closest` method on native DOM elements
- gives all SVG elements an explicit `width` and `height` - if one property is set to `auto` or not specified IE11 will treat it as 100% of the container
- fixes horizontal scroll + scrollbar on the main app viewport
2017-06-01 23:02:03 +02:00
Kevin Ansfield
b425cb1352 🎨 fully fix Code Injection styles (#723)
closes https://github.com/TryGhost/Ghost/issues/8504

- allow `.settings-code-editor` to inherit from `.gh-input` - fixes border colours
- change `gh-cm-editor`'s "focused" class from `.focused` to `.focus` so it can inherit `.gh-input` styles
- add lazy loading of CM styles back in `gh-cm-editor` but prevent `lib/codemirror.css` from being compiled into the codemirror styles so that we get the theme colours without causing conflicts with the main editor
2017-06-01 23:01:43 +02:00
Kevin Ansfield
aa02f0decd 🐛 reduce likelihood of "untitled" slugs (#722)
refs https://github.com/TryGhost/Ghost/issues/8482

- removes "save on first change" behaviour of the post body
- always trigger a background save when title loses focus if the post is a draft
- renames `updateTitle` action to `saveTitle` action to better describe it's purpose and to avoid confusion with the `updateTitle` task
2017-06-01 23:00:57 +02:00
Kevin Ansfield
108cd94173 🎨 fix title placeholder styles (#728)
closes https://github.com/TryGhost/Ghost/issues/8516
- placeholders are pseudo elements so need to use `::` rather than `:` in their CSS selectors
2017-06-01 15:56:06 +01:00
Kevin Ansfield
6c56db1534 🎨 fix misalignment between view site and editor toolbar borders
no issue
- force editor toolbar to a fixed height, previously flexbox behaviour meant that it would squash the space above/below the buttons at smaller screen heights
2017-06-01 15:54:23 +01:00
John O'Nolan
9cab850bbb 🎨 bring back the view site link (#727)
no issue
- brings "view site" link back to the bottom of the nav bar
2017-06-01 15:40:41 +01:00
Kevin Ansfield
1d4cc70246 🐛 fix issue with re-uploading a deleted theme (#725)
closes https://github.com/TryGhost/Ghost/issues/8515

- ensure the theme record is removed from the store when deleting because theme IDs get re-used unlike other models
2017-06-01 15:44:04 +02:00
Katharina Irrgang
f1f1580084 🎨 rename language to locale and use en as default locale (#721)
refs https://github.com/TryGhost/Ghost/pull/8490
2017-05-31 16:01:46 +01:00
Kevin Ansfield
7919401ba9 🔥 remove markdown attribute from Post model (#720)
refs https://github.com/TryGhost/Ghost/issues/8479

- remove unused `ed-image-manager` util
- remove `markdown` attribute from Post model
2017-05-30 15:36:42 +02:00
Kevin Ansfield
c74662538a 🐛 fix lazy-loading of CodeMirror interfering with editor (#717)
closes https://github.com/TryGhost/Ghost/issues/8488

- don't lazy-load the CodeMirror styles in `gh-cm-editor` as they are already loaded and overridden
2017-05-30 15:31:18 +02:00
Kevin Ansfield
51a8f0a21f 🎨 team + apps header consistency (#716)
refs https://github.com/TryGhost/Ghost/issues/8464

- fix padding on user actions button
- match user screen heading to other screens
- match app screen headers to other screens, update form styles
- change header link colour to match non-link colour
- fix team acceptance test
- fix canvas top padding so header elements always align
- reduce header font size
2017-05-30 15:23:38 +02:00
Kevin Ansfield
8d8aece713 🎨 remove Fullscreen button from editor toolbar (#714)
closes https://github.com/TryGhost/Ghost/issues/8480

- removes fullscreen button from toolbar but keeps the "fullscreen" routines so that styling and other behaviour doesn't need to be updated
- side-by-side toggle now toggles fullscreen on/off (previously only toggled fullscreen on)
2017-05-30 15:17:47 +02:00
Kevin Ansfield
f8f09dab05 🐛 fix missing meta description preview (#719)
refs #718, refs https://github.com/TryGhost/Ghost/pull/8305

- meta description preview in the PSM was relying on the `html` field which is no longer queried - see #718 and https://github.com/TryGhost/Ghost/pull/8305
- restores live preview that was in LTS but removed whilst implementing mobiledoc because we had no quick way of rendering mobiledoc->text
- adds a boolean argument to the `formatMarkdown` util that can disable the replacement of `<script>` and `<iframe>` tags so that the inserted text isn't rendered when converting HTML to text
2017-05-30 15:07:12 +02:00
Katharina Irrgang
4a77ac5e86 🎨 use formats query param (#718)
refs https://github.com/TryGhost/Ghost/issues/8275
- ask Ghost for `mobiledoc` and `plaintext`
- Ghost returns `html` by default
- use plaintext for `{{subText}}` for posts overview
2017-05-30 10:15:46 +01:00
Kevin Ansfield
cb59388c5b 💄🐷 sort-imports eslint rule (#712)
no issue

- adds `eslint-plugin-sort-imports-es6-autofix` dependency
  - implements ESLint's base `sort-imports` rule but has a distinction in that `import {foo} from 'bar';` is considered `multiple` rather than `single`
  - fixes ESLint's autofix behaviour so `eslint --fix` will actually fix the sort order
- updates all unordered import rules by using `eslint --fix`

With the increased number of `import` statements since Ember+ecosystem started moving towards es6 modules I've found it frustrating at times trying to search through randomly ordered import statements. Recently I've been sorting imports manually when I've added new code or touched old code so I thought I'd add an ESLint rule to codify it.
2017-05-29 20:50:03 +02:00
Kevin Ansfield
abb2774a26 🎨 fix code injection input styles (#715)
closes https://github.com/TryGhost/Ghost/issues/8487
- removes extraneous padding
- removes double-width border
- matches focused border colour to other inputs
2017-05-29 18:16:47 +07:00
Kevin Ansfield
0f1d17400c Version bump to 1.0.0-alpha.21 2017-05-24 15:15:34 +01:00
Katharina Irrgang
ff59163aa0 🎨 improve importer errors/warnings display (#711)
refs https://github.com/TryGhost/Ghost/issues/5422
- handles errors and warnings from returned from the server and improves visual display
- adds a reset so that errors are cleared when leaving the labs screen
- removes the unnecessary "Import failed" alert - we already show the errors on the screen, no point bugging the user even further
2017-05-24 14:36:59 +01:00
Kevin Ansfield
ed361fec51 🐛 fix errors when navigating after successful import
no issue
- the synchronous settings service keeps an internal reference to the settings model, when everything in the store is unloaded during an import that reference breaks and will throw errors when accessing areas of the app that read values from it. This change adds an explicit reload of the settings model during import so that later navigation doesn't break.
2017-05-24 11:58:06 +01:00
Kevin Ansfield
3f329d99c5 🐛 fix flickering buttons during modal transitions (#710)
no issue

- removes transition on `all` properties in favour of an explicit list, fixes the buttons flickering after the modal appears and the outline/text being visible when the modal disappears
- simplifies the liquid-fire transition so that elements being removed at slightly different times doesn't cause flickering when the modal is removed
2017-05-23 18:45:25 +02:00
Aileen Nowak
cee320bb58 🐛 Reset publish date in PSM when leaving menu (#708)
closes TryGhost/Ghost#8360
- when changing the publish time of an already scheduled post in the publish menu and leaving the menu with clicking outside of the menu, the time wouldn't reset properly and be shown in the PSM. With the usage of an `isClosing` property which is passed to the underlying `gh-publishmenu-scheduling` component, we prevent the changed time from being saved and reset it properly instead.
2017-05-23 14:30:00 +01:00
Kevin Ansfield
177c693af8 ⬇️ revert to autoprefixer@6.7.7 (#709)
refs #706
- bumping to `autoprefixer@7.0.1` in #673 caused `cssnano` to fail on production builds
- upgrading to latest autoprefixer didn't result in any wins
- reverting to `autoprefixer@6.7.7` for now, we may need other dependencies to bump their `postcss` support before it can be upgraded
2017-05-23 19:15:30 +09:00
Kevin Ansfield
8d66430c2a streamline image uploads in settings/general (#702)
refs TryGhost/Ghost#8455

- ensure `uploadUrls` and `errors` are cleared in `gh-uploader` when new uploads are started
- yield `isUploading` in `gh-uploader` component
- replace image upload modals in settings/general with in-page uploads
2017-05-23 10:50:04 +02:00
Kevin Ansfield
e8ff4ac1dd add tests for gh-uploader component (#701)
no issue

- filled in tests ready to start work on https://github.com/TryGhost/Ghost/issues/8455
2017-05-23 10:18:03 +02:00
Kevin Ansfield
fccc04ebe1 🐛 fix disappearing nav after import (#707)
closes https://github.com/TryGhost/Ghost/issues/8307

- Ember 2.13 has a behaviour change to `store.unloadAll` where the records aren't removed until later in the runloop resulting in errors if the store is used to find records before it's completed. See https://github.com/emberjs/data/issues/4963
2017-05-23 10:17:12 +02:00
John O'Nolan
74c063fc46 Updated editor styles 🤓 (#705)
no issue
- CSS fixes for new editor 🔥
2017-05-22 17:43:54 +01:00
Katharina Irrgang
4ee3681512 🐛 fix published_at is null (#704)
no issue
- add safety check to avoid crashing if a scheduled post someone has no `published_at` value
2017-05-22 17:03:04 +01:00
Aileen Nowak
f1c8680f53 🐛 Make cmd+s work for all save-buttons (#700)
closes TryGhost/Ghost#8443
- Fixes a bug where the keyboard shortcut `cmd+s` would cause a `Maximum call stack size` error and not save.
- Wherever there is a `save` button, the keyboard shortcut to save works now.
2017-05-18 11:48:37 +01:00
Kevin Ansfield
1cbffa9f4f add spellcheck toggle (#697)
closes https://github.com/TryGhost/Ghost/issues/8461
- adds toggle spellcheck button to the `gh-markdown-editor` toolbar
- adds custom styles to fake a spellcheck icon
- updates `simplemde` fork
  - adds `spellcheck` to the list of toolbar buttons that don't have their `active` class removed based on cursor position
  - removes bundled `marked` dependency that we no longer use
2017-05-18 19:08:50 +09:00
Kevin Ansfield
245f4ea80e auto-expanding editor title input (#699)
closes https://github.com/TryGhost/Ghost/issues/8463
- move generic text input handling into `text-input` mixin so it applies to text inputs and textareas
- adds `autoExpand` property to `gh-textarea` that accepts a selector to watch for resize changes, if the property is set then auto-expanding behaviour is triggered any time the textarea value is changed or when the selector element is resized (this prevents change in textarea width from toggling nav or split screen mode resulting in textarea content being hidden or the textarea being taller than it's contents)
- adds `ember-element-resize-detector` addon to allow watching of element resizes rather than window resizes (this was already included as a sub-dependency via `ember-light-table`->`ember-scrollable`->`ember-element-resize-detector`)
2017-05-18 17:01:30 +09:00
Aileen Nowak
67ded0c8ed 🎨 User profile settings page layout updates (#695)
closes TryGhost/Ghost#7134

Overhaul of the user settings page to make it more consistent with other settings panels.
The hardly readable validation for user "Full Name" is redundant as well, as the input field for it now has the same styles as the other input fields.
2017-05-17 13:24:31 +01:00
Kevin Ansfield
fed5dc8a79 use image name as alt text when inserting images (#698)
closes https://github.com/TryGhost/Ghost/issues/8462
- grab image filename and remove extension before inserting it as `alt` text when uploading images
2017-05-17 20:27:27 +09:00
Kevin Ansfield
defa4d7a07 🐛 fix broken editor layout in Safari (#696)
closes https://github.com/TryGhost/Ghost/issues/8459
- use `vh` instead of `%` for editor height
2017-05-17 19:56:28 +09:00
Kevin Ansfield
e254a3cf27 Fix team screen when logged in as an author (#692)
closes TryGhost/Ghost#8409

- only show current user on team screen when logged in as author
- don't show the suspended users list to authors
2017-05-16 20:32:13 +09:00
Rodney Folz
11d3c42447 🐛 permit Facebook usernames with less than 5 chars (#632)
refs https://github.com/TryGhost/Ghost/issues/8296
- permit Facebook usernames with less than 5 chars
    - brands are allowed to have Page names with less than 5 chars (ex: facebook.com/nike)
    - current/former employees are allowed to have usernames with less than 5 chars (ex: facebook.com/zuck)
2017-05-15 19:26:34 +01:00
Kevin Ansfield
4edebe9f1e use markdown-it for markdown previews (#690)
 use markdown-it for markdown previews

no issue

- replaces SimpleMDE's default `marked` rendering with `markdown-it`
- add ember-browserify and markdown-it plugins
2017-05-15 18:51:19 +02:00
Aileen Nowak
bbf5164b79 🗜 Database soft limits (#683)
closes TryGhost/Ghost#8143

- uses new soft limits in validation:
	- post title to 255
	- meta title (post and tag) to 300
	- meta description (post and tag) to 500
2017-05-15 13:58:32 +02:00
Kevin Ansfield
1f3800683d 🎨 disable buttons in preview, fix preview overlap (#689)
no issue

- when entering preview mode (not split-screen preview) the toolbar buttons are now disabled. This is usually built in to SimpleMDE but that wasn't working because we've moved the location of the toolbar in the DOM
- hides the markdown editor when entering preview mode to prevent the markdown code appearing at the bottom of the preview when the markdown length is longer than the preview length
2017-05-12 10:06:56 +02:00
Kevin Ansfield
ecbe84025f 🐛 fix editor image uploads in Edge (#687)
no issue

- babel's transpilation of the `for...of` loops was resulting in an error in MS Edge, dropping back to an old `for` loop fixed it
2017-05-12 10:02:33 +02:00
Kevin Ansfield
e1b4ccd8d4 fix missing branch in package.json for our SimpleMDE fork 2017-05-11 14:16:31 +01:00
Kevin Ansfield
f751bc0e10 remove unused greenkeeper ignore list 2017-05-10 16:50:00 +01:00
Kevin Ansfield
e636e58b12 open file dialog and upload images via editor toolbar (#685)
no issue

- adds a hidden file input to the `gh-markdown-editor` component
- when the editor image toolbar button is clicked, capture the current selection (it gets during the file upload), trigger the file dialog then when files are selected initiate the same upload+insert process as drag/drop image uploads
2017-05-10 17:16:36 +02:00
Kevin Ansfield
23ce8f8f2c 🐛 fix visible scroll bars and disable standard preview in split-screen (#686)
no issue

- fix visible scroll bars were rendered to the right and bottom of the internal editor area in certain browser/OS configurations
- disable the preview button when in split-screen mode as it's not any use there
- exit SimpleMDE preview mode if it's active when entering split-screen mode
2017-05-10 14:36:07 +02:00
Kevin Ansfield
fef74b7139 ⬆️ bump yarn.lock sub-dependencies 2017-05-10 11:26:06 +01:00
Kevin Ansfield
5ae78fb9c5 bump dependencies (#673)
no issue
- autoprefixer@7.0.1
- broccoli-funnel@1.2.0
- codemirror@5.25.2
- coveralls@2.13.1
- ember-cli@2.13.1
- ember-cli-babel@6.1.0
- ember-cli-chai@0.4.0
- ember-cli-code-coverage@0.3.12
- ember-cli-dependency-checker@1.4.0
- ember-cli-eslint@3.1.0
- ember-cli-htmlbars@1.3.2
- ember-cli-htmlbars-inline-precompile@0.4.2
- ember-cli-mocha@0.14.3
- ember-cli-test-loader@2.1.0
- ember-composable-helpers@2.0.1
- ember-data@2.13.1
- ember-light-table@1.8.6
- ember-native-dom-helpers@0.4.0
- ember-power-datepicker@0.3.0
- ember-power-select@1.8.2
- ember-route-action-helper@2.0.3
- ember-simple-auth@1.3.0
- ember-source@2.13.0
- ember-test-selectors@0.3.3
- fs-extra@3.0.1
- liquid-fire@0.27.3
- liquid-wormhole@2.0.5
- loader.js@4.4.0
- fix async issue in editor title placeholder test
- adds `targets.js` so that babel will only polyfill for the lowest common denominator
2017-05-09 18:15:04 -05:00
Kevin Ansfield
e6bd8cbe3f 🔥 remove unused gh-spin-button component
closes https://github.com/TryGhost/Ghost/issues/7865
- `gh-spin-button` has been replaced with `gh-task-button`
2017-05-09 16:37:59 -05:00
Jimmy Cai
5e5003126c fix missing user avatars in team list (#677)
closes https://github.com/TryGhost/Ghost/issues/8389
- changed `user.image` to `user.profileImage`
2017-05-09 17:23:24 +01:00
Kevin Ansfield
fb2fa06b48 Fix split screen editor (#684)
no issue

* fix title input padding and placeholder weight
* 🔥 remove unused showdown-ghost dependency
* implement full screen mode via CSS rather than autonav toggle
* implement custom split pane editor preview
    - replace SimpleMDE's split pane handling with our own so that we have more control over the element positioning, toggling of our custom fullscreen code, and so that the preview pane can be scrolled separately as per our old editor
* use forked version of simplemde that has the latest CodeMirror compiled
    - SimpleMDE hasn't been updated for 11 months and the version of CodeMirror is baked into the SimpleMDE code, to get an up to date version I've forked and re-compiled
    - pull in the unminified SimpleMDE source so that it's easier to debug in development, our asset compilation steps will take care of minifying it for production
* fix gh-markdown-editor teardown
2017-05-08 19:15:56 +01:00