Misc fixes:

- Fix getting file filters for not found conversations
- Allow iamge rendering in automation emails
- Fix nearest 15th minute calculation in automations creation
This commit is contained in:
sabaimran
2024-06-14 16:20:22 +05:30
parent 971f1cd897
commit 25d8cdd9cd
4 changed files with 15 additions and 2 deletions

View File

@@ -723,6 +723,11 @@
} }
var hours = parseInt(hours); var hours = parseInt(hours);
var minutes = parseInt(minutes); var minutes = parseInt(minutes);
minutes = Math.round(minutes / 15) * 15;
if (minutes === 60) {
hours = (hours % 12) + 1;
minutes = 0;
}
var timePeriod = hours >= 12 ? 'PM' : 'AM'; var timePeriod = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12; hours = hours % 12;
hours = hours ? hours : 12; // 0 should be 12 hours = hours ? hours : 12; // 0 should be 12

View File

@@ -79,6 +79,9 @@ def get_file_filter(request: Request, conversation_id: str) -> Response:
conversation = ConversationAdapters.get_conversation_by_user( conversation = ConversationAdapters.get_conversation_by_user(
request.user.object, conversation_id=int(conversation_id) request.user.object, conversation_id=int(conversation_id)
) )
if not conversation:
return Response(content=json.dumps({"status": "error", "message": "Conversation not found"}), status_code=404)
# get all files from "computer" # get all files from "computer"
file_list = EntryAdapters.get_all_filenames_by_source(request.user.object, "computer") file_list = EntryAdapters.get_all_filenames_by_source(request.user.object, "computer")
file_filters = [] file_filters = []

View File

@@ -91,7 +91,7 @@ async def send_query_feedback(uquery, kquery, sentiment, user_email):
return {"message": "Sent Email"} return {"message": "Sent Email"}
def send_task_email(name, email, query, result, subject): def send_task_email(name, email, query, result, subject, is_image=False):
if not is_resend_enabled(): if not is_resend_enabled():
logger.debug("Email sending disabled") logger.debug("Email sending disabled")
return return
@@ -100,6 +100,9 @@ def send_task_email(name, email, query, result, subject):
template = env.get_template("task.html") template = env.get_template("task.html")
if is_image:
result = f"![{subject}]({result})"
html_result = markdown_it.MarkdownIt().render(result) html_result = markdown_it.MarkdownIt().render(result)
html_content = template.render(name=name, subject=subject, query=query, result=html_result) html_content = template.render(name=name, subject=subject, query=query, result=html_result)

View File

@@ -1009,16 +1009,18 @@ def scheduled_chat(
# Extract the AI response from the chat API response # Extract the AI response from the chat API response
cleaned_query = re.sub(r"^/automated_task\s*", "", query_to_run).strip() cleaned_query = re.sub(r"^/automated_task\s*", "", query_to_run).strip()
is_image = False
if raw_response.headers.get("Content-Type") == "application/json": if raw_response.headers.get("Content-Type") == "application/json":
response_map = raw_response.json() response_map = raw_response.json()
ai_response = response_map.get("response") or response_map.get("image") ai_response = response_map.get("response") or response_map.get("image")
is_image = response_map.get("image") is not None
else: else:
ai_response = raw_response.text ai_response = raw_response.text
# Notify user if the AI response is satisfactory # Notify user if the AI response is satisfactory
if should_notify(original_query=scheduling_request, executed_query=cleaned_query, ai_response=ai_response): if should_notify(original_query=scheduling_request, executed_query=cleaned_query, ai_response=ai_response):
if is_resend_enabled(): if is_resend_enabled():
send_task_email(user.get_short_name(), user.email, cleaned_query, ai_response, subject) send_task_email(user.get_short_name(), user.email, cleaned_query, ai_response, subject, is_image)
else: else:
return raw_response return raw_response