San Francisco
Account created on 29 September 2004, about 21 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States mfb San Francisco

I just double-checked this and there is no change between 11.2 and the 11.x branch except that the TypeError is thrown. BigPipe JS also can't find a placeholder in a <noscript> tag in 11.2 - I had never actually noticed this fact before, since it wasn't a problem.. :)

🇺🇸United States mfb San Francisco

I would assume that if something has already been replaced server side, then it would not be sent to the browser, so would not be a target at all.

Yes that would be correct. The exception is only thrown in the browser when it was not done server side.

There is no way to tell big pipe "only do this replacement server side because it's in a noscript tag", but such complexity isn't needed. We can just keep things working like they did historically: don't throw if the browser can't find a placeholder.

🇺🇸United States mfb San Francisco

Actually I realized my attempted work-around I mentioned in #6 doesn't work, because the noscript tag is added to the dom, and whatever is inside actually loads. So, I think my MR is the best solution: bigpipe javascript should just ignore any situation where target is null.

🇺🇸United States mfb San Francisco

Markup in a noscript tag is by definition already special-cased, because it's not interpreted as being part of the dom. And since it's only relevant when javascript is disabled, handling replacement on server side is fine.

I don't think there anything special that bigpipe should do, except just not error in any rare cases where the target can't be found.

🇺🇸United States mfb San Francisco

I think this would mean that no other placeholder strategy would find the placeholder either.

Not sure what you mean by the - the non-javascript placeholdering has always worked fine - the placeholders are replaced on server side.

I did find a work-around I could use on Drupal 11.3 and later: I can instead have the noscript tag be part of the replacement markup, instead of wrapping the placeholder. Then, of course the javascript can find the placeholder, because it's not in a noscript tag.

However, rather than having to work around the issue, I think it would be best to avoid throwing here - just don't try to process the target if it can't be found.

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

A token should already exist, "mime"?

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

mfb created an issue.

🇺🇸United States mfb San Francisco

It does not seem a matter of checking the value of file_size in the template file, but rather to know which formatter is using that template file, or use two different template files.

See the following paragraph of the issue summary - this should be handled by 🐛 'file_table' formatter shows file size twice Active (a new size toggle available to formatters or other callers).

🇺🇸United States mfb San Francisco

I don't see a need to update the template docs because the with_size variable isn't used there. (It /could/ have been used there, if we moved the logic from the preprocess function into the template, but I didn't put the logic there to minimize the need for updating templates.) I assume templates don't need to exhaustively document all possible variables.

🇺🇸United States mfb San Francisco

Template variables don't have a $

🇺🇸United States mfb San Francisco

I removed the obsolete verbiage.

🇺🇸United States mfb San Francisco

Do we need to add a code comment in TableFormatter where we set #with_size to FALSE?

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

Never mind, moved the fix here in hopes of faster reviews

🇺🇸United States mfb San Francisco

I incorporated a fix for this Claro bug in a MR for 🐛 'file_table' formatter shows file size twice Active , which resolves the related issue re: file module needing logic to turn off file size display when it's already displayed elsewhere.

🇺🇸United States mfb San Francisco

While fixing this issue w/ file module, it seemed like a good time to also fix a related issue with claro module, which, unlike the default file link template, was the missing logic to not show the file size if it's empty.

🇺🇸United States mfb San Francisco

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

🇺🇸United States mfb San Francisco

The views filter is now released in version ^3.2, ^2.1 and ^1.12

unfortunately, since the table changed between 1.x and 2.x I don't think the same view can be used across all versions - but maybe the view could be altered on 1.x using a hook

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

I noticed that it recurses through .git directories too - that wouldn't be as bad as node_modules but, still seems like a waste

🇺🇸United States mfb San Francisco

This could use test coverage

🇺🇸United States mfb San Francisco

@carlitus this bug was fixed here in hreflang module, and was released in version 1.15

🇺🇸United States mfb San Francisco

Oh cool, well, not sure how much time I might have to literally maintain this module - but the good news is, it should be quick and easy for us / someone to build the view and add it to this module.

🇺🇸United States mfb San Francisco

mfb created an issue.

🇺🇸United States mfb San Francisco

Actually, I think it would be useful if we allow the filter to be exposed, so that the end user can turn the duplicate filter on/off? Updating issue summary to say so.

🇺🇸United States mfb San Francisco

mfb created an issue.

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

mfb created an issue.

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

mfb created an issue.

🇺🇸United States mfb San Francisco

Since the parent issue was cherry-picked to 10.6.x this should as well?

🇺🇸United States mfb San Francisco

@fishfree I wasn't able to reproduce this exception in my quick testing.

Does it happen for you on a fresh, clean install of Drupal core?

What version of Drupal core are you using?

Do you have any contrib modules installed?

If I'm not able to reproduce it then I won't be able to work on a fix...

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

I think this should also be query a optimization when there are tens of thousands of files - it can jump to the next fid rather than scanning through a large row offset.

🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco
🇺🇸United States mfb San Francisco

mfb created an issue.

🇺🇸United States mfb San Francisco

Not sure if this was officially released but in any case I added a link

🇺🇸United States mfb San Francisco

Thanks for reporting!

🇺🇸United States mfb San Francisco

Already resolved by humans

🇺🇸United States mfb San Francisco

mfb changed the visibility of the branch 8.x-1.x to hidden.

🇺🇸United States mfb San Francisco

It looks like the sessions table was removed from system module in Drupal 10.3.0, according to https://www.drupal.org/node/3431286 - it's now created on demand by the session handler.

So yes, we now need to check if the table exists. This also means that the code that gets a description of the sessions table from system schema (for use on the config form) only works on older versions of Drupal.

What session handler do you have in use? Ideally, we could provide ip_anon support for removing IP addresses from alternative session storage

🇺🇸United States mfb San Francisco

Removing the ability for loggers to depend on config would be a big trade-off for the contrib loggers that I maintain - there would no longer be a nice, friendly UI for admins to tweak logging without having to tinker with the settings file or yaml files. It certainly would help resolve circular dependency hell, though...

🇺🇸United States mfb San Francisco

@farse on the current 7.x branch I am still seeing a ServiceCircularReferenceException if I install symfony_mailer module and core workspaces_ui module along with any logger that uses config, such as core syslog module or Raven module.

Given that the issue also affects core syslog module, I would say the issue should ideally be resolved in either symfony_mailer or core?

There might be some workaround we could do in Raven module, but I'm not sure off hand what that would be, aside from no longer using config..

🇺🇸United States mfb San Francisco

For future reference, this ideally would've been filed as a new issue, as it was a new bug in the 7.x branch, but in any case thanks for reporting

🇺🇸United States mfb San Francisco

Please test the MR - I believe this should resolve the issue by refactoring config to "properly" override (rather than having a special snowflake config service).

🇺🇸United States mfb San Francisco

For anyone seeing a circular reference, please provide steps to reproduce from a fresh install of Drupal core. This would include which contrib module(s) and how they need to be configured to reproduce the bug. (If a custom module is required to reproduce the bug, please upload or link to some example reproduce code.)

For extra bonus points you could open a merge request with a failing test :)

🇺🇸United States mfb San Francisco

@dfisher I still don't know how to do this. I may have missed something obvious as I don't use this module per se, was just trying to make my contrib module compatible with it.

🇺🇸United States mfb San Francisco

Move feature request to current dev branch.

I believe you would now need to call something like Sentry.addIntegration(integration: Sentry.replayIntegration());, as we now use a callback function for drupalSettings.raven.options.integrations rather than a simple array.

🇺🇸United States mfb San Francisco

Move feature request to current dev branch

🇺🇸United States mfb San Francisco

Move feature request to current dev branch

🇺🇸United States mfb San Francisco

Move feature request to current dev branch

🇺🇸United States mfb San Francisco

In a followup issue we may need to add a log filtering feature? Although, developers can do their own filtering via Sentry callbacks.

For example, maybe by default, logs could honor the same "ignored channels" and "ignored messages" that errors do, with a checkbox to capture all logs, including ignored channels and ignored messages? There might even be a use case for logs having its own lists of ignored channels and ignored messages.

🇺🇸United States mfb San Francisco

Actually fixed on the 7.x branch

🇺🇸United States mfb San Francisco

mfb changed the visibility of the branch 3541436-backport-3 to active.

🇺🇸United States mfb San Francisco

mfb changed the visibility of the branch 3541436-backport-3 to hidden.

🇺🇸United States mfb San Francisco

This likely needs a backport

🇺🇸United States mfb San Francisco

I discovered an API method we can use to convert the description markup to plain text: PlainTextOutput::renderFromHtml(). And for some reason, the default title is empty string, but the default description is null. So, we need to handle that potential null by only using the description if it's present.

🇺🇸United States mfb San Francisco

Opened up a MR for review. Since title is apparently used in de-duplicating items, i thought it might be a good idea to save the truncated description instead of an empty title? But also, since a NULL or empty title would be valid (if saved programmatically, for example), I also patched the label() to use the truncated description, if necessary. Since the description can be HTML-encoded markup, we have to strip tags and HTML-decode the description before using it as the title, otherwise the markup would be displayed to the end user.

🇺🇸United States mfb San Francisco

Setting to needs work because this isn't really fixed by the patch, yet :)

I updated the issue summary with a pretty-important remaining task: Figure out exactly how to handle RSS items that are missing a title or have an empty title, due to the item title being used in the UI, e.g. when listing items, and by the label() method; all this stuff still needs to work for items without a title!

🇺🇸United States mfb San Francisco

Far as I can tell you're good here, the dependency is on ^2.17, which allows any later 2.* version to be installed, including the current version, which is 2.24.0

🇺🇸United States mfb San Francisco

Tests are failing, but I don't think it's related to this MR, as tests are also failing on the 2.x-dev branch

So I think this could be RTBC?

🇺🇸United States mfb San Francisco

Added a commit to resolve a deprecation notice I've been hitting on a production site:

Deprecated function: Drupal\aggregator\ZfExtensionManagerSfContainer::setContainer(): Implicitly marking parameter $container as nullable is deprecated, the explicit nullable type must be used instead
🇺🇸United States mfb San Francisco

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

🇺🇸United States mfb San Francisco

As far as sustainability a few things come to mind:

  1. A file hash submodule could report duplicate files and even allow them to be merged.
  2. A "sustainability" contrib module could instruct site admins to install helpful modules and configure them more sustainably.
🇺🇸United States mfb San Francisco

I don't intend to enable the dedupe validator by default. It is a complex feature that could be enabled site-wide, on a per-field basis, or programmatically; there are also the choices of "strict" dedupe and "original" dedupe. And I do consider it a "proof of concept" - sites may want to improve the dedupe UX.

🇺🇸United States mfb San Francisco

@liam morland did you see my comments in #30? I feel like it would be helpful if this issue could decide to either trigger a deprecation if null is returned in cases where it is not documented to be possible, or change the documentation to allow null, despite the data model not allowing null.

In other words, my @todo was something to figure out in this issue, not a future issue.

🇺🇸United States mfb San Francisco

We didn't make another issue AFAIK. The current state of the patch is "for review" to figure out next steps.

Production build 0.71.5 2024