Page MenuHomePhabricator

wikEd doesn't update #wpTextbox1 before switching to VE so changes are lost
Closed, ResolvedPublic8 Estimated Story Points

Description

Sub task of T102398, but not really a blocker.

Event Timeline

Ah, with about 291k enwiki users :/

We'll probably need a pre-switch event/hook.

Jdforrester-WMF set the point value for this task to 8.
Jdforrester-WMF moved this task from To Triage to TR1: Releases on the VisualEditor board.

I seem to recall the issue with mw.hook was that it ran hook functions asynchronously... Maybe we can trigger an event on wpTextbox1 like wikiEditor-toolbar-doneInitialSections, and have wikEd detect that and call wikEd.UpdateTextarea()?
Would have to cover all of these:

modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.init.js: var wikitext = $( '#wpTextbox1' ).val(),
modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.init.js: initialWikitext = $( '#wpTextbox1' ).val();
modules/ve-mw/init/ve.init.mw.ArticleTargetLoader.js: $( '#wpTextbox1' ).val() &&
modules/ve-mw/init/ve.init.mw.ArticleTargetLoader.js: wikitext: $( '#wpTextbox1' ).val(),

Change 295444 had a related patch set uploaded (by Alex Monk):
Trigger a custom event on #wpTextbox1 when we need to get the latest wikitext out of it

https://gerrit.wikimedia.org/r/295444

Thanks to @Krinkle, PS2 replaces the original events-based idea with something that gadgets can handle without even having to implement anything VE-specific. For wikEd it could look something like this:

$( '#wpTextbox1' ).textSelection(
	'register',
	{
		getContents: function () {
			wikEd.UpdateTextarea();
			return $( this ).val();
		}
	}
)

Change 295444 merged by jenkins-bot:
Use .textSelection( 'getContents' ) instead of .val() to get the value of #wpTextbox1

https://gerrit.wikimedia.org/r/295444

Jdforrester-WMF subscribed.

So now the gadget needs updating on enwiki (and anywhere else?), and then we can declare this done?

It turns out there are rather a lot of wikis with this gadget or some variation thereof:

1afwiki MediaWiki:Gadget-wikEd.js
2arwiki MediaWiki:Gadget-wikEd.js
3arwikisource MediaWiki:Gadget-wikEd.js
4arwikiversity MediaWiki:Gadget-wikEd.js
5aswiki MediaWiki:Gadget-wikEd.js
6aswikisource MediaWiki:Gadget-wikEd.js
7azbwiki MediaWiki:Gadget-wikEd.js
8azbwiki MediaWiki:WikEd.js
9azwiki MediaWiki:Gadget-wikEd.js
10bgwiki MediaWiki:Gadget-wikEd.js
11bgwikiquote MediaWiki:Gadget-wikEd.js
12bgwikisource MediaWiki:Gadget-wikEd.js
13bhwiki MediaWiki:Gadget-wikEd.js
14bnwiki MediaWiki:Gadget-wikEd.js
15bnwikibooks MediaWiki:Gadget-wikEd.js
16bnwikisource MediaWiki:Gadget-wikEd.js
17bnwiktionary MediaWiki:Gadget-wikEd.js
18bpywiki MediaWiki:Gadget-wikEd.js
19brwikimedia MediaWiki:Gadget-wikEd.js
20cawiki MediaWiki:Gadget-wikEd.js
21cawikinews MediaWiki:Gadget-wikEd.js
22dewiki MediaWiki:Gadget-wikEd.js
23dewikibooks MediaWiki:Gadget-wikEd.js
24dewikisource MediaWiki:Gadget-wikEd.js
25dewikiversity MediaWiki:Gadget-wikEd.js
26dewikivoyage MediaWiki:Gadget-wikEd.js
27dsbwiki MediaWiki:Gadget-WikEd.js
28elwikiversity MediaWiki:Gadget-wikEd.js
29enwiki MediaWiki:Gadget-wikEd.js
30enwikivoyage MediaWiki:Gadget-wikEd.js
31eowiki MediaWiki:Gadget-WikEd.js
32eswiki MediaWiki:Gadget-wikEd.js
33eswikibooks MediaWiki:Gadget-wikEd.js
34fawiki MediaWiki:Gadget-wikEd.js
35fawiki MediaWiki:WikEd.js
36fawikivoyage MediaWiki:Gadget-wikEd.js
37fawikivoyage MediaWiki:WikEd.js
38fawiktionary MediaWiki:Gadget-wikEd.js
39fawiktionary MediaWiki:WikEd.js
40fiwiki MediaWiki:Gadget-wikEd.js
41frwiki MediaWiki:Gadget-WikEd.js
42frwikibooks MediaWiki:Gadget-WikEd.js
43frwikisource MediaWiki:Gadget-WikEd.js
44frwiktionary MediaWiki:Gadget-WikEd.js
45gagwiki MediaWiki:Gadget-wikEd.js
46glwiki MediaWiki:Gadget-wikEd.js
47glwikibooks MediaWiki:Gadget-wikEd.js
48glwikiquote MediaWiki:Gadget-wikEd.js
49glwikisource MediaWiki:Gadget-wikEd.js
50gomwiki MediaWiki:Gadget-wikEd.js
51guwiki MediaWiki:Gadget-wikEd.js
52guwikiquote MediaWiki:Gadget-wikEd.js
53hiwiki MediaWiki:Gadget-wikEd.js
54hrwiki MediaWiki:Gadget-wikEd.js
55hrwikiquote MediaWiki:Gadget-wikEd.js
56hrwikisource MediaWiki:Gadget-wikEd.js
57hsbwiki MediaWiki:Gadget-WikEd.js
58huwiki MediaWiki:Gadget-wikEd.js
59huwikinews MediaWiki:Gadget-wikEd.js
60huwikiquote MediaWiki:Gadget-wikEd.js
61huwikisource MediaWiki:Gadget-wikEd.js
62huwiktionary MediaWiki:Gadget-wikEd.js
63ilowiki MediaWiki:Gadget-wikEd.js
64itwiki MediaWiki:Gadget-WikEd.js
65itwikibooks MediaWiki:Gadget-Wiked.js
66itwikisource MediaWiki:Gadget-WikEd.js
67itwikiversity MediaWiki:Gadget-WikEd.js
68itwikivoyage MediaWiki:Gadget-wikEd.js
69itwiktionary MediaWiki:Gadget-Wiked.js
70jawiki MediaWiki:Gadget-wikEd.js
71jawikibooks MediaWiki:Gadget-wikEd.js
72jawikiversity MediaWiki:Gadget-wikEd.js
73jawiktionary MediaWiki:Gadget-wikEd.js
74kkwiki MediaWiki:Gadget-wikEd.js
75klwiki MediaWiki:Gadget-wikEd.js
76kmwiki MediaWiki:Gadget-wikEd.js
77kowiki MediaWiki:Gadget-wikEd.js
78kowikiquote MediaWiki:Gadget-wikEd.js
79kowiktionary MediaWiki:Gadget-wikEd.js
80kshwiki MediaWiki:Gadget-wikEd.js
81kuwiki MediaWiki:Gadget-wikEd.js
82ltwiki MediaWiki:Gadget-wikEd.js
83ltwiktionary MediaWiki:Gadget-wikEd.js
84lvwiki MediaWiki:Gadget-wikEd.js
85maiwiki MediaWiki:Gadget-wikEd.js
86metawiki MediaWiki:Gadget-wikEd.js
87minwiki MediaWiki:Gadget-wikED.js
88mkwiki MediaWiki:Gadget-wikEd.js
89mkwikisource MediaWiki:Gadget-wikEd.js
90mlwiki MediaWiki:Gadget-wikEd.js
91mswiki MediaWiki:Gadget-wikEd.js
92mwlwiki MediaWiki:Gadget-wikEd.js
93newiki MediaWiki:Gadget-wikEd.js
94nlwiktionary MediaWiki:Gadget-wikEd.js
95nnwiki MediaWiki:Gadget-wikEd.js
96nowikisource MediaWiki:Gadget-wikEd.js
97ocwiki MediaWiki:Gadget-WikEd.js
98orwiki MediaWiki:Gadget-wikEd.js
99outreachwiki MediaWiki:Gadget-wikEd.js
100piwiki MediaWiki:Gadget-wikEd.js
101plwiki MediaWiki:Gadget-wikEd.js
102plwikibooks MediaWiki:Gadget-wikEd.js
103plwikinews MediaWiki:Gadget-wikEd.js
104plwikiquote MediaWiki:Gadget-wikEd.js
105plwikisource MediaWiki:Gadget-wikEd.js
106plwiktionary MediaWiki:Gadget-wikEd.js
107pswiki MediaWiki:Gadget-WikEd.js
108pswiki MediaWiki:Gadget-wikEd.js
109ptwiki MediaWiki:Gadget-wikEd.js
110ptwikibooks MediaWiki:Gadget-wikEd.js
111ptwikisource MediaWiki:Gadget-wikEd.js
112ptwikiversity MediaWiki:Gadget-wikEd.js
113rowiki MediaWiki:Gadget-wikEd.js
114rowiki MediaWiki:WikEd.js
115ruewiki MediaWiki:Gadget-wikEd.js
116scnwiki MediaWiki:Gadget-wikEd.js
117siwiki MediaWiki:Gadget-wikEd.js
118skwiki MediaWiki:Gadget-wikEd.js
119slwiki MediaWiki:Gadget-wikEd.js
120slwikibooks MediaWiki:Gadget-wikEd.js
121slwikisource MediaWiki:Gadget-wikEd.js
122slwikiversity MediaWiki:Gadget-wikEd.js
123sourceswiki MediaWiki:Gadget-wikEd.js
124sqwiki MediaWiki:Gadget-wikEd.js
125sqwikinews MediaWiki:Gadget-wikEd.js
126srwiki MediaWiki:Gadget-wikEd.js
127svwiki MediaWiki:Gadget-WikEd.js
128svwikinews MediaWiki:Gadget-WikEd.js
129tawiki MediaWiki:Gadget-wikEd.js
130tawikinews MediaWiki:Gadget-WikEd.js
131tawiktionary MediaWiki:Gadget-wikEd.js
132test2wiki MediaWiki:Gadget-wikEd.js
133testwiki MediaWiki:Gadget-wikEd.js
134tewiki MediaWiki:Gadget-wikEd.js
135tewikiquote MediaWiki:Gadget-wikEd.js
136tewiktionary MediaWiki:Gadget-wikEd.js
137thwiki MediaWiki:Gadget-wikEd.js
138thwikibooks MediaWiki:Gadget-wikEd.js
139thwikiquote MediaWiki:Gadget-wikEd.js
140thwikisource MediaWiki:Gadget-wikEd.js
141thwiktionary MediaWiki:Gadget-wikEd.js
142tlwiki MediaWiki:Gadget-wikEd.js
143trwiki MediaWiki:Gadget-wikEd.js
144trwikinews MediaWiki:Gadget-wikEd.js
145ukwiktionary MediaWiki:Gadget-wikEd.js
146urwiki MediaWiki:Gadget-WikEd.js
147urwikiquote MediaWiki:Gadget-wikEd.js
148viwiki MediaWiki:Gadget-wiked.js
149viwikibooks MediaWiki:Gadget-wiked.js
150viwikiquote MediaWiki:Gadget-wiked.js
151viwikisource MediaWiki:Gadget-wiked.js
152viwikivoyage MediaWiki:Gadget-wikEd.js
153viwiktionary MediaWiki:Gadget-wiked.js
154wikidatawiki MediaWiki:Gadget-wikEd.js
155wowiki MediaWiki:Gadget-WikEd.js
156zh_yuewiki MediaWiki:Gadget-wikEd.js
157zhwiki MediaWiki:Gadget-wikEd.js
158zhwikibooks MediaWiki:Gadget-wikEd.js
159zhwikinews MediaWiki:Gadget-WikEd.js
160zhwikinews MediaWiki:Gadget-wikEd.js
161zhwikivoyage MediaWiki:Gadget-wikEd.js
162arwiki User:Ahmed M Farrag/wikEd.js
163arwiki User:Ciphers/wikEd.js
164arwikibooks User:Ciphers/wikEd.js
165arwikinews User:SeH/Scripts/wikEd.js
166arwikisource User:Ciphers/Gadget-wikEd.js
167arwikisource User:Mr. Ibrahem/wikEd.js
168azbwiki User:E THP/wikEd.js
169azwiki User:Vago/wikEd.js
170bhwiki User:सत्यम् मिश्र/wikEd.js
171cawiki User:Coet/we:wikEd.js
172cawiki User:Pasqual/we:wikEd.js
173dewiki User:M-K-B/wikEd.js
174diqwiki User:Tadiranscopus/wikEd.js
175dsbwiki User:Pe7er/wikEd.js
176elwiki User:DemetrisKaragiannis/wikEd.js
177enwiki User:Ais523/wikEd.js
178enwiki User:Avanidhar/wikEd.js
179enwiki User:Cacycle/wikEd.js
180enwiki User:Cacycle/wiked.js
181enwiki User:Gary/wikEd.js
182enwiki User:Markhurd/wikEd.js
183enwiki User:Reetep/wikEd.js
184eswiki User:Axxgreazz/wikEd.js
185eswiki User:Davidangelleoacedo/Gadget-wikEd.js
186eswiki User:Linfocito B/wikEd.js
187eswiki User:RoRo/wikEd.js
188frwiki User:Dr Brains/wikEd.js
189frwiki User:Hunsu/WikEd.js
190frwiki User:Mabifixem/WikEd.js
191frwiki User:Mikefuhr/wikEd.js
192frwiki User:PAC2/wiked.js
193gagwiki User:E THP/wikEd.js
194guwiki User:Harsh4101991/wikEd.js
195hiwiki User:सत्यम् मिश्र/wikEd.js
196huwiki User:Tyrannum/wikEd.js
197huwikisource User:BeR/wikEd.js
198huwiktionary User:Einstein2/Gadget-wikEd.js
199huwiktionary User:Einstein2/gadget-wikEd.js
200idwiki User:Beeyan/wikEd.js
201idwiki User:Hidayatsrf/wikEd.js
202jawiki User:E233-3001/Gadget-wikEd.js
203mrwiki User:संतोष दहिवळ/wikEd.js
204newiki User:Bhawani Gautam/wikEd.js
205nlwiki User:Rodejong/wikEd.js
206nnwiki User:Frokor/wikEd.js
207nowiki User:Cocu/wiked.js
208nowiki User:Dvyjones/wikEd.js
209nvwiki User:Tlustulimu/wikEd.js
210plwiki User:Leafnode/wikEd.js
211plwiki User:Saper/wikEd.js
212pswiki User:Cacycle/wikEd.js
213ptwiki User:Mosca/wikEd.js
214rowiki User:Gutza/wikEd.js
215ruwiki User:GreatMusicLover/WikEd.js
216ruwiki User:Somniator/wikEd.js
217scnwiki User:Melos/traduzionewiked.js
218simplewiki User:Hydriz/WikEd.js
219siwiki User:බිඟුවා/wikEd.js
220sowiktionary User:Foxall/wiked.js
221testwiki User:Cacycle/wikEd.js
222thwiki User:Quazaros/Gadget-wikEd.js
223trwiki User:Berkay0652/wikEd.js
224trwiki User:Erdemaslancan/wikEd.js
225trwiki User:Hetanaheta/wikEd.js
226trwiki User:Vito Genovese/wikEd.js
227ukwiki User:Albedo/wikEd.js
228zhwiki User:Chaplin/wikEd.js

I went around several other wikis (jawiki, eswiki, itwiki, plwiki, metawiki, dewiki) and found they just import from enwiki... frwiki had an outdated (and very slightly modified) copy, which I updated in https://fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-WikEd.js/local&diff=128398597&oldid=120743896 and https://fr.wikipedia.org/w/index.php?title=MediaWiki:Gadgets-definition&diff=128398642&oldid=127364167

This has been marked for inclusion in Tech News. Just to be on the safe side, to make sure I understand the context, an item about it would look something like this (a bit simplified, but this would be the gist of the message)?

"If you use the wikEd gadget, changes you made were not saved when you switched from the wikitext editor to the visual editor when you edited. This has now been fixed."

That sounds about right, maybe "changes you made could not be kept when you switched ..."?

You probably have to wrap the call to wikEd.UpdateTextarea into a check whether wikEd is enabled or not, something like:

		$( '#wpTextbox1' ).textSelection(
			'register',
			{
				getContents: function () {
					if ( !wikEd.disabled ) {
						wikEd.UpdateTextarea();
					}
					return $( this ).val();
				}
			}
		);

Warning: This is not tested.

In other places the code checks for wikEd.useWikEd, no idea whether that or !wikEd.disabled is correct. @Cacycle?

In other places the code checks for wikEd.useWikEd, no idea whether that or !wikEd.disabled is correct. @Cacycle?

You are right, at least that's what we use in https://de.wikipedia.org/wiki/MediaWiki:Onlyifuploading.js, and it works there.

People that were having issues on T142137: While editing textarea gets empty before say it's fine with the new fix applied. Thanks @Schnark and @matmarex

It turns out there are rather a lot of wikis with this gadget or some variation thereof:

1afwiki MediaWiki:Gadget-wikEd.js
2arwiki MediaWiki:Gadget-wikEd.js
3arwikisource MediaWiki:Gadget-wikEd.js
4arwikiversity MediaWiki:Gadget-wikEd.js
5aswiki MediaWiki:Gadget-wikEd.js
6aswikisource MediaWiki:Gadget-wikEd.js
7azbwiki MediaWiki:Gadget-wikEd.js
8azbwiki MediaWiki:WikEd.js
9azwiki MediaWiki:Gadget-wikEd.js
10bgwiki MediaWiki:Gadget-wikEd.js
11bgwikiquote MediaWiki:Gadget-wikEd.js
12bgwikisource MediaWiki:Gadget-wikEd.js
13bhwiki MediaWiki:Gadget-wikEd.js
14bnwiki MediaWiki:Gadget-wikEd.js
15bnwikibooks MediaWiki:Gadget-wikEd.js
16bnwikisource MediaWiki:Gadget-wikEd.js
17bnwiktionary MediaWiki:Gadget-wikEd.js
18bpywiki MediaWiki:Gadget-wikEd.js
19brwikimedia MediaWiki:Gadget-wikEd.js
20cawiki MediaWiki:Gadget-wikEd.js
21cawikinews MediaWiki:Gadget-wikEd.js
22dewiki MediaWiki:Gadget-wikEd.js
23dewikibooks MediaWiki:Gadget-wikEd.js
24dewikisource MediaWiki:Gadget-wikEd.js
25dewikiversity MediaWiki:Gadget-wikEd.js
26dewikivoyage MediaWiki:Gadget-wikEd.js
27dsbwiki MediaWiki:Gadget-WikEd.js
28elwikiversity MediaWiki:Gadget-wikEd.js
29enwiki MediaWiki:Gadget-wikEd.js
30enwikivoyage MediaWiki:Gadget-wikEd.js
31eowiki MediaWiki:Gadget-WikEd.js
32eswiki MediaWiki:Gadget-wikEd.js
33eswikibooks MediaWiki:Gadget-wikEd.js
34fawiki MediaWiki:Gadget-wikEd.js
35fawiki MediaWiki:WikEd.js
36fawikivoyage MediaWiki:Gadget-wikEd.js
37fawikivoyage MediaWiki:WikEd.js
38fawiktionary MediaWiki:Gadget-wikEd.js
39fawiktionary MediaWiki:WikEd.js
40fiwiki MediaWiki:Gadget-wikEd.js
41frwiki MediaWiki:Gadget-WikEd.js
42frwikibooks MediaWiki:Gadget-WikEd.js
43frwikisource MediaWiki:Gadget-WikEd.js
44frwiktionary MediaWiki:Gadget-WikEd.js
45gagwiki MediaWiki:Gadget-wikEd.js
46glwiki MediaWiki:Gadget-wikEd.js
47glwikibooks MediaWiki:Gadget-wikEd.js
48glwikiquote MediaWiki:Gadget-wikEd.js
49glwikisource MediaWiki:Gadget-wikEd.js
50gomwiki MediaWiki:Gadget-wikEd.js
51guwiki MediaWiki:Gadget-wikEd.js
52guwikiquote MediaWiki:Gadget-wikEd.js
53hiwiki MediaWiki:Gadget-wikEd.js
54hrwiki MediaWiki:Gadget-wikEd.js
55hrwikiquote MediaWiki:Gadget-wikEd.js
56hrwikisource MediaWiki:Gadget-wikEd.js
57hsbwiki MediaWiki:Gadget-WikEd.js
58huwiki MediaWiki:Gadget-wikEd.js
59huwikinews MediaWiki:Gadget-wikEd.js
60huwikiquote MediaWiki:Gadget-wikEd.js
61huwikisource MediaWiki:Gadget-wikEd.js
62huwiktionary MediaWiki:Gadget-wikEd.js
63ilowiki MediaWiki:Gadget-wikEd.js
64itwiki MediaWiki:Gadget-WikEd.js
65itwikibooks MediaWiki:Gadget-Wiked.js
66itwikisource MediaWiki:Gadget-WikEd.js
67itwikiversity MediaWiki:Gadget-WikEd.js
68itwikivoyage MediaWiki:Gadget-wikEd.js
69itwiktionary MediaWiki:Gadget-Wiked.js
70jawiki MediaWiki:Gadget-wikEd.js
71jawikibooks MediaWiki:Gadget-wikEd.js
72jawikiversity MediaWiki:Gadget-wikEd.js
73jawiktionary MediaWiki:Gadget-wikEd.js
74kkwiki MediaWiki:Gadget-wikEd.js
75klwiki MediaWiki:Gadget-wikEd.js
76kmwiki MediaWiki:Gadget-wikEd.js
77kowiki MediaWiki:Gadget-wikEd.js
78kowikiquote MediaWiki:Gadget-wikEd.js
79kowiktionary MediaWiki:Gadget-wikEd.js
80kshwiki MediaWiki:Gadget-wikEd.js
81kuwiki MediaWiki:Gadget-wikEd.js
82ltwiki MediaWiki:Gadget-wikEd.js
83ltwiktionary MediaWiki:Gadget-wikEd.js
84lvwiki MediaWiki:Gadget-wikEd.js
85maiwiki MediaWiki:Gadget-wikEd.js
86metawiki MediaWiki:Gadget-wikEd.js
87minwiki MediaWiki:Gadget-wikED.js
88mkwiki MediaWiki:Gadget-wikEd.js
89mkwikisource MediaWiki:Gadget-wikEd.js
90mlwiki MediaWiki:Gadget-wikEd.js
91mswiki MediaWiki:Gadget-wikEd.js
92mwlwiki MediaWiki:Gadget-wikEd.js
93newiki MediaWiki:Gadget-wikEd.js
94nlwiktionary MediaWiki:Gadget-wikEd.js
95nnwiki MediaWiki:Gadget-wikEd.js
96nowikisource MediaWiki:Gadget-wikEd.js
97ocwiki MediaWiki:Gadget-WikEd.js
98orwiki MediaWiki:Gadget-wikEd.js
99outreachwiki MediaWiki:Gadget-wikEd.js
100piwiki MediaWiki:Gadget-wikEd.js
101plwiki MediaWiki:Gadget-wikEd.js
102plwikibooks MediaWiki:Gadget-wikEd.js
103plwikinews MediaWiki:Gadget-wikEd.js
104plwikiquote MediaWiki:Gadget-wikEd.js
105plwikisource MediaWiki:Gadget-wikEd.js
106plwiktionary MediaWiki:Gadget-wikEd.js
107pswiki MediaWiki:Gadget-WikEd.js
108pswiki MediaWiki:Gadget-wikEd.js
109ptwiki MediaWiki:Gadget-wikEd.js
110ptwikibooks MediaWiki:Gadget-wikEd.js
111ptwikisource MediaWiki:Gadget-wikEd.js
112ptwikiversity MediaWiki:Gadget-wikEd.js
113rowiki MediaWiki:Gadget-wikEd.js
114rowiki MediaWiki:WikEd.js
115ruewiki MediaWiki:Gadget-wikEd.js
116scnwiki MediaWiki:Gadget-wikEd.js
117siwiki MediaWiki:Gadget-wikEd.js
118skwiki MediaWiki:Gadget-wikEd.js
119slwiki MediaWiki:Gadget-wikEd.js
120slwikibooks MediaWiki:Gadget-wikEd.js
121slwikisource MediaWiki:Gadget-wikEd.js
122slwikiversity MediaWiki:Gadget-wikEd.js
123sourceswiki MediaWiki:Gadget-wikEd.js
124sqwiki MediaWiki:Gadget-wikEd.js
125sqwikinews MediaWiki:Gadget-wikEd.js
126srwiki MediaWiki:Gadget-wikEd.js
127svwiki MediaWiki:Gadget-WikEd.js
128svwikinews MediaWiki:Gadget-WikEd.js
129tawiki MediaWiki:Gadget-wikEd.js
130tawikinews MediaWiki:Gadget-WikEd.js
131tawiktionary MediaWiki:Gadget-wikEd.js
132test2wiki MediaWiki:Gadget-wikEd.js
133testwiki MediaWiki:Gadget-wikEd.js
134tewiki MediaWiki:Gadget-wikEd.js
135tewikiquote MediaWiki:Gadget-wikEd.js
136tewiktionary MediaWiki:Gadget-wikEd.js
137thwiki MediaWiki:Gadget-wikEd.js
138thwikibooks MediaWiki:Gadget-wikEd.js
139thwikiquote MediaWiki:Gadget-wikEd.js
140thwikisource MediaWiki:Gadget-wikEd.js
141thwiktionary MediaWiki:Gadget-wikEd.js
142tlwiki MediaWiki:Gadget-wikEd.js
143trwiki MediaWiki:Gadget-wikEd.js
144trwikinews MediaWiki:Gadget-wikEd.js
145ukwiktionary MediaWiki:Gadget-wikEd.js
146urwiki MediaWiki:Gadget-WikEd.js
147urwikiquote MediaWiki:Gadget-wikEd.js
148viwiki MediaWiki:Gadget-wiked.js
149viwikibooks MediaWiki:Gadget-wiked.js
150viwikiquote MediaWiki:Gadget-wiked.js
151viwikisource MediaWiki:Gadget-wiked.js
152viwikivoyage MediaWiki:Gadget-wikEd.js
153viwiktionary MediaWiki:Gadget-wiked.js
154wikidatawiki MediaWiki:Gadget-wikEd.js
155wowiki MediaWiki:Gadget-WikEd.js
156zh_yuewiki MediaWiki:Gadget-wikEd.js
157zhwiki MediaWiki:Gadget-wikEd.js
158zhwikibooks MediaWiki:Gadget-wikEd.js
159zhwikinews MediaWiki:Gadget-WikEd.js
160zhwikinews MediaWiki:Gadget-wikEd.js
161zhwikivoyage MediaWiki:Gadget-wikEd.js
162arwiki User:Ahmed M Farrag/wikEd.js
163arwiki User:Ciphers/wikEd.js
164arwikibooks User:Ciphers/wikEd.js
165arwikinews User:SeH/Scripts/wikEd.js
166arwikisource User:Ciphers/Gadget-wikEd.js
167arwikisource User:Mr. Ibrahem/wikEd.js
168azbwiki User:E THP/wikEd.js
169azwiki User:Vago/wikEd.js
170bhwiki User:सत्यम् मिश्र/wikEd.js
171cawiki User:Coet/we:wikEd.js
172cawiki User:Pasqual/we:wikEd.js
173dewiki User:M-K-B/wikEd.js
174diqwiki User:Tadiranscopus/wikEd.js
175dsbwiki User:Pe7er/wikEd.js
176elwiki User:DemetrisKaragiannis/wikEd.js
177enwiki User:Ais523/wikEd.js
178enwiki User:Avanidhar/wikEd.js
179enwiki User:Cacycle/wikEd.js
180enwiki User:Cacycle/wiked.js
181enwiki User:Gary/wikEd.js
182enwiki User:Markhurd/wikEd.js
183enwiki User:Reetep/wikEd.js
184eswiki User:Axxgreazz/wikEd.js
185eswiki User:Davidangelleoacedo/Gadget-wikEd.js
186eswiki User:Linfocito B/wikEd.js
187eswiki User:RoRo/wikEd.js
188frwiki User:Dr Brains/wikEd.js
189frwiki User:Hunsu/WikEd.js
190frwiki User:Mabifixem/WikEd.js
191frwiki User:Mikefuhr/wikEd.js
192frwiki User:PAC2/wiked.js
193gagwiki User:E THP/wikEd.js
194guwiki User:Harsh4101991/wikEd.js
195hiwiki User:सत्यम् मिश्र/wikEd.js
196huwiki User:Tyrannum/wikEd.js
197huwikisource User:BeR/wikEd.js
198huwiktionary User:Einstein2/Gadget-wikEd.js
199huwiktionary User:Einstein2/gadget-wikEd.js
200idwiki User:Beeyan/wikEd.js
201idwiki User:Hidayatsrf/wikEd.js
202jawiki User:E233-3001/Gadget-wikEd.js
203mrwiki User:संतोष दहिवळ/wikEd.js
204newiki User:Bhawani Gautam/wikEd.js
205nlwiki User:Rodejong/wikEd.js
206nnwiki User:Frokor/wikEd.js
207nowiki User:Cocu/wiked.js
208nowiki User:Dvyjones/wikEd.js
209nvwiki User:Tlustulimu/wikEd.js
210plwiki User:Leafnode/wikEd.js
211plwiki User:Saper/wikEd.js
212pswiki User:Cacycle/wikEd.js
213ptwiki User:Mosca/wikEd.js
214rowiki User:Gutza/wikEd.js
215ruwiki User:GreatMusicLover/WikEd.js
216ruwiki User:Somniator/wikEd.js
217scnwiki User:Melos/traduzionewiked.js
218simplewiki User:Hydriz/WikEd.js
219siwiki User:බිඟුවා/wikEd.js
220sowiktionary User:Foxall/wiked.js
221testwiki User:Cacycle/wikEd.js
222thwiki User:Quazaros/Gadget-wikEd.js
223trwiki User:Berkay0652/wikEd.js
224trwiki User:Erdemaslancan/wikEd.js
225trwiki User:Hetanaheta/wikEd.js
226trwiki User:Vito Genovese/wikEd.js
227ukwiki User:Albedo/wikEd.js
228zhwiki User:Chaplin/wikEd.js

And that's just on WMF wikis…; since I am usually just a Phabricator lurker and am not associated with the Foundation, I have no idea how widespread this is outside of it, though I do know of at least one other (rather obscure) wiki that uses it.

And that's just on WMF wikis…; since I am usually just a Phabricator lurker and am not associated with the Foundation, I have no idea how widespread this is outside of it

Yep. I imagine your overview of what non-Wikimedia wikis it is used on could be just as good as mine, I don't know much more by being associated with the Foundation. We don't really have a mechanism for knowing about these things outside of Wikimedia sites... I know there's been some talk of sending basic MW install details to Wikimedia so they can be used by MW developers, but I don't think gadgets was one of the details?

@AlexMonk-WMF: You wouldn't happen to remember where and when those discussions took place and if they're still ongoing, do you? If so, perhaps it might be a good idea for me to follow them since I'm interested in the work you're all doing here. Also, perhaps an issue could be opened to add gadget usage to the telemetry data gathered by whatever mechanism might be relevant here?

@AlexMonk-WMF: You wouldn't happen to where and when those discussions took place and if they're still ongoing, do you? If so, perhaps it might be a good idea for me to follow them since I'm interested in the work you're all doing here. Also, perhaps an issue could be opened to add gadget usage to the telemetry data gathered by whatever mechanism might be relevant here?

I managed to find it: https://gerrit.wikimedia.org/r/#/c/296699/ and https://lists.wikimedia.org/pipermail/wikitech-l/2016-July/086111.html
Unfortunately that is only part of the MW installer rather than something run on a regular basis - I don't think any pages/gadgets would be present when it is running

@AlexMonk-WMF: Thanks for the pointers! Are you sure, though, that telemetry will only be sent as part of the wiki installation process? The message on the mailing list seem to indicate otherwise, and that makes me suspect that the telemetry data could be extended to cover things like a list of installed extensions and gadgets and additional statistics like those shown on Special:Version.

@AlexMonk-WMF: Thanks for the pointers! Are you sure, though, that telemetry will only be sent as part of the wiki installation process? The message on the mailing list seems to indicate otherwise, and that makes me suspect that the telemetry data could be extended to cover things like a list of installed extensions and gadgets and additional statistics like those shown on Special:Version.

It looks to me like it is only ever sent once per wiki (perhaps not from the installer itself, but still). You should ask them though.

@AlexMonk-WMF: Thanks for the pointers! Are you sure, though, that telemetry will only be sent as part of the wiki installation process? The message on the mailing list seems to indicate otherwise, and that makes me suspect that the telemetry data could be extended to cover things like a list of installed extensions and gadgets and additional statistics like those shown on Special:Version.

It looks to me like it is only ever sent once per wiki (perhaps not from the installer itself, but still). You should ask them though.

@AlexMonk-WMF: Just on IRC or the relevant mailing list some time soon, right? (Hopefully I don't forget amidst the mess that is life; LOL.) Or would I have to open an issue up here in Phabricator since my question might get construed as a sort of feature request?

@AlexMonk-WMF: Thanks for the pointers! Are you sure, though, that telemetry will only be sent as part of the wiki installation process? The message on the mailing list seems to indicate otherwise, and that makes me suspect that the telemetry data could be extended to cover things like a list of installed extensions and gadgets and additional statistics like those shown on Special:Version.

It looks to me like it is only ever sent once per wiki (perhaps not from the installer itself, but still). You should ask them though.

@AlexMonk-WMF: Just on IRC or the relevant mailing list some time soon, right? (Hopefully I don't forget amidst the mess that is life; LOL.) Or would I have to open an issue up here in Phabricator since my question might get construed as a sort of feature request?

IRC, Mailing lists, Phabricator... Any of those are acceptable forms of communication

@AlexMonk-WMF: OK, great. I'll try and see to that ASAP, then.