<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://compusofia.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-BugStatusUpdate.js</id>
	<title>MediaWiki:Gadget-BugStatusUpdate.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://compusofia.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-BugStatusUpdate.js"/>
	<link rel="alternate" type="text/html" href="https://compusofia.com/w/index.php?title=MediaWiki:Gadget-BugStatusUpdate.js&amp;action=history"/>
	<updated>2026-07-18T01:32:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://compusofia.com/w/index.php?title=MediaWiki:Gadget-BugStatusUpdate.js&amp;diff=1916&amp;oldid=prev</id>
		<title>Majestix: 1 revision imported: Initial Setup</title>
		<link rel="alternate" type="text/html" href="https://compusofia.com/w/index.php?title=MediaWiki:Gadget-BugStatusUpdate.js&amp;diff=1916&amp;oldid=prev"/>
		<updated>2026-04-09T10:35:10Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported: Initial Setup&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:35, 9 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wikiNonStop:diff:1.41:old-1915:rev-1916 --&gt;
&lt;/table&gt;</summary>
		<author><name>Majestix</name></author>
	</entry>
	<entry>
		<id>https://compusofia.com/w/index.php?title=MediaWiki:Gadget-BugStatusUpdate.js&amp;diff=1915&amp;oldid=prev</id>
		<title>en&gt;Quiddity (WMF): copy timeout from enwiki version - https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-BugStatusUpdate.js&amp;action=history</title>
		<link rel="alternate" type="text/html" href="https://compusofia.com/w/index.php?title=MediaWiki:Gadget-BugStatusUpdate.js&amp;diff=1915&amp;oldid=prev"/>
		<updated>2016-05-31T01:00:21Z</updated>

		<summary type="html">&lt;p&gt;copy timeout from enwiki version - https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-BugStatusUpdate.js&amp;amp;action=history&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*&lt;br /&gt;
 * Bug Status Update Gadget&lt;br /&gt;
 *&lt;br /&gt;
 * Authors:&lt;br /&gt;
 * Written by Rob Moen (robm) (originally from [[mw:User:Robmoen/bugStatusUpdate.js]]).&lt;br /&gt;
 * Ported to Phabricator by Matthew Flaschen (Mattflaschen (WMF))&lt;br /&gt;
 *&lt;br /&gt;
 * Description:&lt;br /&gt;
 *  Finds and updates bug status templates on a page.&lt;br /&gt;
 *  Makes 1 JSONP request to phabricator-bug-status API (maintained by Matthew Flaschen)&lt;br /&gt;
 *  (which passes the request to Phabricator&amp;#039;s Conduit API)&lt;br /&gt;
 *&lt;br /&gt;
 * Maintained at: [[mw:MediaWiki:Gadget-BugStatusUpdate.js]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
( function( $ ){&lt;br /&gt;
	var	ids = [],&lt;br /&gt;
		target = &amp;#039;https://tools.wmflabs.org/phabricator-bug-status/queryTasks&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var getParams = function( ids ) {&lt;br /&gt;
		return $.param( { ids: JSON.stringify( ids ) } );&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	// Get the Phabricator task id numbers on the page&lt;br /&gt;
	// The template should provide a data attribute, for simplicity and probably better performance.  There&lt;br /&gt;
	// should also be a class, so it could quickly be found.  E.g.&lt;br /&gt;
	// data-phabricator-task=&amp;quot;123&amp;quot; class=&amp;quot;trakfab ...&amp;quot; ...&lt;br /&gt;
	// This could then be selected easily, and the number could be accessed with .data( &amp;#039;phabricatorTask&amp;#039; )&lt;br /&gt;
	$( &amp;#039;.mw-trackedTemplate a[title^=&amp;quot;phabricator:T&amp;quot;]&amp;#039; ).each( function() {&lt;br /&gt;
		var titleMatch = $( this ).attr( &amp;#039;title&amp;#039; ).match( /phabricator:T(\d*)/ );&lt;br /&gt;
		if ( titleMatch !== null ) {&lt;br /&gt;
			ids.push( parseInt( titleMatch[1], 10 ) );&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	// Do not query if no ids were found&lt;br /&gt;
	if ( !ids.length ) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Make jsonp&lt;br /&gt;
	$.ajax( {&lt;br /&gt;
		url: target,&lt;br /&gt;
		dataType: &amp;#039;jsonp&amp;#039;,&lt;br /&gt;
		timeout: 5000, // Give up if Tool Labs is being slow today&lt;br /&gt;
		data: getParams( ids ),&lt;br /&gt;
		success: function ( data ) {&lt;br /&gt;
&lt;br /&gt;
			var		color = {&lt;br /&gt;
						&amp;quot;resolved&amp;quot;: &amp;quot;green&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					statusProps = {&lt;br /&gt;
						&amp;#039;font-weight&amp;#039;: &amp;#039;bold&amp;#039;,&lt;br /&gt;
						&amp;#039;text-transform&amp;#039;: &amp;#039;uppercase&amp;#039;&lt;br /&gt;
					},&lt;br /&gt;
					phid, taskInfo, taskNumber, selector,&lt;br /&gt;
					trackedTemplate, $taskLink, $title, $item,&lt;br /&gt;
					$status;&lt;br /&gt;
&lt;br /&gt;
			for( phid in data ) {&lt;br /&gt;
				taskInfo = data[phid];&lt;br /&gt;
				taskNumber = taskInfo.id;&lt;br /&gt;
				// Find the right task to update&lt;br /&gt;
				selector = &amp;#039;.mw-trackedTemplate a[title^=&amp;quot;phabricator:T&amp;#039; +  taskNumber + &amp;#039;&amp;quot;]&amp;#039;;&lt;br /&gt;
				$taskLink = $( selector );&lt;br /&gt;
				$title = $taskLink.find( &amp;#039;.trakfab-T&amp;#039; + taskNumber );&lt;br /&gt;
				if ( $title ) {&lt;br /&gt;
					$title.text( taskInfo.title );&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				$item = $taskLink.closest( &amp;#039;.mw-trackedTemplate&amp;#039; );&lt;br /&gt;
				if( $item ) {&lt;br /&gt;
					// Find child, if exists&lt;br /&gt;
					// This is very fragile; this needs a class.&lt;br /&gt;
					$status = $item.children( &amp;#039;span&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
					// Create the status element if it does not exist&lt;br /&gt;
					if( $status.length === 0 ) {&lt;br /&gt;
						$status = $( &amp;#039;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039; )&lt;br /&gt;
							.css( statusProps );&lt;br /&gt;
						$item.append( &amp;#039;&amp;lt;br&amp;gt;&amp;#039;, $status );&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					// Update the status element&lt;br /&gt;
					// This matches Template:Tracked itself, where only resolved has a color&lt;br /&gt;
					// defined for Phabricator (everything else is black).&lt;br /&gt;
					$status&lt;br /&gt;
						.text( taskInfo.statusName )&lt;br /&gt;
						.css( &amp;#039;color&amp;#039;, color[taskInfo.status] || &amp;#039;black&amp;#039; );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	} );&lt;br /&gt;
})( jQuery );&lt;/div&gt;</summary>
		<author><name>en&gt;Quiddity (WMF)</name></author>
	</entry>
</feed>