Portland, Maine
Account created on 12 August 2006, almost 19 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States chrisfromredfin Portland, Maine

I will wait on tests, but this has been discussed in https://drupal.slack.com/archives/C01UHB4QG12/p1747231711012519 with Adam & Fran.

🇺🇸United States chrisfromredfin Portland, Maine

This is a very intentional design decision we made after a lot of community feedback and focus groups. We are trying to specifically keep people OFF of Drupal.org unless they are developers who really want to get that additional info.

We are surfacing the most important information in the modal that should allow people to make the decision they need in at least the 80% use case.

🇺🇸United States chrisfromredfin Portland, Maine

We're not opposed to adding this - but we (a) need to think around SSO/TFA issues that Benji brings up, and (b) I think we need to think through the UI / user flow for this. I would imagine a modal might make the most sense, "interrupting" the process if we're not within the flood limit.

Agree to keep the dev mode settings CLI-only or in settings.php. I think a 'dev mode' UI would be a poor choice. If it's a dev, it's a dev - and you can count on them to modify settings.php, (even an Ambitious Site Builder could do this, IMO) etc.

🇺🇸United States chrisfromredfin Portland, Maine

The real reason for the discrepancy is that we are actually doing a nightly migration to a Drupal 9 site which hosts the endpoint for the project browser module data. New modules may take a while to show up, or something may fail in the migration.

(In addition to other things, like our filters - we will not show modules that are not compatible with the version of Drupal that's running, and we only show ones by default that have security coverage, etc.)

I will see if Fran can take a look at the migration to check on this.

🇺🇸United States chrisfromredfin Portland, Maine

closed (dupe)
https://www.drupal.org/project/project_browser/issues/3453746 📌 Test Project Browser on Infomaniak Active

🇺🇸United States chrisfromredfin Portland, Maine

Closing (outdated) - DrupalPod may no longer exist! Happy to re-open if there's a good solution that comes up.

🇺🇸United States chrisfromredfin Portland, Maine

I've updated this a little bit, but tests are still failing. Some other things I've noticed that need to be fixed:

(1) if you use the "Clear" button it doesn't cause a reload, and it should.
(2) If you check some categories and hit apply, but then use "Clear filters" it doesn't clear the checkboxes from the component.

The experience needs to be aware of all the ways categories may be changed/reset/cleared, etc.

Unassigning in case someone else wants to pick this up.

🇺🇸United States chrisfromredfin Portland, Maine

I'm speaking a bit outside my comfort zone here, but I know that we have used a Decorator pattern in order to create the "Local modules" Source plugin.

I don't know much about decorators, so I am just coming to ask the question - whether or not approaching it from that paradigm solves the issues or if we would still need to have these methods be protected instead of private?

That aside, I think @penyaskito's comment is actually what the intention was here, to bring in /recipes & /core/recipes together - but we were waiting on recipes being more stable to do so, or have some discoverability from d.o... though maybe that should have been marked with a @todo.

🇺🇸United States chrisfromredfin Portland, Maine

Well, thank you Pam! Good to know there's a reliable one working pretty readily!

🇺🇸United States chrisfromredfin Portland, Maine

Once you are in and have the project browser, are you able to add new projects using the automated installation feature? That's an important piece to know.

🇺🇸United States chrisfromredfin Portland, Maine

(1) I think doing this may then have ramifications for not being able to download it later via composer, since it will have the project name wrong?

(2) I think the actual issue is with the endpoint/API - it seems to be repeating the characters / name over and over. That actual project name is 31 characters long.

https://www.drupal.org/project/augmentor_google_cloud_text_to_speech

We should coordinate with d.o and know what their max length is for project node titles (255?) and just use that on ours (we probably already are? But I haven't looked at the schema).

I'll see if I can get @fjgarlin to check out this project on the API site.

🇺🇸United States chrisfromredfin Portland, Maine

I believe the logo is being set by the recipe backend to be the png we don't like. So while this introduces a fallback, will the fallback be used for recipes?

https://git.drupalcode.org/project/project_browser/-/blob/2.0.x/src/Plug...

Do we need to change it there?

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

Committed this, leaving issue open per instructions in case more comes along. ;)

🇺🇸United States chrisfromredfin Portland, Maine

It gets bad when you start to glaze over when seeing the red. Green is best!

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

The issue here is line 24 of project_browser.module which is using Url::fromRoute to link to a route which now requires a parameter.

I think the right thing here is to instead iterate over all enabled sources, and generate a link to each one:

      $output .= '<dd>' . t('Users who have the <em>Administer modules</em> can browse modules from the <a href=":project_browser_admin">Browse projects page</a>.', [':project_browser_admin' => Url::fromRoute('project_browser.browse', [])->toString()]) . '</dd>';

So it says something like:

Users who have the Administer modules ^permission can browse projects from the Extend section:

  • Contrib modules
  • Recipes

Something like that.

🇺🇸United States chrisfromredfin Portland, Maine

Cool! We can leave that todo... maybe some day we'll be there, or someday we'll just remove it. ;)

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

I'm not sure this needs to be postponed on that, as I don't think it will actually change the CSS. there's still always a chance of a dropbutton having one action, so I think we can move forward on this.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin changed the visibility of the branch 3458840-apply-clear-buttons-categories to hidden.

🇺🇸United States chrisfromredfin Portland, Maine

All of this sounds good to me. Only thing that I take a quick note of is that we already have the "dependency popularity" problem with modules... Chaos Tools being one of the top-installed modules... that users almost never care about.

Our consideration for this was to maybe allow projects to opt into a checkbox like "library-only" and then hide those from PB's default filters (allow them to be shown if the user wants that).

Not sure that applies to recipes, as most base recipes ARE "useful unto themselves," so maybe it's different. Anyway, just a little something to consider/think about.

🇺🇸United States chrisfromredfin Portland, Maine

Thank you, libbna! Good progress. A couple things I'm noticing.

(1) The apply/clear bar should be "sticky" at the bottom of the container that opens. That is, it should always be visible and only the list of checkboxes should be scrollable. That can probably also be a little less tall. Maybe something like a height of whatever 4.5 rows is, with maybe a max-height of like 90vh or something?

(2) the "Clear" button should act as a submit button. So, while it clears the checkboxes, you still have to scroll back down and click Apply, which shouldn't actually be necessary. Hitting clear should wipe out all the category selections and cause a projects refresh.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin changed the visibility of the branch 3458840-consider-adding-apply to hidden.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin changed the visibility of the branch 3515746-change-language-around to hidden.

🇺🇸United States chrisfromredfin Portland, Maine

I think because the fix is in Svelte code, we need a FunctionalJavascriptTest to render the JS.

🇺🇸United States chrisfromredfin Portland, Maine

It seems to me like the answer is to *improve* the config form, then. The recipe config form for AI should prompt not just for an OpenAI key, but for a Provider + Key. No?

🇺🇸United States chrisfromredfin Portland, Maine

This does fix the problem so I'm going to merge it now. But I think if we can rely on native Drupal api's like Drupal.url() we need to do that, so I'll open that as a follow-up.

🇺🇸United States chrisfromredfin Portland, Maine

In sveltejs/constants.js, we use "export const FULL_MODULE_PATH = `${BASE_URL}${drupalSettings.project_browser.module_path}`;" and FULL_MODULE_PATH is then used to get the path to the image.

BASE_URL uses "export const BASE_URL = `${window.location.protocol}//${window.location.host}${drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix}`;"

...does drupalSettings.path.pathPrefix include a language prefix?

Or, does the core moduleHandler do it?
`'module_path' => $this->moduleHandler->getModule('project_browser')->getPath(),`

...I'm pretty sure it's probably drupalSettings.path.pathPrefix, which is meant for the "Drupal is installed in a subfolder" scenario; however, if it's a language prefix, that should NOT be included.

Does anyone know how core handles this kind of scenario, where it needs a path to the module without the language prefix?

This will need a test.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin changed the visibility of the branch drupal-3317653-3317653-rolled-for-10dot4 to hidden.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin changed the visibility of the branch drupal-3317653-3317653-rolled-for-10dot4 to active.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin changed the visibility of the branch drupal-3317653-3317653-rolled-for-10dot4 to hidden.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin changed the visibility of the branch 3317653-rolled-for-10dot4 to hidden.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

Confirmed, already working in Gin 4.0.6 light and dark mode... !

🇺🇸United States chrisfromredfin Portland, Maine

@sarahlorenzen - is there a patch file or an open Merge Request for the work (hopefully an MR)?

🇺🇸United States chrisfromredfin Portland, Maine

Just confirming that Package Manager is not a strict _requirement_ for Project Browser; PB functions without it (though not in as wonderful a way). But it is a soft dependency.

🇺🇸United States chrisfromredfin Portland, Maine

OK, NOW it's Fixed.

🇺🇸United States chrisfromredfin Portland, Maine

Thanks! I will open a follow-up to break out the menu toggle button, since this issue was scoped with two intents.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

I've wanted this for so long; this is such a superior experience in such a subtle way.

🇺🇸United States chrisfromredfin Portland, Maine

NOTE:

  • I'm using a generic "GTM-xxxxx" where x is a digit pattern when installing.
  • My PB settings allow multiple installs (max_selections NULL)
🇺🇸United States chrisfromredfin Portland, Maine

Initial manual testing here seems to imply this is working well. Small pieces of feedback:

(1) the dropbutton with only one action in it looks janky. Not sure if we leave the carat, or shrink the space, or what. But something.

(2) having an issue with 'Drupal2.$dialog is not defined' or something similar. I have seen this in other MRs so I don't think it's related to this issue. But I've seen it enough that it should have a FU.

🇺🇸United States chrisfromredfin Portland, Maine

Release Notes: "BooleanFilter is now a boolean filter."

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

no notes

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

Tim ended up fixing this in a separate issue

🇺🇸United States chrisfromredfin Portland, Maine

I SWORE I already provided feedback on this, but it's not here - might have been one of those ones that I started in an open tab, then closed the tab.

There's a few more major things here, and it might be that this branches out into an issue that needs to be worked on before this one:

1. As Adam says, we need to basically allow a "description" more generically. That's the first piece. FilterBase should support a description field (which accepts markup?).

2. If a description is set, then we should set a ? icon, I think, next to the label (not next to the select). I would use core's questionmark-disc icon (although I'm not sure if we can always count on that being there, but might make sense to try anyway - even if it's not guaranteed).

3. As we're doing now, I think it's OK to then open that description markup in a popup/modal.

4. I'm not sure where we're actually getting the names/descriptions from, but I think we'd want to actually have this queried from Drupal.org; not sure if that means it needs its own endpoint? I'm happy to do that part later, and rely on something like the test fixture (for now), but I don't love that as a long-term solution. (Also, happy to cache that for like an hour or even longer if needed, to help reduce requests to d.o)

🇺🇸United States chrisfromredfin Portland, Maine

back in green, i hit the spleen, it's been to long I'm glad to be seen... 🎵

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

Manually tested in Claro, Gin (Light & Dark). Works great, even fixes an oddity on 2.0.x with Claro. Thank you!

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

tests are passing, PHPStan issue present in 2.0.x-HEAD

🇺🇸United States chrisfromredfin Portland, Maine

PHPStan is from HEAD, so not an issue from this MR.

🇺🇸United States chrisfromredfin Portland, Maine

I wonder if @lostcarpark could turn this part of the testing into a Nightwatch test? I'm not sure if that would actually help or not. Maybe its scrollIntoView works better, or it handles clicking things that aren't visible better...?

🇺🇸United States chrisfromredfin Portland, Maine

confirmed fixed with manual testing.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

Thanks for the work! Good to see you in the queue, penyaskito!

🇺🇸United States chrisfromredfin Portland, Maine

All my suggestions are being implemented relative to the pager ticket in UI enhancement Active so no need to worry about it here.

🇺🇸United States chrisfromredfin Portland, Maine

Downgrading to stable-blocking because we want this done before we say "we're ready for prime time!" but - it won't have API implications. I think originally was beta when we were considering experimental-in-core as beta.

🇺🇸United States chrisfromredfin Portland, Maine

Postponing, pending results of UX research that is being spearheaded around the tabs & navigation. We need to know the IA before we can continue; although we're not discounting merging core + contrib into one plugin, but we already have a non-API-breaking pattern for that.

🇺🇸United States chrisfromredfin Portland, Maine

No API considerations, moving to stable. HOWEVER, leaving on the SHOULD HAVEs for -beta1.

🇺🇸United States chrisfromredfin Portland, Maine

With no API considerations for this (other than the fact that these keys exist on the Project object, so apply to all sources), pushing back to stable.

🇺🇸United States chrisfromredfin Portland, Maine

After discussing APIs with Adam on Zoom, I think this can safely move to stable blocking. I do consider it a shortcoming that we can't be tolerant, but after looking at all the APIs and where they _might_ change as a result of implementing this, we don't think there's any breakage--if anything, just possibly an addition, if at all.

So I'm re-triaging to stable blocking.

🇺🇸United States chrisfromredfin Portland, Maine

saving to get re-draw ¯\_(ツ)_/¯

🇺🇸United States chrisfromredfin Portland, Maine

Leslie and I just discussed and we think the current experience is acceptable, especially with regard to our target audience (who likely will not have the install functionality disabled anyway), so we'll mark this as Closed (WAD).

If there's an intense clamoring from the community in the future, we'll re-open or re-address.

It's not worth the brain damage of writing all the code and tests for it.

🇺🇸United States chrisfromredfin Portland, Maine

Are there any rules around changing any "JavaScript APIs" for beta for Drupal? This probably got marked beta as a "boy it would be nice" so I'm ok downing it. I'm just gunshy over "API changes" - if we only care about the PHP API, then I'm comfortable because I'm sure most if not all of this solution is on the Svelte side.

🇺🇸United States chrisfromredfin Portland, Maine

love that this is the level of detail we're able to pay attention to now - a testament to our stability!

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

better than status quo. nothing we should really prescribe about when toolbar is active. Using Navigation (as CMS does) will make it a non-issue ;)

🇺🇸United States chrisfromredfin Portland, Maine

confirmed with manual testing that the new additions fix the issues with token when there's a dependency installed. turns out there's a pattern in core where we check dependencies, and then everything else goes to a validator, so we need to replicate that here.

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

cool, and getting cooler!

I may follow a design FU but it shouldn't block this.

🇺🇸United States chrisfromredfin Portland, Maine

I'm OK with no test since (a) there's already coverage for this kind of, and (b) I'm SURE Darren will let us know if we regress it ;)

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

🇺🇸United States chrisfromredfin Portland, Maine

manual testing confirms what we already know. need to consider replacing usage of state in tests with key-value, but that's for another day

🇺🇸United States chrisfromredfin Portland, Maine

chrisfromredfin made their first commit to this issue’s fork.

Production build 0.71.5 2024