How does a menu item get hidden with the Domain module? I have a node that is restricted to site dev2. In my menu, I have a link to that node. On dev1 site, the link doesn't show up.

I have created a hook for node_access that returns NODE_ACCESS_ALLOW  for the view operation. Shouldn't it show up in the menu for both sites even though it is restricted to dev2 by the Domain module?
I did a project this summer that used Domain Access to split a site into desktop and mobile versions of the website.  The client wanted to be able to target pieces of content for the desktop, mobile, or both.

If a piece of content is in a menu, the the domain rules will decide if that piece of content is available, which is what you are seeing.  This is done with the standard node_access methods, which grant permissions rather than take them away.

I think you have a two options here.

I think proper thing you should do it to send the node to all or multiple affiliates, which should be an option when you edit the node.

If you want to go the node_access route, then I suspect you need to clear caches and also rebuild the node permissions.  I totally forget where this option is in the UI, but you essentially need to call node_access_rebuild.  The easiest way is probably with drush

drush php-eval 'node_access_rebuild();'


Just keep in mind that the link will appear in the menu, but the node will also be viewable.  The two go hand in hand.