fix: write empty index.json for new users at registration so shard resolves immediately
This commit is contained in:
+10
-3
@@ -286,11 +286,18 @@ async def register(request: Request) -> JSONResponse:
|
||||
|
||||
# Create per-user directories
|
||||
dd = _get_data_dir()
|
||||
(dd / handle / "activities").mkdir(parents=True, exist_ok=True)
|
||||
(dd / handle / "edits").mkdir(parents=True, exist_ok=True)
|
||||
user_dir = dd / handle
|
||||
(user_dir / "activities").mkdir(parents=True, exist_ok=True)
|
||||
(user_dir / "edits").mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Write an empty index.json so the shard URL resolves immediately,
|
||||
# even before the user uploads any activities.
|
||||
from bincio.extract.writer import write_index
|
||||
index_path = user_dir / "index.json"
|
||||
if not index_path.exists():
|
||||
write_index([], user_dir, {"handle": handle, "display_name": display or handle})
|
||||
|
||||
# Update root manifest so the new user's shard is discoverable immediately
|
||||
# (Astro dev re-evaluates getStaticPaths() on each request from this file)
|
||||
from bincio.render.cli import _write_root_manifest
|
||||
_write_root_manifest(dd)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user