Commit Graph

2567 Commits

Author SHA1 Message Date
Hannah Wolfe
cf99964750 Merge pull request #6802 from kevinansfield/editor-img-perf-makes-me-sad
Fix editor image perf and upload bug
2016-05-08 13:58:54 +02:00
Kevin Ansfield
02b57750cf Fix editor image perf and upload bug
no issue
- ~10x speedup in processing time taken on each keypress when there are many images/image upload components in the editor
  - edit DOM in memory before changing it in the page to avoid double-render
  - keep upload components around and re-assign them on re-render, adding or removing an image will still re-generate everything
- adds a throttle to the preview rendering so that renders don't get queued up
- fixes occasional bug where uploading an image didn't update the markdown correctly due to a timing issue
2016-05-08 12:55:56 +02:00
Aileen Nowak
753f307382 Slack integration
closes #6584
- Frontend Changes:
	- adds 'Apps' to Navigation Menu
	- adds 'Slack' as nested page to Apps
	- adds `apps.css`
	- adds `slack-integration` model and uses `slack-settings` custom transform to parse JSON file
	- adds validation for `slack` model
	- adds fixtures and `slack/test` API endpoint to Mirage
	- adds acceptance tests for `apps-test` and `slack-test`
	- adds unit tests for `slack-settings` and `slack-integration`
- Backend Changes:
	- adds API endpoint `slack/test` to send Test Notification
	- adds default-values for slack model
	- sends payload to slack:
		- text: the url of the blogpost / test message
		- icon_url: url to ghost logo
		- username: Ghost
	- adds `slack/index.js` to send webhook to slack if
		- a new post is published (if slack webhook url is saved in settings)
		- user clicks on 'Send Test Notification' in UI
	- adds `slack.init()` to `server.index.js` to add event listener
	- adds unit test for `slack/index`
2016-05-08 12:49:15 +02:00
Kevin Ansfield
2da6673197 Synchronous feature service
supersedes #6773
- update `feature` service and `gh-feature-flag` component to work synchronously rather than async
- use the application route's `afterModel` hook so that settings are loaded before first load
- override `session` service's `authenticate` method to load the settings after successful authentication before any other routes are processed
2016-05-07 15:00:06 +02:00
Kevin Ansfield
e32106505a deps: ember-simple-auth@1.1.0-beta.5
no issue
- fixes last remaining 1.1.0 issue, will quite likely be last beta before final release
2016-05-05 12:55:42 +02:00
Austin Burdine
5cc75b1c6c remove unused feature controller 2016-04-28 12:22:54 -05:00
Austin Burdine
ab945b0827 convert more action calls to the ember-invoke-action syntax 2016-04-28 10:34:36 -05:00
Austin Burdine
7332186309 deps: ember-simple-auth@1.1.0-beta.4
- remove related deprecation line in deprecation-workflow.js
2016-04-28 08:34:26 -05:00
Kevin Ansfield
85afbaf38c Merge pull request #6767 from acburdine/ember-2.5.1
deps: ember@2.5.1
2016-04-28 14:18:29 +01:00
Austin Burdine
0017a5ace9 deps: ember@2.5.1
- removes Ember.merge deprecation
2016-04-28 07:15:15 -05:00
Kevin Ansfield
98f92c1444 Don't add trailing slash to end of url with parameters
no issue
- updates the `TrailingHistory` locationType so that trailing slashes aren't added to the end of URLs with parameters but instead matches how the server-side redirects to trailing-slash URLs
- before: `/subscribers?order=created_at/`
- after: `/subscribers/?order=created_at`
2016-04-28 12:42:03 +01:00
Kevin Ansfield
50d1737a25 Merge pull request #6748 from acburdine/closure-actions-readability
Use ember-invoke-action for closure action handling
2016-04-28 10:12:24 +01:00
Austin Burdine
6e29b546f7 deps: ember-invoke-action@1.3.0
no issue
- replace instances of `this.get('action')()` with ember-invoke-action syntax
2016-04-26 16:32:17 -05:00
Kevin Ansfield
0e2f4ea33e Use a custom transform to simplify navigation settings
no issue
- moves the `NavItem` object from the navigation controller to an explicit `NavigationItem` model file
- adds a custom transform `navigation-settings` that transforms the navigation settings JSON string to/from an array of `NavigationItem` objects
- simplifies the `settings/navigation` controller as it no longer has to export it's own internal model and handle serialization and deserialization

This pattern should also help simplify the apps/slack integration code if implemented there.
2016-04-26 12:32:29 +01:00
Kevin Ansfield
983c708ece Don't share errors and hasValidated references between validator instances
no issue
- ensure that each validator instance gets it's own `errors` and `hasValidated` objects
- updates some uses of `ValidationEngine` that were relying on side-effects of the unintended reference sharing
- fixes issue with add subscriber modal displaying an error state after opening if it previously had errors when closing
2016-04-25 10:56:11 +01:00
Austin Burdine
4a5c7d953e lock jquery-deparam version 2016-04-20 06:18:47 -05:00
Austin Burdine
692d3afc39 deps: password-generator@2.0.2 2016-04-20 06:17:44 -05:00
Austin Burdine
2cbe3546be allow ember to specify jQuery version
- fix slight acceptance test bug
2016-04-19 14:08:36 -05:00
Austin Burdine
eb2e369326 replace gh-selectize with power-select in gh-search-input
refs #6458
2016-04-19 10:55:10 -05:00
Austin Burdine
4b7c00d19e deps: ember-power-select@0.9.2 2016-04-19 10:25:58 -05:00
Austin Burdine
eae02d410a Merge pull request #6735 from kevinansfield/improve-pagination-mixin
Improve `PaginationRoute` mixin
2016-04-19 10:20:08 -05:00
Kevin Ansfield
5f7bd12eec Improve PaginationRoute mixin
no issue
- returns the promise/result from `loadNextPage` so that it's return value can be utilised in closure actions
- sets the `isLoading` property in `loadFirstPage` to match `loadNextPage` behaviour
- reset the `isLoading` property even if the request fails
- adds a `didReceivePaginationMeta` hook so that consumers of the mixin can use the metadata values without having to rely on observers
  - eg. pulling the `total` into a separate property that can be manipulated when items are added/removed but still reset to the sever's total value the next time a page is loaded
- renames the `pagination-route` mixin to simply `pagination` as it's not tied to routes and works equally well in other objects that need to paginate an API resource
2016-04-19 10:53:45 +01:00
Kevin Ansfield
cc04ad2a58 deps: ember-one-way-controls@0.6.2
no issue
- https://github.com/DockYard/ember-one-way-controls/compare/v0.5.4...v0.6.2
- bugfixes
- dynamic attribute binding (attributes no longer need to be explicitly defined in the components in order to be recognised)
- adds `one-way-radio` component
2016-04-19 10:22:29 +01:00
Austin Burdine
cce23ca6e9 deps: ember-cli@2.5.0 2016-04-17 20:05:42 -05:00
Austin Burdine
c118a7d71b deps: ember-data@2.5.2 2016-04-15 00:32:57 -05:00
Austin Burdine
e07a3f4145 deps: ember@2.5.0 2016-04-15 00:24:57 -05:00
Hannah Wolfe
159d729855 Merge pull request #6714 from kevinansfield/allow-mocked-endpoints-in-dev
Enable ability to mock endpoints in development mode
2016-04-14 19:12:43 +01:00
Hannah Wolfe
a2a825bfe9 Merge pull request #6651 from kevinansfield/uploader-js-must-die
Replace jQuery-based uploader.js with ember components
2016-04-14 16:57:57 +01:00
Kevin Ansfield
2e66f53a4b Enable ability to mock endpoints in development mode
no issue
- moves existing mirage config into the `testConfig()` function to retain full mocks during testing
- configure mirage to passthrough all requests when in development mode
2016-04-14 15:26:39 +01:00
Kevin Ansfield
490f2bae16 Fix redirect to posts list when saving a new post as an author
no issue
- replace deprecated `normalizeHash` with `normalize` in post serializer
- ensure we check for both `post` and `posts` properties as it will vary depending on the expected response type
2016-04-13 12:28:11 -05:00
Austin Burdine
0f39b4c53c fix leave editor modal
no issue
- following up from 6680, fixes a missing set of parentheses
2016-04-12 14:04:59 -05:00
Jeff Jewiss
600276bd56 Saves post title on focus blur if status is draft
Closes #6656
- adds an action to update the title
- checks if the post title has changed and is a draft and sends a silent + background save action
- includes the action on the focus-out event on the post title
2016-04-10 21:47:28 -04:00
Austin Burdine
89a86249f5 Merge pull request #6694 from jaswilli/bind
Remove Function.bind polyfill
2016-04-10 00:53:19 -05:00
Jason Williams
63ba8a1031 Remove Function.bind polyfill
- Not used anymore, and phantomjs 2 has a native .bind
2016-04-09 13:06:54 -05:00
Kevin Ansfield
0c136a5a23 Avoid use of this.attrs for closure actions
no issue
- `this.attrs` is a glimmer-component thing (which doesn't exist in Ghost yet), to avoid confusion we should avoid using it
- https://locks.svbtle.com/to-attrs-or-not-to-attrs
- https://github.com/cibernox/ember-power-select/issues/233#issuecomment-170352572
2016-04-09 10:46:19 +01:00
Hannah Wolfe
d542ae86df Merge pull request #6690 from kevinansfield/ember-suave-2-0
deps: ember-suave@2.0.1
2016-04-08 23:05:51 +01:00
Kevin Ansfield
ea612d7293 deps: ember-suave@2.0.1
no issue
- https://github.com/DockYard/ember-suave/releases/tag/v2.0.0
- fix linting errors arising from new rules
2016-04-08 16:27:24 +01:00
Kevin Ansfield
7d558f4596 deps: pretender@1.0.0
no issue
- https://github.com/pretenderjs/pretender/blob/master/CHANGELOG.md#10
- https://github.com/pretenderjs/pretender/compare/0.10.1...1.0.0
2016-04-08 15:54:23 +01:00
Kevin Ansfield
832bf0007b deps: moment@2.12.0
no issue
- https://github.com/moment/moment/blob/develop/CHANGELOG.md#2103-see-full-changelog
2016-04-08 15:51:55 +01:00
Kevin Ansfield
e7c7696872 deps: Faker@3.1.0
no issue
- https://github.com/Marak/faker.js/compare/v3.0.1...v3.1.0
2016-04-08 15:36:37 +01:00
Kevin Ansfield
7747ce988e deps: remove unused es5-shim bower dependency 2016-04-08 15:34:21 +01:00
Kevin Ansfield
c896c73fe2 deps: codemirror@5.13.2
no issue
- https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md#520-2015-04-20
2016-04-08 15:30:50 +01:00
Kevin Ansfield
e62612832c deps: blueimp-md5@2.3.0
no issue
- https://github.com/blueimp/JavaScript-MD5/compare/1.1.0...v2.3.0
2016-04-08 15:28:30 +01:00
Kevin Ansfield
64f83ed18c deps: ember-cli-pretender@0.6.0
no issue
- updates `pretender` dependency
- https://github.com/rwjblue/ember-cli-pretender/compare/v0.5.0...v0.6.0
2016-04-08 15:18:39 +01:00
Kevin Ansfield
4243838b94 deps: ember-cli-mocha@0.10.1
no issue
- https://github.com/switchfly/ember-cli-mocha/compare/v0.10.0...v0.10.1
2016-04-08 15:16:14 +01:00
Kevin Ansfield
b37fb487b1 deps: ember-cli-mirage@0.1.13
no issue
- https://github.com/samselikoff/ember-cli-mirage/releases/tag/v0.1.12
- https://github.com/samselikoff/ember-cli-mirage/compare/v0.1.11...v0.1.13
2016-04-08 15:15:28 +01:00
Kevin Ansfield
271bd7b31b deps: ember-cli-deprecation-workflow@0.2.0
no issue
- https://github.com/mixonic/ember-cli-deprecation-workflow/compare/v0.1.6...v0.2.0
2016-04-08 15:15:22 +01:00
Kevin Ansfield
62c5b97c99 Merge pull request #6564 from szelpe/publishedDate
Fixed bugs regarding the published date input field validation.
2016-04-06 11:58:00 +01:00
Kevin Ansfield
bb484bc7a4 Merge pull request #6668 from acburdine/app-logo-fix
Replace hardcoded AWS image url with static image url
2016-04-06 11:26:03 +01:00
Kevin Ansfield
62553cdf92 Replace jQuery-based uploader.js with ember components
no issue
- adds `gh-image-uploader` that handles image uploads in a fully ember fashion and with no dependency on `uploader.js`
- adds `gh-image-uploader-with-preview` that can fully replace the old `gh-uploader`
- replace uses of `gh-uploader` in PSM & TSM with `gh-image-uploader-with-preview`
- updates the editor preview image handling to use the new `gh-image-uploader-with-preview` component
- updates the image upload modal to use `gh-image-uploader` (utilises the `saveButton=false` flag which means the preview has to be handled externally to avoid auto-replacement when typing a URL)
- removes all old `uploader.js` related code
- adds custom `RequestEntityTooLargeError` and `UnsupportedMediaTypeError` errors to our `ajax` service
2016-04-05 12:03:20 +01:00