Fix: WebDAV PROPFIND-500 op klant-rootmap (impliciete map zonder placeholder) #1
Geen beoordelaars
Labels
Geen label
Geen mijlpaal
Geen project
Niet toegewezen
1 deelnemer
Notificaties
Vervaldatum
Geen vervaldatum ingesteld.
Afhankelijkheden
Geen afhankelijkheden ingesteld.
Referentie
jemasupport/DMSApp!1
Laden…
Tabel toevoegen
Link toevoegen
Verwijs in een nieuwe issue
Geen beschrijving gegeven.
Branch "claude/magical-pasteur-ef3e51" verwijderen
Het verwijderen van een branch is permanent. Hoewel de verwijderde branch kan blijven bestaan voor een korte tijd voordat het daadwerkelijk wordt verwijderd, kan het in de meeste gevallen NIET ongedaan gemaakt worden. Wilt u doorgaan?
get_member_names lijstte submappen uit MinIO CommonPrefixes — die S3
synthetiseert zodra er een object onder een sub-prefix staat, óók zónder
0-byte placeholder. get_member herkende zo'n map echter alleen via een
placeholder (head_object op "{key}/") of een template-match, en gaf anders
None. Web-UI/migratie-uploads schrijven keys als {klant}/{pad}/{uuid8}__{naam}
zónder ensure_folder, dus hun bovenliggende mappen bestaan alleen impliciet.
Eén zo'n child → None → wsgidav's
assert member is not None→ DAVError 500op de HÉLE map (o.a. "… - Je-Ma ICT Beheer").
via _prefix_heeft_objecten → resolveert nu naar een navigeerbare KlantFolder.
naar None resolvet (bv. race met soft-delete) wordt overgeslagen + gelogd,
i.p.v. de hele map met een 500 neer te halen.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
get_member_names lijstte submappen uit MinIO CommonPrefixes — die S3 synthetiseert zodra er een object onder een sub-prefix staat, óók zónder 0-byte placeholder. get_member herkende zo'n map echter alleen via een placeholder (head_object op "{key}/") of een template-match, en gaf anders None. Web-UI/migratie-uploads schrijven keys als {klant}/{pad}/{uuid8}__{naam} zónder ensure_folder, dus hun bovenliggende mappen bestaan alleen impliciet. Eén zo'n child → None → wsgidav's `assert member is not None` → DAVError 500 op de HÉLE map (o.a. "… - Je-Ma ICT Beheer"). - get_member: herken impliciete mappen (prefix met objecten, geen placeholder) via _prefix_heeft_objecten → resolveert nu naar een navigeerbare KlantFolder. - _FilteredDAVCollection: override get_member_list zodat een child dat tóch naar None resolvet (bv. race met soft-delete) wordt overgeslagen + gelogd, i.p.v. de hele map met een 500 neer te halen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>