Logged-in article view still crashes on an empty discussions container or a title with markup (rest of #406)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
Direzione di ricerca
Leggi peer_reviewed_article.php intorno alle righe 338–341 e 2015–2018, dove vengono identificati i due arresti anomali. Controlla prima come vengono gestite le ricerche dei nodi XML e il testo del titolo, poi esegui i due test di regressione indicati in tests/bekend/test_paginas.py. Il lavoro è completato quando entrambi i test superano per i membri che hanno effettuato l’accesso, sia quando le discussioni non hanno un elemento figlio public, sia quando il titolo contiene markup.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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:
- An empty
<discussions/>container.peer_reviewed_article.php:338-341:findOneXPath('discussions/public')returns null, and$discussions->findXPath(...)then fails withCall to a member function findXPath() on null. This affects older articles whose discussions container has nopublicchild. - A title with markup, for example
<title><p>…</p></title>, which older articles have.getTitle()(peer_reviewed_article.php:2015-2018) callsgetText(), and that throwsTypeError: 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_membersan_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
publiccontainer as no comments; - read the title with
textContentinstead ofgetText().
🤖 Generated with Claude Code
- Lingua principale
- JavaScript
- Stelle
- 5
- Fork
- 9
- Merge medio
- 18h 7m
- PR unite (30g)
- 11
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PlanBCode/hypha
-
Impact: Low Level: Easy Pagetype: Festival Type: Bug Value: Coders
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Impact: Medium Level: Easy Pagetype: Mailinglist Type: Bug Value: Users
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
Impact: Low Level: Easy Type: Bug Value: Coders
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
PlanBCode/hypha#586 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Impact: Medium Level: Easy Type: Bug Usecase: De Stadsbron Value: Visitors
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
PlanBCode/hypha#522 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Impact: Low Level: Easy Type: Enhancement Value: Coders Value: Security
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di PlanBCode/hypha
Issue simili
-
admission-deferred priority: medium status: ready work-class: scoped
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
melodic-software/claude-code-plugins#10887 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 91/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
-
enhancement ui-dashboard
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno