User Details
- User Since
- Oct 8 2014, 8:32 PM (554 w, 10 h)
- Availability
- Busy Busy until Jun 6.
- IRC Nick
- RoanKattouw
- LDAP User
- Catrope
- MediaWiki User
- Roan Kattouw (WMF) [ Global Accounts ]
Mar 14 2025
Another different but related use case is what DiscussionTools does, where it holds itself back from sending certain notifications (or sending them to certain people) if it knows that other notifications about the same edit are already going to be sent. In the new system we'd probably want to achieve this by batching the notifications for the same domain event, and sending them through the middlewares together, so that the middlewares can make these kinds of deduplication decisions.
The .chart page syntax looks good to me. I think a good way to start would be to build that part first, because we know we'll want that regardless of what we do for invocations.
Feb 26 2025
Feb 12 2025
Looks like the first and third paste are identical (except for the comment distinguishing them), so that's great!
[2025-02-12 12:01:17 PST] catrope:~/tmp$ colordiff -u Codex_Design_Tokens_export_before_after_stylelint_3.9.2_→_4.3.3 Codex_Design_Tokens_export_after_stylelint_3.9.2_→_4.3.3_without_.reverse\(\) --- "Codex_Design_Tokens_export_before_after_stylelint_3.9.2_\342\206\222_4.3.3" 2025-02-12 12:01:09.938469760 -0800 +++ "Codex_Design_Tokens_export_after_stylelint_3.9.2_\342\206\222_4.3.3_without_.reverse()" 2025-02-12 12:01:17.424764127 -0800 @@ -1,5 +1,5 @@
Feb 11 2025
In theory we shouldn't have code in core that checks if an extension exists. In practice, we do have that in a few places, although those tend to have TODO/FIXME comments lamenting the hackiness of that approach.
Feb 10 2025
Yes, this is done. It's still used in one place but its use is discouraged elsewhere, that's good enough for me.
Feb 9 2025
Feb 6 2025
Feb 4 2025
Whoops sorry, I missed the previous exchange between you and Anne about the demo, ignore me.
The attached patch looks good to me. @bmartinezcalvo could you review the new demo here?
Feb 3 2025
Remaining questions/explorations:
- Handle CSS without a FOUC, and render any CSS at all when JS is disabled
- Should we use Vite, or switch to Rollup? Can we support CJS .vue files with either?
It's hacky but it looks like it should work for now. I think we should consider making menu headers a real feature in the future so that RCF doesn't have to do these kinds of hacks, but that doesn't have to be a blocker for RCF anymore.
Jan 31 2025
Unfortunately there's no fix or workaround for this yet. There is a new release of stylelint-declaration-strict-value that claims to silence these warnings, but it doesn't work for me locally. The author has repeatedly made clear that they will not migrate away from the deprecated context.fix API until it's removed in a future version of stylelint.
Jan 29 2025
Jan 28 2025
Jan 24 2025
Jan 23 2025
Jan 22 2025
Jan 21 2025
Jan 17 2025
I don't know exactly what will happen, but what I do know is that it'll be nothing good and that the external DOM additions/changes will probably be blown away at some point, but not immediately (which is probably worse from a user perspective). My guess is that they might last for some time, because as long as Vue is only making minor updates to the DOM (say just the text contents of a tag) it probably won't notice the interlopers, but then when an event happens that requires Vue to make a structural change to the DOM in the vicinity of the additions, I think it'll probably wipe them out. I haven't experimented enough to be able to predict the behavior accurately, but I'm pretty confident the answer looks something like "the DOM changes will remain in place briefly but will eventually be destroyed at an arbitrary-seeming, semi-unpredictable time", and nobody wants that.
CheckUser is so tightly coupled with the blocking and recentchanges in functionality in core that it doesn't make much conceptual sense for it to be an extension, IMO. That mini-rant aside, I see two options.
Jan 16 2025
The only browsers we support (looking at Grade C not Grade A, since this is used in CSS-only components) that don't support mask-image are Firefox 49-52. If we bumped the Grade C threshold from Firefox 49 to Firefox 53, we could do this task.
Jan 15 2025
cc @CDanis very interested to hear if you have any ideas / more context here
Jan 13 2025
Recommend running a batch check on all Data: .chart pages currently on Commons before landing this to fix any with errors.
Jan 10 2025
Jan 8 2025
Jan 7 2025
Yes, I meant to tag this as such but forgot
@Ladsgroup Compare the example under "markup structure" (you have to click "Show code" to see the code) for the old version vs the current version. There are three changes:
- The root element (with the cdx-checkboxclass) is now a <div>, instead of a <span>
- A wrapper div (cdx-checkbox__wrapper) was added
- The label structure is more elaborate: instead of a plain <label> tag with text in it, it's now a <div> containing a <label> containing a <span>
Jan 6 2025
Jan 3 2025
To clarify, it behaved as a soft block for me despite the red banner: after jumping through several hoops I was able to override this block and reenable the extension.
Jan 2 2025
I'm not sure that DOMPurify is the right tool for the job here. DOMPurify takes "dirty" HTML and returns cleaned-up HTML. What we're dealing with here is a JSON blob that will be fed into echarts. There's no security vulnerability in the process of parsing JSON itself (even if that JSON was crafted by an attacker), so it seems to me that what we might be worried about here is:
- Our client side code trusts the JSON blob too much, and injects data from the JSON blob directly into the HTML without escaping; or
- There's some sort of bug/vulnerability/poorly designed "feature" in eCharts that injects data directly into the HTML without escaping
Not exactly the same issue but related: I discovered that these data attributes were being URL-encoded instead of using proper HTML escaping. I've submitted an MR for the chart-renderer service to fix this, and a patch in the extension to go with it.