Skip to content

fix: replace arrays during observerMap deepMerge#7559

Open
janechu wants to merge 7 commits into
mainfrom
users/janechu/assess-edge-array-observer
Open

fix: replace arrays during observerMap deepMerge#7559
janechu wants to merge 7 commits into
mainfrom
users/janechu/assess-edge-array-observer

Conversation

@janechu
Copy link
Copy Markdown
Collaborator

@janechu janechu commented Jun 3, 2026

Pull Request

Description

Fix observer-map-managed array updates so deepMerge replaces arrays instead of
mutating existing observed arrays in place.

  • Replace arrays during observerMap deep merges to avoid synchronous reentrant
    array notification work.
  • Add a Playwright regression test for the observerMap + deepMerge reentrant
    notification path.
  • Document the array replacement behavior and add a Beachball change file.

Test Plan

  • npm run build -w @microsoft/fast-html
  • npm run build:tsc -w @microsoft/fast-html
  • npm run lint -w @microsoft/fast-html
  • npm run test:chromium -w @microsoft/fast-html -- test/fixtures/deep-merge/deep-merge.spec.ts
  • npm run checkchange

Checklist

General

  • I have included a change request file using $ npm run change
  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

@janechu janechu marked this pull request as ready for review June 3, 2026 21:26
@janechu janechu force-pushed the users/janechu/assess-edge-array-observer branch 2 times, most recently from 1aa8dbf to 038190c Compare June 4, 2026 16:41
Comment thread change/@microsoft-fast-html-4fbef46f-8bc2-4bd4-a785-599c7b2ed9ea.json Outdated
@janechu janechu force-pushed the users/janechu/assess-edge-array-observer branch from 038190c to e30b8b9 Compare June 4, 2026 16:48
janechu and others added 2 commits June 4, 2026 10:01
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@janechu janechu force-pushed the users/janechu/assess-edge-array-observer branch from e30b8b9 to 88a4d7e Compare June 4, 2026 17:12
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@janechu janechu changed the title fix: defer array observer reentrant notifications fix: replace arrays during observerMap deepMerge Jun 4, 2026
@janechu janechu marked this pull request as draft June 4, 2026 18:21
janechu and others added 4 commits June 4, 2026 11:27
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@janechu janechu marked this pull request as ready for review June 4, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant