This best practise that you called bullshit is still the best practise we have for this. An extra step for the attacker to take to obtain usernames and/or e-mails is far better than no steps.
I kinda expected a better solution for the problem rather than quite lengthy rant.
We do the exact same thing, just we have “repository” services that fetch our data (using ember-concurrency), and have a general purpose a fetch-action container component. We also pass actions into the block as well, to allow cancelation, or refresh, which is occasionally useful.
Alvin, great article!
Having taught junior developers Ember, React, and Vue: I think there’s another thing to note about Ember’s design as a framework. As you mention, the pieces are designed to be solutions to common problems; but they also are heavily designed to work together with each other. For example while Ember Data…
As part of a large refactor we recently completed for one of our clients, Fitbot, we needed to handle keyboard shortcuts. For example,
Command+Enter should trigger a ‘save’ action,
Shift+Enter should add a workout item,
Escape should close the…