Parsing Tajweed Quran

Asslamu Allikum,
First thank you all for the excellent effort on this project.
Second, I am trying to use the Quran Tajweed direct without the JS library, I used the text database file
and inserted it into a mysql database no problem.
I am able to parse the Tajweed tags based on the JS code GlobalQuran.js:
parseTajweed: function(a, b) {     return b.replace(/\[h/g, '<span class="ham_wasl" title="Hamzat Wasl" alt="').replace(/\[s/g, '<span class="slnt" title="Silent" alt="').replace(/\[l/g, '<span class="slnt" title="Lam Shamsiyyah" alt="').replace(/\[n/g, '<span class="madda_normal" title="Normal Prolongation: 2 Vowels" alt="').replace(/\[p/g, '<span class="madda_permissible" title="Permissible Prolongation: 2, 4, 6 Vowels" alt="').replace(/\[m/g, '<span class="madda_necessary" title="Necessary Prolongation: 6 Vowels" alt="').replace(/\[q/g,     '<span class="qlq" title="Qalqalah" alt="').replace(/\[o/g, '<span class="madda_obligatory" title="Obligatory Prolongation: 4-5 Vowels" alt="').replace(/\[c/g, '<span class="ikhf_shfw" title="Ikhfa\' Shafawi - With Meem" alt="').replace(/\[f/g, '<span class="ikhf" title="Ikhfa\'" alt="').replace(/\[w/g, '<span class="idghm_shfw" title="Idgham Shafawi - With Meem" alt="').replace(/\[i/g, '<span class="iqlb" title="Iqlab" alt="').replace(/\[a/g, '<span class="idgh_ghn" title="Idgham - With Ghunnah" alt="').replace(/\[u/g,     '<span class="idgh_w_ghn" title="Idgham - Without Ghunnah" alt="').replace(/\[d/g, '<span class="idgh_mus" title="Idgham - Mutajanisayn" alt="').replace(/\[b/g, '<span class="idgh_mus" title="Idgham - Mutaqaribayn" alt="').replace(/\[g/g, '').replace(/\]/g, "") },
This works very nice on Firefox browsers. On Chrome and WebKit based browser the letters are not
joined and each letter of tajweed letters looks as a standalone separate letter. This is because the span tag added in place of the tajweed tags. I know this is a Chrome/Webkit bug and I did research online and everyone is recommended using the zero width joining entity:

Now the issue is we need a rules on parsing the Tajweed words/tags to insert this zero width joining letter, that's decide if the letter is at the begaining of the word, end of the word, letter next to it etc.
The question does anyone have these rules to fix this.
During my search online I found a website applying this but seems server side:
http://www.mosshaf.com/ar/main
Tajweed version is very important to include this zero width joining tag built in instead of parsing as Chrome / Webkit browsers are widely used specially on Android and Mobile devices, over 90% now using mobiles to access websites specially for such purposes reading quran and learning.

Wa salaamu waliakum wr wb
That needs to be added at the time of joining the letters, so it has to be outside the api.
We will insha'Allah have tajweed svg version, that will make things easier at the moment, I'm sorry no one can help here.
Following are some links, that might help.
http://stackoverflow.com/questions/33095097/separated-arabic-font-using-html-color-tag-in-webview-and-text-view/33604599#33604599
http://stackoverflow.com/questions/11155849/partially-colored-arabic-word-in-html

The SVG version will not be very useful as the text version which is much easier to manage and process as  a small database instead of having tons of images files with limited functionality. I think it is better to add only the zero width joining letters in the default text database file or some flags that mark the letters that should not be joined.
I emailed the admin of the website http://www.mosshaf.com/ar/main about his parsing code or fix for this issue, if he replied with anything useful I will post it here. I hope this suggestion is considered as a new feature added to the free database.
Another request would be a great if you include a text help file with the structure of the quran database files and tags and how should be the parsing instead I have to search for the code files to know the fields etc.
جزاكم الله خيراً جميعاً

I found a code lib on this site called lab-master contains a JS file called tajweedTools.js which contains a c function code below:
`		buck2tajweed: function (surah, ayah, buck)
{
//return gq.quran.parse.buck2arabic(buck);
var tajweed = {1: 'silent', 2: 'ghunnah', 3: 'np', 4: 'pp', 5: 'op', 6: 'np', 7: 'ep', 8: 'unrest'};
var arabic = '', l, letter, found=false, open=false, openTag;
		wordArray = buck.split(' ');
	    arabic = '';
	    $.each(wordArray, function(i, word) {

	    	arabic += '<word data-id="'+Quran.word.number(surah, ayah, i+1)+'">';
	    	letterArray = word.split('');

	    	for(l=0; l<letterArray.length; ++l)
		    {
		        letter = letterArray[l];
		        found = false;

		        if (tajweed[letter] != null)
		        {
		        	if (open)
		        	{
		        		if (letterArray > l)
		        			arabic += '';
		        		arabic += '</'+openTag+'>';
		        		if (letterArray > l)
		        			arabic += '';
		        	}

		        	openTag = tajweed[letter];
		        	if (l > 0)
		        		arabic += '';
		        	arabic += '<'+openTag+'>';
		        	if (l > 0)
		        		arabic += '';
		        	open = true;
		        	continue;
		        }
		        else if (letter == '0')
		        {
		        	if (open)
		        	{
		        		arabic += '</'+openTag+'>';
		        		open = false;
		        	}

		        	continue;
		        }

		        for(n=1; n<Quran._data.buck.length; ++n)
		        {
		            if(letter == Quran._data.buck[n])
		            {
		            	arabic += Quran._data.char[n];
		            	found = true;
		                break;
		            }
		        }

		        if (!found)
		        	arabic += letter;
		    }

    	   	if (open)
        	{
        		arabic += '</'+openTag+'>';
        		open = false;
        	}

	    	arabic += '</word> ';
	    });

	    return arabic;
	},

`
Can someone explain this code and translate it to PHP code to work on server side to parse the tajweed text file to insert the correct joining tag & z j w; to display the tajweed quran properly on none Firefox browsers.
The complete js file in this lib is:
`jQuery(function () {
// selection info here
sel = {
	x:'',
	y:'',
	start: null,
	end: null,
	position: null,
	length: null,
	id: null,
	verse: null,
	text: null
};

tool = {
	hover: true,
	ayahs: {}, // ayahs to update on server side

	buck2tajweed: function (surah, ayah, buck)
	{
		//return gq.quran.parse.buck2arabic(buck);
		var tajweed = {1: 'silent', 2: 'ghunnah', 3: 'np', 4: 'pp', 5: 'op', 6: 'np', 7: 'ep', 8: 'unrest'};
		var arabic = '', l, letter, found=false, open=false, openTag;

		wordArray = buck.split(' ');
	    arabic = '';
	    $.each(wordArray, function(i, word) {

	    	arabic += '<word data-id="'+Quran.word.number(surah, ayah, i+1)+'">';
	    	letterArray = word.split('');

	    	for(l=0; l<letterArray.length; ++l)
		    {
		        letter = letterArray[l];
		        found = false;

		        if (tajweed[letter] != null)
		        {
		        	if (open)
		        	{
		        		if (letterArray > l)
		        			arabic += '';
		        		arabic += '</'+openTag+'>';
		        		if (letterArray > l)
		        			arabic += '';
		        	}

		        	openTag = tajweed[letter];
		        	if (l > 0)
		        		arabic += '';
		        	arabic += '<'+openTag+'>';
		        	if (l > 0)
		        		arabic += '';
		        	open = true;
		        	continue;
		        }
		        else if (letter == '0')
		        {
		        	if (open)
		        	{
		        		arabic += '</'+openTag+'>';
		        		open = false;
		        	}

		        	continue;
		        }

		        for(n=1; n<Quran._data.buck.length; ++n)
		        {
		            if(letter == Quran._data.buck[n])
		            {
		            	arabic += Quran._data.char[n];
		            	found = true;
		                break;
		            }
		        }

		        if (!found)
		        	arabic += letter;
		    }

    	   	if (open)
        	{
        		arabic += '</'+openTag+'>';
        		open = false;
        	}

	    	arabic += '</word> ';
	    });

	    return arabic;
	},

	tajweed2buck: function (tajweedHtml)
	{},

	addTag: function (tajweedId)
	{
		var tajweed = {1: 'silent', 2: 'ghunnah', 3: 'np', 4: 'pp', 5: 'op', 6: 'np', 7: 'ep', 8: 'unrest'};

		if (!tajweed[tajweedId])
			return null;

		var tag = tajweed[tajweedId];

		text = '<'+tag+'>'+sel.text+'</'+tag+'>';
		this.replaceSelection(text);

		this.ayahs[sel.verse] = sel.verse;
	},

	removeTag: function ()
	{},

	editText: function (addCode)
	{
		textArray = gq.quran.parse.arabic2buck(sel.text).split(' ');
		editedText = {};
		startId = sel.start;
		// build selected text array first
		for (i=0; i<=textArray.length; i++)
		{
			editedText[startId] = textArray[i];
			startId++;
		}

		startId = sel.start; // reset start id

		verseNo = Quran.verseNo.word(sel.start);
		verse   = Quran.ayah.fromVerse(verseNo);

		buck = gq.data.quran[gq.quran.selectedString()][verseNo];
		buckArray = buck.split(' ');
		buckAyahText = '';

		for (i=0; i <= buckArray.length; i++)
		{
			id = Quran.word.number(verse.surah, verse.ayah, i+1);

			if (id >= sel.start && id <= sel.end)
			{
				orignalLetterCount = buckArray[i].split('').length;
				editedLetterCount  = editedText[id].split('').length;

			}
			else
			{
				buckAyahText += buckArray[i];
			}
		}
	},

	getSelection: function ()
	{
	    var selection, position;

	    if (window.getSelection) {
	        selection = window.getSelection();

	        if (selection && !selection.isCollapsed) {
	            position = {
	                'offset': selection.anchorOffset,
	                'length': selection.toString().length,
	                'node': selection.anchorNode.parentNode,
	                'text': selection.toString()
	            };
	        }
	    } else if (document.selection) {
	        selection = document.selection.createRange();

	        if (selection && selection.text.length) {
	            var text = selection.parentElement().innerText,
	                range = document.body.createTextRange(),
	                last = 0, index = -1;

	            range.moveToElementText(selection.parentElement());

	            while ((index = text.indexOf(selection.text, ++index)) !== -1) {
	                range.moveStart('character', index - last);
	                last = index;

	                if (selection.offsetLeft == range.offsetLeft && selection.offsetTop == range.offsetTop) {
	                    break;
	                }
	            }

	            position = {
	                'offset': index,
	                'length': selection.text.length,
	                'node': selection.parentElement(),
	                'text': selection.text
	            };
	        }
	    }

	    return position;
	},

	replaceSelection: function (html)
	{
	    var sel, range, node;

	    if (typeof window.getSelection != "undefined") {
	        // IE 9 and other non-IE browsers
	        sel = window.getSelection();

	        // Test that the Selection object contains at least one Range
	        if (sel.getRangeAt && sel.rangeCount) {
	            // Get the first Range (only Firefox supports more than one)
	            range = window.getSelection().getRangeAt(0);
	            range.deleteContents();

	            // Create a DocumentFragment to insert and populate it with HTML
	            // Need to test for the existence of range.createContextualFragment
	            // because it's non-standard and IE 9 does not support it
	            if (range.createContextualFragment) {
	                node = range.createContextualFragment(html);
	            } else {
	                // In IE 9 we need to use innerHTML of a temporary element
	                var div = document.createElement("div"), child;
	                div.innerHTML = html;
	                node = document.createDocumentFragment();
	                while ( (child = div.firstChild) ) {
	                    node.appendChild(child);
	                }
	            }
	            range.insertNode(node);
	        }
	    } else if (document.selection && document.selection.type != "Control") {
	        // IE 8 and below
	        range = document.selection.createRange();
	        range.pasteHTML(html);
	    }
	}
};

$('word').live('hover', function() {

	if ((!tool.hover && !$(this).hasClass('selectedWord')) || $(this).attr('id'))
		return;

	$('#selectedWord').attr('data-id', $(this).attr('data-id'));
	$('#selectedWord').html($(this).html());

	text = $(this).html().split('').join(' ');
	$('#selectedWordLetters').attr('data-id', $(this).attr('data-id'));
	$('#selectedWordLetters').html(text);

}).live('dblclick', function() {
	if (!tool.hover && !$(this).hasClass('selectedWord'))
		;
	else
		tool.hover = tool.hover ? false : true;

	$('word').removeClass('selectedWord');

	if (!tool.hover)
		$(this).addClass('selectedWord');

	$(this).trigger('mouseenter');

	// Code for Deselect Text When Mouseout the Code Area
	if (window.getSelection)
	{
		if (window.getSelection().empty)
		{ // Chrome
			window.getSelection().empty();
		}
		else
			if (window.getSelection().removeAllRanges)
			{ // Firefox
				window.getSelection().removeAllRanges();
			}
	}
	else
		if (document.selection)
		{ // IE?
			document.selection.empty();
		}
});

$('.ayah').live('mouseup', function(event) {

	selection = tool.getSelection();
	if (!selection)
	{
		sel.length = null;
		sel.position = null;
		sel.start = null;
		sel.end = null;
		sel.text = null;
		sel.id = null;
		return false;
	}
	sel.length = selection.length;
	sel.position = selection.offset;
	sel.text = selection.text;
	sel.verse = $(this).data('verse');

	sel.id = $(this).attr('id');
	sel.end = $(this).data('id');

	// if selection was left to right multi-words
	if (sel.start > sel.end)
    {
    	sel.end = sel.start;
    	sel.start = $(this).data('id');
    	str  = $(this).text();
    	sel.position = sel.position - sel.length;
    	if (sel.position < 0)
    		sel.position = 0;
    }
	else if (event.pageX > sel.x) // if selection was left to right single word
	{
		//console.log('pos '+sel.position+' str '+str.split('').length);
    	sel.position = sel.position - sel.length;
    	if (sel.position < 0)
    		sel.position = 0;
	}
	//console.log('pos '+sel.position+ ' len: '+sel.length);

    //sel.text = //getSelectedText();//(sel.id == 'selectedWordLetters') ? getSelectedText().replace(/\s+/g, '') : getSelectedText();

}).live('mousedown', function(event){
    //sel.start = $(event.target).data('id');
    sel.x = event.pageX;
    sel.y = event.pageY;
});

$('.twb').click(function() {

	id = $(this).data('id');

	if (id == 'remove')
		tool.removeTag();
	else
		tool.addTag(id);

	return false;
});

});`

@daliaessam @iBasit I've just started to look into this.
I'm hoping to decouple the html from the actual data returned by the API create a text and tool guide to do the actual parsing.
There are quite a few version of the buck and tajweed parser floating around, but zero documentation.
God willing, I will post back with something over the next few days.

@iBasit Please excuse my ignorance, but the numbers that come back in the tajweed version along with the type identifiers, like [g:177, for instance, what to do they signify. On the website they become alt tags, but I don't see where they are actually used. What is the significance of these numbers?
Thank you.

@daliaessam i've written something to parse this data server side and return more readable HTML using a  tag.
See documentation on https://github.com/meezaan/alquran-tools/blob/master/docs/tajweed.md and example on https://github.com/meezaan/alquran-tools/blob/master/www/tajweed.php. I will clean up the code and make this into a composer package over the next few days along with links to live examples.
A thing to note - the ZWJ parser is still experimental. I manually added ZWJ where applicable, but the joins are not always right and not always pretty - worse, they actually ruin the display in firefox. You could check the user agent and then decide whether or not to use it. it still needs some work as some alphabets only require it before and some after and some both, based on the combination of letters.

@meezaan great effort jazak Allah Khaier. Yes Webkit is a big problem specially for Android Apps and browsers, you can not build apps now ignoring Android platform or even a web page ignoring Chrome.
Until there is a solution, just a suggestion if you could include a full quran text file parased with your parser the same as the quran database files offered on those sites so if some one needed to use them he does not have to build his own version or full quran parser.
Thank you again

@meezaan if you check this example:
http://mosshaf.com/ar/main#&GetSura=103&type=tagweed&b=null
The code looks like this:

It uses alot of & zwg;

@daliaessam Thank you, I will have a look. I can provide you with a dully parsed file, but do you want it with or without the 'zwj's? To get those to appear in the right place, I basically need an array map of the characters before and after which it applies. I'll try and prioritise that and upload a fix, God willing, as soon as possible. If you want a file without these, let me know and I can get you one.

@daliaessam FYI I've made a start at creating the mapper: https://github.com/islamic-apps/alquran-tools/blob/mapper/mapper.php. If you've got time to update it, please do help. There's something to note here, though, that PHP's str_replace has some problem finding and replacing Classical Arabic characters. Once I've got this mapping ready, though, I will insha Allah try it out. If it is still a problem, I may have to port a version into JavaScript and another server side language, either Java or Python. But heads up, that might add some unneeded delay.

@meezaan It will be very useful to everyone if you could complete this parser.
Gazak Allah Kul AlKhaier

I did convert it by word(only work for uthmani) index:
"text_uthmani": "قَالُوٓا۟"
"rules": ",,,,,madd_munfasil,madd_munfasil,silent,silent"
refer:
https://api.tilawah.my/v1.0/verses/?surah=Al-Baqarah&ayat=1&page=1
in case someone need it in simplest form.
tested in Firefox
https://www.tilawah.my/?surah=Al-Baqarah&ayat=1


rustler_mix: Fix template test on Elixir < 1.9

Another fix for #266 (d7552b4). This also adds the event pull_request to github actions in order to try to test this PR before it hits master. We can drop this commit when CI succeeded.

@scrogson Can you take a look why CI is failing? The error messages are not particularly helpful:

Maybe there are two many concurrent jobs and they are cancelled?

Maybe this? https://github.com/rusterlium/rustler/pull/269/checks?check_run_id=276817469#step:6:64

We can pull this check out into its own yml file and only run on stable and latest Erlang/Elixir. This is what I did for the Clippy and Format checks.

Sorry I was wrong about the separation file. But we can either pull it into its own section or create a separate file.

I pulled the test into its own step with 208fdd0, which worked on CI. I think 6e8a205 already fixed it, but CI somehow stumbled over the large number of builds..(?) In any case, running this test only once should be sufficient to pick up simple errors where the templates are not updated.

Alright, this seems to work now. The original fix in this PR was indeed not enough. @scrogson should I leave 158d4f6 in or drop it?


Fixing cal date parsing and validation, simplify bill preceding

Added tests to confirm adequate cal.Date handling.
Zero dates now properly handled as potentially "valid" data (fixes the JSON bidirectional parsing issue)
Date now has its own validation method to ensure they contain reasonable data.
bill.Preceding's issue_date is now optional and uses a date pointer.
Got in there a fix for the cbc note key issue in the JSON Schema

@cavalle I'll merge this already, but you might be interested in the Preceding issue_date change for the stuff you were looking at with InvoiceXpress.


Blog: Add onClick functionality, More Posts sxn

Refactored Blog type into its own .ts file. Refactored ImageCard to take
in a Blog object rather than all a blog's fields. Refactored BlogRoutes
into PatinaRoutes rather than the top level Routes. ImageCard is now
wrapped inside an UnstyledButton and onClick will navigate to the
blog page showing that specific blog. Made FocusedBlog component run
useEffect on id route param change, add another useQuery to get allBlogs
to show in More Posts section, make useEffect refetch to blog GET
endpoint with the id of the blog you clicked on.
https://patina-dev.nyc3.digitaloceanspaces.com/screenshot/Screenshot-2024-08-12T20:59:05-HaokingLuo-helpme.png
L=ENG-438
TEST=manual

Ran gw bootRun and navigate to Blog page
Clicked on a blog, displays all its info
Clicked on another blog in More Posts section, new blog's info shown

Change-Id: I256ad857040c055ca25da9719a3467edc7a6f134

Code Review comments can be found at https://gerrithub.io/q/I256ad857040c055ca25da9719a3467edc7a6f134


Enzyme segfault

@vchuravy  @wsmoses  Segfault happening with Enzyme + optimization run using Optim. I'm trying to take a derivative of a model-data misfit and them run an optimization scheme with said derivative, but depending on how much data I assume available it either runs or it doesn't. When I tried running with daily data (so quite a bit) Enzyme segfaults, if I run with less data it runs for longer (unclear yet if it will crash eventually). The script to run that will generate the error is https://github.com/swilliamson7/ShallowWaters.jl/blob/zannabolton/my_scripts/optim_experiments/for_enzyme_folk.jl, and the error itself is below. As always I'm happy to provide more information/help understanding the code! It will also take a second for the error to actually occur, potentially ~20 minutes.
WARNING: failed to select UTF-8 encoding, using ASCII

[22298] signal (11.1): Segmentation fault
in expression starting at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:472
gc_mark_outrefs at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:2499 [inlined]
gc_mark_loop_serial_ at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:2679
gc_mark_loop_serial at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:2702
gc_mark_loop at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:2897 [inlined]
_jl_gc_collect at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:3221
ijl_gc_collect at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:3518
maybe_collect at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:937 [inlined]
jl_gc_pool_alloc_inner at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:1293 [inlined]
jl_gc_pool_alloc_noinline at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gc.c:1350
jl_gc_alloc_ at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/julia_internal.h:477 [inlined]
_new_array_ at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/array.c:144 [inlined]
_new_array at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/array.c:198 [inlined]
ijl_alloc_array_2d at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/array.c:443
Array at ./boot.jl:479 [inlined]
Array at ./boot.jl:487 [inlined]
Array at ./array.jl:673
convert at ./array.jl:665 [inlined]
PrognosticVars at /scratch/swilliamson/ShallowWaters.jl/src/model_setup.jl:30 [inlined]
macro expansion at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:344 [inlined]
#1 at /home/swilliamson/.julia/packages/Checkpointing/4DrYA/src/Checkpointing.jl:177 [inlined]
diffejulia__1_7016wrap at /home/swilliamson/.julia/packages/Checkpointing/4DrYA/src/Checkpointing.jl:0
macro expansion at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/compiler.jl:5378 [inlined]
enzyme_call at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/compiler.jl:5056 [inlined]
CombinedAdjointThunk at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/compiler.jl:4998 [inlined]
autodiff at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/Enzyme.jl:215 [inlined]
autodiff at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/Enzyme.jl:238 [inlined]
autodiff at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/Enzyme.jl:224 [inlined]
rev_checkpoint_struct_for at /home/swilliamson/.julia/packages/Checkpointing/4DrYA/src/Schemes/Revolve.jl:450
reverse at /home/swilliamson/.julia/packages/Checkpointing/4DrYA/src/Rules/EnzymeRules.jl:32 [inlined]
macro expansion at /home/swilliamson/.julia/packages/Checkpointing/4DrYA/src/Checkpointing.jl:176 [inlined]
loop at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:84 [inlined]
checkpoint_function at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:74 [inlined]
diffejulia_checkpoint_function_3870wrap at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:0
macro expansion at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/compiler.jl:5378 [inlined]
enzyme_call at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/compiler.jl:5056 [inlined]
CombinedAdjointThunk at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/compiler.jl:4998 [inlined]
autodiff at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/Enzyme.jl:215 [inlined]
autodiff at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/Enzyme.jl:238
unknown function (ip: 0x7f233378b34a)
_jl_invoke at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:2894 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:3076
autodiff at /home/swilliamson/.julia/packages/Enzyme/l4FS0/src/Enzyme.jl:224 [inlined]
gradient_eval at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:423
FG at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:433 [inlined]
#69 at /home/swilliamson/.julia/packages/NLSolversBase/kavn7/src/objective_types/incomplete.jl:54
unknown function (ip: 0x7f23ce8f6d9c)
_jl_invoke at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:2894 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:3076
value_gradient!! at /home/swilliamson/.julia/packages/NLSolversBase/kavn7/src/interface.jl:82
initial_state at /home/swilliamson/.julia/packages/Optim/EJwLF/src/multivariate/solvers/first_order/l_bfgs.jl:164
optimize at /home/swilliamson/.julia/packages/Optim/EJwLF/src/multivariate/optimize/optimize.jl:36 [inlined]
#optimize#91 at /home/swilliamson/.julia/packages/Optim/EJwLF/src/multivariate/optimize/interface.jl:143
optimize at /home/swilliamson/.julia/packages/Optim/EJwLF/src/multivariate/optimize/interface.jl:139 [inlined]
run_optim_experiments at /scratch/swilliamson/ShallowWaters.jl/my_scripts/optim_experiments_sverdrup/optim_experiments_energy_sverdrup.jl:461
unknown function (ip: 0x7f23ce8ed952)
_jl_invoke at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:2894 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:3076
jl_apply at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
do_call at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/interpreter.c:126
eval_value at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/interpreter.c:617
jl_interpret_toplevel_thunk at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/interpreter.c:775
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/toplevel.c:934
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/toplevel.c:877
ijl_toplevel_eval_in at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/toplevel.c:985
eval at ./boot.jl:385 [inlined]
include_string at ./loading.jl:2070
_jl_invoke at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:2894 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:3076
_include at ./loading.jl:2130
include at ./Base.jl:495
jfptr_include_46343.1 at /home/swilliamson/julia-1.10.0/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:2894 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:3076
exec_options at ./client.jl:318
_start at ./client.jl:552
jfptr__start_82703.1 at /home/swilliamson/julia-1.10.0/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:2894 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/gf.c:3076
jl_apply at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
true_main at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/jlapi.c:582
jl_repl_entrypoint at /cache/build/builder-amdci4-6/julialang/julia-release-1-dot-10/src/jlapi.c:731
main at julia10stable (unknown line)
__libc_start_main at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 123051098 (Pool: 122827775; Big: 223323); GC: 1846
/tmp/slurmd/job71934/slurm_script: line 14: 22298 Segmentation fault      julia10stable --project=/scratch/swilliamson/ShallowWaters.jl/my_scripts optim_experiments_energy_sverdrup.jl

Update: I can get the above error to happen by just putting the call to Enzyme and Checkpointing in a loop and running it for a bunch of times, but it doesn't seem to always happen. I got it somewhere in a loop of 50 calls and haven't yet gotten it in a loop with 100 calls, for example. My next guess is that it'll happen more consistently/always if I increase the number of times I enter an if statement during my model integration

So assuming this is the code we tried earlier, it failed to reproduce and completed all iters. Reopen if persists?


rebuild_packages: new script to catch all ebuild modifications

This is a bit of a hack, I would like something a little more
intelligent that checks for applicable metadata changes, not just any
old change in the ebuild text. That will require a bit more work/thought
and this should at least be sufficient to catch the current problems.
The issue comes down to how emerge's --usepkgonly mode works. Normally
KEYWORDS and (R)DEPEND metadata in ebuilds is used to figure out what to
install. If that metadata in the installed or binary packages is is out
of date things generally work out anyway. However when --usepkgonly is
enabled (such as in build_image) the ebuild metadata is ignored, using
only the installed and binary package metadata. Unfortunately it may be
out of date, allowing build_image to fail or otherwise behave
differently from build_packages. Perhaps there is a nice tool for
rebuilding such stale packages but emerge itself doesn't appear to.
This script should only be run after build_packages.

hacky but it's relatively benign since it's something manually run and has potential utility... seems ok to me


Update member.txt

Foo bar

👋 hello @andregce,
The member fadsf
https://andreg.slack.com/archives/C0PN7EQAX/p1715708578834179

Vouf


Implement a parser-listener/AST-generator V1

Description:
Implement $subject that is capable of generating the tree, for a input that is parsed from the parser in #20766

Initial version is available at https://github.com/SupunS/BallerinaParser/tree/master


How to keep custom filters?

How do you keep custom filters?  See https://datatables.net/examples/plug-ins/range_filtering.html.
It looks like I can add queries to window.location.hash separated by &, but it would be nice if I could integrate it with this plugin.
I've looked through some of the code to see if this is possible with the existing functions, but some guidance would be great.  Thanks!

Hey Kevin,
Sorry for the delay, I had to take a break from personal coding projects for a while due to job requirements in my career.
This is a good feature request... Ill work on this and let you know!

Kevin,
I actually found that I need this feature as well. Im using this at my real job, and theres a custom search form that lets you search for a date range in a specific column, so that would be nice if I could make that happen as well.
Im not quite sure how to go about doing this...  I was thinking about making the entire plugin a bit more modular, and having each "condition" (rowReorder, columnVis, etc) its own JS file, and then use something like RequireJS to load all of the condition "modules". This would allow people to code their own modules, then just throw the .js file into a folder, which would automatically get loaded.
If you have any ideas, let me know!


[WASM] Add a Promise class to the browser module

Also, I changed the fetch function to return a promise and not take a handler parameter and updated its demo snippet to match it.

Codecov Report

Merging #562 into master will decrease coverage by 0.14%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #562      +/-   ##
==========================================
- Coverage   43.06%   42.91%   -0.15%
==========================================
  Files          73       73
  Lines       15924    15986      +62
  Branches     4179     4196      +17
==========================================
+ Hits         6858     6861       +3
- Misses       7144     7203      +59
  Partials     1922     1922

Impacted Files
Coverage Δ

wasm/lib/src/browser_module.rs
0% <0%> (ø)
:arrow_up:

wasm/lib/src/convert.rs
0% <0%> (ø)
:arrow_up:

vm/src/stdlib/io.rs
29.55% <0%> (-0.23%)
:arrow_down:

vm/src/stdlib/string.rs
23.38% <0%> (+1.49%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d6242ac...1d193e7. Read the comment docs.


[Shared runtime] Articles on Custom Functions using Excel APIs, setting startup behavior

@davidchesnut I had Linda look through this already. I went ahead and adapted what we had from Shaofeng and co for the sample in the Excel APIs one, but I've been on the struggle bus getting an Excel API of any kind to work. Nonetheless, opening a PR here so if need be we can push things out while I am gone.

Docs Build status updates of commit ecb38e6:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/call-excel-apis-from-custom-function.md
:warning:Warning

Details

docs/excel/run-code-on-document-open.md
:warning:Warning

Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded

docs/design/add-in-color.md
:white_check_mark:Succeeded

docs/design/data-visualization-guidelines.md
:white_check_mark:Succeeded

docs/design/task-pane-add-ins.md
:white_check_mark:Succeeded

docs/design/using-office-ui-fabric-react.md
:white_check_mark:Succeeded

docs/develop/add-ins-with-angular2.md
:white_check_mark:Succeeded

docs/develop/asynchronous-programming-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/auth-with-office-dialog-api.md
:white_check_mark:Succeeded

docs/develop/authentication-pnp.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph-without-sso.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded

docs/develop/automatically-open-a-task-pane-with-a-document.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-aspnet.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-nodejs.md
:white_check_mark:Succeeded

docs/develop/debug-office-add-ins-in-visual-studio.md
:white_check_mark:Succeeded

docs/develop/develop-add-ins-vscode.md
:white_check_mark:Succeeded

docs/develop/dialog-api-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/dialog-best-practices.md
:white_check_mark:Succeeded

docs/develop/dialog-handle-errors-events.md
:white_check_mark:Succeeded

docs/develop/dialog-video.md
:white_check_mark:Succeeded

docs/develop/install-latest-office-version.md
:white_check_mark:Succeeded

docs/develop/manifest-element-ordering.md
:white_check_mark:Succeeded

docs/develop/office-versions-and-requirement-sets.md
:white_check_mark:Succeeded

docs/develop/overview-authn-authz.md
:white_check_mark:Succeeded

docs/develop/sso-in-office-add-ins.md
:white_check_mark:Succeeded

docs/excel/custom-functions-dynamic-arrays.md
:white_check_mark:Succeeded

docs/excel/custom-functions-errors.md
:white_check_mark:Succeeded

docs/excel/custom-functions-json.md
:white_check_mark:Succeeded

docs/excel/custom-functions-volatile.md
:white_check_mark:Succeeded

docs/excel/custom-functions-web-reqs.md
:white_check_mark:Succeeded

docs/excel/excel-add-ins-advanced-concepts.md
:white_check_mark:Succeeded

docs/excel/excel-add-ins-pivottables.md
:white_check_mark:Succeeded

docs/excel/excel-add-ins-shapes.md
:white_check_mark:Succeeded

docs/excel/excel-js-api-common-api.png
:white_check_mark:Succeeded

docs/excel/make-custom-functions-compatible-with-xll-udf.md
:white_check_mark:Succeeded

docs/images/add-in-taskpane-sizes-desktop.png
:white_check_mark:Succeeded

docs/images/add-in-taskpane-sizes-online.png
:white_check_mark:Succeeded

docs/images/addins-overview.png
:white_check_mark:Succeeded

docs/images/auth-decisions-flowchart.gif
:white_check_mark:Succeeded

docs/images/authflowchart.png
:white_check_mark:Succeeded

docs/images/custom-functions-json.png
:white_check_mark:Succeeded

docs/images/custom-functions-web-api.gif
:white_check_mark:Succeeded

docs/images/data-visualization-column-chart.png
:white_check_mark:Succeeded

docs/images/data-visualization-gridlines.png
:white_check_mark:Succeeded

docs/images/data-visualization-line-chart.png
:white_check_mark:Succeeded

docs/images/data-visualization.png
:white_check_mark:Succeeded

docs/images/dynamic-array-spill.png
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.

docs/excel/call-excel-apis-from-custom-function.md

Line 21: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).
Line 53: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).

docs/excel/run-code-on-document-open.md

Line 16: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).
Line 44: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Reopening, I thought there was a way to get this to not show the previous commits from other people but I think that's just the way this one wants to work?

Docs Build status updates of commit ecb38e6:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/call-excel-apis-from-custom-function.md
:warning:Warning

Details

docs/excel/run-code-on-document-open.md
:warning:Warning

Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/404.md
:white_check_mark:Succeeded

docs/concepts/add-in-development-best-practices.md
:white_check_mark:Succeeded

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded

docs/concepts/resource-limits-and-performance-optimization.md
:white_check_mark:Succeeded

docs/design/add-in-color.md
:white_check_mark:Succeeded

docs/design/add-in-commands.md
:white_check_mark:Succeeded

docs/design/add-in-design-language.md
:white_check_mark:Succeeded

docs/design/content-add-ins.md
:white_check_mark:Succeeded

docs/design/data-visualization-guidelines.md
:white_check_mark:Succeeded

docs/design/design-toolkits.md
:white_check_mark:Succeeded

docs/design/dialog-boxes.md
:white_check_mark:Succeeded

docs/design/interface-elements.md
:white_check_mark:Succeeded

docs/design/office-ui-fabric.md
:white_check_mark:Succeeded

docs/design/task-pane-add-ins.md
:white_check_mark:Succeeded

docs/design/using-office-ui-fabric-react.md
:white_check_mark:Succeeded

docs/design/ux-design-pattern-templates.md
:white_check_mark:Succeeded

docs/develop/add-ins-with-angular2.md
:white_check_mark:Succeeded

docs/develop/addressing-same-origin-policy-limitations.md
:white_check_mark:Succeeded

docs/develop/asynchronous-programming-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/auth-external-add-ins.md
:white_check_mark:Succeeded

docs/develop/auth-with-office-dialog-api.md
:white_check_mark:Succeeded

docs/develop/authentication-pnp.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph-without-sso.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded

docs/develop/automatically-open-a-task-pane-with-a-document.md
:white_check_mark:Succeeded

docs/develop/bind-to-regions-in-a-document-or-spreadsheet.md
:white_check_mark:Succeeded

docs/develop/convert-javascript-to-typescript.md
:white_check_mark:Succeeded

docs/develop/create-addin-commands.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-aspnet.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-nodejs.md
:white_check_mark:Succeeded

docs/develop/debug-office-add-ins-in-visual-studio.md
:white_check_mark:Succeeded

docs/develop/develop-add-ins-vscode.md
:white_check_mark:Succeeded

docs/develop/dialog-api-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/dialog-best-practices.md
:white_check_mark:Succeeded

docs/develop/dialog-handle-errors-events.md
:white_check_mark:Succeeded

docs/develop/dialog-video.md
:white_check_mark:Succeeded

docs/develop/get-javascript-intellisense-in-visual-studio.md
:white_check_mark:Succeeded

docs/develop/install-latest-office-version.md
:white_check_mark:Succeeded

docs/develop/loading-the-dom-and-runtime-environment.md
:white_check_mark:Succeeded

docs/develop/manifest-element-ordering.md
:white_check_mark:Succeeded

docs/develop/office-javascript-api-object-model.md
:white_check_mark:Succeeded

docs/develop/office-versions-and-requirement-sets.md
:white_check_mark:Succeeded

docs/develop/overview-authn-authz.md
:white_check_mark:Succeeded

docs/develop/persisting-add-in-state-and-settings.md
:white_check_mark:Succeeded

docs/develop/read-and-write-data-to-the-active-selection-in-a-document-or-spreadsheet.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.

docs/excel/call-excel-apis-from-custom-function.md

Line 21: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).
Line 53: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).

docs/excel/run-code-on-document-open.md

Line 16: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).
Line 44: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit dfefd78:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/call-excel-apis-from-custom-function.md
:warning:Warning

Details

docs/excel/run-code-on-document-open.md
:warning:Warning

Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/404.md
:white_check_mark:Succeeded

docs/concepts/add-in-development-best-practices.md
:white_check_mark:Succeeded

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded

docs/concepts/resource-limits-and-performance-optimization.md
:white_check_mark:Succeeded

docs/design/add-in-color.md
:white_check_mark:Succeeded

docs/design/add-in-commands.md
:white_check_mark:Succeeded

docs/design/add-in-design-language.md
:white_check_mark:Succeeded

docs/design/content-add-ins.md
:white_check_mark:Succeeded

docs/design/data-visualization-guidelines.md
:white_check_mark:Succeeded

docs/design/design-toolkits.md
:white_check_mark:Succeeded

docs/design/dialog-boxes.md
:white_check_mark:Succeeded

docs/design/interface-elements.md
:white_check_mark:Succeeded

docs/design/office-ui-fabric.md
:white_check_mark:Succeeded

docs/design/task-pane-add-ins.md
:white_check_mark:Succeeded

docs/design/using-office-ui-fabric-react.md
:white_check_mark:Succeeded

docs/design/ux-design-pattern-templates.md
:white_check_mark:Succeeded

docs/develop/add-ins-with-angular2.md
:white_check_mark:Succeeded

docs/develop/addressing-same-origin-policy-limitations.md
:white_check_mark:Succeeded

docs/develop/asynchronous-programming-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/auth-external-add-ins.md
:white_check_mark:Succeeded

docs/develop/auth-with-office-dialog-api.md
:white_check_mark:Succeeded

docs/develop/authentication-pnp.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph-without-sso.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded

docs/develop/automatically-open-a-task-pane-with-a-document.md
:white_check_mark:Succeeded

docs/develop/bind-to-regions-in-a-document-or-spreadsheet.md
:white_check_mark:Succeeded

docs/develop/convert-javascript-to-typescript.md
:white_check_mark:Succeeded

docs/develop/create-addin-commands.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-aspnet.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-nodejs.md
:white_check_mark:Succeeded

docs/develop/debug-office-add-ins-in-visual-studio.md
:white_check_mark:Succeeded

docs/develop/develop-add-ins-vscode.md
:white_check_mark:Succeeded

docs/develop/dialog-api-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/dialog-best-practices.md
:white_check_mark:Succeeded

docs/develop/dialog-handle-errors-events.md
:white_check_mark:Succeeded

docs/develop/dialog-video.md
:white_check_mark:Succeeded

docs/develop/get-javascript-intellisense-in-visual-studio.md
:white_check_mark:Succeeded

docs/develop/install-latest-office-version.md
:white_check_mark:Succeeded

docs/develop/loading-the-dom-and-runtime-environment.md
:white_check_mark:Succeeded

docs/develop/manifest-element-ordering.md
:white_check_mark:Succeeded

docs/develop/office-javascript-api-object-model.md
:white_check_mark:Succeeded

docs/develop/office-versions-and-requirement-sets.md
:white_check_mark:Succeeded

docs/develop/overview-authn-authz.md
:white_check_mark:Succeeded

docs/develop/persisting-add-in-state-and-settings.md
:white_check_mark:Succeeded

docs/develop/read-and-write-data-to-the-active-selection-in-a-document-or-spreadsheet.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.

docs/excel/call-excel-apis-from-custom-function.md

Line 21: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).
Line 53: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).

docs/excel/run-code-on-document-open.md

Line 16: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).
Line 44: [Warning] Invalid file link:(~/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 8f2028a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/404.md
:white_check_mark:Succeeded

docs/concepts/add-in-development-best-practices.md
:white_check_mark:Succeeded

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded

docs/concepts/resource-limits-and-performance-optimization.md
:white_check_mark:Succeeded

docs/design/add-in-color.md
:white_check_mark:Succeeded

docs/design/add-in-commands.md
:white_check_mark:Succeeded

docs/design/add-in-design-language.md
:white_check_mark:Succeeded

docs/design/content-add-ins.md
:white_check_mark:Succeeded

docs/design/data-visualization-guidelines.md
:white_check_mark:Succeeded

docs/design/design-toolkits.md
:white_check_mark:Succeeded

docs/design/dialog-boxes.md
:white_check_mark:Succeeded

docs/design/interface-elements.md
:white_check_mark:Succeeded

docs/design/office-ui-fabric.md
:white_check_mark:Succeeded

docs/design/task-pane-add-ins.md
:white_check_mark:Succeeded

docs/design/using-office-ui-fabric-react.md
:white_check_mark:Succeeded

docs/design/ux-design-pattern-templates.md
:white_check_mark:Succeeded

docs/develop/add-ins-with-angular2.md
:white_check_mark:Succeeded

docs/develop/addressing-same-origin-policy-limitations.md
:white_check_mark:Succeeded

docs/develop/asynchronous-programming-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/auth-external-add-ins.md
:white_check_mark:Succeeded

docs/develop/auth-with-office-dialog-api.md
:white_check_mark:Succeeded

docs/develop/authentication-pnp.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph-without-sso.md
:white_check_mark:Succeeded

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded

docs/develop/automatically-open-a-task-pane-with-a-document.md
:white_check_mark:Succeeded

docs/develop/bind-to-regions-in-a-document-or-spreadsheet.md
:white_check_mark:Succeeded

docs/develop/convert-javascript-to-typescript.md
:white_check_mark:Succeeded

docs/develop/create-addin-commands.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-aspnet.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-nodejs.md
:white_check_mark:Succeeded

docs/develop/debug-office-add-ins-in-visual-studio.md
:white_check_mark:Succeeded

docs/develop/develop-add-ins-vscode.md
:white_check_mark:Succeeded

docs/develop/dialog-api-in-office-add-ins.md
:white_check_mark:Succeeded

docs/develop/dialog-best-practices.md
:white_check_mark:Succeeded

docs/develop/dialog-handle-errors-events.md
:white_check_mark:Succeeded

docs/develop/dialog-video.md
:white_check_mark:Succeeded

docs/develop/get-javascript-intellisense-in-visual-studio.md
:white_check_mark:Succeeded

docs/develop/install-latest-office-version.md
:white_check_mark:Succeeded

docs/develop/loading-the-dom-and-runtime-environment.md
:white_check_mark:Succeeded

docs/develop/manifest-element-ordering.md
:white_check_mark:Succeeded

docs/develop/office-javascript-api-object-model.md
:white_check_mark:Succeeded

docs/develop/office-versions-and-requirement-sets.md
:white_check_mark:Succeeded

docs/develop/overview-authn-authz.md
:white_check_mark:Succeeded

docs/develop/persisting-add-in-state-and-settings.md
:white_check_mark:Succeeded

docs/develop/read-and-write-data-to-the-active-selection-in-a-document-or-spreadsheet.md
:white_check_mark:Succeeded

docs/develop/referencing-the-javascript-api-for-office-library-from-its-cdn.md
:white_check_mark:Succeeded

docs/develop/register-sso-add-in-aad-v2.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add zeet.co deployment to README

Thanks! Always great to have simple solutions to deploy apps with one click. 👏


New release

Hi @sindresorhus . Thanks for this package. Would you be able to create a new release for the recent changes? I'm using the package in a Swift Playgrounds app and it's stuck at 7.1 which still has a couple of deprecation warnings in Defaults+Bridge you've recently quashed.

https://github.com/sindresorhus/Defaults/releases/tag/v7.2.0


Dark Mode is not working properly

Description:
The Dark Mode of the main web page is not rendering properly.
Reason for Change:
As an Indented feature of the web page it is not working properly.
Current Styling:
When changed to Dark Mode, components like navbar, team and video section is not working properly.
Proposed Styling:
Change according to given styles.
Priority Level :

[ ] Low
[x] Medium
[ ] High

Okay ?
Please assign me this issue. :)
Before :

After :


have the -xcode flag option for mac?

i was thinking that if the ios has the -xcode flag how come mac don't have one?

As I understand it, an Xcode project is basically always required to compile an iOS app, even if that project isn't made available as a build artifact. On the other hand, to compile for macOS, I think that you can compile everything by executing directly the compiler, linker, and any other command line tools that are required, so no Xcode project is required.
With that in mind, the -xcode option was very easy to implement with iOS because the project would already exist from the start. With macOS, extra work would need to go into generating a project file that isn't normally used. It's probably not impossible, but I doubt it would be worth the effort, except by someone who has a very specific reason to need it.

ok i understand where your coming from and it is kinda useless making a whole xcode project. but there is the thing i have a intel mac and i want to make a arm64 build but i don't have a mac silicon arm64 computer but i have xcode so i can make the arm64 that why i was thinking of implementing that -xcode flag.

and see i used this version of lime https://github.com/openfl/lime/pull/1642 from someone else's request and  i tried to build it even though i have xcode and it did not work

thats why i wanted to implement -xcode on macOS. yes it will be diffrent and it will be hard but at the same time i can choose which arch i can use on xcode

I wonder if you can add -DHXCPP_ARM64 to your build command.

ima try

its because i have a x86_64 mac


chore(typings): increase combineLatest's signature compatibility with v4

Add the case for ~T9 type parameters which are defined in v4

https://github.com/Reactive-Extensions/RxJS/blob/9d6ea94244c2f40a29373f9ed6b12d951d3f2238/ts/core/linq/observable/combinelatestproto.ts
https://github.com/Reactive-Extensions/RxJS/blob/9d6ea94244c2f40a29373f9ed6b12d951d3f2238/ts/core/linq/observable/combinelatest.ts

Restrict cases which accepts arrays as the 1st argument of combineLatest()

From any to T.
As my thought, It would be rare case to pass multiple types with stuffing into an array.

Oops, I accidentally close this... I'll re-open a new pull request.


Active Stake empty for epoch 231

I've been using cardano-graqhql and I've noticed that retrieving data for ActiveStake epoch 231 is completely empty. I've compared it against 2 nodes that was NOT affected by this bug: https://github.com/input-output-hk/cardano-db-sync/issues/398 and I am pulling transactions.
I've checked the actual tables and looking up 230 pulls data, 231 has no records.

I'm currently running cardano-graphql commit 6f20487ed6969bb7df057e3794fd57741d420349 which is using cardano-db-sync:6.0.0

I do not know what cardano-graqhql does, but I do know that db-sync currently does not store active state.

Awesome, thanks for that. I thought it was a shared feature. To keep things clean I'll recreate it on the cardano-graqhql  github and link back here for future reference.

Probably better if I move this ticket to grpahql.


[v3] merge altsrc with main package

What type of PR is this?
(REQUIRED)

[ ] bug
[x] cleanup
[ ] documentation
[ ] feature

What this PR does / why we need it:
This is one of the first goals for the v3 release (via https://github.com/urfave/cli/issues/833#issue-476467837). This helps condense the public API by reducing two exposed packages from before into a single package.
Release Notes
- Remove `altsrc` package
- Add `FlagInputSourceExtension` interface to allow a value to be set on existing parsed flags through alternate sources like `JSON` or `TOML` etc.

I'd like us all to re consider this PR and we can then probably consider moving forward in the direction of a modular v3

@urfave/cli

There have been a number of changes to the master branch since this was last worked on, and in particular, a number of fixes applied to the altsrc package. I think we're not seeing any conflicts now because v3-development-master has lagged behind, but I want to make sure that we aren't losing out on changes, especially in a ~3000 line diff.
Not sure what the best way to proceed is here—potentially start by getting v3-development-master up to date with master?

👀

👀

@asahasrabuddhe Can you fix the merge conflicts ?

OMG ITS HAPPENING!?!?!


Import assets with alias

Hi, thanks for the good tool.
I can't exclude the import of assets (pictures) with the ts + vite alias. How can you defeat this?

tsconfig:
"paths": {
  "@openquiz/*": ["../../packages/*/src"],
  "@/*": ["./src/*"],
}

vite.config.ts:
resolve: {
  alias: {
    '@': path.resolve(__dirname, './src')
  }
}

Do you have a repo you can link to? Or reproduction? Or could you add something to the test/fixtures folder in a PR?

@webpro made a demo repository https://github.com/ds-pankov/issue-demo. Alias is configured in vite.config.ts.

:rocket: This issue has been resolved in v2.14.2. See Release 2.14.2 for release notes.

When TypeScript doesn't resolve such a module I'm using a brittle heuristic to decide whether its importing an external dependency or not. When using the @ to prefix paths this is unfortunate. In your case this is fixed now (using a path prefix like @assets/img/* might result in a "missing" external dependency).

Thanks.


Add prop for checkbox true/false value

Enable editing of checkbox true/false value.

closing this as already implemented


Received notification even though in device settings its disabled

I have disabled notifications in device settings, but still i get notifications for the app from GCM

Sorry to be a jerk but I'm now closing issues that don't follow the issue submission guidelines. This plugin takes a lot of work to maintain and I can't afford the time required to solicit the required info from everyone.
I'm closing this issue but please feel free to re-open the issue if you provide the requested details from the new issue submission guidelines.
https://github.com/phonegap/phonegap-plugin-push/blob/master/.github/ISSUE_TEMPLATE.md


Incompatible format warnings introduced with lua_ls 3.6.18

Hi again @CppCXY,
Ty for your hard work :-)
It seems that 3.6.18 introduced new warnings for something that was formatted by 3.6.17, the formatter is expecting the below code to be indented by extra 2 whitespaces:

If I add 2 new spaces the warnings will disappear but then when I run the auto-formatter again it will re-indent left which generates the warnings again:

I'm not sure which one is wrong, the warnings or the formatter.

this must be a bug


WIP - Feat/airflow emreks

Issue #, if available:

Added a module to support the execution of Spark Jobs on AWS EMR on EKS.
Added an example spark dags module to demonstrate how to consume emr-on-eks module for running spark jobs on AWS EMR on EKS

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hey @srinivasreddych  - this looks really good, glad you got this working. I think it would make sense to split this module up into 2 modules,  by moving the emr on eks stacks to a core/emr-on-eks module so this is more reusable. Then the individual use cases can have separate modules containing business logic including spark scripts, Airflow Dags, and IAM policies for the Spark Job. I am trying to leverage this in the ros-image-pipeline, but I am ending up copying and pasting a lot of your code to make use of it.

hi @kevinsoucy  when you refactor the ros-image-pipeline, can you create a new one with emr on EKS and keep the existing solution with EMR?

This looks good to me! Thanks @srinivasreddych !


Check just the staged content of the changed files

Hi,
I'm using pretty-quick to just check the contents of the commit in a precommit hook and fail if there are any issues without formatting/staging anything. It works well and fast, but my problem is it checks the contents of the file as it exists in the filesystem. If I have some staged changes that are not formatted correctly, but also have the file formatted correctly as unstaged, the check succeeds as it reads the file from the filesystem, thus allowing to create a commit that will not pass validation on the CI.

I have the vice-versa behavior: Valid staged changes are not accepted since apparently the working directory is checked instead of the index.
To summarize: I think the "--staged"-flag doesn't work currently and creates both, false-positives and false-negatives.

I think this complex usage case is not suitable for this package, maybe you can try https://github.com/lint-staged/lint-staged


Add 'as' prop to TS definition.

Updated the TS definition with the new as prop.

Thanks for another cool PR.


How to install SEAL on Windows?

I'm new to cryptography and I'm going to install SEAL. However, following the instructions, I encountered the following problems:

** Visual Studio 2019 Developer Command Prompt v16.7.7
** Copyright (c) 2020 Microsoft Corporation

[vcvarsall.bat] Environment initialized for: 'x64'
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional>cd D:\workplace\SEAL-3.6.2
D:\workplace\SEAL-3.6.2>cmake -S . -B build -G Ninja
-- Build type (CMAKE_BUILD_TYPE): Release
-- Microsoft SEAL debug mode: OFF
-- Microsoft GSL: download ...
CMake Error at D:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.17/Modules/ExternalProject.cmake:2454 (message):
error: could not find git for clone of msgsl-populate
Call Stack (most recent call first):
D:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.17/Modules/ExternalProject.cmake:3267 (_ep_add_download_command)
CMakeLists.txt:13 (ExternalProject_Add)
-- Configuring incomplete, errors occurred!
See also "D:/workplace/SEAL-3.6.2/thirdparty/msgsl-subbuild/CMakeFiles/CMakeOutput.log".
CMake Error at D:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.17/Modules/FetchContent.cmake:900 (message):
CMake step for msgsl failed: 1
Call Stack (most recent call first):
D:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.17/Modules/FetchContent.cmake:1003 (__FetchContent_directPopulate)
cmake/ExternalMSGSL.cmake:12 (FetchContent_Populate)
cmake/SEALMacros.cmake:17 (include)
CMakeLists.txt:141 (seal_fetch_thirdparty_content)
-- Configuring incomplete, errors occurred!
See also "D:/workplace/SEAL-3.6.2/build/CMakeFiles/CMakeOutput.log".
See also "D:/workplace/SEAL-3.6.2/build/CMakeFiles/CMakeError.log".

Do you have Git installed?

Thank you, I have solved the problem


compose helpers ADD

Description
This PR adds helper functions for using compose in Meshery & its components
Notes for Reviewers
Signed commits

[X] Yes, I signed my commits.

@Revolyssup  @leecalcote

@hexxdump @acald-creator @alphaX86

@leecalcote @acald-creator  Check it out


Introspection stopped working

Describe the bug
Running introspection does nothing. It does not seem to issue any request nor gives any error

To Reproduce
Introspected a:
{
    "projects": {
        "a": {
            "schemaPath": "a.graphqls",
            "extensions": {
                "endpoints": {
                    "env": {
                        "url": "https://endpoint.com/graphql",
                        "headers": {
                            "user-agent": "JS GraphQL"
                        }
                    }
                }
            }
        }
    }
}

Version and Environment Details
Operation system: [version]
IDE name and version: 2021.3 IDEA
Plugin version: 3.1.0

Hi! Are there any errors containing the "GraphQL" string in the log Help -> Open log in ...?
You can also try to run it from the configuration file using this green button:

I tried also the green button but the result was the same. Will try to check the logs tmrw, thank you for reply.

Can be related #520.

Yup, I have that checked.
Clicking on green arrow does not produce any exception.

There was this inspection when IDE started
	at com.intellij.lang.jsgraphql.ide.introspection.GraphQLIntrospectionService.getSecurityConfig(GraphQLIntrospectionService.java:198)
	at com.intellij.lang.jsgraphql.ide.introspection.GraphQLIntrospectionService$IntrospectionQueryTask.run(GraphQLIntrospectionService.java:537)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:436)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:120)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:496)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:244)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:624)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:698)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:646)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:623)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:244)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:829)```

Should be fixed in 3.1.2.

I'll look through the code to check it again.
Also, please, try to remove the schema file explicitly and introspect it again. Now it's possible that the newly introspected schema in not opened in the editor, but an introspection was successful. To open the editor should be a default behavior, but something could go wrong. It's configured by this new option:

This is really helpful, specially if you use a keyboard shortcut I was desperately looking for this


MVP generate dummy data within the app

Context

Create some draft views to generate dummy data to allow us to test the app (particularly once it's been deployed).
This uses dummy data and and generates themes based on topic modelling (not got the improved LLM summaries in yet but have the intial BERTopic things in there).
Changes proposed in this pull request

Add a page at /consultation-example - with a button to generate dummy data
Add a page at /consultation/<slug> - to display data for a particular consultation and a button to generate themes
Add a dummy method in ML pipeline to generate made up themes for testing (adding the real method will be in a separate PR)
Add options to the dummy data creator - so we can generate consultation responses without themes (for testing)
Refactor factories to within the app so we can generate dummy data (otherwise get import errors)
Basic tests - kept them simple as the content of each of these pages will change soon

Guidance to review

Check the full flow:

Go to /consultation-example
Generate a dummy consultation
You should be redirected to the new consultation at /consultations/<some slug>
Check that the new consultation doesn't have any themes assigned (navigate to the different questions and check)
Back on the /consultations/<some slug> page - click on the "generate themes" button
Navigate into the questions page - check some themes have been generated

Questions to consider:

Does it seem sensible to only generate dummy data in the specified environments?
Does it seem ok to refactor factories.py into the app? This is because I got import errors when it was in tests (when running make serve as opposed to manage.py runserver - assume gunicorn related).

Link to JIRA ticket

Part of generating ML pipeline.
Things to check

[X] I have added any new ENV vars in all deployed environments and updated the .env.example and .env.test files in the repo

It's working well for me until step 5. After pressing the "Generate themes" button I get this error, and then can no longer access the consultations/<some slug> page:
[2024-04-08 12:32:01 +0100] [2962] [ERROR] Worker (pid:2965) was sent SIGKILL! Perhaps out of memory?
/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/multiprocessing/resource_tracker.py:254: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
I've restarted my laptop to hopefully rule out a memory issue. Is there something else I need to do?

Closing as now superseded by a new PR.


flatList (usage memory higher then Android OS)

React Native version:
System:
   OS: macOS High Sierra 10.13.6
   CPU: (4) x64 Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
   Memory: 1.97 GB / 12.00 GB
   Shell: 3.2.57 - /bin/bash
 Binaries:
   Node: 11.13.0 - /usr/local/bin/node
   Yarn: 1.15.2 - /usr/local/bin/yarn
   npm: 6.7.0 - /usr/local/bin/npm
 SDKs:
   iOS SDK:
     Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
   Android SDK:
     API Levels: 23, 26, 27, 28
     Build Tools: 23.0.1, 26.0.2, 26.0.3, 27.0.3, 28.0.2, 28.0.3
     System Images: android-23 | Google APIs Intel x86 Atom, android-27 | Android TV Intel x86 Atom, android-27 | Intel x86 Atom, android-27 | Intel x86 Atom_64, android-27 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom
 IDEs:
   Android Studio: 3.4 AI-183.6<IP_ADDRESS>22156
   Xcode: 10.1/10B61 - /usr/bin/xcodebuild
 npmPackages:
   react: 16.8.6 => 16.8.6
   react-native: 0.60.4 => 0.60.4

i have a flatlist + image (react-native-fast-image) and my code have all recommended
standards for optimization of flatlist and all component's are pureComponent . shouldComponentUpdate implement for stateless component.
removeClippedSubviews , legacyImplementation and getItemLayout have been implemented
all but our consumptioned memory is higher than android os memory ,i looked to https://github.com/facebook/react-native/issues/13413 but not have any good solution, do you have any solution ?

related links :
https://facebook.github.io/react-native/docs/next/optimizing-flatlist-configuration
re-render message :
VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc. {dt: 5123, prevDt: 11364, contentLength: 4791.23828125}

flatList :
return (
                <FlatList
                    data={data}
                    extraData={this.state}
                    renderItem={_renderItemProduct}
                    keyExtractor={_keyExtractor}
                    removeClippedSubviews={true}
                    legacyImplementation={true}
                    getItemLayout={_getItemLayout}
                    windowSize={*default 21 but --> data.length*}
                    initialNumToRender={5}
                />
        );

renderItem and keyExtractor :
const _keyExtractor = (item, index) => `Row_${index}`;
const _renderItemProduct = ({ item }) => <ProductItem item={item} />  ---pureComponent--

getItemLayout :
ITEM_HEIGHT = 150;
const _getItemLayout = (data, index) => ({
            length: ITEM_HEIGHT * index,
            offset: ITEM_HEIGHT * index,
            index,
});

any solution ?

This issue is present in newer version too.

any news ?


Updated wechat api link

Outdated api link redirected to homepage, so replaced it with new api url

Thank you very much for your contribution!


Maya/155222 list style updates

Summary

What:

Change spacing between list item markers and content
Set custom spacing between list headers of various sizes and lists
Add a final . after the last counter symbol in ordered lists

Ticket: [sc-155222]

Demos

before
after

Notes
I chose to take an easier to understand approach to spacing between markers and content. This also resolved an unknown problem with nested lists where deeply nested lists would eventually have markers so long they would overlap with content.
Checklist

[x] I merged latest main
[x] I manually verified the change
[x] I added labels to my PR
[ ] I tested in multiple browsers
[ ] I added relevant unit tests
[ ] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

@mmmmmmaya Thanks so much for the PR!! It looks so much better now 😆
Is there a reason this is closed? Thank you!

Thanks, @mmmmmmaya ! Ahhh I see what you mean now! Yeah it does look odd 😆 Thank you!

@tihuan we are going with left-aligned!


A button to hide music room from dashboard

Describe the feature
There is a music room card shown for users who are registered in Music room. Currently the events from Music room cannot be hidden from calendar like all other groups.
Suggested solution
There should be a button on Music room card to hide the group. After clicking, it should call backend.
Additional context
The button should look like in all other event groups (eye icon).

Three such buttons: for Music room, Sports, and Moodle


kretprobe on tcp_v4_connect has non-zero nmissed field

When a kretprobe is installed on a kernel function, there is a maximum limit of how many calls in parallel it can catch (aka "maxactive"). In the case of a eBPF kretprobe, the maxactive is let to the default as defined in kernel/kprobes.c:
        /* Pre-allocate memory for max kretprobe instances */
        if (rp->maxactive <= 0) {
#ifdef CONFIG_PREEMPT
                rp->maxactive = max_t(unsigned int, 10, 2*num_possible_cpus());
#else
                rp->maxactive = num_possible_cpus();
#endif
        }

We can check if some kretprobes are ever missed:
# cat /sys/kernel/debug/tracing/kprobe_profile | grep -vw '0$'
  rtcp_v4_connect                                         1650              28

Every time I start tcptracer-bpf, it misses 28 kretprobes on tcp_v4_connect. I have not noticed any missing "connect" events but this is surprising. I don't know if it is a real bug or if kprobe_profile reports a false positive for some reason.

Every time I start tcptracer-bpf, it misses 28 kretprobes on tcp_v4_connect.

How did you tests this? I don't see "every time I start tcptracer-bpf". I do see miss-hits, but they seem to happen only once after kernel boot (as far as I see kprobe_profile doesn't get reset)?
diff --git a/semaphore.sh b/semaphore.sh
index db07459..09488bb 100755
--- a/semaphore.sh
+++ b/semaphore.sh
@@ -69,7 +69,8 @@ for kernel_version in "${kernel_versions[@]}"; do
         mount -t tmpfs tmpfs /tmp &&
         mount -t debugfs debugfs /sys/kernel/debug/ &&
         make &&
-        ./run'
+        ./run &&
+        cat /sys/kernel/debug/tracing/kprobe_profile | grep -vw "0$"'

     # Determine exit code from pod status due to
     # https://github.com/coreos/rkt/issues/2777

^ shows 24 misses (seemingly reliable).

as far as I see kprobe_profile doesn't get reset

I does get reset. The high number of hits then stems from the offset guess phase.

I printed how the nmissed increases during the initialization process:
https://gist.githubusercontent.com/alban/3509b952b69f0ed608ccd6a2f44caa65/raw/2348460451bf00ed1245548d4134e019af96a06e/gistfile1.txt
It seems to increase whenever bpf_probe_read() returns EFAULT (when guessing the network namespace offset).
I was fearing it could cause https://github.com/weaveworks/scope/issues/2379 but it seems unrelated since https://github.com/weaveworks/scope/issues/2379 fails before the "network namespace" step.

@schu added some bpf_trace_printk() in kprobe__tcp_v4_connect() and kretprobe__tcp_v4_connect() to see how they are called during the offset work:
scope-19720 [000] d...   497.511920: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19720 [000] d...   497.512012: : kretprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19720 [000] d...   497.512459: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19720 [000] d...   497.512555: : kretprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19720 [000] d...   497.513016: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19720 [000] d...   497.513100: : kretprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19720 [000] d...   497.513538: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19720 [000] d...   497.513703: : kretprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
 curl-19834 [000] d...   497.516090: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8698
scope-19720 [000] d...   497.516345: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8472
scope-19821 [000] d...   497.519377: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8573
scope-19821 [000] d...   497.521792: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8573
 curl-19834 [000] d...   497.529933: : kretprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>8698
scope-19790 [000] d...   497.624384: : kprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>1246
scope-19790 [000] dN..   497.624592: : kretprobe__tcp_v4_connect - pid_tgid<PHONE_NUMBER>1246

In this example, pid_tgid=84662395358472 is a thread of Scope that does the guessing work. There are other threads of Scope that perform connections at the same time and also other processes (e.g. curl above).
For each kprobe, there should be a kretprobe. For pid_tgid=84662395358472, this is the case until the ~178th connection.
At the same time, I got logs from offsetguess.go
rtcp_v4_connect   174               0
source port
rtcp_v4_connect   175               0
source port
rtcp_v4_connect   176               0
source port
rtcp_v4_connect   177               0
source port
rtcp_v4_connect   178               0
<probe> WARN: 2017/03/23 13:05:00.367957 Error setting up the eBPF tracker, falling back to proc scanning: failed to init perf map for IPv4 events: error guessing offsets: invalid guessing state while guessing source port, got checking expected checked, status.offset_saddr: 4

tcptracer-bpf's guessing code does 178 connections before it fails.
I notice that there are 4 successive kprobes with only 1 kretprobe. This is the problem.
We reproduced it only on the GCE instance with 4.4.0-66-generic and only one "possible" cpu (cpu#0):
# cat /sys/devices/system/cpu/possible
0
# cat /boot/config-4.4.0-66-generic | grep CONFIG_PREEMPT
# CONFIG_PREEMPT is not set

In this case, we should only have maxactive == 1:
        /* Pre-allocate memory for max kretprobe instances */
        if (rp->maxactive <= 0) {
#ifdef CONFIG_PREEMPT
                rp->maxactive = max_t(unsigned int, 10, 2*num_possible_cpus());
#else
                rp->maxactive = num_possible_cpus();
#endif
        }

At a first glance, tcp_v4_connect() is not sleeping (no schedule() or semaphore in this function..) so I don't understand how we can have several calls on an non-preemptive kernel before the function returning.
I don't see know if it is possible to configure a kprobe with a higher maxactive. @iaguis is looking into that.

This explains why I cannot reproduce the issue on my laptop: I have 8 "possible" cpus on my laptop (cat /sys/devices/system/cpu/possible) so it's much more difficult to have so many tcp_v4_connect at the same time.

I don't see know if it is possible to configure a kprobe with a higher maxactive. @iaguis is looking into that.

From what I see in the kernel, there's no way to configure maxactive unless you set it explicitly in struct kretprobe.
This is the output of searching for maxactive in the kernel tree:
iaguis@locke-xps13: ~/git/linux [(v4.10)]
> rg maxactive
Documentation/kprobes.txt
52:a post_handler, and how to use the maxactive and nmissed fields of
135:register_kretprobe(), the user sets the maxactive field of the
141:spinlock held, maxactive = 1 should be enough.  If the function is
143:or preemption), NR_CPUS should be enough.  If maxactive <= 0, it is
147:It's not a disaster if you set maxactive too low; you'll just miss
433:You must set rp->maxactive appropriately before you call

kernel/kprobes.c
1861:	if (rp->maxactive <= 0) {
1863:		rp->maxactive = max_t(unsigned int, 10, 2*num_possible_cpus());
1865:		rp->maxactive = num_possible_cpus();
1870:	for (i = 0; i < rp->maxactive; i++) {

include/linux/kprobes.h
177: * User needs to provide a handler function, and initialize maxactive.
178: * maxactive - The maximum number of instances of the probed function that
181: * ignored, due to maxactive being too low.
188:	int maxactive;

samples/kprobes/kretprobe_example.c
75:	.maxactive		= 20,
98:	/* nmissed > 0 suggests that maxactive was set too low. */

I only see the place where it's set (see previous comment), an example of kernel module where it's set directly in struct kretprobe, documentation, and the definition of struct kretprobe.

We just asked about this in iovisor-dev: https://lists.iovisor.org/pipermail/iovisor-dev/2017-March/000694.html


SlingBindings is null and results in NullPointerException:

If SlingBindings is null using BundleContext to get Service works fine

#2228 Targets this issue

Pull Request Test Coverage Report for Build 5491

5 of 7 (71.43%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.0009%) to 56.075%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bundle/src/main/java/com/adobe/acs/commons/util/OverridePathSlingRequestWrapper.java
5
7
71.43%

Totals

Change from base Build 5484:
-0.0009%

Covered Lines:
15354

Relevant Lines:
27381

💛  - Coveralls

Replaced by #2230


[QUESTION] OpenGLRenderer render_mesh render wrong colors

Hello,
I'm trying to render a mesh by passing in vertices, triangle indices, and vertex colors using the OpenGLRenderer's render_mesh function.
I can see the geometry being rendered correctly, but the colors is off.
I assume the colors input to the render_mesh function  takes in float array of size (N,3) where N is the number of vertices, and rgb value range between 0-1?!
And the value I get with renderer.get_pixels(left_color_pixel, split_up_tiles=False, mode="rgb", use_uint8=True) gives RGB pixel value in range 0-255?
I also tested not sending the colors input to the render_mesh function and get the similar rendered image when passing in my vertices colors.
Am I missing anything?
Thank you!!
Attaching the color images I rendered with open3d on the same input format, and also the blue mesh I got when rendered with OpenGLRenderer.

Hi @junjeec, thank you for opening this issue!
The method OpenGLRenderer.render_mesh() is currently ignoring any custom colours being passed to it, which is why it is not working as expected. We will have a fix for this in the upcoming release, apologies for any inconvenience caused!

Ah I see, thanks for the clarification!
In the upcoming release, the format I'm using should be correct right? Like it is supposed to take vertex colors (not triangles colors)
Should I close this issue for now? or do you prefer to leave it open?
Thanks!

In the upcoming release, the format I'm using should be correct right? Like it is supposed to take vertex colors (not triangles colors)

Yes, that's right. One colour per point/vertex. Here's a small example I've used to debug the issue:
import numpy as np
import pyglet
import warp as wp
import warp.render

BOX_POINTS = np.array(
    (
        ( 0.853553, -0.146446,  0.0     ), ( 0.146446, -0.853553,  0.0     ),
        ( 0.353553,  0.353553,  0.707106), (-0.353553, -0.353553,  0.707106),
        (-0.353553, -0.353553, -0.707106), ( 0.353553,  0.353553, -0.707106),
        (-0.853553,  0.146446,  0.0     ), (-0.146446,  0.853553,  0.0     ),
    ),
    dtype=np.float32,
)

BOX_FACE_VERTEX_INDICES = np.array(
    (
        0, 3, 1, 0, 2, 3, 4, 7, 5, 4, 6, 7, 6, 2, 7, 6, 3, 2,
        5, 1, 4, 5, 0, 1, 5, 2, 0, 5, 7, 2, 1, 6, 4, 1, 3, 6,
    ),
    dtype=np.int32,
)

resolution = (512, 384)
num_frames = 240
fps = 24
camera_pos = (0.0, 2.5, 5.0)
camera_front = (0.0, -0.5, -1.0)

renderer = warp.render.OpenGLRenderer(
    fps=fps,
    screen_width=resolution[0],
    screen_height=resolution[1],
    camera_pos=camera_pos,
    camera_front=camera_front,
    vsync=True,
)

rng = np.random.default_rng(123)
for frame in range(num_frames):
    color = wp.sin(float(frame) * 0.05) * 0.5 + 0.5

    renderer.begin_frame(frame / num_frames)
    renderer.render_mesh(
        "surface",
        BOX_POINTS,
        BOX_FACE_VERTEX_INDICES,
        colors=((color, 0.5, 0.5),) * len(BOX_POINTS),
    )
    renderer.end_frame()

Should I close this issue for now? or do you prefer to leave it open?

We can leave it open for now—I'll update this issue when the corresponding MR will make it to main and we can close it at that time.
Thank you!

Got it thanks!
In addition to support custom vertex color, does warp-lang plan to support texture mesh using uv texture map?

Hi @junjeec, we are currently not planning to implement much more features to the OpenGL renderer since making it a fully-fledged renderer is outside the scope of Warp. Its primary intention instead is for debugging purposes. More sophisticated renderings should be done by exporting to a USD file first, and then rendering that scene in an external application.
I've updated the MR to clarify the intended usage of the OpenGL renderer in the documentation.
Thank you for your understanding!

Hi @junjeec, just to let you know that this has been implemented in 20c483a and will be part of the next release of Warp. Thanks again!

Thanks very much for the update!!

Hello @christophercrouzet ,
I just tested v1.5.0, but the color of the mesh is still not reacting to the color input. Tested with both my data and the example you shared, in your example, the pop up window only shows a static gray cube and I'm not seeing the color being changed.
Would you point me to what I might be missing?
Thank you!!

Apologies @junjeec, you're not missing anything, what happened is that a follow-up commit added support for rendering meshes with changing topology, and I made sure that the colours were working in that scenario but I didn't check that they were still working with static meshes. I've just opened internally a new MR that addresses this (hopefully) once and for all.
One current limitation is that that per-point colour is not well supported, so I've updated the script above to reflect that.

Hi @junjeec, this should hopefully have been fixed in commit 6ab17985, but please do let me know if you're still encountering any issue!


ORT: ramdisk_size not handled

Should ramdisk_size be handled by Traffic Ops ORT? Currently we push the config using Ansible but seems like ORT might be a good place to push this config since it is configuring ramdisk block device access for ATS.

Steve says close it..


Documentation needed to interface with tackle-diva from Tackle Inventory

Hi , @YasuKatsuno @akihikot  I'm onboarding to the Tackle project along with @jortel and @mansam right now.
(Note: I'm not sure if tackle-diva is meant to be integrated with tackle-inventory or if it's more tied to windup. Looking for information on this)
We are working to learn how the Tackle App Inventory can interface with other tools in the Tackle suite, and trying to define the requirements of the App Inventory data model.
It would be helpful to have a reference doc on the public interface of tackle-diva (TD) so that we can get an idea of how TD this would tie in with Tackle Inventory, and what changes might be needed to the Tackle Inventory data model:

Expected inputs / outputs of TD (examples would be useful)
Methods for invoking TD (REST? CLI? Java API? Something else?)
Is there a Quay.io container auto-build set up so we can consume TD easily running as a Pod on OpenShift?
Is there a deploy YAML available with a deployment definition for TD and any required auxiliary OpenShift resources (e.g. namespaces, services, routes). This would let us quickly play around with TD using other info provided. We may be able to assist here if needed.

Do documents detailing the public interface of TD exist? Even some simple examples would be useful to get started.
cc @rromannissen @jwmatthews @PhilipCattanach

Hi @djwhatle thank you for contacting us.
We are now having active discussions/works with  @PhilipCattanach  @rromannissen @mrizzi to integrate into windup.
https://github.com/konveyor/tackle-diva/tree/main/windup
https://github.com/akihikot/windup/tree/diva
Please find out answers.

Expected inputs / outputs of TD (examples would be useful)
Input: directory path that contains a set of application source codes
Output: 6 files about data-centric analysis results: contexts.yml, transaction.json, transaction_summary.dot, database.json           transaction.yml, transaction_summary.pdf.

Please check the blog article for the details.
https://opensource.com/article/21/6/tackle-diva-kubernetes

Methods for invoking TD (REST? CLI? Java API? Something else?)
CLI and REST

Is there a Quay.io container auto-build set up so we can consume TD easily running as a Pod on OpenShift?
TD is built as a Docker image and executed as a Docker container. It's easy to build/run it.

Is there a deploy YAML available with a deployment definition for TD and any required auxiliary OpenShift resources
The Dockerfile is ready, although YAML files for OpenShift are not yet.

Do documents detailing the public interface of TD exist? Even some simple examples would be useful to get started.
You can easily try Tackle-DiVA, following the "Getting Started" section in README. The prerequisite is the only Docker runnable environment like macOS.

@djwhatle There is no direct link between the Application Inventory and DIVA. The plan is to integrate DIVA into the Application Analysis tool (WINDUP/MTA).

Thanks for the info @YasuKatsuno @PhilipCattanach . Follow-up question: is there intent to integrate App Inventory and MTA/Windup?


Example buildpack to be tested?

I'm trying to test my buildpack by this heroku-buildpack-testrunner, it seems helpful a lot.
Should I add MY buildpack to the app which is created with YOUR buildpack?
Or, do you have any example buildpack which is tested by heroku-buildpack-testrunner?
Any comments appreciated. Thank you.

You should run this buildpack (heroku-buildpack-testrunner) on your buildpack's code. If doing this on Heroku it would look like:
$ cd my-heroku-buildpack
$ heroku create --buildpack https://github.com/heroku/heroku-buildpack-testrunner
$ git push heroku master

For an example, see the Java buildpack

Thank you! I have my project working well.
I was understanding my buildpack is loaded automatically somehow. In fact, however, I have to exec detect/compile/release in my test scripts by myself.
Is my understanding right? I really appreciate your comment!

Yea, that sounds right


WIZ Brightness Level

Describe the bug
A clear and concise description of what the bug is.
When using WIZ LED Strip synced with Teams the brightness level is very low when set to 100.
Expected behavior
A clear and concise description of what you expected to happen.
Expected the brightness to be the same as when using the WIZ light via the phone app.
Further details

OS: Windows 11
PresenceLight App Type Desktop
PresenceLight Build Store
PresenceLight Version 5.8.7
Did you clear settings.json?(C:\Users\username\AppData\Local\Packages\37828IsaacLevin.197278F15330A.SomeValue\LocalState\settings.json No
ASP.NET Core version

This is a known issue sadly.
https://github.com/isaacrlevin/presencelight/issues/488


add basemap as dependency for obspy packages built on conda-forge

it's available in version 1.1.0 for all platforms/architectures that
conda-forge supports, so it should be available whenever installing
obspy via conda-forge channel.
also these basemap packages are numpy version agnostic nowadays, so it
should not meddle with other obspy dependencies.
see
http://lists.swapbytes.de/archives/obspy-users/2018-March/002706.html

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

This is currently blocked by some new false positive test fails on newer dependency versions (numpy/matplotlib). But the plan is to release 1.1.1 + 1.2.0 soonish anyway, so maybe a new 1.1.0 package build is not really necessary..

Can we switch this to cartopy?
I'll create a PR if warranted...
or not, I can't seem to push to this repo. should I push to obspy's clone?

I can't seem to push to this repo. should I push to obspy's clone?

Please read up on how conda-forge and it's feedstocks work. Nobody should ever push to this repo directly. https://conda-forge.org/docs/conda-forge_gotchas.html#using-a-fork-vs-a-branch-when-updating-a-recipe
You can create PRs from https://github.com/obspy/obspy-feedstock/. (You should have the rights).
So far I think we still mainly use basemap though? Dunno. Most important is that before declaring a dep in the recipe to make sure those packages are actually available for all archs we serve (but I guess they are..).

Oh and branch off master, this PR is outdated, I just leave it open as a reminder.


Rewrite broken?

Hey,
i've just copied phpsqlitecms (also hidden .htaccess) and played around a bit. looks good but every link is broken. all i get a 404. Did i miss something while install?

I have forked this repository and fixed all fatal errors. phpSQLiteCMS now works on PHP 8+.
There are still issues, but I would like to restart work and contributions are more than welcome.
https://github.com/wolffe/phpsqlitecms


Rework Action concurrency

Currently every Action starts on its own thread directly. However, concurrency should be managed by the container... starting threads manually is not such a good practice.
Options to do it:
https://jersey.java.net/documentation/latest/async.html
http://docs.oracle.com/javaee/6/tutorial/doc/gkkqg.html

done


Improve class infrastructure

Every Page and StepDefinitions and Hooks could benefit from abstracting out shared code.

Noting here that we do not want StepDefinitions and Hooks to be abstracted. I would need to create per-page Hooks and StepDefinitions anyway.
The benefit of abstracting out Page is that it makes it extremely simple to create the BeforeFeature Hook for navigating to the page.


Confusing Anchor Generation

Hi @linxuewu, Thanks for the generous open-source code. Here I'd like to share an issue confusing me a lot.
In the paper of sparse4D v1, the authors state as below (W(1), L(1), H(1), Sin_YAW (0), Cos_YAW (1)):
.
When I read nuscenes_kmeans900.npy downloaded by the hyperlink provided in https://github.com/linxuewu/Sparse4D ('main' branch),
 and found W(1), L(1), H(1), Sin_YAW (1), Cos_YAW (0) as below:
.
So, it's easy to conclude that the provided .npy is different from the paper statement and also the generation code for Cos_YAW & Sin_YAW.
Furthermore, the code https://github.com/HorizonRobotics/Sparse4D/blob/main/tools/anchor_generator.py#L25 shows W, L, H are also calculated based on kmeans results, which is different from the provided .npy (W/L/H=1/1/1).
With these differences, can you help to clarify them? Thanks.

The prior values of these different anchors are similar, and using any of them yields almost the same performance.
There's not much of difference.