Skip to content

[Ember 5.12+] Non helpful error when the function for on modifier was forget to add #1680

Open
@mkszepp

Description

@mkszepp

🐞 Describe the Bug

Beginning with ember v5.12 the error handing is not helpful when you forget to create the pass function to on modifier.

🔬 Minimal Reproduction

Create a hbs file with this content:

<div {{on "click" this.myfunction}}></div>

Minimal reproduction: https://github.com/mkszepp/ember-missing-action-function

😕 Actual Behavior

If you forget to create the function in js/ts you will get this error:
Error in Firefox:
Uncaught TypeError: userProvidedCallback is undefined
grafik

Error in Chrome:
Uncaught TypeError: Cannot read properties of undefined (reading 'bind')
grafik

🤔 Expected Behavior

We should bring back better error handling like it was in <= v5.11

Uncaught Error: You must pass a function as the second argument to the `on` modifier; you passed undefined. While rendering:

this.myfunction

grafik

Possible error position

While looking the commit it looks like the error was introduced here
2d9fc01#diff-301b4fe274bd34f5552c35fc1f58078575896ba487df721bed939eb1d0fe9891R75

The answer of @NullVoxPopuli was see

oofta -- that check stuff in general is supposed to be stripped during glimmer-vm publish.

thank you for finding and reporting this!!!

🌍 Environment

  • Ember: 5.12.0+
  • Ember-CLI: 5.12.0+
  • Node.js/pnpm: v20 / v9
  • OS: Linux / WIndows
  • Browser: Firefox / Chrome

Original post

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions