Update app.py

This commit is contained in:
admin 2026-10-04 03:50:16 +00:00
parent fa580bcc58
commit 7383f4b131

12
app.py
View File

@ -60,12 +60,15 @@ MAX_DISPLAY_NAME_LENGTH = 80
MAX_LOCATION_LENGTH = 120 MAX_LOCATION_LENGTH = 120
MAX_WEBSITE_LENGTH = 300 MAX_WEBSITE_LENGTH = 300
MAX_CUSTOM_CSS_LENGTH = 20000 MAX_CUSTOM_CSS_LENGTH = 20000
MAX_PROFILE_BADGE_LENGTH = 48
MAX_OWNED_TEAMS_PER_USER = 3 MAX_OWNED_TEAMS_PER_USER = 3
MAX_MESSAGE_EDIT_WINDOW_SECONDS = 15 * 60 MAX_MESSAGE_EDIT_WINDOW_SECONDS = 15 * 60
MAX_SEARCH_QUERY_LENGTH = 120 MAX_SEARCH_QUERY_LENGTH = 120
MAX_SEARCH_RESULTS = 100 MAX_SEARCH_RESULTS = 100
READ_RECEIPT_BATCH_LIMIT = 200 READ_RECEIPT_BATCH_LIMIT = 200
PRIVATE_ACCESS_KEY = os.environ.get("PRIVATE_ACCESS_KEY", "").strip()
CALLS_BASE = os.environ.get("CALLS_BASE", "https://calls.example.com").rstrip("/") CALLS_BASE = os.environ.get("CALLS_BASE", "https://calls.example.com").rstrip("/")
CALL_HELPER_SHARED_SECRET = os.environ.get("CALL_HELPER_SHARED_SECRET", "").strip() CALL_HELPER_SHARED_SECRET = os.environ.get("CALL_HELPER_SHARED_SECRET", "").strip()
CALL_TOKEN_TTL_SECONDS = int(os.environ.get("CALL_TOKEN_TTL_SECONDS", "60")) CALL_TOKEN_TTL_SECONDS = int(os.environ.get("CALL_TOKEN_TTL_SECONDS", "60"))
@ -1866,6 +1869,7 @@ def api_me():
@app.route("/api/register", methods=["POST"]) @app.route("/api/register", methods=["POST"])
def register(): def register():
limited = rate_limited("register") limited = rate_limited("register")
if limited: if limited:
return limited return limited
@ -1924,12 +1928,13 @@ def register():
INSERT OR IGNORE INTO user_profiles ( INSERT OR IGNORE INTO user_profiles (
user_id, user_id,
display_name, display_name,
badge_text,
bio, bio,
bio_mode, bio_mode,
website, website,
location, location,
updated_at updated_at
) VALUES (?, ?, '', 'txt', '', '', ?) ) VALUES (?, ?, '', '', 'txt', '', '', ?)
""", """,
(user["id"], username, now_iso()), (user["id"], username, now_iso()),
) )
@ -1961,7 +1966,6 @@ def register():
@app.route("/api/login", methods=["POST"]) @app.route("/api/login", methods=["POST"])
def login(): def login():
limited = rate_limited("login") limited = rate_limited("login")
if limited: if limited:
return limited return limited
@ -2014,7 +2018,7 @@ def login():
"csrf_token": csrf_token(), "csrf_token": csrf_token(),
} }
) )
@app.route("/api/logout", methods=["POST"]) @app.route("/api/logout", methods=["POST"])
def logout(): def logout():
if not csrf_valid(): if not csrf_valid():
@ -2061,6 +2065,7 @@ register_routes(
"CALLS_BASE": CALLS_BASE, "CALLS_BASE": CALLS_BASE,
"CALL_TOKEN_TTL_SECONDS": CALL_TOKEN_TTL_SECONDS, "CALL_TOKEN_TTL_SECONDS": CALL_TOKEN_TTL_SECONDS,
"CALL_HELPER_SHARED_SECRET": CALL_HELPER_SHARED_SECRET, "CALL_HELPER_SHARED_SECRET": CALL_HELPER_SHARED_SECRET,
"PRIVATE_ACCESS_KEY": PRIVATE_ACCESS_KEY,
"room_by_id": room_by_id, "room_by_id": room_by_id,
"get_room_by_slug": get_room_by_slug, "get_room_by_slug": get_room_by_slug,
"can_access_room": can_access_room, "can_access_room": can_access_room,
@ -2118,6 +2123,7 @@ register_routes(
"MAX_LOCATION_LENGTH": MAX_LOCATION_LENGTH, "MAX_LOCATION_LENGTH": MAX_LOCATION_LENGTH,
"MAX_WEBSITE_LENGTH": MAX_WEBSITE_LENGTH, "MAX_WEBSITE_LENGTH": MAX_WEBSITE_LENGTH,
"MAX_CUSTOM_CSS_LENGTH": MAX_CUSTOM_CSS_LENGTH, "MAX_CUSTOM_CSS_LENGTH": MAX_CUSTOM_CSS_LENGTH,
"MAX_PROFILE_BADGE_LENGTH": MAX_PROFILE_BADGE_LENGTH,
"MAX_OWNED_TEAMS_PER_USER": MAX_OWNED_TEAMS_PER_USER, "MAX_OWNED_TEAMS_PER_USER": MAX_OWNED_TEAMS_PER_USER,
"ROOM_VISIBILITIES": ROOM_VISIBILITIES, "ROOM_VISIBILITIES": ROOM_VISIBILITIES,
"ROLES": ROLES, "ROLES": ROLES,