<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DOM</title><link>https://blog.ast.moe/en/tags/dom/</link><description>Recent posts: Gorimuchu</description><generator>Hugo</generator><item><title>After implementing Omoikane’s DOM and exception notifications, we ended up investigating copying and garbage‑collection lifetimes as well.</title><link>https://blog.ast.moe/en/blog/2026-10-10/</link><pubDate>Sat, 10 Oct 2026 17:42:29 +0900</pubDate><guid>https://blog.ast.moe/en/blog/2026-10-10/</guid><description>&lt;p&gt;We added DOM operations such as &lt;code&gt;before()&lt;/code&gt; and &lt;code&gt;replaceChildren()&lt;/code&gt; to Omoikane, along with &lt;code&gt;window.onerror&lt;/code&gt; and notifications for unhandled Promise rejections. [&lt;a href="https://github.com/ieee0824/omoikane/pull/1322"&gt;PR #1322&lt;/a&gt;](&lt;a href="https://github.com/ieee0824/omoikane/pull/1322"&gt;https://github.com/ieee0824/omoikane/pull/1322&lt;/a&gt;) This is about that pull request. The initial issue was straightforward: the page lacked the APIs it normally calls. However, as we progressed with implementation and testing, we ended up fixing issues such as copying sibling lists when inserting HTML text, rebuilding the entire document after UTF‑16 appends, creating unnecessary iframe realms, and even addressing insufficient GC roots for Promises.&lt;/p&gt;</description></item></channel></rss>