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

DEV: Implement glimmer topic-list #26743

Merged
merged 59 commits into from May 21, 2024
Merged

DEV: Implement glimmer topic-list #26743

merged 59 commits into from May 21, 2024

Conversation

CvX
Copy link
Contributor

@CvX CvX commented Apr 24, 2024

(experimental)

The initial implementation of glimmer topic-list and related components. Does not include new APIs and isn't compatible with existing customization. That's gonna come in future PRs.

Enabled by adding groups to experimental_glimmer_topic_list_groups setting.

@github-actions github-actions bot added the i18n PRs which update English locale files or i18n related code label Apr 24, 2024
config/site_settings.yml Outdated Show resolved Hide resolved
@CvX CvX changed the title DEV: Implement glimmer topic-list-header DEV: Implement glimmer topic-list Apr 27, 2024
@CvX CvX marked this pull request as ready for review April 30, 2024 14:29
import topicFeaturedLink from "discourse/helpers/topic-featured-link";
import topicLink from "discourse/helpers/topic-link";

export default class LatestTopicListItem extends Component {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think this will remain separate from <TopicListItem in the long-run? Seems a little strange to have two similar implementations 🤔

(historically, I think LatestTopicListItem was the pure-ember version, and TopicListItem wrapped the raw-hbs implementation?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They're similar, but different. 😅 From the /styleguide:

image image

one is a table row element, the other is a div. they have different plugin outlets. one supports highlighting on navigation and bulk selection. they display slightly different sets of data.

I'd be difficult to try to merge them 😅

CvX and others added 12 commits May 21, 2024 11:54
Co-authored-by: David Taylor <david@taylorhq.com>
Same as `@tracked`, but skips notifying consumers if the value is unchanged. This introduces some performance overhead, so should only be used where excessive downstream re-evaluations are a problem.

This is loosely based on `@dedupeTracked` in the `tracked-toolbox` package, but without the added complexity of a customizable 'comparator'. Implementing ourselves also avoids the need for pulling in the entire package, which contains some tools which we don't want, or which are now implemented in Ember/Glimmer (e.g. `@cached`).
Returns a wrapper component with the given tagname, or an empty wrapper for an empty string.
Similar to the reference implementation of RFC389, with higher-performance shortcuts for common elements.
Debouncing the audio was causing the audio to be lost sometimes, somewhat randomly. It's not supposed to be necessary.

The commit also refactors the code to async/await.
This commit adds a step in our tests workflow on Github actions to update the themes to
use the compatible version when not running aginast the `main` branch.
This is to ensure that we are not running
the tests for themes against an incompatible version of Discourse.
This is preparation for a feature that will allow admins to define their custom flags. Current behaviour should stay untouched.
#27095)

`discourse-ai` has custom gems which need to be bumped in order to be
compatible with Ruby 3.3. However, its version is pinned so we can't
pull in the commits in which upgrades the gems to be compatible with
Ruby 3.3. Just avoid running the specs on `stable` branch for now until
we release a new stable.
@github-actions github-actions bot added the chat PRs which include a change to Chat plugin label May 21, 2024
# Conflicts:
#	spec/system/page_objects/pages/topic.rb
@github-actions github-actions bot removed the chat PRs which include a change to Chat plugin label May 21, 2024
@CvX CvX merged commit 87769a8 into main May 21, 2024
16 checks passed
@CvX CvX deleted the 0-glimmer-topic-list-header branch May 21, 2024 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
i18n PRs which update English locale files or i18n related code
7 participants