If you don't mind me asking, why did you leave? What do you plan on working on going forward?
If you don't mind me asking, why did you leave? What do you plan on working on going forward?
And yes, it's an LLM that pointed them out.
So, are you saying the security holes don't exist because an LLM found them?
And also a tendency to not have experiencing working on large web apps (I’m talking 100k+ cloc) where issues arise, and why those React engineers made the decisions that they did
• Inserting emoji with my Compose key: some (e.g. U+1F641) get turned into image-backed emoji and then duplicated unless preceded by another image-backed emoji; some (e.g. U+1F928) get ignored and left as normal text.
• If I type an emoji that gets duplicated while inside a link (but not inside bold/italic), one goes where the caret is, and the other goes immediately before the link, and it leaves the caret there.
• The image-backed emoji are incompatible with inline text formatting: if you type them in the middle of formatted text, instead of ending up with the likes of <u>text EMOJI text</u>, you end up with <u>text </u>EMOJI<u> text</u>, and although you can subsequently apply the formatting so that it shows in the debug tree, it doesn’t change the HTML markup (e.g. subscript/superscript/underline/code should certainly be visible, and even italic and bold can change emoji rendering).
• If I select part of a link starting outside the end of a link (that is, go one character past the link and then press the Left arrow key—Firefox has valid caret positions for both inside and outside the start and end of an element, depending on which direction you came from, which my faint recollection was a major trouble point on WebKit many years ago, that you couldn’t do that and so literally couldn’t model various reasonable, kinda like multiple selection which is also Firefox-only and extremely useful on tables) and delete that, instead of just deleting the selected characters, it deletes the entire link. (As above, this seems to be specific to links, not affecting bold/italic.)
• Very early on (before I had done any editing at all) when I tried the time travel feature, I somehow activated the autocomplete popup on the words “The playground” by clicking or something, even though autocomplete was not turned on (I only confirmed that that was what it was, and not a spelling corrector, by later enabling it and typing “the”) and it was supposed to be read-only.
• Resizing table rows and columns is very buggy, with things like the grippies easily getting lost, the table-cell-action-button not updating its position, and it sometimes failing to act on mouse up. (Props for including the functionality, though, as it’s normally overlooked.)
• Clicking in table cells always moves the caret to the start of the cell rather than where you clicked, meaning you have to use arrow keys to get to the right place, and can’t select properly by mouse either.
• Pop-up menus don’t scroll with the document while open.
• Autocomplete popup doesn’t close when you move the caret by mouse, though they will no longer work if you click on them.
• Incidentally, who thought it a good idea to apply `list-style-position: inside`?
And this was from a fairly quick test. I found most of this stuff immediately and would expect to hit most of these issues in real life.
I honestly wish people would try to be less fancy with WYSIWYG components, because the web platform just isn’t well-adapted to it.
I select some text and then try to change the font size. The selection is lost when tapping on the font size menu.
ProseMirror does keep the selection intact.
> // Check for any random auto-added <br> elements, and remove them.
> // These get added by the browser when we undo the above mutations
> // and this can lead to a broken UI.
This made me laugh out loud. Browsers!
Until here our approach looked quite similar. Leave the observer connected during reverts and avoiding double-peocessing using .takeRecords never occurred to me, I always disconnect it. Maybe some of these brs are causing chaos…
well, I am glad that Dominic is honest about it having lots of bigs, so people won't jump at at it.
though, I wish he has a added section on why he ruled out contributing to svelte/vue/solid etc