Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: promisify app.getFileIcon() #15742

Merged
merged 12 commits into from Dec 5, 2018

Conversation

Projects
None yet
5 participants
@codebytere
Copy link
Member

commented Nov 16, 2018

Description of Change

Promisifies app.getFileIcon natively.

Todo:

  • specs
  • docs

/cc @ckerr @deepak1556

Checklist

  • PR description included and stakeholders cc'd
  • npm test passes
  • tests are changed or added
  • relevant documentation is changed or added
  • PR title follows semantic commit guidelines

Release Notes

Notes: Promisifies app.getFileIcon

Co-authored-by: Charles Kerr ckerr@github.com

@codebytere codebytere requested review from as code owners Nov 16, 2018

@codebytere codebytere changed the title [WIP] feat: promisify app.getFileIcon feat: promisify app.getFileIcon Nov 18, 2018

Show resolved Hide resolved docs/api/app.md Outdated

@codebytere codebytere force-pushed the promise-getFileIcon branch from fa5b9d4 to 06ce20a Nov 19, 2018

@codebytere codebytere changed the title feat: promisify app.getFileIcon feat: promisify app.getFileIcon() Nov 19, 2018

@ckerr
Copy link
Member

left a comment

The pieces that are here LGTM. Nice work!

Before we start merging PRs though I think we need a plan to make the API churn more managable to Electron app developers, e.g. the framework discussed at electron/maintainers#159 (CC @alexeykuzmin, @MarshallOfSound).

Additionally, whatever plan we follow should be in a public repo. E.g. if we still like 159 we should move it verbatim into electron/electron/issues

Marking as Request changes to press pause while getting feedback from pineapples on how we want this rollout to proceed not due to any code issues in the PR.

@codebytere

This comment has been minimized.

Copy link
Member Author

commented Nov 19, 2018

Some thoughts:

The initial plan for promisification hinged on waiting until Node 8 (which bundled util.promisify) and then blanket converting all methods taking callbacks at once. From discussion in that issue, i think (and i agree with this perspective) that native promisification as a goal is more desirable than util.promisify, as it provides less of a band-aid over the issue and addresses it at the root.

However, this means that we can't, then, batch convert over all relevant methods at once, and need to do it in this more piecemeal manner. My proposal would be that we maintain a public project board with our progress on this issue, in addition to an issue in maintainers, and merge these piecemeal rather than bottleneck on each method being converted so that we can flag them all at once.

What are y'all's thoughts?

^convo continued in another issue

@codebytere codebytere closed this Nov 19, 2018

@codebytere codebytere reopened this Nov 19, 2018

@codebytere

This comment has been minimized.

Copy link
Member Author

commented Nov 19, 2018

dangit meant to comment not close and comment

Show resolved Hide resolved atom/browser/api/atom_api_app.cc Outdated

@codebytere codebytere force-pushed the promise-getFileIcon branch from 06ce20a to 88e2b36 Nov 26, 2018

codebytere added some commits Nov 16, 2018

@codebytere codebytere force-pushed the promise-getFileIcon branch from bfc7898 to c0f1dfe Dec 4, 2018

@deepak1556
Copy link
Member

left a comment

LGTM with minor change. Thanks!

Show resolved Hide resolved spec/api-app-spec.js Outdated
Show resolved Hide resolved atom/browser/api/atom_api_app.cc Outdated
@ckerr

ckerr approved these changes Dec 5, 2018

@codebytere codebytere merged commit 3f15f51 into master Dec 5, 2018

25 of 27 checks passed

ci/circleci: linux-x64-testing-tests Your tests failed on CircleCI
Details
Artifact Comparison Changes Detected
Details
Absolute Zero
Semantic Pull Request ready to be squashed
Details
WIP ready for review
Details
appveyor: win-ia32-debug AppVeyor build succeeded
Details
appveyor: win-ia32-testing AppVeyor build succeeded
Details
appveyor: win-ia32-testing-pr AppVeyor build succeeded
Details
appveyor: win-x64-debug AppVeyor build succeeded
Details
appveyor: win-x64-testing AppVeyor build succeeded
Details
appveyor: win-x64-testing-pr AppVeyor build succeeded
Details
ci/circleci: linux-arm-debug Your tests passed on CircleCI!
Details
ci/circleci: linux-arm-testing Your tests passed on CircleCI!
Details
ci/circleci: linux-arm64-debug Your tests passed on CircleCI!
Details
ci/circleci: linux-arm64-testing Your tests passed on CircleCI!
Details
ci/circleci: linux-checkout Your tests passed on CircleCI!
Details
ci/circleci: linux-ia32-debug Your tests passed on CircleCI!
Details
ci/circleci: linux-ia32-testing Your tests passed on CircleCI!
Details
ci/circleci: linux-ia32-testing-tests Your tests passed on CircleCI!
Details
ci/circleci: linux-x64-debug Your tests passed on CircleCI!
Details
ci/circleci: linux-x64-testing Your tests passed on CircleCI!
Details
electron-arm-testing Build #20181205.5 succeeded
Details
electron-arm64-testing Build #20181205.5 succeeded
Details
electron-lint Build #20181205.9 succeeded
Details
electron-mas-testing Build #20181205.10 succeeded
Details
electron-osx-testing Build #20181205.11 succeeded
Details
release-notes Release notes found
@release-clerk

This comment has been minimized.

Copy link

commented Dec 5, 2018

Release Notes Persisted

Promisifies app.getFileIcon

@codebytere codebytere deleted the promise-getFileIcon branch Dec 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.