Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advance RFC #0812 "Add tracked-built-ins" to Stage Recommended #943

Merged
merged 3 commits into from
Sep 27, 2024

Conversation

emberjs-rfcs-bot
Copy link
Collaborator

@emberjs-rfcs-bot emberjs-rfcs-bot commented Aug 4, 2023

Advance #812 to the Recommended Stage

Summary

This pull request is advancing the RFC to the Recommended Stage.

An FCP is required before merging this PR to advance.

Recommended Stage Summary

The "Recommended" stage is the final milestone for an RFC. It provides a signal to the wider community to indicate that a feature has been put through its ecosystem paces and is ready to use.

To reach the "Recommended" stage, the following should be true:

If appropriate, the feature is integrated into the tutorial and the guides prose. API documentation is polished and updates are carried through to other areas of API docs that may not directly pertain to the feature.

If the proposal replaces an existing feature, the addon ecosystem has largely updated to work with both old and new features.

If the proposal updates or replaces an existing feature, high-quality codemods are available.

If needed, Ember debugging tools as well as popular IDE support have been updated to support the feature.

If the feature is part of a suite of features that were designed to work together for best ergonomics, the other features are also ready to be "Recommended".

Any criteria for "Recommended" for this proposal that were established in the Ready For Release stage have been met.

An FCP is required to enter this stage. Multiple RFCs may be moved as a batch into "Recommended" with the same PR.

Checklist to move to Recommended

  • Criteria specific to this feature: Any additional criteria for "Recommended" for this proposal that were established in the Ready For Release stage have been met.
  • Tutorial: If appropriate, the feature is integrated into the tutorial.
  • Guides: If appropriate, the feature is integrated into the guides prose.
  • API Docs: API documentation is polished and updates are carried through to other areas of API docs that may not directly pertain to the feature.
  • Addon Ecosystem: If the proposal replaces an existing feature, the addon ecosystem has largely updated to work with both old and new features.
  • Codemods: If the proposal updates or replaces an existing feature, high-quality codemods are available.
  • Debugging Tools: If needed, Ember debugging tools (e.g. Ember Inspector, Deprecation Workflow) have been updated to support the feature.
  • IDE Support: If needed, popular IDE support has been updated to support the feature.
  • Engines, SSR: If needed, ecosystem feature such as Ember Engines, SSR support have been updated to support the feature.
  • Blueprints: Blueprints have been updated to support the feature and to reflect the new best practices implied by this feature.
  • Linting: Lint rules have been updated or added or removed to support the feature and to reflect the new best practices implied by this feature.
  • Deprecations: If this feature implies that other features are no longer best practice, RFCs have been created to deprecate those features.
  • Blog Post: Consider if a blog post should be written to introduce this feature to the community.
  • Feature Suite: If the feature is part of a suite of features that were designed to work together for best ergonomics, the other features are also ready to be "Recommended".
  • FCP to Recommended: This PR has been converted from a draft to a regular PR and the Final Comment Period label has been added to start the FCP.

Criteria for moving to Recommended (required)

<-- Copy and paste the criteria for "Recommended" from the Ready For Release stage here -->

A set of criteria for moving this RFC to the Recommended Stage, following release:

  1. Ideally: we should make tracked-built-ins do the fully interop with observers & computed the same way that Ember's internal @tracked does.

@emberjs-rfcs-bot emberjs-rfcs-bot added RFC Advancement S-Recommended PR to move to the Recommended Stage labels Aug 4, 2023
@locks locks self-assigned this Aug 4, 2023
@ef4
Copy link
Contributor

ef4 commented Sep 1, 2023

@locks are you still planning to be able to prioritize this? I think the next action is to figure out the remaining TODO list.

@locks
Copy link
Contributor

locks commented Sep 8, 2023

@ef4 I got sidetracked with some other work. I'll have an update for next week's meeting.

@ef4
Copy link
Contributor

ef4 commented Sep 29, 2023

Added criteria around interop with observers and computed. @runspired is interested in working toward that.

@ef4
Copy link
Contributor

ef4 commented Jan 5, 2024

If nobody wants to work on the interop improvements imminently I'm in favor of moving this to recommended without it.

@davidtaylorhq
Copy link

Regarding the interop concerns, there is a fork of tracked-built-ins here which has interop support for TrackedObject with the classic reactivity system. @dgeb and @wycats created it for us back in 2022, and it's been working great for us in Discourse since then.

IIRC at the time there was some resistance to adding compat support to the official version, hence why this ended up as a fork. Not sure of the details there.

I assume the compat process used there for TrackedObject could be extended to the other interfaces as well 🤞

@ef4
Copy link
Contributor

ef4 commented Jan 19, 2024

The next action here is bringing the fork up to date and getting it ready as a PR to tracked-built-ins.

@ef4
Copy link
Contributor

ef4 commented May 10, 2024

Status: Interop still is not being actively worked on. In addition, we don't have guides content and probably should. Arguably we should ship guides regardless and could decide to punt on the extra interop, given that tracked-built-ins has been in the default blueprint already for quite a while.

@ef4
Copy link
Contributor

ef4 commented Jun 28, 2024

An example of where guides content could go (while also removing the use of deprecated array prototype extensions): https://guides.emberjs.com/v5.8.0/in-depth-topics/autotracking-in-depth/#toc_arrays

@ef4
Copy link
Contributor

ef4 commented Sep 6, 2024

Ongoing progress on docs ember-learn/guides-source#2054

@ef4
Copy link
Contributor

ef4 commented Sep 20, 2024

We have now completed the planned docs work, I'm suggesting this is ready to go, the extra interop work isn't something anyone has picked up, it could still happen when somebody chooses to do it.

@ef4 ef4 marked this pull request as ready for review September 20, 2024 18:11
@ef4 ef4 merged commit 3acfb9e into master Sep 27, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants