Skip to content

Set.intersection erroring when used as ref #12988

@Fuzzyma

Description

@Fuzzyma

Vue version

Latest master @8bd9cdb. Last tag: 3.5.13

Link to minimal reproduction

https://play.vuejs.org/#eNp9kctuwjAQRX9l5A0g0US0XaGA1FYs2kVblS69icIQTB3b8iMgRfn3jh3xWCB2mXvuWMdxx16MydqAbM4KV1lhPDj0wSy5Eo3R1kMHFrfQw9bqBkZUHXHFVaWVS9UZLGJhrPAAa/TjyeQKPt6AJyyUR+uw8tSJ52RtKQNm51hoNY5HDDktFvkgSGo0eGyMLD3SBFDsZsuug8bV0PdFTlNKhTLBQ/vQ6A3KBWfEOYOcYJFf7bMp846ktqLO9k4r+hdd3Oes0o0REu2XiTqOszkkElkppT58pMzbgNNTXu2w+ruR790xZpx9W3RoW+TszHxpa/QDXq0/8UjfZ0j2QVL7DvxBp2WIjkPtNagNaV/1ku17elGh6l+3OnpU7nSpKBqbfepzRq/8dufqF92n7DntcdWz/h+Xz8SY

Steps to reproduce

Open the link, see Firefox and Chrome error out because intersection was called on an incompatible receiver

What is expected?

No error

What is actually happening?

Browser error

System Info

System:
    OS: Linux 5.15 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
    CPU: (16) x64 AMD Ryzen 7 PRO 6850HS with Radeon Graphics
    Memory: 9.68 GB / 15.28 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 22.14.0 - ~/.nvm/versions/node/v22.14.0/bin/node
    Yarn: 3.3.0 - ~/.nvm/versions/node/v22.14.0/bin/yarn
    npm: 10.9.2 - ~/.nvm/versions/node/v22.14.0/bin/npm
    bun: 1.2.3 - ~/.bun/bin/bun
  Browsers:
    Chrome: 126.0.6478.55
  npmPackages:
    vue: ^3.5.13 => 3.5.13

Any additional comments?

Firefox error is: CallSetMethodIfWrapped method called on incompatible Proxy
Chrome error is Method Set.prototype.intersection called on incompatible receiver #<Set>

It is worth noting that this seems to be a browser problem and not a vue problem

It also happens with any proxified set:

https://play.vuejs.org/#eNp9kU9PwzAMxb+Klcs2aerEn9NUkADtAAeYGMdcps4bGW0SJW5XVPW746Rq6WHqzXnvF/tZbsSTtUlVoliL1GdOWQKPVNpHqVVhjSNowOERWjg6U8CM0ZnUUmdG+4jewANovMDWmfp3Hqod0nyxhKZdjLDbSawHlSZ0HjNiOvROBkEZPQ9tGE5XXVCOyA/CwuZ7Qn4BpAdVwYrLdDXSxVKQ5wFHdUrO3mjetQm0FJkprMrRfdgwwEuxhugEb5/n5vIWNXIlLns9+8bs54p+9nXQpNg69OgqlGLwaO9OSJ292b1jzfVgFuZQ5kxPmJ/oTV6GjB32XOoDxx5xMe1rvJjSpy+/qQm175cKQQPZRl4KvuLLxOr/ce+S+/hP6la0f2JKuhE=

Maybe we need to special handle these cases?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions