Description
Over time many issues have been reported that were due to emergent unspecified behaviors that occur once system expectations have not been met.
Some examples:
- Production build crashes when trying to render a relation that is not present in the store #9038
- [4.6] Bug: sync hasMany relationships with pointers to unloaded data do not recompute if the data loads later #8846
- Calling findRecord without an id results in confusing error state in production builds #5958
- Async in prod and debug version does not perform the same #4428
- Max stack call error in prod mode with asserts (v5, v4) #8710
Generally speaking we don't want the default to be that asserts are left in production environments, as these massively balloon the size of the project and create performance bottlenecks. But we also want to continue using asserts as inline-unit-tests and guardrails for debug builds.
We have the infra in place though to move to a pattern that would allow some or all asserts to be left in production builds if thats what the user wanted in order to provide better debugging of their app.
Note
Likely we would want to at least specify some asserts as still being debug-only due to their overhead.
Metadata
Metadata
Assignees
Type
Projects
Status