## Issue
The previous commit was over-doing the manual syncing, causing other usages like the Repost Modal to always reset to a different channel.
## Fix
Only do the manual syncing when the channel does not exist.
At this point, we could also just take `channel[0]` as the new value.
## Issue
Fixes `4621 Can't create Comments if you recently deleted a channel`
The `channel` that the parent passes in is from a persisted state. If the channel has been deleted, `<select>` will automatically resolve to another selectable value. However, `onChange` will not be called for this scenario, so we now have a mismatch.
## Changes
- Manually check if the value has been auto-resolved and report it to the parent.
- An extra `setTimeout` was needed. It seems like `onChannelChange` needs to be called after the first `useEffect` of the parent, otherwise the call has no effect.
## Issue:
Fixes 4411 `"SelectChannel=New" doesn't show all fields on re-entry`
## Code Changes:
`selectChannel`: Correct the value of `addingChannel` in the constructor based on the given props.
enable visiting /$/CODE or /$/invite/CHANNEL
enable visiting /ANY?=[CODE|CHANNEL] to set and claim
enable /$/invite selecting channels for referral codes
add ?r=CODE to share modal
enable setting referrer and claiming reward from rewards page