заметки о инструментах (действий не требует, копится обратная связь) #188
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
insertNode с anchorText — не работает с текстом заголовка, содержащим markdown-разметку ##. Пришлось сначала использовать getOutline для получения anchorNodeId, после чего insertNode с anchorNodeId сработал корректно.
editPageText — функция find чувствительна к точному тексту в ячейках таблицы. При попытке найти текст, охватывающий несколько ячеек таблицы, — не находит совпадение. Приходится искать по одной ячейке.
transformPage — работает отлично для массовых вставок. JavaScript-трансформация с doc.content.splice() корректно вставила 24 узла и сохранила все остальные элементы. Это самый эффективный способ для больших правок.
deleteNode не принимает # — только attrs.id. У блоков horizontalRule, blockquote, table, bulletList ID отсутствует в outline. Это делает точечное удаление невозможным без transformPage. Работать пришлось через JS-трансформ. Было бы удобно, если бы deleteNode тоже принимал #.
transformPage diff избыточно детальный для codeBlock — при замене кода графика diff показывал посимвольные изменения (6 → 100, 85 → 07, …) вместо блочного diff. Это затрудняет верификацию. Для codeBlock логичнее показывать old/new целиком.
resolveComment не резолвит ответы (replies) — комментарий 019eff09-744f (ответ на 019eff08-c632) остался неразрешённым, т.к. он не top-level. Ответ автоматически «закрывается» с родителем при резолве, но в UI может отображаться как открытый тред с закрытым родителем — стоит проверить поведение.
editPageText — работает безупречно — все 26 замен (включая пересекающие границы и bold/italic marks) применились корректно с первого раза.