Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Logged-in article view still crashes on an empty discussions container or a title with markup (rest of #406)

Đang mở Phù hợp với người mới
#649 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
68/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
php
Lĩnh vực
backend

Hướng nghiên cứu

Đọc peer_reviewed_article.php quanh các dòng 338–341 và 2015–2018, nơi xác định hai lỗi sập. Trước tiên, hãy kiểm tra cách xử lý việc tìm nút XML và văn bản tiêu đề, sau đó chạy hai bài kiểm tra hồi quy được nêu tên trong tests/bekend/test_paginas.py. Công việc được xem là hoàn tất khi cả hai bài kiểm tra đều đạt với các thành viên đã đăng nhập trong trường hợp thảo luận không có nút con public và trường hợp tiêu đề chứa markup.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Impact: Medium Level: Easy Type: Bug Value: Users

Problem

#406 is closed by PR #519, merged into main on 2026-10-28 (41482e9). Three of the five crashes of #406 are solved on main:

  • an article without featured_image;
  • a page of a datatype that no longer exists;
  • the comment moderation view.

Two still give a 500 for a logged-in member on main:

  1. An empty <discussions/> container. peer_reviewed_article.php:338-341: findOneXPath('discussions/public') returns null, and $discussions->findXPath(...) then fails with Call to a member function findXPath() on null. This affects older articles whose discussions container has no public child.
  2. A title with markup, for example <title><p>…</p></title>, which older articles have. getTitle() (peer_reviewed_article.php:2015-2018) calls getText(), and that throws TypeError: getText called on node with non-text children.

To reproduce

The known-bug tests in the branch of #520 (tests/bekend/test_paginas.py) cover both:

  • an_older_article_without_public_discussions_opens_for_members
  • an_older_article_with_markup_in_its_title_opens_for_members

Both still answer 500 on main 41482e9 (PHP 8.2).

Suggested fix

The same as in the patch of #406:

  • treat a missing public container as no comments;
  • read the title with textContent instead of getText().

🤖 Generated with Claude Code

Ngôn ngữ chính
JavaScript
Star
5
Fork
9
Merge trung bình
18 giờ 7 phút
Pull request đã merge (30 ngày)
11

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của PlanBCode/hypha

Tất cả issue của PlanBCode/hypha

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.