{"action":"closed","issue":{"url":"https://api.github.com/repos/reactuate/reactuate/issues/18","repository_url":"https://api.github.com/repos/reactuate/reactuate","labels_url":"https://api.github.com/repos/reactuate/reactuate/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/reactuate/reactuate/issues/18/comments","events_url":"https://api.github.com/repos/reactuate/reactuate/issues/18/events","html_url":"https://github.com/reactuate/reactuate/issues/18","id":133734239,"number":18,"title":"different domains can't have the the same actions","user":{"login":"michaeljosephrosenthal","id":8343799,"avatar_url":"https://avatars.githubusercontent.com/u/8343799?v=3","gravatar_id":"","url":"https://api.github.com/users/michaeljosephrosenthal","html_url":"https://github.com/michaeljosephrosenthal","followers_url":"https://api.github.com/users/michaeljosephrosenthal/followers","following_url":"https://api.github.com/users/michaeljosephrosenthal/following{/other_user}","gists_url":"https://api.github.com/users/michaeljosephrosenthal/gists{/gist_id}","starred_url":"https://api.github.com/users/michaeljosephrosenthal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaeljosephrosenthal/subscriptions","organizations_url":"https://api.github.com/users/michaeljosephrosenthal/orgs","repos_url":"https://api.github.com/users/michaeljosephrosenthal/repos","events_url":"https://api.github.com/users/michaeljosephrosenthal/events{/privacy}","received_events_url":"https://api.github.com/users/michaeljosephrosenthal/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-02-15T15:01:50Z","updated_at":"2016-05-06T18:42:52Z","closed_at":"2016-05-06T18:42:52Z","body":"in `createReducer.js`, `action.meta.name` (set by `domainMiddlewar.js`) is the unprefixed action name. This means that\r\n```es6\r\n      let actionCreator = domain.get('actions')[domain.withoutPrefix(action.meta.name)]\r\n      if (!t.Nil.is(actionCreator)) { ...\r\n```\r\nresults in the reducer for `domainA/insert` attempting to handle `domainB/insert` actions, which will result in a tcomb `TypeError`.\r\n\r\nMy current patch is\r\n```es6\r\n      let actionCreator = domain.get('actions')[domain.withoutPrefix(action.payload.type)]\r\n      if (!t.Nil.is(actionCreator)) {\r\n```\r\nbut maybe `action.meta.name` should be prefixed by the domain middleware."}}