Add tests for capabilities which have been updated to work
when only a model (and not whole objects) are cached; that
change was introduced to prevent misbehavior of the Remove
action in Edit mode, WTD-473.
Utilize model cache, permitting object models in edit mode to
be reused across multiple distinct instances with unique
contexts (unique contexts are necessary to avoid ambiguity in
the Remove action, WTD-473).
To avoid infinite digest cycles as a consequence of this,
refactor context/composition capability wrappers such that the
former is idempotent (since idempotence is no longer ensured
by the EditableDomainObjectCache) to avoid infinite digest
errors in Edit mode.
Implement a cache to store domain object models,
to allow the cache for individual objects to distinguish
objects based on their parentage and avoid ambiguous
Remove actions (WTD-473.)
Add a spec for an editable model cache; this will behave
similarly to the existing domain object cache, except
that it will cache only models. Use of this will permit
multiple instances of editable objects to be created with
unique contexts (that is, distinct parent objects accessible
via the context capability) which in turn will avoid the
ambiguous parentage which results in unexpected behavior of
the Remove action in Edit mode, WTD-473.
Update frame positions when model.composition changes,
instead of when model changes. Ensures correct display
after changes to avoid redrawing on every update,
WTD-716.
When changes to a domain object's modification timestamp are
detected, refresh only the capabilities associated with that
domain object (instead of rebuilding the whole view.)
Specifically avoids latency when layout views are rebuilt,
WTD-716.
Add tests to verify that directives stop polling after their
scope is destroyed (to prevent resource leaks); those changes
address resource leaks identified in the context of WTD-717.
Deactive mct-resize when its containing scope is destroyed;
that is, don't go on polling for size changes indefinitely.
Issue discovered/addressed in the context of investigating
sluggishness of plotting in WTD-717.
Add a service to wrap Date.now(), such that this can be injected
(simplifying testing of scripts which need to respond to system
time.) Specifically supports staleness indication, WTD-660.
Fix include paths when building such that nested sources
are packaged correctly. This supports a documentable build
and packaging process for WARP, WTD-626, and is also correct
behavior for other builds.
Merge latest from master branch into topic branch for separating
out Couch adapter from persistence cache, in support of reusing
the latter for the WARP persistence adapter, WTD-702.
Remove reference to persistence cache from the Couch adapter's
bundle definition; this has been moved into a separate bundle
to support reuse with the WARP Server persistence adapter,
WTD-702.
Update bundles.json to reflect the splitting of the persistence
bundle into separate bundles for the Couch adapter and for the
persistence cache, in support of WTD-702.
Move cache sources into their own bundle, for reuse with other
persistence adapters; specifically supports the persistence
adapter to the WARP Server, which is non-Couch but which will
want to use this cache. WTD-702.
Update README files to document the reorganization of persistence
sources into separate bundles for the Couch adapter and for the
persistence cache, in support of reusing the latter with a
different persistence adapter, WTD-702.
Move persistence sources into a deeper bundle in preparation for
splitting of persistence into two bundles - one specific to the
Couch adapter, and one for persistence caching generally. This
supports WTD-702, the WARP persistence adapter, which will not
use Couch for persistence but which will want to use the platform-
provided persistence cache.
Allow callback provided when subscribing to telemetry using
telemetrySubscriber to be omitted; this permits usage of
the resulting subscription more directly from controllers,
such as for fixed position view, WTD-615.