Query for post and costom post_type in same category filtered by meta for post_type

Solved.
I needed to change meta_query this way:

$meta_query = array(
    'relation' => 'OR',
    array(
        'key'   => 'public',
        'value' => '1',
    ), 
    array(
        'key'     => 'public',
        'value'   => '',  // necessary to work!!!
        'compare' => 'NOT EXISTS'
    ), 
);

1st array search for post with meta key ‘public’ set to 1

2nd array add post without meta key ‘public’

note that in 2nd array it’s necessary to add value also if useless!