diff --git a/.env b/.env
index b7171db..2ea54a7 100644
--- a/.env
+++ b/.env
@@ -1,5 +1,4 @@
-#OPENAI_API_KEY="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"
-OPENAI_API_KEY="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"
+OPENAI_API_KEY="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"
PORT=8010
LLM_PROVIDER=gpt-oss
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 812ab5a..33f99ce 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,5 +3,5 @@
-
+
\ No newline at end of file
diff --git a/.idea/ncuetalk_backend.iml b/.idea/ncuetalk_backend.iml
index 8388dbc..3e35494 100644
--- a/.idea/ncuetalk_backend.iml
+++ b/.idea/ncuetalk_backend.iml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/backend/app.py b/backend/app.py
index a5dc0ee..d6a92e3 100644
--- a/backend/app.py
+++ b/backend/app.py
@@ -432,7 +432,14 @@ def list_ai_news(offset: int = 0, limit: int = 10):
og = _extract_og(r["url"]) if r.get("url") else {"title":"","description":"","image":"","url":r.get("url")}
r.update({"meta": og})
enriched.append(r)
- return {"items": enriched, "nextOffset": offset + len(enriched)}
+ # Frontend infinite-scroll safety:
+ # - Return `nextOffset: null` when there is no next page.
+ # - Otherwise return the next numeric offset.
+ if len(enriched) < limit:
+ next_offset = None
+ else:
+ next_offset = offset + len(enriched)
+ return {"items": enriched, "nextOffset": next_offset}
@app.post("/community/ai_news")
def create_ai_news(dto: AiNewsCreateDTO):