Skip to content

TypeError: Cannot read property 'name' of null ---- at QueryParamsService.updateURL #14

@mpanic

Description

@mpanic

I have the following routes:

application/route.js (defines queryParam preCheck)
application/controll.js (defines alias queryParams.current.preCheck)
master/route.js (defines queryParam search)
master/controller (defined alias for queryParam queryParams.current.search)

Both routes have the same path: '/'

When I load the page, it throughs the following error:

TypeError: Cannot read property 'name' of null
    at QueryParamsService.updateURL (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/addon-tree-output/ember-query-params-service/services/query-params.js:66:1)
    at RouterService.router.on.transition (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/addon-tree-output/ember-query-params-service/services/query-params.js:34:1)
    at sendEvent (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/@ember/-internals/metal.js:463:1)
    at RouterService.trigger (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/@ember/-internals/runtime/lib/mixins/evented.js:110:1)
    at Class._router.on.transition (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/@ember/-internals/routing/lib/services/router.js:71:1)
    at sendEvent (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/@ember/-internals/metal.js:463:1)
    at Class.trigger (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/@ember/-internals/runtime/lib/mixins/evented.js:110:1)
    at PrivateRouter.routeWillChange (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/@ember/-internals/routing/lib/system/router.js:179:1)
    at Transition.abort (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/router_js.js:366:1)
    at PrivateRouter.transitionDidError (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/@ember/-internals/routing/lib/system/router.js:209:1)
    at Transition.promise.state.resolve.catch.result (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/router_js.js:270:1)
    at invokeCallback (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/rsvp.js:490:1)
    at publish (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/rsvp.js:473:1)
    at publishRejection (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/rsvp.js:409:1)
    at _runloop.backburner.schedule (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/ember-testing/lib/ext/rsvp.js:16:1)
    at invokeWithOnError (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/backburner.js:344:1)
    at Queue.flush (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/backburner.js:226:1)
    at DeferredActionQueues.flush (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/backburner.js:423:1)
    at Backburner._end (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/backburner.js:957:1)
    at Backburner._boundAutorunEnd (/var/folders/gv/h8f0csq173j19t15l_y9zfmm0000gn/T/broccoli-30947kl9I5HEIGpUt/out-655-append_ember_auto_import_analyzer/assets/backburner.js:626:1)
    at process._tickCallback (internal/process/next_tick.js:68:7)

If I try to use preCheck it works just fine.
NOTE: it's in the application route

If I try to reference query param search from both router and controller, I get the error.
If I don't use it in either router or controller, it works just fine.
NOTE: it's in the "nested" master route, which is under application route.

What are the chances that we can't use queryParam from both router and controller in nested routes?

UPDATE:

After some debugging of the addon, looks like it fails as the transition.from and transition.to are both null and that makes sense as I'm loading the route for the first time.
But the error message is saying that "same query param" cannot be refered from both router and controller:

router.js:1211 Error while processing route: application.master Assertion Failed: You're not allowed to have more than one controller property map to the same query param key, but both `application:__INIT_WAS_CALLED__ember15706556339071062844181561__` and `application.master:__INIT_WAS_CALLED__ember15706556339071062844181561__` map to `__INIT_WAS_CALLED__ember15706556339071062844181561__`. You can fix this by mapping one of the controller properties to a different query param key via the `as` config option, e.g. `__INIT_WAS_CALLED__ember15706556339071062844181561__: { as: 'other-__INIT_WAS_CALLED__ember15706556339071062844181561__' }` 
    at assert (http://localhost:4200/assets/vendor.js:37145:15)
    at Class._queryParamsFor (http://localhost:4200/assets/vendor.js:24476:54)
    at forEachQueryParam (http://localhost:4200/assets/vendor.js:25099:26)
    at Class._deserializeQueryParams (http://localhost:4200/assets/vendor.js:24289:7)
    at getFullQueryParams (http://localhost:4200/assets/vendor.js:22925:12)
    at getQueryParamsFor (http://localhost:4200/assets/vendor.js:22938:27)
    at Class.paramsFor (http://localhost:4200/assets/vendor.js:21466:25)
    at Class._paramsFor (http://localhost:4200/assets/vendor.js:23582:23)
    at Class.deserialize (http://localhost:4200/assets/vendor.js:22304:30)
    at http://localhost:4200/assets/vendor.js:90041:81

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions