๐Ÿ‡บ๐Ÿ‡ธUnited States @bnjmnm

Ann Arbor, MI
Account created on 3 November 2012, over 12 years ago
  • Staff Software Engineer at Acquiaย  โ€ฆ
#

Merge Requests

More

Recent comments

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI
๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

This is because CSS scope() is still an experimental feature in Firefox that needs to be enabled. There was a decision that we should go ahead with scope() as its addition was inevitable, but it might not be standard until later this year (2025) according to the FF team. Given that XB might have users prior to scope() working with FF out-of-the-box, we might need to come up with a workaround.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

@lauriii

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

The Pipeline fails are due to CI issues installing Cypress dependencies, nothing specific to this MR (the 2nd to most recent had been passing, and the only change in the most recent were stylelint related).

Gonna merge this in now since @hooroomoo already reviewed.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

I'm not able to reproduce what was reported in #46 with the "All props" component from the sdc_test_all_props module. This component has multiple booleans (one default true, one default false), though not as many as the one in the provided video

There are also and the e2e tests using the "All props" component that would have failed had the symptoms in #46 been occurring.

Although this does not appear reproducible with the components available within the experience builder module, we should give this a try with the component used in #46 to see what we can surface. Could @heyyo direct us to where we could find that component?

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

After debugging a bit with the ref-stored transforms I'm more glad it's in there and it might spare us some future headaches.

I think the back and front end scrutiny has been duly applied, and the changes are good ones, so this shall be merged.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

I'd incorrectly expected this to be addressed by the de-radixification but it finally occurred to me - this is specifically for a boolean widget, not a checkbox element. The values are handled slightly differently so I wired that up and it should work fine now.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ made their first commit to this issueโ€™s fork.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

@jessebaker reviewed my parts, I reviewed his and @hooroomoo did a pass as well so this is gonna go in.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI
๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

I could only reproduce the symptoms as reported once, but I approved the code as it does address the possible cancelling of a callback we didn't actually want cancelled. However, because the issue is difficult for me (and @jessebaker) to consistently reproduce, I think it would be best if @neha_bawankar (the reporter) tried this out before this gets merged. That's just to ensure we don't need to re-open this - it doesn't appear to be the sort of change that would introduce a problem.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

#9

(I found one bug that is also present in 0.x - if you have a media widget on the page data side bar, pick some images and then switch to a different sidebar and come back the selected images are no longer shown).

Good catch. I created ๐Ÿ› Page data form values-in-progress not retained for Media Library (and perhaps other) fields Active for this.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

This was filed before form elements were refactored to use native instead of Radix and I believe this is no longer an issue, and I was unable to reproduce the problem as reported.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI
๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI
๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Looks awesome in Chrome! But in Firefox (my default), the styling gets a little messed up

๐Ÿค” I checked this out in Firefox and spotted one thing in the screenshot more (the media titles were wrapping instead of elipsising...) but I'm not entirely sure that would explain how herky jerky that screenshot was... This is how it looks for me now in FF

If you're still having problems, would you be OK looking in the FF inspector and seeing if there are any styles (or lack of) that seem to be making the most nuisance?

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Yes, I think we need to revisit this. I'm actually surprised we've managed to get this far with XB with this existing order of operations. It seems fundamentally incorrect. We're using AJV to validate, which means our validation is based on the json schema, which means the thing we need to validate is the prop value, but we don't have a prop value until we run the transforms. Prior to running the transforms, we don't have a prop value, we only have a form input value, and form input values are allowed to be anything so long as the transforms turn them into a valid prop value.

The transformed versions are getting validated, but they're still valid. After digging into the implementations, the format requirements are more relaxed than I'd assumed.

If it is validating entity:node/2

  • โœ…format: uri passes /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i (the colon indicates a scheme and the slash indicates a path)
  • โœ…format: uri-reference passes /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i (uri-reference is even more forgiving)

This could be made more robust with the use of pattern: but that alone would result in the scenario mentioned by @effulgentsia where the AJV validation does fail

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

I'm good with this approach, I think it's more accurate to see this as a stale @todo vs functionality that needs to be changed.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Updated issue summary to reflect that is this not referring to a Dropdown list (it is not a list of select menu options) nor is the issue necessarily related to scrollability (there are several ways this can be addressed)

I'm also postponing this as it might be redundant in light of ๐Ÿ“Œ Style Autocomplete suggestions Active - based on what was reported, this should only require setting the autocomplete collision logic Drupal.autocomplete.options.position = {collision: 'flip'}; which I've already done in that issue's MR. I'll keep this issue postponed instead of closed in case #3529623 has trouble getting in, in which case we can do a targeted MR here with the Drupal.autocomplete.options.position = {collision: 'flip'}; that allows the suggestions to show up regardless of the input's proximity to the bottom of the viewport.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Further, I can't imagine not showing a hidden dependency, that would be a huge point of confusion.

I'm inclined to agree. This issue was filed because

  • there were comments in core indicating hidden modules exclusion from "depends on" was the intended functionality, but the code was failing to achieve that.
  • Giving the above finding it's own issue make it possible to unblock progress on a the more important issue where the above happened to be found

I was leaning towards keeping things as-is even when this issue was initially filed, and considering 5 additional years have since passed since I'm not sure there's anything that needs changing aside from possibly pruning the @todos

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Ideally, the component should not fail to render when a required field is left blank.

I disagree, if a component has an invalid prop, it shouldn't be rendering. That said, the. component should do a better job informing the user why it isn't rendering, which we will address here:

๐Ÿ“Œ Invalid prop errors should be detailed in Component preview Active

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Re #11 There were styles for this but it looks like there were some conflicts with focus-visible vs visible but this should be good now.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI
๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

FB is addressed as far as I can tell so I'm merging to get _none working properly again. If there's lingering bits happy to address in a followup.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

The two PATCH requests to component-instance is due to the endpoint set to forceRefresh: true, which was added to fix the issue of vanilla Drupal behaviors not re-running if a component form is revisited. (the most common symptom was leaving then re-loading a component with a media library widget would result in the widget JS not working)

Setting forceRefresh: true provides a redux-cached version of the form until the new version is available, then the updated data (including selectors necessary for Drupal Ajax to work) replaces it.. Apparently this setting also makes additional, unnecessary requests. In the MR I updated the criteria to force a refresh if

  • The query string changed (which is very expected)
  • The last query string came from a different component.

Some manual testing is needed to ensure there aren't scenarios where a re-opening of a props form doesn't force a refetch.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ made their first commit to this issueโ€™s fork.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

The mr 3526866-pretty-major-regression updated some CSS and here's a comparison of the MR to HEAD.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Alright lets see if this eases some e2e angst.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Now that I can run these tests locally (my site was not in a /web folder but with the recent change it works great), I spotted a few additional things that I imagine are quite easy to address.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Needs signoff that @hooroomoo can grant + some of the test improvements need another set of eyes as they were added after the RTBC

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Added a handle-none-option MR with test that should address #15

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

The final form element is de-Radix'd, which should make things easier & more stable ๐Ÿ˜Ž

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

The MR in ๐Ÿ“Œ Create a test module that adds color, machine name, and dropbutton elements to the props form Active includes a test module with color component which can be cherry picked into this.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

We should first address ๐Ÿ› Autosave publish process does not acknowledge pathauto deactivation Postponed before proceeding here. Once that is fixed, this issue might be completely resolved, too.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Argh - this must have been due to changes that occured during the longer-than-typical review cycle. Filed a new bug for what was found ๐Ÿ› SDC Required image can't be removed without error Active . If there's interest in keeping this open until that is fixed NP, but it will be easier for me to get it addressed with a fresh issue scoped to those specific symptoms.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Clearly a problem is occurring in #7 but it isn't one I'm running into (see this video) + this and the e2e test mentioned in #5 demonstrate that "Handl[ing] media image fields on page data form" currently works.

The error in #6 looks like it's coming from OpenAPI validation, which should obviously be addressed. If anyone currently experiencing it can either update this issue summary or create a new issue targeting that specific bug

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

No longer relevant as this was addressed by other work. There is confirmation of this in the test 'Can open the media library widget in an xb_page props form' in media-library.cy.js (this test does more than just open, it adds / removes etc.)

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Addressed elsewhere. See field_xbt_language.cy.js

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Addressed in other issue

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

This was addressed a while back. The reported error is from Radix due to not meeting its option requirements. Tested manually to make sure this isn't a problem with metatag and it is fine.

In the past week, we also stopped using Radix for our select elements which should make it even less of a concern.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Overview

  • Add text-based test cases to xb_test_state_api module.
  • As part of getting those tests to pass Make the text components use native elements instead of radix
  • Even if the text inputs can't look identical, it should look pretty close. More formal designs will be provided in the future so there's no need to be pixel perfect if it prevents the functionality from happening.

Proposed resolution

Manual Test

Enable xb_test_state_api module and try the inputs added in this MR

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Media Library and many aspects of JS/AJAX iwork and there's considerable e2e test coverage confirming this.

It's quite possible there are use cases that have not been addressed yet, but there's definitely not a blanket omission of AJAX/JS integration. If specific problems arise, they are best addressed as targeted issues with tight scope so the specific symptom can be addressed

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Thanks for all the reviews etc on this lil' dragger.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Ty @hooroomoo for the review

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

I have a proof of concept from last year that successfully does this, and the CK team + several committers were in support of the approach. The biggest part will likely be finalizing โœจ Add an API for importmaps Active , after which most of the CK changes are not too intense.

I also created a doc that details the approach and provides steps for several contrib modules on how to approach it

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Re #10its not yet possible to get selects to wrap on long options in FF, but it looks much better now. The Chevron being there makes it more apparent it's a deliberate truncation.

When FF supports the select style pseudos, this will look even better

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Thx for reviews everyone

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Took care of the merge conflict and it looks like all other reviews were good with the changes so I'll go ahead and commit.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Radix / 0.x

Native / this MR

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Despite adding a bunch of additional testing the end result is fewer LOC! +341 โˆ’345

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Thanks for the reviews @hooroomoo & @balintbrews

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ made their first commit to this issueโ€™s fork.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

Between this and some other recent changes, these can even be unskipped. Nice work @penyaskito

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

The is always unchecked part is addressed by
๐Ÿ“Œ Confirm Semi-coupled form elements can work with State API visibility Active , the other part will likely be fixed with ๐Ÿ› Autosave publish process does not acknowledge pathauto deactivation Postponed as mentioned in #4

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

bnjmnm โ†’ made their first commit to this issueโ€™s fork.

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

I had this postponed on the State API checkboxes issue becausei I canโ€™t manually reproduce the problem without the State API working with that widget. Based on the above it sounds like this or something else representative of the situation can be reproduce me - could the issue summary be updated with these steps?

๐Ÿ‡บ๐Ÿ‡ธUnited States bnjmnm Ann Arbor, MI

It's possible I duplicated this issue with ๐Ÿ› Autosave publish process does not acknowledge pathauto deactivation Postponed , but not fully sure as the IS here specifies the issue is due to pathauto creating an alias when a pattern isn't defined for the entity type, while #3526130 is specifically about the publish process not acknowledging the "Generate automatic URL alias" being unchecked.

If they are in fact the same issue reported differently please note the issue summary in #3526130 already provides a 3 line solution that works, but notes there's probably a cleaner way to implement it (perhaps in a hook that specifies module: 'pathauto'

Production build 0.71.5 2024