posthog-js supports person.set_once but our backend doesn't. Make sure we can pass through `$set_once` on an `$identify` call, and only set the properties within if the properties aren't already set on the user.
posthog/tasks/process_event.py
if not old_person and new_person:
        try:
            new_person.add_distinct_id(previous_distinct_id)
        
        except IntegrityError:
            if retry_if_failed:  
                _alias(previous_distinct_id, distinct_id, team_id, False)
        return
    if not old_person and not new_person:
        try:
            Person.objects.create(
                team_id=team_id, distinct_ids=[str(distinct_id), str(previous_distinct_id)],
            )
        
        except IntegrityError:
            if retry_if_failed:
                
                _alias(previous_distinct_id, distinct_id, team_id, False)
        return
    if old_person and new_person and old_person != new_person:
        new_person.merge_people([old_person])
def sanitize_event_name(event: Any) -> str:
    if isinstance(event, str):
        return event[0:200]
    else:
        try:
            return json.dumps(event)[0:200]
        except TypeError:
            return str(event)[0:200]
def store_names_and_properties(team: Team, event: str, properties: Dict) -> None: