question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Changes to buffered proxy not appearing in template

See original GitHub issue

Hi folks. Got a small bug when upgrading my Ember app. Interestingly, this bug was attempted to be fixed previously, and that “fix” seems to now be a bug. More detail below:

What I expected to see

When modifying a property on a buffer proxy object, via an input field, the changes should be reflected in the template.

What I saw

The first character typed in to the field was reflected on the template, any after that were not.

Software versions

Ember: v3.20.2 Ember Buffered Proxy: v2.0.0-beta.0

This as ok in Ember v3.17.0 which is what I am upgrading from.

Supporting info

I see that there was a fix here (46d00d71cc85726025e1c385892d59078640914c) and here (3f63beb49185f7c377104689deb6395d93d1b8b4) that “fixed” the same issue. The change was basically this:

- notifyPropertyChange(this, key);
+ notifyPropertyChange(content, key);

I have tested in my local code to reverse this change and it actually works.

So, maybe the bug that was originally “fixed” was actually working around a bug in Ember itself, that has since been patched, rendering the “fix” in this repo redundant.

I don’t have enough context around how the notifyPropertyChange works and what changes have been made to Ember (and Glimmer?) to diagnose this myself.

I have created 2 codesandboxes (below) that reproduce this issue. The first is the working sandbox using Ember v3.17.0 and the second where the issue is present, using Ember 3.20.2.

Working: https://codesandbox.io/s/vibrant-browser-g4n7p Not working: https://codesandbox.io/s/happy-wilbur-btx3x

I’m happy to submit a PR that changes this code back, however, it feels like it might be worth actually understanding the reasoning as to why the original code stopped working in the first place and why it now works. I’d need some assistance in digging in to that.

/cc @tniezurawski @lukemelia

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
achamberscommented, Feb 2, 2021

Ok, I’ve spent some time investigating versions (using this sandbox) and here’s the list as I see it. I’ll build a PR based on this:

Version notifyPropertyChange(this) notifyPropertyChange(content)
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.23
3.24

So, based on the above table, I’ll be using the following logic:

  • gte('3.13.0') && lt('3.20.0') -> use notifyPropertyChange(content)
  • anything else -> use notifyPropertyChange(this)
0reactions
lukemeliacommented, May 10, 2022

Fixed by #90

Read more comments on GitHub >

github_iconTop Results From Across the Web

An Ember Proxy the enables change buffering - GitHub
An Ember Object Proxy (and mixin) that enables change buffering. Ever need to "hold back" property changes before they propagate?
Read more >
NGINX Reverse Proxy Configuration and Troubleshooting
To solve this issue in nginx, need re-install nginx (you may need re-compile) with openssl library (Not LibreSSL provided by Mac OS). 504 ......
Read more >
Avoiding the Top 10 NGINX Configuration Mistakes
Errors include insufficient file descriptors per worker, disabling proxy buffering, and not using upstream groups and keepalive connections.
Read more >
Configure Request and Response Buffers - Microsoft Learn
How to change the buffer setting? You can change this setting by using GlobalConfiguration in the ARM template as shown below.
Read more >
Changing Java's Native HTTP Client's proxy without building a ...
I have a scraper that loops indefinitely, and I want to change the proxy on the client in case there is something wrong...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found