dchan (David Chan)
User

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Sunday

  • Clear sailing ahead.

User Details

User Since
Oct 23 2014, 10:14 AM (174 w, 1 d)
Availability
Available
IRC Nick
divec
LDAP User
Unknown
MediaWiki User
DChan (WMF)

Recent Activity

Yesterday

dchan moved T188026: Provide a way to compact multiple transactions into one from Backlog to In progress on the VisualEditor (Current work) board.
Thu, Feb 22, 6:00 PM · Patch-For-Review, VisualEditor (Current work), VisualEditor-DataModel
dchan moved T188026: Provide a way to compact multiple transactions into one from To Triage to Current work on the VisualEditor board.
Thu, Feb 22, 6:00 PM · Patch-For-Review, VisualEditor (Current work), VisualEditor-DataModel
dchan set the point value for T188021: Improve control of resource growth during VisualEditor editing sessions to 0.
Thu, Feb 22, 5:59 PM · Epic, VisualEditor
dchan added a parent task for T188026: Provide a way to compact multiple transactions into one: T188021: Improve control of resource growth during VisualEditor editing sessions.
Thu, Feb 22, 5:59 PM · Patch-For-Review, VisualEditor (Current work), VisualEditor-DataModel
dchan added a subtask for T188021: Improve control of resource growth during VisualEditor editing sessions: T188026: Provide a way to compact multiple transactions into one.
Thu, Feb 22, 5:59 PM · Epic, VisualEditor
dchan created T188026: Provide a way to compact multiple transactions into one.
Thu, Feb 22, 5:58 PM · Patch-For-Review, VisualEditor (Current work), VisualEditor-DataModel
dchan created T188021: Improve control of resource growth during VisualEditor editing sessions.
Thu, Feb 22, 5:30 PM · Epic, VisualEditor
dchan updated subscribers of T187976: Length limit truncation should use the cursor position, not fallible heuristics.
Thu, Feb 22, 5:19 AM · JavaScript, MediaWiki-General-or-Unknown
dchan triaged T187976: Length limit truncation should use the cursor position, not fallible heuristics as Low priority.
Thu, Feb 22, 5:17 AM · JavaScript, MediaWiki-General-or-Unknown
dchan updated subscribers of T187976: Length limit truncation should use the cursor position, not fallible heuristics.

See also the videos that @Catrope posted on T186364 (showing the difference in truncation timing for keyboard paste and mouse paste, the latter being later and therefore easier not to notice):

Thu, Feb 22, 5:16 AM · JavaScript, MediaWiki-General-or-Unknown
dchan created T187976: Length limit truncation should use the cursor position, not fallible heuristics.
Thu, Feb 22, 5:10 AM · JavaScript, MediaWiki-General-or-Unknown

Wed, Feb 21

dchan added a comment to T185546: EventEmitters must behave appropriately if a handler raises an exception.

I like this idea of VisualEditor doing something nice with window.onerror .

Wed, Feb 21, 10:38 AM · OOjs, Patch-For-Review, VisualEditor-DataModel, VisualEditor

Wed, Feb 14

Elitre awarded T56299: (Re-) unify data and metadata a Like token.
Wed, Feb 14, 12:53 PM · MW-1.31-release-notes (WMF-deploy-2018-02-06 (1.31.0-wmf.20)), User-Ryasmeen, VisualEditor-ContentEditable, VisualEditor-DataModel, Epic, VisualEditor, Technical-Debt

Sat, Feb 3

dchan added a comment to T186364: mw.widgets.visibleByteLimit doesn't truncate correctly.

I can confirm that you don't have to have a complex grapheme cluster like a flag to break this: it also happens with single non-BMP codepoints, such as U+282E2 (𨋢).

Sat, Feb 3, 2:12 AM · MW-1.31-release-notes (WMF-deploy-2018-02-27 (1.31.0-wmf.23)), MediaWiki-General-or-Unknown, JavaScript

Thu, Feb 1

dchan updated the task description for T186109: Select all throws an exception (recent regression).
Thu, Feb 1, 2:30 AM · MW-1.31-release-notes (WMF-deploy-2018-02-13 (1.31.0-wmf.21)), VisualEditor-DataModel, User-Ryasmeen, VisualEditor-ContentEditable, Regression, VisualEditor
dchan added a comment to T186109: Select all throws an exception (recent regression).

Ooh, interesting. Minimal case for throwing the error:

Thu, Feb 1, 2:25 AM · MW-1.31-release-notes (WMF-deploy-2018-02-13 (1.31.0-wmf.21)), VisualEditor-DataModel, User-Ryasmeen, VisualEditor-ContentEditable, Regression, VisualEditor

Fri, Jan 26

dchan updated the task description for T185546: EventEmitters must behave appropriately if a handler raises an exception.
Fri, Jan 26, 5:29 PM · OOjs, Patch-For-Review, VisualEditor-DataModel, VisualEditor
dchan added a comment to T185745: Rebaser: A SurfaceSynchronizer sometimes receives newChange before registered/initDoc.

Change 406269 is a workround, not a fix

Fri, Jan 26, 11:38 AM · Patch-For-Review, VisualEditor-DataModel, VisualEditor-ContentEditable, VisualEditor
dchan updated the task description for T185747: SurfaceSynchronizer: nameChange is emitted twice on connect.
Fri, Jan 26, 11:21 AM · User-Ryasmeen, MW-1.31-release-notes (WMF-deploy-2018-02-06 (1.31.0-wmf.20)), VisualEditor-DataModel, VisualEditor-ContentEditable, VisualEditor
dchan created T185747: SurfaceSynchronizer: nameChange is emitted twice on connect.
Fri, Jan 26, 11:15 AM · User-Ryasmeen, MW-1.31-release-notes (WMF-deploy-2018-02-06 (1.31.0-wmf.20)), VisualEditor-DataModel, VisualEditor-ContentEditable, VisualEditor
dchan updated the task description for T185716: Rebaser: onDisconnect does not uninitialize sufficiently.
Fri, Jan 26, 10:43 AM · MW-1.31-release-notes (WMF-deploy-2018-02-06 (1.31.0-wmf.20)), User-Ryasmeen, VisualEditor-ContentEditable, VisualEditor-DataModel, VisualEditor
dchan created T185745: Rebaser: A SurfaceSynchronizer sometimes receives newChange before registered/initDoc.
Fri, Jan 26, 10:16 AM · Patch-For-Review, VisualEditor-DataModel, VisualEditor-ContentEditable, VisualEditor

Thu, Jan 25

dchan created T185716: Rebaser: onDisconnect does not uninitialize sufficiently.
Thu, Jan 25, 7:14 PM · MW-1.31-release-notes (WMF-deploy-2018-02-06 (1.31.0-wmf.20)), User-Ryasmeen, VisualEditor-ContentEditable, VisualEditor-DataModel, VisualEditor

Jan 23 2018

dchan created T185556: SurfaceSynchronizer doesn't propagate annotations first seen in a reverted change.
Jan 23 2018, 7:54 AM · VisualEditor-ContentEditable, VisualEditor-DataModel, VisualEditor

Jan 22 2018

dchan added a comment to T185546: EventEmitters must behave appropriately if a handler raises an exception.

Steps to reproduce (one specific example of data corruption):

Jan 22 2018, 11:28 PM · OOjs, Patch-For-Review, VisualEditor-DataModel, VisualEditor
dchan added a comment to T185546: EventEmitters must behave appropriately if a handler raises an exception.

That's true (I was imagining the callback only being used for debugging purposes).

Jan 22 2018, 11:28 PM · OOjs, Patch-For-Review, VisualEditor-DataModel, VisualEditor
dchan created T185546: EventEmitters must behave appropriately if a handler raises an exception.
Jan 22 2018, 11:11 PM · OOjs, Patch-For-Review, VisualEditor-DataModel, VisualEditor

Jan 20 2018

dchan created T185395: SurfaceSynchronizer: outdated author selections can leak.
Jan 20 2018, 8:07 PM · User-Ryasmeen, MW-1.31-release-notes (WMF-deploy-2018-02-06 (1.31.0-wmf.20)), VisualEditor-DataModel, VisualEditor-ContentEditable, VisualEditor

Dec 7 2017

dchan added a comment to T182270: Format tools (bold, italic, etc.) in toolbar don't work (regression in wmf.11).

Oh, command.execute( surface ) is happening twice, and it so happens that the commands are self-inverse (toggling).

Dec 7 2017, 3:35 AM · Verified-in-Phase2, Verified-in-Phase0, Verified, MW-1.31-release-notes (WMF-deploy-2017-12-05 (1.31.0-wmf.11)), User-Ryasmeen, Patch-For-Review, VisualEditor-EditingTools, VisualEditor

Nov 26 2017

dchan added a comment to T179574: List editing exception: TypeError: Cannot read property 'getSurface' of null.

I think this is happening because zombie CE nodes (that have been splice-removed) are still listening to events.

Nov 26 2017, 6:43 AM · Verified, User-Ryasmeen, MW-1.31-release-notes (WMF-deploy-2017-12-05 (1.31.0-wmf.11)), VisualEditor-ContentEditable, VisualEditor

Oct 9 2017

dchan added a comment to T177517: [regression wmf.2] Typing in a newly created empty <pre> doesn't work.

I'm unable to reproduce this. I've tried:

Oct 9 2017, 1:19 AM · VisualEditor

Oct 7 2017

dchan added a comment to T175826: Fix RTL on text input fields.

And there's already a method in Language.php to recognize the directionality of the first character of a string...
[...]
It's a php method, but we can migrate it to JS fairly easily - the regexp is the same, and @dchan created a javascript unicode library, if I remember correctly, as well, that could help here if we want to go that direction.

Oct 7 2017, 8:36 PM · WMDE-Fundraising-Funban-2, I18n, RTL, WMDE-Fundraising-Sprint-12, Advanced-Search, TCB-Team
dchan added a comment to T176104: jQuery.IME not working in VisualEditor/2017 wikitext editor.

This was introduced in 37d0c27478983c9607cd85fdc6551b16a9bbb3a5 - an exception is thrown whenever jQuery.IME attempts to do any text replacement, and the timing of the exception means that the document ends up with both the substitution and the typed character text.

Oct 7 2017, 12:21 PM · User-Ryasmeen, MW-1.31-release-notes (WMF-deploy-2017-10-10 (1.31.0-wmf.3)), VisualEditor-MediaWiki-2017WikitextEditor, UniversalLanguageSelector, VisualEditor
dchan renamed T176104: jQuery.IME not working in VisualEditor/2017 wikitext editor from ULS not working properly for Indic wikis in visual editor/2017 wikitext editor to jQuery.IME not working in VisualEditor/2017 wikitext editor.
Oct 7 2017, 12:14 PM · User-Ryasmeen, MW-1.31-release-notes (WMF-deploy-2017-10-10 (1.31.0-wmf.3)), VisualEditor-MediaWiki-2017WikitextEditor, UniversalLanguageSelector, VisualEditor

Sep 25 2017

dchan claimed T176453: VisualEditor IME test failing in CI on pull-through, but not locally or in the source repo?.
Sep 25 2017, 9:37 AM · MW-1.31-release-notes (WMF-deploy-2017-09-26 (1.31.0-wmf.1)), User-Ryasmeen, Patch-For-Review, Continuous-Integration-Config, VisualEditor-ContentEditable, VisualEditor
dchan added a comment to T176453: VisualEditor IME test failing in CI on pull-through, but not locally or in the source repo?.

OK, I have tested a rewritten version of ve.ce.TestRunner#changeText on the CI environment with Filibuster ( https://gerrit.wikimedia.org/r/#/c/379557/23/ ), and it looks like it works. So now we just need to put it into VE standalone then pull that through into VE-MW. And then see whether I'm completely wrong or not :)

Sep 25 2017, 9:14 AM · MW-1.31-release-notes (WMF-deploy-2017-09-26 (1.31.0-wmf.1)), User-Ryasmeen, Patch-For-Review, Continuous-Integration-Config, VisualEditor-ContentEditable, VisualEditor
dchan added a comment to T176453: VisualEditor IME test failing in CI on pull-through, but not locally or in the source repo?.

As I've noted in gerrit, the Filibuster dump at patchset https://gerrit.wikimedia.org/r/#/c/379557/21/ on the CI system differs from the one I get on my local machine. At the very start of the first IME test, when "गा" is inserted, the CI system has

Sep 25 2017, 3:23 AM · MW-1.31-release-notes (WMF-deploy-2017-09-26 (1.31.0-wmf.1)), User-Ryasmeen, Patch-For-Review, Continuous-Integration-Config, VisualEditor-ContentEditable, VisualEditor

Sep 24 2017

dchan added a comment to T176142: Please add David Chan back to ldap/wmf.

Thank you, that's working now - and you're right, that's exactly what happened in my case, I first contributed as a volunteer.

Sep 24 2017, 8:31 AM · Patch-For-Review, LDAP-Access-Requests

Sep 19 2017

dchan added a comment to T175943: [Regression wmf.18] Cannot add any image with VE in Firefox, VE crashes upon clicking on "Insert".

I think this is essentially the same as T175852 (which https://gerrit.wikimedia.org/r/378378/ fixes)

Sep 19 2017, 1:46 AM · Verified, User-Ryasmeen, VisualEditor

Sep 18 2017

dchan added a comment to T176142: Please add David Chan back to ldap/wmf.

Hi, I still don't see +2 on https://gerrit.wikimedia.org/r/7738/ , even after logging in afresh.

Sep 18 2017, 11:58 PM · Patch-For-Review, LDAP-Access-Requests

Sep 14 2017

dchan added a comment to T175852: Firefox throws an exception every time enter is pressed.

The superficial reason for the exception is that ve.ce.LinearSelection#getNodeClientRectFromRange fails if the range lies in the middle of an empty <p></p>.

Sep 14 2017, 2:24 AM · User-Ryasmeen, Patch-For-Review, Regression, VisualEditor-ContentEditable, VisualEditor

Sep 13 2017

dchan added a comment to T175828: [wmf.18] VisualEditor accidentally requires ES6 syntax support (for editing and visual diffs).

We should separate rebaser server and client code, and ensure there is no ES6-ness in the client. ve.dm.TestRebaseClient.prototype.deliverOne also contains ES6 code. Pinging @dchan

Sep 13 2017, 4:01 PM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, Browser-Support-Internet-Explorer, VisualEditor, VisualEditor-MediaWiki

Sep 12 2017

dchan added a comment to T175548: Exception when unbulleting the final bullet of a list.

It looks like we were leaving zombie connections to nodes long ago torn down, which then reacted badly to TreeModifier causing methods to be called on their non-existent root.

Sep 12 2017, 5:07 PM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, VisualEditor-ContentEditable, VisualEditor

Sep 11 2017

dchan created T175548: Exception when unbulleting the final bullet of a list.
Sep 11 2017, 11:48 AM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, VisualEditor-ContentEditable, VisualEditor

Sep 5 2017

dchan updated the task description for T175059: Insertions with references too easily cause rebase conflicts.
Sep 5 2017, 7:13 PM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, VisualEditor-DataModel, VisualEditor
dchan renamed T175059: Insertions with references too easily cause rebase conflicts from Insertions with references too easily causes rebase conflicts to Insertions with references too easily cause rebase conflicts.
Sep 5 2017, 7:12 PM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, VisualEditor-DataModel, VisualEditor
dchan created T175059: Insertions with references too easily cause rebase conflicts.
Sep 5 2017, 7:04 PM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, VisualEditor-DataModel, VisualEditor

Aug 30 2017

dchan added a comment to T174464: Typing enter to complete unicode character entry also adds a line break.

On Firefox 53 for Ubuntu 17.04 I get essentially the same log as @Esanders with the following keyboard layouts:

  • English (UK, extended WinKeys)
  • English (US)
  • English (Dvorak)
Aug 30 2017, 10:20 AM · VisualEditor-ContentEditable, VisualEditor

Aug 29 2017

dchan added a comment to T174464: Typing enter to complete unicode character entry also adds a line break.

Hmm, that <br> stuff in the log is characteristic of Firefox ... I'll take a look to see what could be going on.

Aug 29 2017, 8:06 PM · VisualEditor-ContentEditable, VisualEditor

Aug 15 2017

dchan updated subscribers of T162762: ve.dm.TransactionProcessor: Restructure DM tree branches using existing nodes, instead of rebuilding them afresh.
Aug 15 2017, 10:14 PM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, Technical-Debt, VisualEditor-ContentEditable, VisualEditor-DataModel, VisualEditor

Jun 19 2017

dchan added a comment to T168221: ContentTranslation: integrate VisualEditor.

As mentioned in gerrit, the translation unit handling needs updating to take advantage of the rewritten transaction processing in VE.

Jun 19 2017, 6:56 AM · Epic, VisualEditor, ContentTranslation
dchan created T168221: ContentTranslation: integrate VisualEditor.
Jun 19 2017, 6:19 AM · Epic, VisualEditor, ContentTranslation

Jun 5 2017

dchan added a comment to T167027: Re-fix "Inserting a reference sometimes breaks horribly (due to trees in TransactionProcessor?)".

Thanks!

Jun 5 2017, 2:57 PM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, VisualEditor-DataModel, VisualEditor

Apr 29 2017

dchan claimed T162761: Introduce DM events for "a node of this type was inserted/deleted/modified"?.
Apr 29 2017, 3:33 AM · MW-1.31-release-notes (WMF-deploy-2017-10-17 (1.31.0-wmf.4)), User-Ryasmeen, Patch-For-Review, VisualEditor-DataModel, VisualEditor

Apr 12 2017

dchan added a comment to T162762: ve.dm.TransactionProcessor: Restructure DM tree branches using existing nodes, instead of rebuilding them afresh.

Processing transactions - two pointer method for tree modification (Thanks to @Catrope for input on this)

Apr 12 2017, 2:24 AM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, Technical-Debt, VisualEditor-ContentEditable, VisualEditor-DataModel, VisualEditor
dchan added a comment to T162761: Introduce DM events for "a node of this type was inserted/deleted/modified"?.

Interesting question. On the tree side of things, I've been considering the shortcomings of detecting ancestry modifications (e.g. see https://gerrit.wikimedia.org/r/#/c/345955/4/src/ce/nodes/ve.ce.ContentEditableNode.js ). It isn't a huge issue right now, because we rebuild branches (ve.dm.Document#rebuildNodes) rather than altering them, so the only ancestry modifications we support are birth and death. But if in the future we change ve.dm.TransactionProcessor to be able to graft branches (see T162762 ), it will become more important.

Apr 12 2017, 2:18 AM · MW-1.31-release-notes (WMF-deploy-2017-10-17 (1.31.0-wmf.4)), User-Ryasmeen, Patch-For-Review, VisualEditor-DataModel, VisualEditor
dchan created T162762: ve.dm.TransactionProcessor: Restructure DM tree branches using existing nodes, instead of rebuilding them afresh.
Apr 12 2017, 2:16 AM · MW-1.30-release-notes (WMF-deploy-2017-09-12_(1.30.0-wmf.18)), User-Ryasmeen, Technical-Debt, VisualEditor-ContentEditable, VisualEditor-DataModel, VisualEditor

Apr 9 2017

dchan created T162537: Restrict the class to which a mixin may be applied.
Apr 9 2017, 4:13 AM · OOjs

Apr 1 2017

dchan created T161944: Disabling a ve.ce.DocumentNode leaves descendant ActiveNodes enabled.
Apr 1 2017, 6:11 AM · User-Ryasmeen, MW-1.29-release (WMF-deploy-2017-04-25_(1.29.0-wmf.21)), VisualEditor-ContentEditable, VisualEditor

Mar 28 2017

dchan created T161611: Add serialize/deserialize methods to ve.dm.Transaction and ve.dm.IndexValueStore.
Mar 28 2017, 3:12 PM · Technical-Debt, User-Ryasmeen, MW-1.29-release (WMF-deploy-2017-04-04_(1.29.0-wmf.19)), VisualEditor-DataModel, VisualEditor

Mar 18 2017

dchan created T160839: Annotations don't merge properly, because their index hashes include original DOM element contents.
Mar 18 2017, 8:21 PM · MW-1.29-release (WMF-deploy-2017-03-28_(1.29.0-wmf.18)), User-Ryasmeen, VisualEditor-DataModel, VisualEditor

Feb 27 2017

dchan added a comment to T154195: Find/Replace (in-editor text search) should be diacritic-insensitive.

Without commenting on interface design (which isn't really my fortệ), I want to point out that this is one of the world's Contentious Issues. See https://bugs.chromium.org/p/chromium/issues/detail?id=71741 for example. So while some may disagree with this implementation, I think we should recognise that no amount of process is likely to resolve that disagreement.

Feb 27 2017, 11:46 PM · MW-1.29-release (WMF-deploy-2017-03-07_(1.29.0-wmf.15)), Design, VisualEditor-EditingTools, VisualEditor
dchan added a comment to T154195: Find/Replace (in-editor text search) should be diacritic-insensitive.

It wouldn't be so simple to enter an exact term containing accents unsupported by the user's keyboard. For example, an English Wikipedia editor may want to search for Paul Erdős or Owain Glyndŵr without even knowing (or caring) what accents their names contain, let alone knowing how to type them.

Feb 27 2017, 8:07 PM · MW-1.29-release (WMF-deploy-2017-03-07_(1.29.0-wmf.15)), Design, VisualEditor-EditingTools, VisualEditor

Feb 17 2017

dchan added a subtask for T112880: ContentTranslation alignment issues (tracking): T158435: Consider aligning sections by offsetTop directly, rather than trying to equalize cumulative height.
Feb 17 2017, 5:39 PM · Tracking, ContentTranslation
dchan added a parent task for T158435: Consider aligning sections by offsetTop directly, rather than trying to equalize cumulative height: T112880: ContentTranslation alignment issues (tracking).
Feb 17 2017, 5:38 PM · ContentTranslation
dchan created T158435: Consider aligning sections by offsetTop directly, rather than trying to equalize cumulative height.
Feb 17 2017, 5:37 PM · ContentTranslation

Feb 10 2017

dchan added a comment to T155928: Visual editor table editing conflicts with IME.

Their selections are much more faked than VisualEditor's - when inputting text, we have a real (native) cursor inside the ContentEditable block node where the text will live, whereas they don't.

Feb 10 2017, 8:53 AM · MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-Tables, Chinese-Sites, VisualEditor
dchan closed T155928: Visual editor table editing conflicts with IME as Declined.

Change 336648 (which I've just merged) makes Tab step directly into the next cell. So you still get this problem, but only once when editing multiple adjacent cells.

Feb 10 2017, 12:46 AM · MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-Tables, Chinese-Sites, VisualEditor

Feb 8 2017

dchan created T157595: Store metadata as block nodes in the main data list.
Feb 8 2017, 6:46 PM · Technical-Debt, Patch-For-Review, VisualEditor-DataModel, VisualEditor-ContentEditable, VisualEditor

Feb 2 2017

dchan added a comment to T157019: Unicorn does not get destroyed when arrowing out of a paragraph, causes weird arrow key behavior.

I420c14f56187bb881c4b636a746d4383d9ba3146 changed the SurfaceObserver logic so that branch node changes are not always signaled (see https://gerrit.wikimedia.org/r/#/c/241144/15/src/ce/ve.ce.SurfaceObserver.js,sidebyside ), causing this behaviour.

Feb 2 2017, 1:16 PM · Verified-in-Phase0, Verified, MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-ContentEditable, VisualEditor
dchan added a comment to T157019: Unicorn does not get destroyed when arrowing out of a paragraph, causes weird arrow key behavior.

Change 335641 makes backwards cursoring subject to this bug too, as it should be :-)

Feb 2 2017, 12:56 PM · Verified-in-Phase0, Verified, MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-ContentEditable, VisualEditor
dchan added a comment to T157019: Unicorn does not get destroyed when arrowing out of a paragraph, causes weird arrow key behavior.

It looks like this is due to the ordering in ve.ce.Surface#cleanupUnicorns -- it does this.moveModelCursor( 1 ) and then this.renderSelectedContentBranchNode() . The latter only removes the unicorns if the moveModelCursor didn't change branch node.

Feb 2 2017, 12:36 PM · Verified-in-Phase0, Verified, MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-ContentEditable, VisualEditor

Jan 23 2017

dchan added a comment to T155928: Visual editor table editing conflicts with IME.

From the filibuster log, I think it's likely we can't fix this :( It seems that when we change the selection in response to compositionStart, the immediate reaction of the IME in question is to close the candidate window (and hence effectively forget the first keystroke).

Jan 23 2017, 9:25 AM · MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-Tables, Chinese-Sites, VisualEditor
dchan added a comment to T155928: Visual editor table editing conflicts with IME.

Filibuster log of typing 'n' on Chrome 55 on Windows 8 with Microsoft Japanese IME

. Note how the wide 'n' disappears just before step 12426 (a second "input" event, even though only one key was pressed).

Jan 23 2017, 7:05 AM · MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-Tables, Chinese-Sites, VisualEditor
dchan added a comment to T155928: Visual editor table editing conflicts with IME.

I can reproduce the behaviour on Chrome 55 on Windows 8 with Microsoft Japanese IME. On that IME+browser, the event sequence from typing 'n' then 'i' is as below. Note that 'compositionstart' is the first thing we see (apart from the fake keydown).

Jan 23 2017, 6:32 AM · MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-Tables, Chinese-Sites, VisualEditor
dchan added a comment to T155928: Visual editor table editing conflicts with IME.

Thanks for the report! And thanks especially for the very helpful GIF. What browser are you using?

Jan 23 2017, 6:00 AM · MW-1.29-release (WMF-deploy-2017-02-14_(1.29.0-wmf.12)), VisualEditor-Tables, Chinese-Sites, VisualEditor

Jan 10 2017

dchan created T155021: Document coding patterns followed to help Javascript optimisation.
Jan 10 2017, 6:24 PM · Documentation, VisualEditor-Performance, VisualEditor

Dec 28 2016

dchan created T154231: BlockquoteNode should not be a ContentBranchNode.
Dec 28 2016, 11:28 AM · Technical-Debt, Patch-For-Review, VisualEditor-CopyPaste, VisualEditor-ContentEditable, VisualEditor

Oct 21 2016

dchan updated the task description for T52098: Ordered application of annotations to avoid fragmentation (e.g. ''[[Foo|Fo]]''[[Foo|o]]).
Oct 21 2016, 12:17 AM · Epic, VisualEditor, VisualEditor-DataModel
dchan added a comment to T126022: ve.dm.SurfaceFragment#insertContent: Annotate inserted content correctly.

See also T52098: Ordered application of annotations to avoid fragmentation (e.g. ''[[Foo|Fo]]''[[Foo|o]]) (Thanks @Jdforrester-WMF for a whole load of useful examples on that task)

Oct 21 2016, 12:12 AM · Technical-Debt, VisualEditor

Oct 20 2016

dchan updated the task description for T126022: ve.dm.SurfaceFragment#insertContent: Annotate inserted content correctly.
Oct 20 2016, 11:59 PM · Technical-Debt, VisualEditor
dchan added a comment to T126022: ve.dm.SurfaceFragment#insertContent: Annotate inserted content correctly.
Oct 20 2016, 11:57 PM · Technical-Debt, VisualEditor
dchan added a comment to T89575: Associate non-body content such as annotations and talk to a location in the article.

Hey, can we use a different word from "annotations" here - say "remarks" or something?

Oct 20 2016, 11:46 PM · Epic, Collaboration-Team-Triage, VisualEditor, StructuredDiscussions
dchan added a comment to T147896: Annotations in VisualEditor.

This is a great topic for discussion! But please can we call it something other than "Annotations"? How about "Remarks"?

Oct 20 2016, 11:31 PM · MediaWiki-extensions-Annotator, VisualEditor, Wikimedia-Developer-Summit (2017)

Oct 9 2016

dchan closed T113361: Augment ve.Range with annotation boundary side information as Declined.

I've come to the conclusion that this is not realistically achieveable, in part because of browsers don't stably preserve annotation order (see https://bugs.chromium.org/p/chromium/issues/detail?id=505683 ) or cursor boundary side (which is why since rGVEDc04d8c0b9d0bec52cd95bfa0b533b6b97e8ca23a we've treated the browser-applied annotations as canonical).

Oct 9 2016, 2:20 AM · VisualEditor-DataModel, Technical-Debt, Epic, VisualEditor-ContentEditable, VisualEditor

Oct 4 2016

dchan added a comment to T147304: On mobile, cursoring off a focusable node fails.

With 313997 merged, the second problem now presents: at step 4, the browser is left with a fake (deactivated) cursor where it should have a native selection. This means that further arrow key presses have no effect.

Oct 4 2016, 4:41 PM · Patch-For-Review, VisualEditor-CopyPaste, VisualEditor-ContentEditable, VisualEditor
dchan created T147304: On mobile, cursoring off a focusable node fails.
Oct 4 2016, 12:30 PM · Patch-For-Review, VisualEditor-CopyPaste, VisualEditor-ContentEditable, VisualEditor

Sep 17 2016

dchan created T145940: Rename ve.dm.AnnotationSet and document it better.
Sep 17 2016, 6:47 PM · Technical-Debt, VisualEditor-DataModel, VisualEditor
dchan created T145938: Test selections without relying on a ve.dm.Surface select event listener.
Sep 17 2016, 5:15 PM · MW-1.28-release (WMF-deploy-2016-10-04_(1.28.0-wmf.21)), VisualEditor-ContentEditable, VisualEditor

Aug 24 2016

dchan updated the task description for T142029: Publish VisualEditor FY2015-16 Retro.
Aug 24 2016, 7:18 AM · User-JAufrecht, Contributors-Team

Aug 17 2016

dchan added a comment to T94890: RFC: API for retrieval and saving of top-level HTML elements / sections by element ID.

We talked about doing this by changing the API so that the replace value is no longer a string, but instead a list, each element of which is either a string or an { id: 'mwXXX' } object, like this:

{
    mwABC: [ 'foo', { id: 'mwDEF' }, 'bar', ... ],
    mwBBB: ...,
}

In this example, the prior text for section 'mwABC' is to be replaced by 'foo' + ( the prior text for section 'mwDEF' ) + 'bar' .

Aug 17 2016, 10:25 PM · Patch-For-Review, Services-next, RESTBase, Parsoid, RESTBase-API, VisualEditor-Performance, VisualEditor
dchan added a comment to T143261: Paste identical annotated content into (end of?) an annotation serialises very poorly because it gets double-annotated.

I think this goes back a long way (I see this same behaviour in revisions from 2014).

Aug 17 2016, 9:22 PM · User-Ryasmeen, MW-1.29-release (WMF-deploy-2017-03-28_(1.29.0-wmf.18)), VisualEditor, VisualEditor-ContentEditable, VisualEditor-CopyPaste

Aug 12 2016

dchan created T142885: Can step out of unicorn at end of paragraph.
Aug 12 2016, 11:08 PM · VisualEditor-ContentEditable, VisualEditor

Aug 11 2016

dchan updated subscribers of T142754: Applying an insertion annotation fails at the beginning of a block.
Aug 11 2016, 9:25 PM · MW-1.28-release (WMF-deploy-2016-08-16_(1.28.0-wmf.15)), VisualEditor-ContentEditable, VisualEditor
dchan created T142754: Applying an insertion annotation fails at the beginning of a block.
Aug 11 2016, 9:24 PM · MW-1.28-release (WMF-deploy-2016-08-16_(1.28.0-wmf.15)), VisualEditor-ContentEditable, VisualEditor

Aug 9 2016

dchan added a comment to T140978: [Regression] Pasting into an insertion annotation throws an exception.

Change 303505 kills the insertion annotation on paste. I think that's completely fine.

Aug 9 2016, 2:44 PM · MW-1.28-release (WMF-deploy-2016-08-09_(1.28.0-wmf.14)), VisualEditor-CopyPaste, Regression, VisualEditor

Aug 5 2016

dchan created T142245: Apply inserted text annotations on top of the background annotation stack, not underneath.
Aug 5 2016, 6:51 PM · MW-1.29-release (WMF-deploy-2016-11-01_(1.29.0-wmf.1)), VisualEditor-DataModel, VisualEditor-CopyPaste, VisualEditor-ContentEditable, VisualEditor

Aug 4 2016

dchan added a comment to T123608: In Chromium, cursoring jumps over references and some extra characters.

Change 303008 just changes display:none to font-size:0 . In theory this could have an impact on bidi cursoring in some browser. Therefore I have tested references at bidi text offsets as shown below:

Aug 4 2016, 10:31 PM · MW-1.28-release (WMF-deploy-2016-08-09_(1.28.0-wmf.14)), Patch-For-Review, Cite, VisualEditor-ContentEditable, VisualEditor
dchan added a comment to T123608: In Chromium, cursoring jumps over references and some extra characters.

This seems to be a problem due to Chromium's position normalization interacting badly with its ce=false handling (similar to https://bugs.chromium.org/p/chromium/issues/detail?id=440877 ).

Aug 4 2016, 8:58 PM · MW-1.28-release (WMF-deploy-2016-08-09_(1.28.0-wmf.14)), Patch-For-Review, Cite, VisualEditor-ContentEditable, VisualEditor
dchan renamed T123608: In Chromium, cursoring jumps over references and some extra characters from Cursoring jumps over references and some extra characters to In Chromium, cursoring jumps over references and some extra characters.
Aug 4 2016, 8:48 PM · MW-1.28-release (WMF-deploy-2016-08-09_(1.28.0-wmf.14)), Patch-For-Review, Cite, VisualEditor-ContentEditable, VisualEditor