Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

4.13 Canary | Regression Tracking #9639

Copy link
Copy link
Open
@runspired

Description

@runspired
Issue body actions

WONTFIX

  • transforms now come from a public instead of private import location
  • setConfig is required if not using the ember-data package
  • extending @ember-data/store instead of ember-data/store now requires full configuration
  • super in hooks in classes extending @ember-data/store no longer works
  • model._notifyProperties has been removed
  • cache is stricter:
    • You must include an 'id' for the resource data ${resource.type}
    • Missing Resource Type: received resource data with a type '${resource.type}' but no schema could be found with that name.
  • mutating an attribute on a record by setting it directly will now generate a change notification for that attribute. Previously, because attr is implemented as a computed prop we were relying on it managing its own value and not emitting the notification. This caused bugs for other consumers of the change (inspector, references, schema-record) and so we no longer swallow this notification.
    • this can have the unexpected effect of causing tracked functions and cached getters which create new records to recompute if the attribute which is mutated was originally set inside the tracked function or cached getter, as it will be subscribed to this change.
  • Backports fix for deleteRecord does not set hasDirtyAttributes to true #9053
  • the private APIs belongsToReference.belongsToRelationship and hasManyReference.hasManyRelationship have been removed.
  • There appears to be a subtle timing change around notifying the identity and state of a new record as it is saved.
  • we now subscribe to notifications for requests in the Request component, this can lead to some re-renders that wouldn't have occurred before when cache updates.
  • we no longer notify attribute keys that aren't in the schema

MAYBEFIX

  • adapter.useFetch is assigned in a new way, resulting in the getter approach in app adapters not working. fields approach works e.g. useFetch = false.

  • isRelationship and isAttribute on field meta is no longer present. These were meant to be private and not part of the spec, but some apps may have discovered and made use of them.

  • key on field meta is no longer present, this was a private reflection of name and name should be used instead.

  • relationship graph uses the passed in arrays from operations that update remote state for perf, this exposes them to accidental mutation later. We should consider freezing and/or slicing these arrays in debug as this is mostly an issue with tests using mirage.

    • This can result in Relationship state sometimes storing non-stable identifiers
  • if you call createRecord in a test expecting a re-render, you need to await settled

  • inverseFor().type is now always a string, before it could be a class [4.12->5.x]: Model.inverseFor(...).type was class, is now a string #9970

TO FIX

  • deprecated registerSchema does not setup schema in a way that avoids the store attempting to call createSchemaService
  • getSchemaDefinitionService only checks for schemas registered with registerSchema
  • app-re-exports erroneously use build config

FIXED

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    needs triage
    Show more project fields

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.