hodlbod on Nostr: Communities can switch relays by switching relays. It's the same as switching pubkeys ...
Communities can switch relays by switching relays. It's the same as switching pubkeys would be, there has to be an authoritative identity. If that has to change, then it has to change. Pubkeys can't be censored by DNS, but they're harder to change. It's a trade-off, but communities need a host in any case, so it's easier to start there. Once you select a relay url, you can follow its pubkey to get updates on the relay's new location, then update your memberships from there.
I don't understand your second question. I don't know what a targeted publication is, but if it needs to be replaceable then model it that way.
Cross-posting doesn't have to be surfaced in the UX. Just create multiple events under the hood, like we do with DMs. When you DM someone, two events get published, but it only ever shows up as one message. Just have a button that says "post to x, y, z communities". Depending on how you do it, you might publish one event to multiple relays, a root event to your relay with three reposts with h tags, or just three copies of the event each with a different h tag. All three are legitimate approaches.
I don't understand your second question. I don't know what a targeted publication is, but if it needs to be replaceable then model it that way.
Cross-posting doesn't have to be surfaced in the UX. Just create multiple events under the hood, like we do with DMs. When you DM someone, two events get published, but it only ever shows up as one message. Just have a button that says "post to x, y, z communities". Depending on how you do it, you might publish one event to multiple relays, a root event to your relay with three reposts with h tags, or just three copies of the event each with a different h tag. All three are legitimate approaches.