Skip to content

Conversation

@anehx
Copy link

@anehx anehx commented Jul 24, 2024

As mentioned in multiple issues (#160, #20), ember-can currently doesn't support async abilities. This seems to be an issue for a lot of its users as it is a real use-case that permissions are evaluated with e.g. a call to an API.

This PR would support async abilities without changing the current API at all. The only thing required for it to work in templates would be ember-promise-helpers to handle the promises in the templates.

This solution is currently running in one of my projects and works pretty good. Please let me know if you are interested in this. If this is a viable solution, we could also look into changing the template helpers so they can handle the promises itself in order to drop the necessary dependency.

@derrabauke
Copy link

@anehx rebase and 🆙 🙃

@anehx
Copy link
Author

anehx commented Nov 17, 2025

@RobbieTheWagner Is this a feature you'd consider?

@RobbieTheWagner
Copy link
Collaborator

@RobbieTheWagner Is this a feature you'd consider?

In general, I think I would support this. I think we should make the default helpers this addon ships handle both async and sync though and not require another dependency, if possible.

@anehx
Copy link
Author

anehx commented Nov 18, 2025

@RobbieTheWagner Sure, that would be possible. However, I explicitly didn't do that as we then would have to decide on what it resolves to if the promise is still pending.

IMO the least incorrect way would be to resolve to false when pending. However, this will probably pose issues when using the cannot helper.

What do you think? I'd be happy to invest some time into this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants