Add web support

Add implementation for web target

Yes I think it's time to add web support
I'm planning to move dependencies to libs.versions.toml as well and a few other changes.

Hey @MohamedRejeb I was also thinking of adding Web support in my old project but how can we add the wasmJsMain module on our old project?

Hi @aritra-tech
If you don't have platform-specific code all you need to do is to add wasmJs target in gradle file. Also you need to check if all your dependencies are supporting wasmJs

Okay got it.

Yes would be nice to build a web solution to this awesome repo! Are there any blockers such as database library etc?


Unmarshalling fix

Expanding try/catch protection for https://github.com/BranchMetrics/android-branch-deep-linking/issues/470

LGTM :+1


Excel styles not retained after edit and save using NPOI

CustomReport.xls
Output File.xls
I have my own excel template in which i used to read and write data using NPOI.also data will be return from row 2 even though without writing data just read custom report and save using NPOI facing issue in background color.
Background color is changing after edit and save using NPOI.Attached report for your reference

Which version of NPOI are you using?

@tonyqus NPOI 2.1.3

@tonyqus  Is there any fix for this or like it will considered as bug and taken for next release?

This should be a bug. But it will be a bit hard to figure out how to fix it since it's BIFF (xls file format) bug.

@tonyqus Even in XLSX format styles like border or font change in existing template is not retained.While reading and writing existing excel template files.

I converted CustomReport.xls to CustomReport.xlsx and use NPOI 2.5.6 to read/write the file. Looks it's not changing the color.
output1.xlsx
Can you give me a xlsx file that font/border/color will be changed?

No response. issue closed.


refactor: dataframe join params

Which issue does this PR close?

related https://github.com/apache/datafusion-python/issues/875

Rationale for this change
Many times join keys are the same in both dataframes, so a simple on suffices. Also join_keys are deprecated  over left_on and right_on.
What changes are included in this PR?

marks join_keys as deprecated
introduces on, left_on, right_on parameters
adds function overloads

Are there any user-facing changes?

new params added, join_keys deprecated.

This looks like a good improvement.

Any other changes still needed?

None that I can see. I'll run the workflow and as long as it all passes, I'll merge it later today

It looks like we do have some problems in pytests

@timsaucer Ah my bad, we need to add this at the end of the function, then it should run:
if isinstance(left_on,str):
    left_on=[left_on]
if isinstance(right_on,str):
    right_on=[right_on]

Can't  add it now myself to test :(

Thanks for the update to fix the CI. We talked on discord and it brought up another issue - this is a breaking change for anyone who is currently doing a join without specifying the on= keyword. So we either need to make a change such that the old method of df1.join(df2, (["col_a"], ["col_b"])) will still work OR we have to make it clear that we've made a breaking API change and all users will need to update every instance of join in their code.


Tests for Compiling CQL with Roboelectric

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Starts to fix #1365
Description
Adds short tests to compile CQL into ELM, assemble ELM into a FHIR Library and making a FHIR Bundle from it.
Alternative(s) considered
No
Type
Testing
Screenshots (if applicable)
Checklist

[x] I have read and acknowledged the Code of conduct.
[x] I have read the Contributing page.
[x] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
[x] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
[x] I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
[x] I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

is there anything blocking this from getting merged? we're going to add some test cases on top if this pr

@vitorpamplona , since the PR has been approved, when do we intend to merge these changes?

@vitorpamplona , since the PR has been approved, when do we intend to merge these changes?

@vitorpamplona , since the PR is approved, when can the changes get merged?
CC: @jingtang10


allow for theme logos to be logo.svg rather than just logo.png

I'm working on new themes for xot and bootstrap where ideally a theme logo should be included that is .svg rather than .png. I can probably get around this by adding script to the theme's .js files but it seems to me it would be useful to change our existing code in xenith and application.js to look for logo.x regardless of file extension. Perhaps even logo.jpg, logo.gif, logo.heif, logo.heic, logo.webp, logo.avif too?  What's the best way to do this?

Hi @ronm123, there are many ways to do this... probably the simplest (which uses the built in dependency loader) is something like this:
var logos = ['svg',  'png', 'jpg', 'gif', 'heif', 'heic', 'webp', 'avif'].map(function(ext) {return 'logo.'+ext;});
loadjs.path('img!' + FileLocation  + 'media/');
loadjs(logos, {
    before: function (path, el) {
      	let div = $('div#logoHere');
        if (div.find('img').length < 1) div.append(el);
        return false;
    },
    async: false // Fetch files in parallel but load in series
});

It's probably the shortest I can think of off the top of my head but not so efficient if you have several logo.*** in your folder since it will attempt to load them all in parallel and then will go through them in the order specified and insert the first one it finds...
I know we discussed IE support going forward but the modern, recommended 2022 method would probably be to use some routine using fetch()...
You could also do something similar using jQuery:
var logos = ['svg',  'png', 'jpg', 'gif', 'heif', 'heic', 'webp', 'avif'].map(function(ext) {return 'logo.'+ext;});
logos.forEach(function(logo) {
    (function(logo, url) {
        $.ajax({
            type: "HEAD",
            async: true,
            url: url,
        }).done(function(message,text,jqXHR){
            let div = $('div#logoHere');
            if (div.find('img').length < 1) {
              div.append(
                  $('img').attr('src', url).show()
              );
            }
        });
    })(logo, FileLocation  + 'media/' + logo);
});

@JohnSmith-LT thanks John but I probably should have explained more clearly and included a snippet of our existing code from xenith and application.js.
When I think about it further there are a few reasons why we should change the existing code and this is about the default logos not the author options per project. The following is my understanding of the current situation but I could be wrong!

I think it's more common for logos to be .svg rather than .png now (or at least sometimes) but our default logo code doesn't currently allow for this.
With both XOT and Bootstrap server errors are currently generated every time a project is played or previewed if the install doesn't have a default .png logo in /modules/xerte/parent_templates/Nottingham/common_html5/logo.png or /modules/site/parent_templates/site/common/img/logo_left.png and the trouble is many installs do not have or require a default logo.
If a default logo is in place either in the default locations or the selected theme folder then they are loaded automatically unless an author has added a logo via optional properties. We don't currently have an option for the author to hide the default logo in XOT projects but we do in Bootstrap.

Personally I think we have the following objectives here:

[ ] Enable at least .png, .svg, .jpg and .gif as default/alternative formats for default logos and theme based logos.
[ ] Prevent the current server error logs if a default logo is not in place in the two default locations.
[ ] Add an option to XOT template for an author to hide the default logo whether loaded from the parent template location or the selected theme..

I'll add this to the agenda for our meeting on Friday afternoon but if you @JohnSmith-LT @FayCross or @torinfo have further thoughts please add those here.

This maybe is better than the two above as it waits for one to either download or send back 404 before displaying or moving on to try next. This way you get the least 404 errors but still not perfect and perhaps still not even what you want...
var logos = ['svg',  'png', 'jpg', 'gif', 'heif', 'heic', 'webp', 'avif'].map(function(ext) {return 'logo.'+ext;});
(function (path) {
function tryNext(i) {
$.ajax({
type: "HEAD",
async: true,
url: path + logos[i],
})
.done(function(message,text,jqXHR){
let div = $('div#logoHere');
if (div.find('img').length < 1) {
div.append(
$('img').attr('src', path + logos[i]).show()
);
}
})
.error(function(){
tryNext(++i);
});
}
tryNext(0);
})(FileLocation  + 'media/');

@ronm123 @JohnSmith-LT - Should we add a logo field to the database? So, use the logo specified in the database and if it's not in there then fall back to try all the types of logo.xxx. This would help minimise 404s

I suppose I never thought of the server route of doing this...
We already put a placeholder in the play/preview file which is then replaced on-the-fly when the file is loaded off the server. When export is called it permanently replaces the marker with code to load the file...
So in our case we can just put %LOGO% where we want it in the rloObject.htm file and then, after checking which, if any, logo files exist, we can write out the  tag. Similarly in export we can write the tag and include the relevant logo file in the zip...

@JohnSmith-LT @FayCross I think either the database or %LOGO% option would work. I guess the considerations would be:
database - perhaps better long term but possibly requires a change by site owners if they currently use the default location option.
%LOGO% - perhaps better as a quick way of enabling different logo formats without requiring intervention.
Either way we should add an option to hide the default logo in XOT like we do in Bootstrap.

Haven't done any PHP for a while so thought i'd attempt to at least get rid of those 404 errors...
The code I've committed adds a %LOGO% placeholder and then checks for logo.svg, logo.png, logo.jpg and logo.gif in the common_html5 folder and the first one it finds it loads, otherwise it clears the placeholder...
Not sure that does what you want in terms of different logos for different themes but at least it stops the 404 errors for now, in XOT at least. Still need to most likely add some code to do the same in export as well as including the correct logo file...

@JohnSmith-LT just quickly tested and can see that removes the 404 errors from play and preview of XOT projects. It's always been a bit embarrassing when liaising with different people from different IT teams and looking at Apache error logs to have to say don't worry about those logo errors!
So yes it would be good to add the same functionality to remove the same 404 errors with Bootstrap and I know there are at least 2 if not 3 places where the placeholder has to be cleared or replaced for export and I think LTI and xAPI players too.
As you say this doesn't resolve the need to be able to use different formats in themes or the ability to hide the default or theme  logo in XOT projects but lets discuss all that tomorrow. Actually I can probably add the XOT author option to hide the default logo before the meeting tomorrow.

@JohnSmith-LT at the moment I think the logic is as follows:
both XOT and Bootstrap automatically load logos if found in the default module locations e.g.
/modules/xerte/parent_templates/Nottingham/common_html5/logo.png /modules/site/parent_templates/site/common/img/logo_left.png
You've now resolved that bit for the XOT template apart from wherever else that needs to be replicated for export and LTI/xAPI etc but @torinfo can advise on those extra places.
The current code in xenith and application.js checks if there is a logo.png (but only png) in the selected theme and if there is automatically adds that and as a priority over the default logo.
Then if an author adds their own logo to an LO that takes priority over default and theme based logos.
In Bootstrap the author has options to hide the default left and or right logos and I'm about to add a similar option to XOT.
The relevant bit of code in xenith is:
var type, fallback; 		if (x_params.ic != undefined && x_params.ic != '') { 			$('#x_headerBlock img.x_icon').attr('src', x_evalURL(x_params.ic)); 			type = 'LO'; 			fallback = x_params.theme != undefined && x_params.theme != "default" ? 'theme' : 'default'; 		} else if (x_params.theme != undefined && x_params.theme != "default") { 			type = 'theme'; 			$('#x_headerBlock img.x_icon').attr('src', x_themePath + x_params.theme + "/logo.png"); 		} 		checkExists(type, fallback);
and it's that bit where type=theme where I was initially looking to load logo.svg rather than logo.png and reminded me that it would be better to make this possible across the board rather than just in a particular theme.

@JohnSmith-LT @FayCross I've added and committed the optional property to hide the logo in xot but added the following comment:
add option to hide rather than replace automatic logo on xot template. Note: this is just the option to hide with tooltip etc. The code in Xenith still needs to be modified to hide the default logos. Not sure if that should be done by adding && x_params.icHide != 'true' in the relevant conditions, or just to a new condition at the end of the existing code to hide whatever logo has been loaded if the option to hide is checked.
I had a look at adding && x_params.icHide != 'true' to the various if statements but there seem to be so many I'm not sure that's the right way to do it. Although I guess there's a potential for a 'flash' if the logos load and then just get hidden at the end. What's the best place to check and add this?

Hi @ronm123 last question hopefully...
Do any of the XOT themes actually have a default logo.png that I can see loading? If not then where do they go? I tried putting one in the futureteacher theme folder and it didn't load by default - do I need to do something else to make it load or is it in the wrong place?

@JohnSmith-LT it should just be the presence of a logo.png in the root of a theme. But it looks like something has broken this because now even a logo added to a project doesn't seem to be showing? None of the bundled themes have a logo but I have a few custom themes with logos and now they aren't showing the logo either! :-(
I checked my optional property commit in case I had made a mistake and committed changes to xenith but I don't think I have. I did add trigger conditions to the optional properties so that if the checkbox to hide was checked then the option to upload a logo and add alt text doesn't show but I don't think that's the cause.

@JohnSmith-LT @FayCross as far as I can see the last change to xenith.js was 5 days ago so unless I'm wrong about that it must be a change elsewhere that has stopped the logos from working and that change must have been today because I've had logos displaying this morning.

Oh.. for goodness sake it will probably be my changes! D'oh... If the logo doesn't exist in common_html5  them I don't put the  in the page so it can't then be updated by code... let me try that...

Hi @ronm123 I've worked on the XOT logic for this just now and in my testing (and from what you've described) it seems to work for me:

If you choose a valid log in the LO then it uses that
Else it looks for a 'logo' with one of the 4 extensions ['svg',  'png', 'jpg', 'gif'] in the theme folder
Else it looks for a 'logo' with one of the 4 extensions ['svg',  'png', 'jpg', 'gif'] in the default location (common_html5)

If you hide the icon then the logic above still follows but the icon is left hidden - not sure if this is ideal but allows showing the icon later by code or on some pages??
I've commented out all that logic in xenith.js that attempted to check asynchronously for logo existence as that was what was generating all the 404 errors...
If this is all good then I will port the logic over to Bootstrap and then think about the export/xAPI situation. @torinfo feel free to comment if you think any of this will cause you issue.

@JohnSmith-LT just tested and at first I thought "something wrong - it's not working" :-( but then I realised that I'd only read your post but not yet pulled down the changes! ;-)
Tested with logo.png and logo.svg in the theme - works well and loads the svg as the priority.
Tested adding a logo via the optional property - works fine again.
Tested using the hide optional property - works fine.
Tested with logo.png and logo.svg in the modules folder - works well and loads the svg as the priority.
So all works fine. As far as I can see there's just one small issue when using an oversized svg but that's nothing to do with your changes and there's an easy solution that we can discuss during the meeting later.

Hi @ronm123  I've now committed the code to do the same logo thing for Bootstrap and it seems to be working fine for me for all 3x scenarios. Only issue is that for some reason making the < img> dynamic broke the CSS so i've updated that in custom.css here (https://github.com/thexerteproject/xerteonlinetoolkits/commit/fd7f0f52d2f6f5d6add000a5151ecf6dd124b43c#diff-c1c06bab11ea58ef851e71a02ab7853846947c298f1dccaf8de2620c4e30307b) but for some reason it's not filtering through to the themes... if you get a chance to test this and can figure that part out then please make any relevant changes to the scss files for the themes.
I still need to do the export but have identified all the points that I need to work on and nearly have that all working too...
Just one question:
If you add a logo in the LO  it takes priority and loads but if you then change the URL by adding a X for example so that it no longer is valid then the theme logo will load or the default logo will load... Question, if the LO url is populated then should we use that without checking for existence of a file because I can see that leading to issues where the wrong logo is being shown because the url is wrong but the end user cannot debug easily...

By "broke the CSS" I mean that the left logo should be on the left and the right on the right but just now they stack on top of each other because (if you right click inspect on a logo) the containing div expands to full width. I had it working at one point by changing the custom.css to div.logoL here
#overview div.logoR .logoR {
float:right;
margin-top:20px;
}
but now that doesn't seem to get applied to the themes so they always stack on top - in fact now I check all 3x scenarios stack and that rule isn't being applied...
The broken placeholders showing is an easy fix (although I thought that I had?!?) - I'll take another look at that and fix the defaulting when a wrong url is added "feature"

@JohnSmith-LT @FayCross I just tested on a 3.10 install with a logo.png and logo_left.png in the blue and grey bootstrap theme.
logo.png loads on the right and logo_left.png loads on the left.
If I just have logo.png in the folder then just that logo shows aligned right and no console errors about not finding a logo.
If I have neither then I get console errors that the files cannot be found in the theme folder.
I have both files in \modules\site\parent_templates\site\common\img\ but neither load.
So all of the above is with 3.10 so somewhat irrelevant but some of that is working whereas develop isn't fully working either.
In Develop if I add logo.png and logo_left.png to the modules folder I get both logos in the bootstrap but aligned centre one above the other. If I remove or rename those in modules but have both in the bluegrey theme then again both appear in the project but aligned centre one above the other. If I rename or remove logo_left.png then I get just logo.png appearing but aligned top middle not aligned right.
So there's clear differences between what happened in 3.10 and what we have now in develop particularly with logo alignment.

Hi @ronm123
I've fixed the defaulting issue - if you put a wrong URL in now you get a missing image icon
I've also fixed the left/right logo issue (I think)
I've also added a max-height: 200px to the XOT image and that seems to stop the SVG filling the screen - not sure if 200px is the right value though and needs done in Bootstrap too...

Morning @ronm123
Yes it's most likely something to do with the specificity but that's what I was meaning by "broke the css" earlier - if left the < img> tag in the rlo.htm file and let xenith change it then it behaves different from changing the < img> tag in the PHP file and I couldn't figure out the issue...
There is something not quite right with custom.css rules though which may now be having some effect... some of the rules for the header are:
#overview .logoR {
  float:right;
  margin-top:20px;
}
#overview.logoR .titles {
 float:left;
 padding:20px 5px;
 text-align:left;
}
#overview .logoL {
  float:left;
  margin-top:20px;
}
#overview.logoL .titles {
 float:left;
 padding:20px 5px 20px 20px;
 text-align:left;
}
#overview.logoL.logoR .titles {
 float:none;
 padding:20px 5px;
 text-align:center;

But they make no sense and might just not be working the way they were intended - #overview.logoL.logoR .titles for example will only match an element that has id="overview" AND ALSO has both logoL and logoR classes attached to it... As far as i'm aware that never happens and some of the other rules are strange like that...
It seems that that rule above may have been intended to be something like:
#overview .logoL, #overview .logoR, #overview .titles {
since we have the structure DIV(id=overview -> DIV(class=logoL) and not what that selector seems to be expecting...

@JohnSmith-LT @FayCross that's interesting ignore those hash links! I use that in email quite a lot to prevent automatic bulleting and indenting but here the hash + number seems to be picking up links to issues! :-(

I don't think it's a big deal to fix the CSS to make it work as it did before, just pointing out that it's probably why you are not seeing any difference in the code - the browser just seems to be reacting to the current, strange css in a non-predictable way... not even sure why it was working in the first place since many of those rules are not even applying...
So just to be clear @ronm123, you are now happy that the functionality of the new code is working as you imagined it  and we just need to fix the presentation so that it behaves the same as in 3.10 or is there anything (other than presentation) that is still needing fixed?
I'll take a look at the css when I get a chance (tonight possibly) as I'm conscious I still need to fix the recorder (almost done though) and implement the export and TWITTERCARD stuff too...

@JohnSmith-LT yes sorry John I think it's all working fine (I think) apart from the presentation. I've been busy with other things and noticed that I need to fix an issue with the new alternatiing section code in Bootstrap because it seems to be part of a condition related to the back to top button options and should be completely different. I'll fix that and also try to look at the logo display because I have a meeting this afternoon where ideally I need the logo and titles to be correctly displayed.

BTW @JohnSmith-LT I noticed a whole load of logo related code commented out in application.js from line 950-1018 - I take it that's because you've commented that out but left it in for now in case needed for reference etc?
Those start/end numbers might obviously change but its the whole section that I guess @FayCross wrote with comments about the different logo options.

Yes @ronm123 there is code commented out in both application.js and xenith.js that can be removed - I just left it there for quick reference to make sure that I had included all the setting of alt property, hiding the logo if relevant, adding 'themeClass' etc...
It's been added to the checklist at the top of this post - pretty sure though that all the commented out stuff can now be removed and the only issues are directly because of the custom.css file...

@JohnSmith-LT I mentioned that for a meeting I have this afternoon that ideally I need the theme logo to be displayed correctly. In this case a default logo.svg loaded from the theme and where the logo should appear on the right and the two titles aligned left. I've got that work by adding the following to the theme:
#pageTitle, #pageSubTitle {   text-align: left; }
However that's not correct but at least it gives me the presentation I need for this afternoon.
Another difference with 3.10 is that at the moment if you resize the browser window to a narrow tall window or use the browser emulation the logo remains floated to the right whereas in 3.10 the logo and titles become centre aligned with the logo above the titles.

Yeah the css rules are screwed up for smaller screens too:
/* --TABLETS TO DESKTOPS-------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 980px) {
  body {
    padding-top: 0;
  }
  .jumbotron {
   margin-top: -20px; /* Offset bottom margin on .navbar */
  }
  /* Adjust sidenav width */
  .bs-docs-sidenav {
    width: 166px;
    margin-top: 20px;
  }
  .bs-docs-sidenav.affix {
    top: 0;
  }
  **#overview.logoR .titles, #overview.logoL .titles {**
    text-align: center;
	float:right;
	width: 100%;
  }
  **#overview.logoR .logoR, #overview.logoL .logoL {**
    text-align:center;
    float:none;
  }
}
/* --TABLETS-------------------------------------------------------------- */
@media (max-width: 767px) {
  body {
    padding-top: 0;
  }
  .jumbotron {
   /* padding: 40px 20px;*/
    margin-top:   -20px; /* Offset bottom margin on .navbar */
    margin-right: -20px;
    margin-left:  -20px;
  }

  .bs-docs-sidenav {
    width: auto;
    margin-bottom: 20px;
  }
  .bs-docs-sidenav.affix {
    position: static;
    width: auto;
    top: 0;
  }
  **#overview.logoR .titles, #overview.logoL .titles {**
    text-align: center;
	float:right;
	width: 100%;
  }
  **#overview.logoR .logoR, #overview.logoL .logoL {**
    text-align:center;
    float:none;
  }
}

Not sure why or how these ever worked...

Yeah I'm definitely happy if @FayCross looks at it ;-)
I thought for a second that there may be code in application.js that adds a logoL or logoR class to the #overview dive but that doesn't seem to be the case either so I'm not really sure - most likely i'm missing something obvious but since the actual html isn't changing then i'm not really sure either why the styles aren't being applied the same as they were before...
It's all a mystery...

@ronm123 @JohnSmith-LT I'm looking at this but am also confused. I admit my initial css looks odd but it obviously worked! ;)

That's what I find strangest @FayCross - how has it been working across all browsers without issue for 6 years?!?
Also, when the < img> tag is hardcoded then it works but when exactly the same text is inserted via the PHP file (so it is in the html exactly the same when the page loads) it doesn't work... I was even thinking that it must be whitespace that is affecting it but could not find any difference at all...

Perfect, thanks @FayCross

@JohnSmith-LT I'm still really confused though as I don't think any of the BS optional properties to override the default logo work. I don't think this is something I've done though. Do they work for you? Did they before?

Which ones don't work for you @FayCross ?
I've just tested again and the following seems to work:

If you enter a url for (or browse to) a logo (right or left) then it shows that logo with priority
If either url is broken then it shows the broken image placeholder to suggest that there is an issue with the url
If either logo url is empty then it looks within the theme folder
If there are no logos found in theme then it looks in common/img folder

for the theme and common/img folder it looks at [png, svg, jpg, gif] extensions in that order
You can hide either or both logos by ticking the relevant
That still all seems to work for me...

@FayCross @JohnSmith-LT Fay could it be caching? Just been quickly testing and like John all works for me too. Including the logo(s) moving to top centre when viewed via mobile emulation or by reducing the window width. That wasn't happening before the latest changes. Seems like we're there! :-)

@ronm123 @JohnSmith-LT this has driven me mad but it's not working in the project I was testing in as targetFolder="site" was missing from xml. This is a copy of the UoN Bootstrap example project so probably is quite old but could do with still working. I can see that it works ok for newer projects

Sorry @FayCross , i'm using that here https://github.com/thexerteproject/xerteonlinetoolkits/blob/fd7f0f52d2f6f5d6add000a5151ecf6dd124b43c/website_code/php/xmlInspector.php#L233-L243 to determine if it's bootstrap or xot...
Need to find a different way then...

@FayCross are you able to share the oldest project you can of bootstrap - we will most likely need to make an educated guess at whether it is xot or bootstrap using the top node properties...
We actually had to do something similar to make sure that we could import old projects because in a similar way the importer could not tell if it was a bootstrap or xot zip file - that code is there and seems to work but I just want to make sure it still works in this situation....

In fact @FayCross I suppose the easiest question to answer may be: Were logoL and logoR present right from the start? If so I can just use the presence of them (and the related logoLHide, logoRHide) - they will only be present in Bootstrap...
I suppose it also raises the question - do I need to do work to get the Decision Tree template working too or have I broken it's logo handling...

@JohnSmith-LT the option to have a logo (right & left) wasn't there from the beginning but the optional properties have always been called that (https://github.com/thexerteproject/xerteonlinetoolkits/commit/20b2b2b3b07b1c440cf8f38b31087a13459c934b)
I'll email you the example project and check decision tree too


support enum

Support enum property for :

[ ] string
[ ] number
[ ] integer
[ ] boolean

actually we should check enum instead of checking type.


Any command to only download images and skip video and gifs??

Your question here...

Well, somehow just pressing enter worked!!

no issue template used. so closing.
ps. have a look at the manual: https://instaloader.github.io

Are you looking for this?
instaloader --login=username --password=password --no-videos  --no-captions --no-metadata-json --no-compress-json theprofileyouwant


Bug with FT having an owner

With the latest version, ownerOf`(tokenId) throw when called on a FT tokenId.
This is I think a sensible approach.
But the current implementation has a bug. If you transfer such FT via the standard ERC721 transfer method (without specifying quantity), the destination address to assigned to be the owner.
The result is that now the FT has an owner.
See PR : https://github.com/loomnetwork/erc721x/pull/13

fixed in https://github.com/loomnetwork/erc721x/commit/81623613f31b44886588154201e3546e67e3db6b


Declare row-object at top level to support GraphQL

Thank you for the great work on this! I want to use it for a project I'm working on right now, but it's based around Sanitys implementation of GraphQL and your plugin generates the following error:
Error: Encountered anonymous inline object "row" for field/type "rows". To use this field with GraphQL you will need to create a top-level schema type for it. See https://docs.sanity.io/help/schema-lift-anonymous-object-type
It looks like the object with the name row in your schema needs to be moved out and be declared at top level instead.
More information:
https://docs.sanity.io/help/schema-lift-anonymous-object-type
https://www.sanity.io/docs/datastore/graphql
Would appreciate your help with this!

I guess this would just mean implementing separate parts for each schema type (table and row), which should be straightforward? I'm slightly skeptical about introducing another top-level schema type, especially as 'row' is quite a general type. I haven't used GraphQL before, open to suggestions!

I think what you say makes sense. I tried tinkering a bit with it but couldn't get this to work myself. I'm still very new to React and Sanity and not sure whether you should declare another top-level schema or not, but it seems to be the recommendation from Sanity when it comes to GraphQL (specific types aside).
I understand if you don't want to change the main plugin though, but would you be willing to create another branch for it here on GitHub?

Yep, I think tableRow would make the most sense if were to lift the row type. I guess I may still be able to name it 'row' in the table schema which would I assume prevent a breaking change... I'll do my best to look at it shortly.

PR #2 should fix this issue @patrikarvidsson .
While the PR is being evaluated and potentially merged in you can in the mean time pull down my fork and then copy it in with "cp -R sanity-plugin-table ./your-sanity-folder/plugins/prefixotherthansanity-sanity-plugin-table", and then reference it manually in your sanity.json under plugins: [ "prefixotherthansanity-sanity-plugin-table" ].

Hello, sorry I didn't get round to looking at this. Thanks for submitting a PR, I'll take a look and try and get it merged in before the end of the week.

little reminder pushy !

+1

I did an off-site fork of this plugin to take over maintenance. I also changed it to be a "bring-your-own" schema input plugin, while being 100% backwards compatible with this plugin: https://github.com/ssfbank/sanity-plugin-byo-table

With utmost respect, @rdunk if you do not have time to maintain/decided to abandon, it would be a good idea to include a note on the front README page. :)

👋 +1 any movement on this one? I am running into this issue and would love to use this plugin.

Looks like the BYO table plugin has probably superseded this plugin but I've merged these changes in regardless. Thanks once again.


Store teiHeader information on Text objects

We canonically store our texts as TEI documents. When reading a TEI document, store its teiHeader on the Text object so that we can parse and serve it to users (to show metadata like publication date, e.g.)

Landed in eba41cc6f31d34e8b02b8dd28c8e59957b81b72f.


New Airy Event for Webhook

We need to introduce an AiryEvent to the webhook payload that contains the following information
event_type: conversation| message| channel
data: event payload

this also needs a metadata one. I'm not sure about conversation. As I understand it now, that doesn't really exist yet.
going down that route then we'd have a AiryMetadataPayload? (to represent id plus actual metadata...)


docs: Reference Page.setDefaultTimeout for timeout option

What kind of change does this PR introduce?
Documentation clarification
Summary
Per the implementation of Page.pdf (Page.createPDFStream), the timeout option will fallback to use the value assigned by Page.setDefaultTimeout. See https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/cdp/Page.ts#L1083
This updates the PDFOptions documentation to match

Done. Thanks for the heads up on process @OrKoN 👍


[20.09] linux: add flavor metadata

Motivation for this change
backport https://github.com/NixOS/nixpkgs/pull/102005
related https://github.com/NixOS/nixpkgs/issues/101863
(cherry picked from commit e6db435973160591fe7348876a5567c729495175)
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Nothing to be built.
https://github.com/NixOS/nixpkgs/pull/102208
$ nix-shell /home/jon/.cache/nixpkgs-review/pr-102208/shell.nix

ran ofborg locally
[22:06:39] jon@nixos ~/projects/nixpkgs (backport-linux-flavor)
$ GC_INITIAL_HEAP_SIZE=16g nix-env -f ./outpaths.nix -qaP --no-name --out-path --arg checkMeta true > out-paths
[22:09:27] jon@nixos ~/projects/nixpkgs (backport-linux-flavor)

Huh? I thought backports were for fixes? This introduces a new feature…

I still needed to mark the related modules as broken, but didn't like that we didn't have good primitives around specifying kernel version ranges, or "variants".
work was done in #102209


Update Documentation to Specify Root User Requirement for Kmesh Build Command

Task description:
When attempting to build the Kmesh system locally, new users might encounter issues due to the lack of documentation specifying that the build command needs to be run as the root user.
Solution:
Update the documentation to inform users that they should execute the build command as the root user to avoid any build-related issues.
Who can join or take the task:
The good first issue is intended for first-time contributors to get started on his/her contributor journey.
After a contributor has successfully completed 1-2 good first issue's,
they should be ready to move on to help wanted items, saving the remaining good first issue for other new contributors.
How to join or take the task:
Just reply on the issue with the message /assign in a separate line.
Then, the issue will be assigned to you.
How to ask for help:
If you need help or have questions, please feel free to ask on this issue.
The issue author or other members of the community will guide you through the contribution process.

/assign

I have added new Pull request which will close this issue

there will be some file changes after running make build, so you can run make clean to recover them.

ok sure. I will add it update


Indicate selection of Account Management Row Items when they're being dragged to re-order.

-Need UX

-Need proper functionality

@antuz123 @cakesoft-swati Not sure what exactly needs to be corrected here.

Finding Sources not needed

Finding Sources not needed

Make sure the user knows that a particular row is selected

Make sure the user knows that a particular row is selected

-Verified this issue on Staging app v1.4.1(194)

-Verified this issue on Staging app v1.4.1(194)


Add sync progress tracking

Sync progress tracking is composed of two things:

log progress (without flooding the terminal)
start again from a synced state

The first one is straightforward. We only log every 0.1 increment of sync percentage, by keeping the last logged percentage in memory.
The second one is not completely built in, the user has to integrate it, as the library has no direct access to the database. It's still a pretty simple process.

I have one suspicion: I have a feeling that the SyncProgress event can come before transaction events of the same block.
If this is the case, we could end up in a situation, where

SyncProgress handled, db sync state updated
Program killed before transaction handling would finish
When app restarted, we the app already considers the block to be synced
We end up skipping some txs

I have to verify these

I think this makes sense. What's the behaviour if we give it an invalid slot/block hash tho?

It just stops without saying anything... it should be solved


Question # 35

With new casting rules, input arrays must be specified as a float inorder for np.divide to work. Otherwise casting of np.divide must be set to 'unsafe'
A = np.ones(3)*1
A.astype('float') # Possible fix
B = np.ones(3)*2
B.astype('float') # Possible fix
np.divide(A,2,out=A, casting='unsafe') # Alternative Fix

Even with strict casting rules, all arrays are float arrays so I don't understand why np.divide would complain


Updated validations.py python script by adding the logic to return false if first character of input is not a letter.

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Hitting an error when running the role

TASK [microsoft.sql.server : Add mssql to the list of Tuned profiles] ****************************
fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["tuned-adm", "profile", "virtual-guest", "mssql"], "delta": "0:00:00.142634", "end": "2021-06-29 16:51:29.639275", "msg": "non-zero return code", "rc": 1, "start": "2021-06-29 16:51:29.496641", "stderr": "Cannot load profile(s) 'virtual-guest mssql': Cannot find profile 'throughput-performance' in '['/etc/tuned', '/usr/lib/tuned']'.", "stderr_lines": ["Cannot load profile(s) 'virtual-guest mssql': Cannot find profile 'throughput-performance' in '['/etc/tuned', '/usr/lib/tuned']'."], "stdout": "", "stdout_lines": []}

The package is tuned-profiles-mssql
The tuned profile is called mssql

What version of the role are you using?  What version of ansible are you using?  What is the platform for your control host?  What is the platform for your managed host?  I guess since you are using [localhost] that your control host is the same as your managed host?

Hi Rich - Trying to use it in our lab here - https://lab.redhat.com/sql-server-ansible.
Pulling down the latest microsoft.sql:1.0.11

Ok - I'm assuming you are on a rhel8 system and are running the role against locahost?  e.g. ansible-playbook -c local ... ?

Yes, using RHEL 8.4, and running the role against local host.
Feel free to check out the lab link above to debug/investigate this issue further.

ok - tried the lab link - looks like it gets past this point and hits another error - would need to "clean" the system to try it again, or spin up a new machine
What should happen is that you will get the error - but - the code should rescue the error and continue  https://github.com/linux-system-roles/mssql/blob/master/tasks/main.yml#L121 - it looks like that is what it did because if I look at /usr/lib/tuned/mssql/tuned.conf it has been fixed
So is it possible that the playbook failed, and you scanned the output, and this was the first error you found, but there were subsequent tasks after this failure, and the actual failure was further down in the output?

@spetrosi we should figure out a way to either suppress the error so that the task does not print fatal and FAILED!, or change the error message to better explain what is happening.

I remember @djez complained about roles having the rescue blocks. IIRC these expected errors caused tests to fail, and overall might be confusing for users because they see errors in the output and might think that they need to troubleshoot them. Should I better remove the rescue block completely and perform the check in some other way?


parsl.providers.cluster_provider _write_submit_script should return nothing, rather than constant True

Description
parsl.providers.cluster_provider _write_submit_script should return nothing, rather than constant True
Changed Behaviour
Changed the return handling for the cluster_provider _write_submit_script and edited the docstring to match
Fixes
Fixes # issue #3234
Type of change

Bug fix
New feature
Update to human readable text: Documentation/error messages/comments
Code maintenance/cleanup

Hi. Your tests were failing - see the red x next to one of the checks on this PR. The error it reports (which you can find by clicking Details) is:
flake8 parsl/
parsl/providers/cluster_provider.py:94:21: W291 trailing whitespace
parsl/providers/cluster_provider.py:120:15: W291 trailing whitespace
make: *** [Makefile:40: flake8] Error 1
Error: Process completed with exit code 2.

PR #3238 also makes this change and is merged now, so you can fix this PR to make the tests pass, if you would like to see how to fix things, or you can move on to doing something else and close this PR without merging.

Hi. Your tests were failing - see the red x next to one of the checks on this PR. The error it reports (which you can find by clicking Details) is:
flake8 parsl/
parsl/providers/cluster_provider.py:94:21: W291 trailing whitespace
parsl/providers/cluster_provider.py:120:15: W291 trailing whitespace
make: *** [Makefile:40: flake8] Error 1
Error: Process completed with exit code 2.

PR #3238 also makes this change and is merged now, so you can fix this PR to make the tests pass, if you would like to see how to fix things, or you can move on to doing something else and close this PR without merging.

Alright let me fix it

Hi, @benclifford  I have been able to resolve the issues with the failing tests.

Hi. @jessielin34 got here with PR #3238 just before you did, so I'm closing this PR.


Would like instructions on how to implement onSaveInstanceState

https://twitter.com/championswimmer/status/987327881960357889
My understanding is that FlutterView will handle the config change if AndroidManifest.xml contains:
android:configChanges="orientation|screenSize"
https://developer.android.com/guide/topics/resources/runtime-changes.html
But I'm not sure that we've written that down anywhere in our docs.  I believe some of our sample are locked to portrait for historical reasons too?

I'm aware of at least one bug reported with Flutter's rotation code: https://github.com/flutter/flutter/issues/16322 there may be others.

There needs to be documentation regarding how onSaveInstanceState is to be implented in Flutter as well.

Also pertinent : https://github.com/flutter/flutter/issues/6827

Yes, added to content plan.

OK, PR  https://github.com/flutter/website/pull/1037 handles the documenting landscape view and also that android should not restart a Flutter app.
The onSaveInstanceState doc is not yet written.

Please note that onSaveInstanceState is not only about persisting state during config changes. More important part is that it's used it to persist transient app state when OS kills the app when it's in background.
https://developer.android.com/topic/libraries/architecture/saving-states#system_initiated_ui_state_dismissal

Issue moved to flutter/website #2004 via ZenHub


Add react-native-web support

Summary
This adds web support for RNV. It does not include ads, drm, hls or any fancy player options not supported by an HTML5 player. I think HLS.js would be good to have included by default but if we do, it should be in a FU PR.
For now this PR is in a very draft state, I have not yet tested nor updated the documentation. I'll do it in the following hours/days (I'm currently working from my hospital bed, so do not know how much work I'll do soon).
I made this draft mostly to get preliminary feedback on how I approached this.
Closes #2719
Missing steps

[x] Test (see testing plan)
[x] Write documentation/readme

Test plan

[x] integrate or create a web example
[ ] use this in Kyoo, I took the base implementation from there and the projects needs HLS and custom handling for subtitles for example.

I tested that everything works with the basic example app using one of the .mp4 videos available without headers (since both HLS/Dash and headers are not available with a HTML5 basic video player).
I'm thinking that RNV should have more features than the default browsers allow, and integrating HLS/Dash/Ads should not be left for the user.
On my project, I'm using HLS.js, srt-webvtt and jassub to have hls/srt/ass support. Maybe we could find an extensible and not too bloaty library to use as a video backend on the web. I'm not familiar with the state of those libs right now but I have heard of video.js and shaka-player.
What do you think about integrating one of those libraries @freeboub @KrzysztofMoch?

I'm thinking that RNV should have more features than the default browsers allow, and integrating HLS/Dash/Ads should not be left for the user.

@zoriya I agree with you - but let's do it in next (separate) PR
I will try to review this PR this week!

I rebased & added all new properties. Everything should be documented, I missed the nativeVideoHtmlElement and added it, other doc comments should be fixed.

@zoriya How is this feature?

what does this mean? The PR just needs to be reviewed again/approved if that was the question

merge this PR please :)

They said in #4114 that they have limited time this week. Give them some time.

this pr only adds basic web supports, once this is merged i plan on adding hls & subtitles support properly. I probably won't add ads or drm support tho.

Is this going to be merged?

@zoriya any sense of the status here. I'd be happy to help with hls support!

the pr is ready, it needs to be reviewed (and updated to master). I'll rebase to master as soon as it gets some traction from TWG side (don't want to keep rebasing for no reason).

@zoriya  I hope this work gets merged as soon as possible!

🎉🍾🥳
We tried this branch in our app at English Discoveries, along with react-native-media-console and it works like a charm!
Here's a screenshot:

I did the preliminary rebase, I'll re-add an example, add new properties/event & fix potential bugs later today.

What's the expected behavior when using setSource and the source prop is defined/changes?
Should using setSource disable the source prop? Should 'setSourceonly work ifsource` is undefined?

Except the setSource method that doesn't handle metadata nor interactions with the source prop (see my previous comment), this should be ready.
Once this get merged, I'll make follow-up PR for hls & subtitles while I transition kyoo to use this for the web.

What's the expected behavior when using setSource and the source prop is defined/changes?
Should using setSource disable the source prop? Should 'setSourceonly work ifsource` is undefined?

So this is good question 🤔 on mobile we do re-init on source change. setSource is overriding source prop but if source prop would be updated it will override source from setSource
So on web I guess with should do something like this ?
const [source, setSource] = React.useState(props.source)

// later
useEffect(() => {
  setSource(props.source)
}, [props.source])

// and add method to ref

WDYT @zoriya ?

This is assuming that source is stable (aka wrapped in a useMemo). Without this, each re-render (be it another prop change or a non-relevant setState) would reset the setSource.
I am fine with this behavior, if we decide to go with this. I'll also add it in the documentation.

Yeah you're right! but do we have any alternative? (idk if there is, just thinking loudly)

Maybe we could use React.memo with custom arePropsEqual function?

No, I don't think there's a good alternative available.
We could hold a ref to the old source and deep compare the objects, but that felt so wrong that I decided to ask what was the expected behavior.
Something like:
const [src, setSource] = useState(source)
const oldSource = useMemo(source);
useEffect(() => {
	if (deepEqual(oldSource.current, source))
		return;
	setSource(source);
	oldSource.current = source;
}, [source]);

// add setSource to ref

With deepEqual being a function from something like here.

Yeah this looks kinda evil 😅 But I think this will work best, also I would rename oldSource to currentSource (and here you are using useMemo but I guess you wanted to use useRef) - we can go with it

oh yeah i meant useRef. I'll push that today then x)

@zoriya We need to update constants/general.ts in the bare example as well, because the Expo example is overridden in the src folder every time we install node modules (I mean this lines:
metadata: {
      title: 'Custom Title',
      subtitle: 'Custom Subtitle',
      artist: 'Custom Artist',
      description: 'Custom Description',
      imageUri:
        'https://pbs.twimg.com/profile_images/1498641868397191170/6qW2XkuI_400x400.png',
}

LGTM! Amazing work @zoriya 🔥

@zoriya I misse to thank you for this PR, so Thank you very much !

@zoriya I vaguely remember that you mentioned you were planning to work on hls support.
I actually have a version of this working, but its kind of sloppy, but I'm wondering if you had made any inroads with that yourself. Might be helpful for us to coordinate.

I wanted to wait for #4255 to get merged before creating a new branch to prevent huge conflicts. I do already have hls support on kyoo which was the implementation I based this PR on (here).

I need to fix expo example to merge it (but no idea how to do it for now)

@zoriya okay interesting. doesn't look like that applies super cleanly on what is there though. What was the reasoning behind using hls.js instead of videojs or shaka? Seems like supporting dash if its possible might be a good thing.

I personally didn't need more than hls.js, for rnv we would indeed need to consider alternatives before.


Programming

Hi, closing as this looks like it was opened by mistake.

۱۴۰۰-۰۴-۲۸ ۰:۱۷ +۰۴:۳۰ گرینویچ, Parker Moore @.***>:

Hi, closing as this looks like it was opened by mistake.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/pages-themes/hacker/pull/72#issuecomment-882107992

۱۴۰۰-۰۴-۲۸ ۰:۱۷ +۰۴:۳۰ گرینویچ, Parker Moore @.***>:

Closed #72.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/pages-themes/hacker/pull/72#event-5035352493

در تاریخ دوشنبه ۱۹ ژوئیهٔ ۲۰۲۱، ۱۹:۵۲ rasool Jamshidian <
@.***> نوشت:

در تاریخ دوشنبه ۱۹ ژوئیهٔ ۲۰۲۱، ۰۴:۲۴ rabooli @.***>
نوشت:

۱۴۰۰-۰۴-۲۸ ۰:۱۷ +۰۴:۳۰ گرینویچ, Parker Moore @.***>:

Closed #72.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/pages-themes/hacker/pull/72#event-5035352493

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pages-themes/hacker/pull/72#issuecomment-882136265,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOOITS56BJBXX6LT4SF5TILTYNSUDANCNFSM446U646A
.

در تاریخ دوشنبه ۱۹ ژوئیهٔ ۲۰۲۱، ۰۴:۲۴ rabooli @.***>
نوشت:

۱۴۰۰-۰۴-۲۸ ۰:۱۷ +۰۴:۳۰ گرینویچ, Parker Moore @.***>:

Closed #72.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/pages-themes/hacker/pull/72#event-5035352493

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pages-themes/hacker/pull/72#issuecomment-882136265,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOOITS56BJBXX6LT4SF5TILTYNSUDANCNFSM446U646A
.


GarbageCollection should be triggered by client

The client should trigger the GC. To do so we need a new Dolphin-Command in OD that triggers the GC on the server.
At the end of each UI-Thread roundtrip the GC Command should be send to the server.

GC will be automatically handled with each LongPoll


Invalid documents are accepted, cause the system to fail later

We require collection ID, but not at document creation time. This means if you don't remember to pick a collection in the drop-down, the system becomes unusable.

I believe this is fixed. If not can you explain how this situation would arise?


DBZ-1911 - improve error messaging for binlog configuration validation

The error message around binlog configuration validation is miss-leading as it statically report about having incorrect binlog_format even when the issue is with binlog_row_image
https://issues.redhat.com/browse/DBZ-1911
new error messages

The MySQL server is not configured to use a ROW binlog_format, which is required for this connector to work properly. Change the MySQL configuration to use a binlog_format=ROW and restart the connector.

The MySQL server is not configured to use a FULL binlog_row_image, which is required for this connector to work properly. Change the MySQL configuration to use a  binlog_row_image=FULL and restart the connector.

LGTM, thanks a lot. Could you only squash all commits into a single one and rework it, so to use an e-mail address associated with your GitHub account? That way the change will be properly attributed to you in the commit history. Thanks again!

@gunnarmorling - squashed and --amend complete :)
Thanks for the comment

Applied. Thanks a lot, @devzer01!


./predeploy.sh: 2: set: Illegal option -

I follow all the steps outline in the readme.md file, but the npm run deploy payment is throwing an error

><EMAIL_ADDRESS>predeploy
> sh ./predeploy.sh

./predeploy.sh: 2: set: Illegal option -

All the previous step work perfectly
[OS]
I'm using Windows Linux Subsystem

Could not to reproduce the issue but probably comes from this file predeploy.sh.
Please try to run predeploy.sh as sudo
sudo sh ./predeploy.sh

You can try this solution in stackoverflow!


Rename READAME.md to README.md

[ ] Are these changes auto-generated from php-template
[ ] Have you made the same changes to php-template

Duplicate of #70


new & retired organizers documentation

add documentation on when and how to edit organizers for chapters: https://github.com/rladies/rladies.github.io/tree/main/data/chapters

so it means updating https://guide.rladies.org/coordination/onboarding/ source https://github.com/rladies/rladiesguide/blob/main/content/coordination/onboarding/index.en.md
@MounaBelaid would you have time to look at the current chapter to see what needs to be edited, compared to how you do things now for onboarding? Your comments could be either

a PR,
or notes in this issue and I'd make the PR and request your review.

With Mouna we've been testing the new workflow here: https://github.com/rladies/new-chapters-onboarding/issues. There are a lot of things to change, but I'm working on the updates ✨

Hi @rivaquiroga, Please let me know if you need help updating the guides according to the new workflow. I would be happy to help!


Module 2: Capstone Project

Highlights 🥇
RS Movies
Learning objectives

Use webpack to bundle JavaScript.
Use callbacks and promises.
Learn how to use proper ES6 syntax.
Use npm as software packages system.
Use callbacks and promises.
Use ES6 modules to write modular JavaScript.
Send and receive data from an API.
Use API documentation.
Understand and use JSON.
Make JavaScript code asynchronous.

What We Have Done:

Added linters. The JavaScript + HTML + CSS linter.
create a git flow.
create a webpack
used Es6 import.
send and receive data from an API.
make use of JavaScript code asynchronous.
add the count function

Followed Rules:

Made sure no linter errors
Followed Github Flow
Documented professionaly
Followed the list of best practices for HTML & CSS.
Followed our list of best practices for JavaScript.

Thank you, @danmainah


Azure App Service - Java quickstart updates

Creating this PR for comments that I can address - merge will happen from the private repo (@cephalin handles this)
Tagging @cephalin @mijacobs @JasonFreeberg

Addresses #95317

@JasonFreeberg - I have added JBoss EAP steps for review. Tomcat is in the works. Please put feedback here so that I can address them, as I can't see the private repo side of things.

@sadukie : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@sadukie : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@sadukie @cephalin - labelling this PR as triaged, but please be advised that these changes are too substantial to be reviewed and merged in the public repo, and will need to be moved to the private repo after approval.
Thanks.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@sadukie : Thanks for your contribution! The author(s) have been notified to review your proposed change.


[MINOR][Core] Use variable instead of function to keep the format uniform

What changes were proposed in this pull request?
The change just use  variable(_taskScheduler) instead of function(taskScheduler) to keep the format uniform in different situation.
How was this patch tested?
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

As I see this is really a minor thing where separate Jira is not needed still the PR title must follow the standard formatting in this case it could be: "[MINOR][Core] Use variable instead of function call to keep the format uniform"
I would also mention this is done in the constructor of the SparkContext and would delete the line "Please review http://spark.apache.org/contributing.html before opening a pull request." from the description and just say "existing unit tests".

Test build #4607 has started for PR 24048 at commit 3eea066.

Test build #4607 has finished for PR 24048 at commit 3eea066.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged to master. In the future please format the PR title/description per https://spark.apache.org/contributing.html

As I see this is really a minor thing where separate Jira is not needed still the PR title must follow the standard formatting in this case it could be: "[MINOR][Core] Use variable instead of function call to keep the format uniform"
I would also mention this is done in the constructor of the SparkContext and would delete the line "Please review http://spark.apache.org/contributing.html before opening a pull request." from the description and just say "existing unit tests".

Thanks for your guidance, I'll read it again carefully.

Merged to master. In the future please format the PR title/description per https://spark.apache.org/contributing.html

Thanks, for a novice like me ,i'll do better next time.


Add comments and references

I don't want to offend anyone, and I admit that I may have a particularly picky and controversial attitude towards some coding practices. So I don't want to argue about the "style" of something like this....
// diffuse
vec3 disneyDiffuse(PBRInfo pbrInputs)
{
  float f90 = 2.*pbrInputs.LdotH*pbrInputs.LdotH*pbrInputs.roughness - 0.5;

  return (pbrInputs.baseColor/M_PI)*(1.0+f90*pow((1.0-pbrInputs.NdotL),5.0))*(1.0+f90*pow((1.0-pbrInputs.NdotV),5.0));
}
..

// G
float microfacetCookTorrance(PBRInfo pbrInputs)
{
  return min(min(2.*pbrInputs.NdotV*pbrInputs.NdotH/pbrInputs.VdotH, 2.*pbrInputs.NdotL*pbrInputs.NdotH/pbrInputs.VdotH),1.0);
}

But I, personally, think that for a "reference implementation", this should in any case at least include comments about what this code is doing, what its purpose is, and last but not least, information about where this code was copied from. (I'm pretty sure that this was not implemented from scratch based on a given set of formulas, but even then, information about the publications that contain the formulas should not be omitted)

Agreed!  /cc @moneimne @snagy

I agree too, but I'm curious what level of detail you would want from these comments within the shader itself, @javagl. Those functions you mentioned above are essentially being cited in their names. For example, disneyDiffuse comes from Disney's model for diffuse shading in this paper.
Also, how much of the explanation belongs in the shader itself versus the README.md? I would be happy to write out some of the theory if that helps.

@moneimne Of course, one could go arbitrarily far with commenting things. And although I'm always trying to imagine someone being confronted with certain topics for the first time: The shader code is surely not the right place to explain something.
(And often, I don't have to imagine being new to something. I still didn't get what this "F90" thing is, but will look it up, read some papers, and eventually wrap my head around it)
However, there are always some degrees of freedom regarding a trade-off between naming (of functions and/or variables) and the necessity to comment things. As an example, a function
// D
float GGX(PBRInfo pbrInputs) { ... }

might deserve a comment (beyond // D...). A function like
float computeMicrofacetDistribution(....) { ... }

might not need a comment, although something like // Computes the GGX term as described in [ref] might still be worthwhile.

Of course, all this is partially subjective. Some snippet from my PBR experiments is https://github.com/javagl/gltfTestModels/blob/master/SimpleSpheres/glTF/pbr.frag , but I'm a PBR noob and everybody has his own style, so this should not be taken too serious. This issue is not about "style".

The key point is: There sometimes seem to be very subtle or counterintuitive implementation details. For example, quoting from http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf :

The general Cook-Torrance [5,6] microfacet specular shading model is:
[formula ... dividing by (4 * (n*l) * (n*v)), by the way ;-)]
See [9] in this course for extensive details.
We started with Disney’s model and evaluated the importance of each term compared with more
efficient alternatives. This was more difficult than it sounds; published formulas for each term don’t
necessarily use the same input parameters which is vital for correct comparison.

So in any case, when using a function called disneyDiffuse that was published somewhere, I think that there should be at least a reference to the publication, like in this case:

Brent Burley: "Physically Based Shading at Disney", SIGGRAPH 2012 course notes, http://blog.selfshadow.com/publications/s2012-shading-course/burley/s2012_pbs_disney_brdf_notes_v3.pdf

Thanks for clarifying, @javagl! I think cleaning up comments, function names, and variable names as you mentioned would be very useful for people who are new to PBR.
On that note, @snagy added multiple potential approximations for the diffuse, Fresnel, and geometric terms, some of which aren't being called in the shader. Do people think this is confusing or beneficial for people looking to learn from the shader?

That last point might be worth an own issue.
In general, I think it can be interesting to see different implementation options, but I'm not sure whether they should be part of the reference implementation, and how to properly integrate them. Just "not using" the function would leave people wondering why the functions are there. Commenting them out tends to look messy (especially if there are several options for several functions). One could also try to mimic a "public/private" implementation pattern 1. Others might prefer some #ifdef-based solution, or maybe even something that can be switched at runtime (that could be fancy and interesting, but would add a complexity that is probably not worthwhile).
But in doubt, I'd vote for using

the most common implementation and/or
the one that is the easiest to understand and/or
if applicable, the one that is the "most explicit" - even if this is not the most efficient one.

For example, if someone (like me) stumbles over magic values like 5.55473 for some fresnel thing, he might wonder where they come from (fortunately, googling 5.55473 fresnel brought up the relevant link here).

1: With "public/private" I mean something roughly like this
// This is the "public" function that is called
float computeFresnel(...) {
    // return computeFresnel_Unreal(...);
    return computeFresnel_Disney(...);
    // return computeFresnel_Allegorithmic(...);
}

// These are the "private" possible implementations
// Implemented as in [refA]
float computeFresnel_Unreal(...) { ... }

// Implemented as in [refB]
float computeFresnel_Disney(...) { ... }

// Implemented as in [refC]
float computeFresnel_Allegorithmic(...) { ... }

I totally agree with your suggestions, @javagl.  This repo grew out of a demo that was just intended to show the core concepts, but is missing a bunch of information about what the different parts mean and where they came from.  I'll work on adding that soon (along with cleaning up some variable names that aren't representative of their usage, etc).
I'd like to keep the different implementations in the file and ideally add some UI to switch between models at runtime, but that should happen after the initial documentation cleanup.

PR #17 has some quick attribution added for where the original equations came from.  The implementation of most of them were grabbed from some internal renderers here at MS, and I reimplemented some parts of the equation from scratch while trying to determine if there was a 'best answer'.  I fiddled around a bunch and unfortunately didn't keep any notes on what originally came from where and what was reimplemented; I'd be happy to merge a clean reimplementation which has better attribution.
Which brings me to my next question:  do we think there's a 'best answer' for this?  I would love a reference implementation that makes a suggestion on what people should start with, and in fact that was the origin of this code (experimenting with different equations to try to decide on the most vanilla implementation).  Unfortunately, I didn't see a clear path to deciding on one implementation; if anyone has strong opinions and thinks we should just grab one and go, we should do that.  For example, lambertian diffuse is super simple and pretty good so we can just use that.  GGX is pretty common for the D term, as well as Schlick for F, but the G term is up in the air and none of the implementations are super straightforward.
Thoughts?

@snagy, I agree. Lambertian diffuse, Schlick for F, Smith for G, and GGX for D are fine as long as we make it clear that they can choose whichever replacements they prefer. It seems that choosing which functions to use often comes down to whether the computation is worth the visual gain / technical correctness.

Of course, when googling for how the heck can I implement a PBR shader one does find all these references and documents. But for a reference implementation (which people who are new to PBR will most likely read, line by line), I think that it is very important to 1. have the attributions, and 2. a definitive hint about which of the different possible implementations/formulas the given code is supposed to represent (this is a subtle reference to this /4*x+y vs. /(4*x+y) issue that came up recently).
So I think that the PR already is a real improvement 👍

@javagl Now that #17 is merged, do you think this issue should remain open or be closed?  Maintaining good comments and references will likely be an ongoing effort, but do you think the code that exists now needs more work in this regard?

The most important point (the references) is basically in, and beyond that, you're right with calling it "ongoing", so for now, I'll close this.


Broken Error

What is this error? It does not give any indication to what T is. I am hovering over the .sort function

it's probably sort type argument

This looks like bug to me
https://flow.org/try/#0PTAEAEDMBsHsHcBQiCmAPADrATgF1AMawB2AzvgJ6wBcoAgttgIYUA8xArgLYBGK2APlABeUAG0AjABpQAJgC6AbmToseQiXKhIsWCNBUAdKRy4AFGYCUtTr34ihAb0ShQ2FLg7ZioCcoC+lspAA
// @flow

export const yo: Array<number> = [1, 2];

export const foo = yo.sort((): number => {
  return 1;
});

Can't reproduce the error anymore


Legend isn't appearing even though I have added code for it

Bug Report
Issue: Legend isn't appearing in plot even though I have added code for it.
Reproducing:
var rand = new Random(0);
double[] values = DataGen.RandomWalk(rand, 100_000);

int sampleRate = 20_000;
formsPlot1.Reset();
formsPlot1.Plot.AddSignal(values, sampleRate);
formsPlot1.Plot.Benchmark(enable: true);
formsPlot1.Plot.Title($"Signal Plot: 1 Million Points");
formsPlot1.Plot.XLabel("Horizontal Axis Label");
formsPlot1.Plot.YLabel("Vertical Axis Label");
formsPlot1.Plot.XAxis.DateTimeFormat(true);
formsPlot1.Plot.XAxis.TickLabelFormat("M\\/dd", dateTimeFormat: true);
formsPlot1.Plot.Legend();
formsPlot1.Render();
formsPlot1.Plot.SaveFig("PlotTypes_Bar_MultipleBars.png");

System Details

ScottPlot Version: <IP_ADDRESS>?
Operating System: Windows 10
Application Type: WinForms
.NET Version: NET Framework 4.8

You have to do something like this to set the label which is shown in the legend:
var sigplot = formsPlot1.Plot.AddSignal(xs, ys);
sigplot.Label = "Label in legend";


Crash after selecting folder for mihon - ebook reader

Steps to reproduce
Application crashes after selecting folder for app.
Device is ebook reader inkBOOK Calypso Plus with Android 8.1.
In crash log there is sth about No persistable permission but app didn't asked for any.
Even after adding permission via system apps settings, it still crashes.
Expected behavior
App should finish initial config and start working.
Actual behavior
App crashes.
Crash logs
App version: 0.16.3 (standard, 139663a, 4, 2024-01-29T20:34Z)
Android version: 8.1.0 (SDK 27; build px30_eink-userdebug 8.1.0 OPM8.190505.001 123531 dev-keys)
Device brand: rockchip
Device manufacturer: rockchip
Device name: px30_eink (A602)
Device model: CalypsoPlus
WebView: Android System WebView 109.0.5414.123

--------- beginning of system
02-14 13:11:38.403  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:39.700  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:40.042  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:45.780  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:46.326  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:46.408  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 0, 0)
02-14 13:11:48.473  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:48.511  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
--------- beginning of crash
02-14 13:11:53.500  2188  2188 E AndroidRuntime: FATAL EXCEPTION: main
02-14 13:11:53.500  2188  2188 E AndroidRuntime: Process: app.mihon, PID: 2188
02-14 13:11:53.500  2188  2188 E AndroidRuntime: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=253523599, result=-1, data=Intent { dat=file:///storage/emulated/0/Mihon }} to activity {app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity}: java.lang.SecurityException: No persistable permission grants found for UID 10020 and Uri file:///storage/emulated/0/Mihon [user 0]
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.-wrap19(Unknown Source:0)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6494)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: Caused by: java.lang.SecurityException: No persistable permission grants found for UID 10020 and Uri file:///storage/emulated/0/Mihon [user 0]
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:2013)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:1959)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.IActivityManager$Stub$Proxy.takePersistableUriPermission(IActivityManager.java:7938)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.content.ContentResolver.takePersistableUriPermission(ContentResolver.java:2085)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at eu.kanade.presentation.more.settings.screen.SettingsDataScreen$storageLocationPicker$1.invoke(Unknown Source:11)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at org.jsoup.nodes.Element$$ExternalSyntheticLambda0.onActivityResult(Unknown Source:10)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at androidx.activity.result.ActivityResultRegistry.dispatchResult(Unknown Source:44)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at androidx.activity.ComponentActivity.onActivityResult(Unknown Source:2)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at androidx.fragment.app.FragmentActivity.onActivityResult(Unknown Source:5)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.Activity.dispatchActivityResult(Activity.java:7304)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	... 9 more
02-14 13:11:56.487  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:56.680  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:05.944  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:06.215  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:34.788  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:41.875  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:54.732  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:54.922  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
--------- beginning of main
02-14 13:13:00.458  2482  2498 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
02-14 13:13:00.465  2482  2498 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
02-14 13:13:01.429  2482  2516 E SQLiteLog: (5) statement aborts at 2: [PRAGMA journal_mode=TRUNCATE] database is locked
02-14 13:13:02.243  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010586
02-14 13:13:02.250  2482  2482 E ResourceType: Style contains key with bad entry: 0x0101058c
02-14 13:13:02.250  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010604
02-14 13:13:02.250  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010605
02-14 13:13:02.319  2482  2482 E ResourceType: Style contains key with bad entry: 0x0101058c
02-14 13:13:02.320  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010604
02-14 13:13:02.320  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010605
02-14 13:13:02.508  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)

Mihon version
0.16.3
Android version
Android 8.1
Device
inkBOOK Calypso Plus
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version 0.16.3.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

Thank you, I will check my device name after work.

Thank you, I will check my device name after work.

You can click on the three dots, About, Version and the device name and model alongside other things will be copied to your clipboard.

Btw, maybe it is in log:
App version: 0.16.3 (standard, 139663a, 4, 2024-01-29T20:34Z)
Android version: 8.1.0 (SDK 27; build px30_eink-userdebug 8.1.0 OPM8.190505.001 123531 dev-keys)
...
Device name: px30_eink (A602)
Device model: CalypsoPlus

It is! Thank you!

👍

#318 is probably related, it also happens on my Samsung Galaxy S22 Ultra.
There seems to be an issue where some devices have problems with the system file picker and the new scoped storage permissions, and it seems to include some Samsung devices as well.
One solution would be to already preset a default path for the Mihon folder during initial setup, allowing to skip the bugged file picker (while leaving the option to set a custom parh for those without the bug), or to make setting the storage path skippable in its entirety.

One solution would be to already preset a default path for the Mihon folder during initial setup, allowing to skip the buggy file picker (while leaving the option to set a custom path for those without the bug), or to make setting the storage path skippable in its entirety.

The default path is the only choice that would work out. Making it skip-able makes no sense: the app is unusable then. A storage path is required for local content.

EDIT: Solved now, check Issue https://github.com/mihonapp/mihon/issues/318

In your case.  I cannot find the website where I read about it, but Inkbook devices do this. The option is disabled in development settings on my device but the issue still persists. I think changing the PR to have a default path makes more sense.

Thanks


[CI:DOCS] Update release notes for v1.9.0-RC1

As the title says

@TomSweeneyRedHat @baude @rhatdan PTAL

/lgtm
/hold

One questions for consideration, otherwise LGTM.

We need to wait for the make vendor/tidy changes by @mtrmac

I think that will result in a fresh Buildah minor version, so should we hold this for that?

Yes.  Hold

Pushed some major additions. @TomSweeneyRedHat @edsantiago PTAL

LGTM but I need to confess that I haven't cross-checked against git log --graph v1.8.2..master - I got scared off by line count.

/lgtm

We're bumping Buildah to v1.14.8 and I think we're respinning for that.  Might want to bump that in here too.

@TomSweeneyRedHat Fixed
Anyone want to re-lgtm?

Verified the diff.
/lgtm
/hold

LGTM

/hold cancel


After upgrade from 1.6.0 to 1.6.1 my atom was crashed

Prerequisites

[ ] Can you reproduce the problem in safe mode?
[X] Are you running the latest version of Atom?
[ ] Did you check the debugging guide?
[ ] Did you check the FAQs on Discuss?
[X] Are you reporting to the correct repository?
[ ] Did you perform a cursory search to see if your bug or enhancement is already reported?

For more information on how to write a good bug report or enhancement request, see the CONTRIBUTING guide.
Description
After upgrade from 1.6.0 to 1.6.1 my atom was crashed with popup

The editor has crashed
Please report this issue to https://github.com/atom/atom

Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
You can get this information from executing atom --version and apm --version at the command line. Also, please include the OS and what version of the OS you're running.

same here. Switched to 1.7.4 beta

Trying to go through and cleanup some older issues - it's been a while since this report and Atom is currently at release version 1.14.4. I'll go ahead and close the issue for now but if you're still seeing an error with the latest release version of Atom, please feel free to open a new issue and fill out the issue template @othpiik ✌


Add static methods for creating Image and ImageTexture

Implements #23782
Originally I said that it wouldn't be so useful, but then I actually had to use Image/ImageTexture a bit more. Whenever you create ImageTexture, you immediately assign an image. It gets old fast, so having a shorthand is helpful.
I didn't stop here though. Seems like ImageTexture.create_from_image() is used a lot in core, so I replaced all usage by the new static method. Diff numbers say it well how it simplifies the code.
What changed:

ImageTexture.create_from_image() is now static

seems like non-static version of this method is needed in core (it has a few uses), so I added set_image(). It's not exposed

Added Image.load_from_file(), which creates Image and loads data

I didn't replace load(), because sometimes it's necessary get the loading error

although I opened a proposal that would allow it

Now it's possible to e.g. assign a dynamically loaded texture in one line:
$Sprite.texture = ImageTexture.create_from_image(Image.load(path))

It saves lots of typing.

Hopefully the rebase also fixes the godot-cpp build which seemed to choke on the static method back in May.

Seems not. CC @godotengine/gdextension
/home/runner/work/godot/godot/godot-cpp/gen/src/classes/image_texture.cpp: In static member function 'static godot::Ref<godot::ImageTexture> godot::ImageTexture::create_from_image(const godot::Ref<godot::Image>&)':
/home/runner/work/godot/godot/godot-cpp/gen/src/classes/image_texture.cpp:46:116: error: '_nullptr' was not declared in this scope; did you mean 'nullptr_t'?
   46 |  return Ref<ImageTexture>::___internal_constructor(internal::_call_native_mb_ret_obj<ImageTexture>(___method_bind, _nullptr, image->_owner));
      |                                                                                ^~~~~~~~
      |                                                                                nullptr_t

I can't test it right now, but it's likely a typo on this line:
binding_generator.py#L1155
-method_call += f"return Ref<{return_type}>::___internal_constructor(internal::_call_native_mb_ret_obj<{return_type}>(___method_bind, _nullptr"
+method_call += f"return Ref<{return_type}>::___internal_constructor(internal::_call_native_mb_ret_obj<{return_type}>(___method_bind, nullptr"

Thanks!

@KoBeWi, may you perhaps make Image.create() and  Image.create_from_data() static too?


Bug: Memory Leak (audio library)

Describe the bug
Things on my PC were feeling sluggish, fire up task manager and yikes - hass.agent using 3.5GB memory and 10% CPU. Yikes!

To Reproduce
Uncertain
Expected behavior
Reasonable resource usage 😄
Screenshots
Misc info (please complete the following information):

Windows build (ideally screenshot/info of winver.exe output): Win 10 22H2 19045.4170
Windows' UI language: English
HASS.Agent version: 2.1.0-beta1

Please check what's applicable (multiple answers possible):

[x] Installed via installer
[ ] Installed manually
[x] Problem occurs in HASS.Agent
[ ] Problem occurs in Satellite Service

Additional context
I took a memory dump of the process to share privately, if desired. Agent unable to restart itself, needed to be force killed.
Logs
Attached, in all their glory.
[2024-03-11] HASS.Agent_20240312.log
[2024-03-11] HASS.Agent_20240311.log
[2024-03-09] HASS.Agent_20240311.log
[2024-03-09] HASS.Agent_20240310.log
[2024-03-09] HASS.Agent_20240309.log
[2024-03-08] HASS.Agent_20240309.log
[2024-03-08] HASS.Agent_20240308.log
[2024-03-07] HASS.Agent_20240308.log
[2024-03-08] HASS.Agent_restart_20240308.log
[2024-03-08][E] HASS.Agent_servicestop_20240308.log
[2024-03-08][E] HASS.Agent_servicereinstall_20240308.log
[2024-03-07] HASS.Agent_20240307.log
[2024-03-07] HASS.Agent_restart_20240307.log
[2024-03-07][E] HASS.Agent_compatmigrate_20240307.log
[2024-03-20] HASS.Agent_restart_20240320.log
[2024-03-13] HASS.Agent_20240320.log
[2024-03-13] HASS.Agent_20240318.log
[2024-03-13] HASS.Agent_20240313.log
[2024-03-11] HASS.Agent_20240313.log

All leads are tracing back to audio sensor/commands - more information will follow.

As per discord conversation, test build with AudioSwitcher instead of CoreAudio library - https://github.com/amadeo-alex/HASS.Agent/releases/tag/2.0.1-alpha-audioleakfix
Another test build will be created according to advice from CoreAudio author to try to keep the usage for CoreAudio for audio sensors and commands - https://github.com/morphx666/CoreAudio/issues/27

Update: CSCore was chosen as a audio information library with DIY solution for activating the devices.


Look into let's encrypt and cloud flare

https://letsencrypt.org
http://cloudflare.com

Closed due to outdatedness


TemplateSyntaxError

Describe the bug
Not working after installing. /admin/ works but not the /helpdesk/. Getting error.

Request Method:
GET

http://localhost:8089/helpdesk/tickets/

2.2

TemplateSyntaxError

'humanize' is not a registered tag library. Must be one of: admin_list admin_modify admin_static admin_urls bootstrap cache i18n in_list l10n load_helpdesk_settings log markdown_deux_tags saved_queries static staticfiles ticket_to_link tz user_admin_url

/usr/local/lib/python3.7/site-packages/django/template/defaulttags.py in find_library, line 1025

/usr/local/bin/uwsgi

3.7.9

['.',  '',  '/usr/local/lib/python37.zip',  '/usr/local/lib/python3.7',  '/usr/local/lib/python3.7/lib-dynload',  '/usr/local/lib/python3.7/site-packages']

Tue, 30 Mar 2021 06:38:28 +0000

To Reproduce
Steps to reproduce the behavior:
Fresh install on Unbuntu
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser: Chrome

Additional context
Add any other context about the problem here.

Hi,
How did you install django-helpdesk ? Did you add it to an existing project ?
Did you override some templates and forget to add {% load humanize %} in it ?
You might be interested in this answer on stack overflow.


Unexpected exception in JIT mode

Build commands
I compile the code with commit id 40b430fd240ad45f5c7a7dd0239fa2425e7c294e.
Platform: Ubuntu 20.04
CPU: amd64
compile:
export CC=/usr/lib/llvm-16/bin/clang
export CXX=/usr/lib/llvm-16/bin/clang++
cd product-mini/platforms/linux/;rm -rf build
cmake  -DWASM_ENABLE_AOT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_FAST_JIT=0   -DCMAKE_INSTALL_PREFIX="xxx" -DWAMR_BUILD_REF_TYPES=1 -DCMAKE_BUILD_TYPE=Release  -DWASM_ENABLE_BULK_MEMORY=1 -DWAMR_BUILD_LIBC_WASI=0 -DWAMR_BUILD_LIBC_BUILTIN=1 -DWAMR_BUILD_SIMD=1 -Bbuild

execute:
iwasm --heap-size=0 --llvm-jit -f to_test <tc_name>

Cases
two_cases.zip
Actual behavior:
No exception
Expected behavior:
An exception indicates that "WASM module load failed: undeclared function reference"

Hi, could you please try it on the latest main branch? It now work as expected on my machine:

Hi, this pr https://github.com/bytecodealliance/wasm-micro-runtime/pull/2972/files should fix it, now it won't  have the unexpected exception:

Close this issue as it was fixed.


Following trouble shooting guide to figure out why NCM is not working on Windows 10, Neovim 0.2.2, with Anaconda Python (3.6.2)

I am attempting to follow the troubleshooting guide.
First I tried to enable logging:
let $NVIM_PYTHON_LOG_FILE="~\NCM-log\nvim_log"
let $NVIM_NCM_LOG_LEVEL="DEBUG"
let $NVIM_NCM_MULTI_THREAD=0

Note how I have put back slashes instead of forward slashes. Is this the right thing to do? I base this off of how neovim corrects my slashes whenver I am doing something like :cd ~\blahblah\blah.
I do not see any log files being generated, and I also did not get the message nvim-completion-manager core channel terminated. So I tried to start up NCM manually.
First from neovim, I got the servername: :echo v:servername produces \\.\pipe\nvim-5340-0 (note that the integers after nvim- change, so sometimes I have \\.\pipe\nvim-8712-0).  So I go into the pythonx, and execute the following command (while making sure that neovim is running):
py cm_start.py core \\.\pipe\nvim-5340-0
I get the following error then:
Traceback (most recent call last):
  File "cm_start.py", line 9, in <module>
    from neovim import attach, setup_logging
ModuleNotFoundError: No module named 'neovim'

But, I definitely did install have neovim using pip! For instance, I can do this fine:
PS C:\Users\LilMonkey> py
Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import neovim
>>>

What should I try next?

I can use NCM on Nvim-qt 2.2 + Python3.6.4(window installer from Python website) on Windows 10, it can complete my Go code well.
Just need to install neovim in pip and set python location in init.vim:
let g:python_host_prog='D:/tool/dev/python3/python.exe'
let g:python3_host_prog='D:/tool/dev/python3/python.exe'

I use msys64 mintty terminal to lauch "nvim-qt".
It seemed NCM in Nvim-qt can't use Python2/3 installed by msys64 pacman.
But Python installed by window installer can make NVM in Nvim-qt work, but first you need set g:python_host_prog.


Refresh: Transition benchmarking into a Stage

Right now, benchmarking is a hardcoded operation that takes place at the end of every sequence (unless explicitly skipped). After this update, benchmarking will be encapsulated into a Stage named benchmark that must be explicitly added to the sequence.

Closed by #172


directly focus on the red line

it would be nice if when accessed directly focus on the red line, do you know how we can do it ?

this is simple. and problem has been resolved with change property


Review potential future Library & Collections Management systems from an integration perspective

[!Note]
See this Notion Epic.

In order to prepare for the Wellcome Collection Systems Transformation project we should review candidate systems with a view to how we would handle catalogue-pipeline integration with that supplier.
Initially we will be looking at the Collections Management Systems which for the most part replace the functionality offered by CALM:
The 4 suppliers we will review are:

[ ] Axiell Collections
[ ] Collector Systems
[ ] CollectionsIndex+
[ ] Coeli

The outcome for each will be documentation in the /docs repository discussing potential integration supplier.

Updated with the 4 we will review this quarter and in light of initial focus on collections management systems


contrib folder auto builder

this cibuild step will build automatically extension folder found in src/contrib with currently exception of :
sslinfo bool_plperl hstore_plperl hstore_plpython jsonb_plperl jsonb_plpython
ltree_plpython pgcrypto sepgsql bool_plperl start-scripts uuid-ossp

added xml2 pgcrypto and uuid-ossp

@pmp-p The build on this seems to be failing on uuid-ossp. I'm going to merge #131 as is, as it forked off this PR a couple commits back. Then we can get the others merged once these are working.

@samwillis i just forgot the uuid switch rebuild into pg core which is triggered from configure with --with-uuid=ossp should be fixed now

nope ossp-uid detection still not well supported by sdk, will turn off and fix later as sdk is a 2 hours rebuild ...


differences between settings and "trading window"

Differences between settings and "trading window"
Version
Running Version: v0.0.66 (e634670) Latest Version: v0.0.66
Description
BTCUSDT -> Settings

1.01 = 1%
1.10 = 10%

Thanks @faizalmy
@PiotrFerenc @faizalmy is right.
I should improve that. :)


workaround for stdout/stderr bug in eval

stdout/stderr is busted in conjunction with --connect on the eval target

look good, I’ll merge :)
linking bug: https://github.com/HaxeFoundation/haxe/issues/9359


C# — Client generation fails if path ends with an HTTP Request Method word and contains an operation with such type.

Subject of the issue
C# Client generation fails if path ends with an HTTP Request Method word and contains an operation with such type. (check specification example for path "/me/get").
Your environment

Kiota --version: 0.10.0-preview+a7dce9b2945a106f1200bd0abd3b6de0a5965afc
OpenAPI specification: 3.0.X (JSON / YAML)

Steps to reproduce

Create an OpenAPI Spec file named "example.yaml" with the following content:

openapi: 3.0.0
info:
  title: Microsoft Graph get user API
  version: 1.0.0
servers:
  - url: https://graph.microsoft.com/v1.0/
paths:
  /me:
    get:
      responses:
        200:
          description: Success!
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/microsoft.graph.user"
  /me/get:
    get:
      responses:
        200:
          description: Success!
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/microsoft.graph.user"
components:
  schemas:
    microsoft.graph.user:
      type: object
      properties:
        id:
          type: string
        displayName:
          type: string

Run the following command: kiota generate --language csharp --openapi example.yaml

Expected behaviour
Generated C# Client with a method that contains the URL /me/get
Actual behaviour
An error occurs and the C# client is not generated as expected. The error message is shown in the attached screenshot.

Hi @jeidoz,
Thanks for reporting this.
The issue most likely comes from here
The challenge is that block is running in a parallel foreach (higher level) which means it's not deterministic. The proper way to solve it is probably to:

Add a method that accepts a code class, a code property and a code method. Removes the property from the class if was already added. Adds the method if it wasn't added. And then iterates on additional names (1, 2, 3) for the property until it can be added.
Add a try catch in the CreateMethod method
Move the else block of the method to a CreateNavigationProperty method, while adding a try catch
call the method from 1 in catches for 3 and 4

The easiest way to debug that would be to add two tests in the kiota builder tests (change the order of the paths in the second test).
With those directions, is this something you feel like submitting a pull request for?

update: I've authored #2286 to address this issue.


Relax router effort when creating the place delay matrix.

Testing to see that picosoc and murax still behave after this.

This change may decrease full 50T placer delay computation time.  This change has no affect on the router lookahead computation.


Layout bug

For some reason I cannot digit the item number on the single item tab, only on the bulk item one: https://www.youtube.com/watch?v=8Yn1rnOdRuc

Similar #21