We have a Partner Community where Opportunities are shared via Sharing Sets. Users log activities against those sharing sets. Note that this isn't to do with the Public field on Activity.
We've noticed that users can't see activities if they aren't the "assigned to" or the owner of the records in the Who or What fields. We suspect this is because users are not getting access via record ownership, role hierarchy, sharing rules etc. but through Sharing Sets which is more run time. Though this works in other areas (e.g. Master/Detail relationships), those aren't polymorphic fields, so I imagine there's additional complexity there that means this doesn't always work.
Has anybody encountered this before? Or maybe the opposite - do you have this setup working, and can you tell me I have gotten something wrong somewhere else?
Even ideas about ways to validate this (or not) are welcome...