User Details
- User Since
- Oct 23 2014, 10:14 AM (490 w, 4 d)
- Availability
- Available
- IRC Nick
- divec
- LDAP User
- Unknown
- MediaWiki User
- DChan (WMF) [ Global Accounts ]
Wed, Mar 13
This could be implemented by:
- importing the remote revision and displaying it as a ve.dm.VisualDiff.
- Then, if the user chooses to proceed, converting the remote revision into a single ve.dm.Change that applies to the common base document (=the document at the start of the edit session);
- then rebasing that change against the current document's completeHistory (=the transactions that correspond to the changes during the edit session), before applying it;
- then applying the rebased change.
Thu, Feb 29
We have decided the Editing Team will not use sentencex for the time being as we are not ready to commit to a sentence boundary API. We can revisit this in future as circumstances change.
Oct 20 2023
Issue in the sentencex-js repo: https://github.com/wikimedia/sentencex-js/issues/1
I've taken a look at sentencex-js specifically, which I understand has been ported from the sentencex original written in python. It looks good! There is certainly significant overlap with the Editing Team's UnicodeJS sentencebreak code.
Sep 28 2023
Sep 26 2023
Examining the code's behaviour on the citation placement examples above, we can see that positions ⓿❶❷❸ would be sufficient for all those examples, except the Japanese close bracket, for which the citation placement comes before the Unicode TR29 definition of a sentence boundary would begin.
Patchdemo instance of the above patch set (thanks @DLynch) https://patchdemo.wmflabs.org/wikis/4b31a139ad/w/index.php?title=Douglas_Adams&veaction=edit
Proof-of-concept patch set to surface sentence segmentation in VisualEditor: https://gerrit.wikimedia.org/r/c/VisualEditor/VisualEditor/+/961095
The proof of concept patch set above is probably no good for CI and messy even for local development. It may be better just to fix the upstream bug.
Upstream issue: https://github.com/karma-runner/karma-firefox-launcher/issues/183 . They suggest a workaround of using a custom launcher FirefoxCustom that passes profile: <some-temp-dir>. This works but you have to create the tempdir yourself. Contrary to the discussion there, just setting TMPDIR=/var/tmp in the environment does not seem to work.
Sep 12 2023
Jun 27 2023
Jun 22 2023
Apr 22 2023
Apr 14 2023
The above patch set fixes the case described above. More generally, is it correct that the paste code should pass arbitrary unbalanced content to the TransactionProcessor, and rely on an error being thrown to switch to "safer" processing? Or is that something we wish to change?
Apr 13 2023
After investigating, I think the "Remove does not match insert" errors are caused by actual invalid transactions: see T334677 .
Apr 12 2023
The patch set above fixes the "Unexpected prior attribute value" errors.
Mar 16 2023
This update better detects inserted text, by disregarding HTML tree structure (which isn't very relevant for these purposes).
I think these are good suggestions. I'd also suggest adding an Indic script.
Mar 8 2023
Oh, probably I'm not being clear. I was thinking:
- we want to tag edits that should contain a reference (according to our heuristic)
- regardless whether or not they do contain one
- and regardless whether the reference check UI is deployed
Mar 3 2023
On reflection, I suggest we consider removing requirement 1B ("the new paragraph does not include a reference"), because:
Feb 23 2023
We're currently envisaging two uses for sentence segmentation in Edit Check:
Feb 22 2023
Based on investigations, I believe Change 881705 fixes the likeliest occurrences of this Gboard bug. I don't think it breaks any case that works at the moment, even though it allows the user to experience T330284 (which needs a separate fix).
Technical notes copied from T325129:
Jan 11 2023
Yes, here is a viable fixup for the above case:
- On an input event of inputType 'deleteContentBackward', save the current cursor position (but only if the selection is collapsed).
- If a subsequent keyup event occurs during the same tick, and lands inside a contentEditable=false node, then restore the saved cursor position.
- In any case, clear the saved cursor position at the end of the tick (i.e. using setTimeout).
The fixup has to occur in the keyup event: waiting for the more logical selectionchange event means the soft keyboard has already closed and it's too late.
Jan 10 2023
This appears to happen because English Gboard + Android Chrome lets the cursor land inside a contenteditable=false span. It does not happen with certain other Gboard languages (e.g. Cantonese). Below is a minimal test case.
Jul 29 2022
Change 812093 Patch set 5 handles the <div><br></div> but fails in other cases (e.g. when the native action adds a list item).
Ok, change 812093 triggers the VE Enter handler — which is a big improvement! As it stands, it still leaves a spurious <div><br></div>, into which we can drag the cursor and type text which then doesn't get put into the model (see screenshot). We should check for this spurious div and clean it up — and as a bonus, we can condition triggering the VE Enter handler on finding this div, so that if another IME behaves as we want it to already, then it won't be affected.
Jul 5 2022
The video below shows the bookmarklet used to run undeployed code against a live mediawiki instance:
On a quick test I see a ~5x speedup, testing on 809052 and 909093 above.
Jun 28 2022
It's done because a model change within a ContentBranchNode gets propagated to the view by replacing the entire contents of the CBN, which resets the native selection to the start of the CBN.
Mar 30 2022
How about "topic is renamed"?
Feb 10 2022
Jan 20 2022
Glitch behaviour for the 754986 option
@matmarex coded the approach of styling the link node with "white-space: no-wrap", then adding an inner span styled as "white-space: normal". See here: https://gerrit.wikimedia.org/r/c/VisualEditor/VisualEditor/+/754986/
Dec 22 2021
Dec 10 2021
Confirmed that this happens even with the cursor outside the link cartouche. It happens because the paste is calculated entirely within the DM, and the DM cursor positions do not specify on which side of the annotation boundary they lie.
Nov 9 2021
Some brief points from our conversation just now. It's great that you're looking at this issue early on, so thank you!
Oct 19 2021
Hmm, can't reproduce the behaviour on iOS 12. Can you give a specific minimal example (exactly what content, where to click etc)?
I think the second patch means you may have to tap again sometimes to get into the link, but that's better than not being able to drop the cursor outside the link at all.
Jun 6 2021
Without the toolbars, the interface is less unwieldy and easier to navigate, especially on mobile:
May 23 2021
Mar 16 2021
Hmmm I'm not seeing this as a regression — I get the same behaviour going right back to 2016. Investigating further.
This is due to a Firefox issue. A minimal test case for it is:
Mar 2 2021
Jan 16 2021
Oct 21 2020
If I've understood the meaning of the diagram above correctly, I don't think the fallback case will ever happen — because LanguageConverter will always return output for whichever zh variant is specified.
Jul 2 2020
Further detail (from discussing with @DLynch): it's not clear what document data a top-level wrapper could usefully expose as a Vue-style reactive property.
Apr 24 2020
Ah, i see ... with TreeModifier, pressing Enter at the end of a paragraph leaves that paragraph unchanged (whereas before TreeModifier, it was getting rebuilt entirely). Then it moves the focus into the new paragraph below. That means we're escaping the paragraph without cleaning up the unicorns, which the current code assumes to be impossible.
Mar 18 2020
Mar 10 2020
As discussed, I'll base on https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/DiscussionTools/+/578387/ and use the https://en.wikipedia.org/api/rest_v1/page/lint api.
Feb 15 2020
Jan 28 2020
The table selection update is incorrect, because we're calling tx.translateRange with excludeInsertion=false, but there should always be excludeInsertion=true for a table.
Jan 22 2020
The technique in https://gerrit.wikimedia.org/r/539074 does work. And I've used that patchset a few times now to debug silent errors. But it's perhaps too hacky to merge even for debug mode only (it shadows each jQuery promise with a native promise). Maybe it could be merged but needing specific activation.
Jan 7 2020
Dec 19 2019
Ooh, thanks!
Dec 3 2019
Apologies @sbassett , I judged the patch wasn't particularly revealing but maybe that wasn't really my call. Given it's already up, should we now proceed as we would with a non-security-related UBN?
Dec 2 2019
This patchset should fix ithe security issue: https://gerrit.wikimedia.org/r/553888