FLUID-5886: Model listeners attached to the same component are not deduplicated by namespace

Metadata

Source
FLUID-5886
Type
Bug
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2016-04-12T17:16:45.560-0400
Updated
2016-05-02T12:59:19.545-0400
Versions
  1. 2.0
Fixed Versions
N/A
Component
  1. Data Binder

Description

FLUID-5865 introduced support for namespaces and constraint-based priorities for model listeners. Unfortunately the current implementation will surprise users who expect (in accordance with the documentation at https://github.com/fluid-project/infusion-docs/pull/84/files ) that model listeners attached to the same ChangeApplier will be deduplicated by namespace.

We have two opportunities to do this - firstly, when adding the listeners in that.modelChanged.addListener (the logical place - unfortunately the "namespace" element in "spec" is ignored here), and secondly, as a last-ditch point when collecting outgoing changes in fluid.storeExternalChange - where we could (and I believe used to) apply the spec's "namespace" to the algorithm composing the "keyString". Unfortunately, we do neither.

Given this is contrary to the supplied docs and all expected behaviour, we should consider this a release blocker for 2.0.

Comments