diff --git a/abogen/webui/routes/jobs.py b/abogen/webui/routes/jobs.py index 86d6ac8..545db76 100644 --- a/abogen/webui/routes/jobs.py +++ b/abogen/webui/routes/jobs.py @@ -32,10 +32,11 @@ logger = logging.getLogger(__name__) jobs_bp = Blueprint("jobs", __name__) @jobs_bp.get("/") -def job_detail(job_id: str) -> str: +def job_detail(job_id: str) -> ResponseReturnValue: job = get_service().get_job(job_id) if not job: - abort(404) + # Return a friendly page instead of 404 to avoid confusion from stale browser tabs + return render_template("job_not_found.html"), 200 return render_template( "job_detail.html", job=job, @@ -246,10 +247,11 @@ def download_file(job_id: str, file_type: str) -> ResponseReturnValue: abort(404) @jobs_bp.get("//logs") -def job_logs(job_id: str) -> str: +def job_logs(job_id: str) -> ResponseReturnValue: job = get_service().get_job(job_id) if not job: - abort(404) + # Return a simple page instead of 404 to avoid log spam from stale browser tabs + return render_template("job_logs_missing.html"), 200 return render_template("job_logs_static.html", job=job) diff --git a/abogen/webui/templates/job_logs_missing.html b/abogen/webui/templates/job_logs_missing.html new file mode 100644 index 0000000..ad21254 --- /dev/null +++ b/abogen/webui/templates/job_logs_missing.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} + +{% block title %}Job Not Found{% endblock %} + +{% block content %} +
+
+
Job Not Found
+
+

This job no longer exists. It may have been deleted or the server was restarted.

+

Return to Dashboard

+
+{% endblock %} diff --git a/abogen/webui/templates/job_not_found.html b/abogen/webui/templates/job_not_found.html new file mode 100644 index 0000000..2c4afb6 --- /dev/null +++ b/abogen/webui/templates/job_not_found.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} + +{% block title %}Job Not Found{% endblock %} + +{% block content %} +
+
+
Job Not Found
+
+

This job no longer exists. It may have been deleted or the server was restarted.

+

Return to Dashboard

+
+{% endblock %}