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/test/test_process_event.py
def test_capture_new_person(self) -> None:
            user = self._create_user("tim")
            action1 = Action.objects.create(team=self.team)
            ActionStep.objects.create(action=action1, selector="a", event="$autocapture")
            action2 = Action.objects.create(team=self.team)
            ActionStep.objects.create(action=action2, selector="a", event="$autocapture")
            team_id = self.team.pk
            self.team.ingested_event = True  
            self.team.save()
            num_queries = 28
            if settings.EE_AVAILABLE:  
                num_queries += 4
            if settings.MULTI_TENANCY:  
                num_queries += 1
            with self.assertNumQueries(num_queries):
                process_event(
                    2,
                    "",
                    "",
                    {
                        "event": "$autocapture",
                        "properties": {
                            "distinct_id": 2,
                            "token": self.team.api_token,
                            "$elements": [
                                {"tag_name": "a", "nth_child": 1, "nth_of_type": 2, "attr__class": "btn btn-sm",},
                                {"tag_name": "div", "nth_child": 1, "nth_of_type": 2, "$el_text": "💻",},
                            ],