diff --git a/src/khoj/interface/web/content_source_github_input.html b/src/khoj/interface/web/content_source_github_input.html
index ff82b1f2..705e5672 100644
--- a/src/khoj/interface/web/content_source_github_input.html
+++ b/src/khoj/interface/web/content_source_github_input.html
@@ -124,6 +124,7 @@
return;
}
+ // Save Github config on server
const csrfToken = document.cookie.split('; ').find(row => row.startsWith('csrftoken'))?.split('=')[1];
fetch('/api/config/data/content-source/github', {
method: 'POST',
@@ -137,15 +138,26 @@
})
})
.then(response => response.json())
+ .then(data => { data["status"] === "ok" ? data : Promise.reject(data) })
+ .catch(error => {
+ document.getElementById("success").innerHTML = "⚠️ Failed to update settings";
+ document.getElementById("success").style.display = "block";
+ return;
+ });
+
+ // Index Github content on server
+ fetch('/api/update?t=github')
+ .then(response => response.json())
+ .then(data => { data["status"] == "ok" ? data : Promise.reject(data) })
.then(data => {
- if (data["status"] == "ok") {
- document.getElementById("success").innerHTML = "✅ Successfully updated. Go to your settings page to complete setup.";
- document.getElementById("success").style.display = "block";
- } else {
- document.getElementById("success").innerHTML = "⚠️ Failed to update settings.";
- document.getElementById("success").style.display = "block";
- }
+ document.getElementById("success").innerHTML = "✅ Successfully updated";
+ document.getElementById("success").style.display = "block";
})
+ .catch(error => {
+ document.getElementById("success").innerHTML = "⚠️ Failed to update settings";
+ document.getElementById("success").style.display = "block";
+ });
+
});
{% endblock %}
diff --git a/src/khoj/interface/web/content_source_notion_input.html b/src/khoj/interface/web/content_source_notion_input.html
index 18eb5a7f..4bc4a20d 100644
--- a/src/khoj/interface/web/content_source_notion_input.html
+++ b/src/khoj/interface/web/content_source_notion_input.html
@@ -41,6 +41,7 @@
return;
}
+ // Save Notion config on server
const csrfToken = document.cookie.split('; ').find(row => row.startsWith('csrftoken'))?.split('=')[1];
fetch('/api/config/data/content-source/notion', {
method: 'POST',
@@ -53,15 +54,25 @@
})
})
.then(response => response.json())
+ .then(data => { data["status"] === "ok" ? data : Promise.reject(data) })
+ .catch(error => {
+ document.getElementById("success").innerHTML = "⚠️ Failed to update settings";
+ document.getElementById("success").style.display = "block";
+ return;
+ });
+
+ // Index Notion content on server
+ fetch('/api/update?t=notion')
+ .then(response => response.json())
+ .then(data => { data["status"] == "ok" ? data : Promise.reject(data) })
.then(data => {
- if (data["status"] == "ok") {
- document.getElementById("success").innerHTML = "✅ Successfully updated. Go to your settings page to complete setup.";
- document.getElementById("success").style.display = "block";
- } else {
- document.getElementById("success").innerHTML = "⚠️ Failed to update settings.";
- document.getElementById("success").style.display = "block";
- }
+ document.getElementById("success").innerHTML = "✅ Successfully updated";
+ document.getElementById("success").style.display = "block";
})
+ .catch(error => {
+ document.getElementById("success").innerHTML = "⚠️ Failed to update settings";
+ document.getElementById("success").style.display = "block";
+ });
});
{% endblock %}
diff --git a/src/khoj/routers/api.py b/src/khoj/routers/api.py
index ddfe9bc1..4e050eee 100644
--- a/src/khoj/routers/api.py
+++ b/src/khoj/routers/api.py
@@ -177,11 +177,15 @@ async def set_content_config_github_data(
user = request.user.object
- await adapters.set_user_github_config(
- user=user,
- pat_token=updated_config.pat_token,
- repos=updated_config.repos,
- )
+ try:
+ await adapters.set_user_github_config(
+ user=user,
+ pat_token=updated_config.pat_token,
+ repos=updated_config.repos,
+ )
+ except Exception as e:
+ logger.error(e, exc_info=True)
+ raise HTTPException(status_code=500, detail="Failed to set Github config")
update_telemetry_state(
request=request,
@@ -205,10 +209,14 @@ async def set_content_config_notion_data(
user = request.user.object
- await adapters.set_notion_config(
- user=user,
- token=updated_config.token,
- )
+ try:
+ await adapters.set_notion_config(
+ user=user,
+ token=updated_config.token,
+ )
+ except Exception as e:
+ logger.error(e, exc_info=True)
+ raise HTTPException(status_code=500, detail="Failed to set Github config")
update_telemetry_state(
request=request,