"Invalid token" when trying to sign up with username already signed up
Sentry Issue: [BACKEND-2T](https://sentry.io/organizations/couchers/issues/2582011114/?referrer=github_integration)

```
UniqueViolation: duplicate key value violates unique constraint "uq_signup_flows_username"
DETAIL:  Key (username)=(esra) already exists.

  File "sqlalchemy/engine/base.py", line 1771, in _execute_context
    self.dialect.do_execute(
  File "sqlalchemy/engine/default.py", line 717, in do_execute
    cursor.execute(statement, parameters)

IntegrityError: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "uq_signup_flows_username"
DETAIL:  Key (username)=(esra) already exists.

[SQL: UPDATE signup_flows SET username=%(username)s, birthdate=%(birthdate)s, gender=%(gender)s, hosting_status=%(hosting_status)s, city=%(city)s, geom=CAST(CAST(ST_GeogFromText(%(param_1)s) AS geography(POINT,4326)) AS geometry(POINT,4326)), geom_radius=%(geom_radius)s, accepted_tos=%(accepted_tos)s WHERE signup_flows.id = %(signup_flows_id)s]
[param...
(15 additional frame(s) were not displayed)
...
  File "sqlalchemy/engine/base.py", line 1814, in _execute_context
    self._handle_dbapi_exception(
  File "sqlalchemy/engine/base.py", line 1995, in _handle_dbapi_exception
    util.raise_(
  File "sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "sqlalchemy/engine/base.py", line 1771, in _execute_context
    self.dialect.do_execute(
  File "sqlalchemy/engine/default.py", line 717, in do_execute
    cursor.execute(statement, parameters)
```
diff --git a/app/backend/src/couchers/servicers/auth.py b/app/backend/src/couchers/servicers/auth.py
index 268f226bf..e29fc81bd 100644
--- a/app/backend/src/couchers/servicers/auth.py
+++ b/app/backend/src/couchers/servicers/auth.py
@@ -117,9 +117,17 @@ class Auth(auth_pb2_grpc.AuthServicer):
         if not is_valid_username(username):
             return False
         with session_scope() as session:
-            user = session.execute(select(User).where(User.username == username)).scalar_one_or_none()
+            # check for existing user with that username
+            user_exists = (
+                session.execute(select(User).where(User.username == username)).scalar_one_or_none() is not None
+            )
+            # check for started signup with that username
+            signup_exists = (
+                session.execute(select(SignupFlow).where(SignupFlow.username == username)).scalar_one_or_none()
+                is not None
+            )
             # return False if user exists, True otherwise
-            return user is None
+            return not user_exists and not signup_exists
 
     def SignupFlow(self, request, context):
         with session_scope() as session:
['app/backend/src/couchers/servicers/auth.py']