Custom page layout mapping error when webpart zone is empty

[x ] Bug
[ ] Enhancement
Problem Area
[ ] Page Transformation: Error during the setup/use of the Page Transformation UI solution (did you check our troubleshooting guide?)
[x ] Page Transformation: Error during the use of page transformation from PnP PowerShell
[ ] Page Transformation: Error during the use of page transformation from .Net
[ ] Page Transformation: Page is not looking correct after transformation
[ ] Modernization Scanner: something went wrong...
Expected or Desired Behavior
Custom page layout mapping should work even if a row doesn't contain any webpart
Observed Behavior
Since feb release custom page layout mapping fails when a row doesn't contain any webparts in the source page.
Image below shows the source page layout. In this example ConvertTo-PnPClientSidePage fails when the row containing the 3 webpart zones doesn't contain any webparts and there is a webpart in a row further down.

Error message from log:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at SharePointPnP.Modernization.Framework.Transform.ContentTransformator.LastColumnOrder(Int32 row, Int32 col)
at SharePointPnP.Modernization.Framework.Transform.ContentTransformator.Transform(List`1 webParts)
at SharePointPnP.Modernization.Framework.Publishing.PublishingPageTransformator.Transform(PublishingPageTransformationInformation publishingPageTransformationInformation)
Steps to Reproduce
Source: SP2016 (in 2013 mode) publishing page using custom page layout
Target: SP Online modern pages
Export custom page layout mapping
Export-PnPClientSidePageMapping -CustomPageLayoutMapping -Folder ($PSScriptRoot+"\PageLayoutMappings") -Connection $global:source -Overwrite
Update row column mapping in CustomPageLayoutMapping.xml
<PageLayout Name="IISectionSite" AssociatedContentType="" PageLayoutTemplate="AutoDetect" PageHeader="None" IncludeVerticalColumn="true">       <MetaData>         <Field Name="Title" TargetFieldName="" Functions="" />         <Field Name="IIOwner" TargetFieldName="" Functions="" />       </MetaData>       <WebParts>         <Field Name="PublishingPageContent" TargetWebPart="SharePointPnP.Modernization.WikiTextPart" Row="1" Column="1" >           <Property Name="Text" Type="string" />         </Field>       </WebParts>       <WebPartZones>         <WebPartZone ZoneIndex="0" ZoneId="Header" Row="1" Column="1" /> 		<WebPartZone ZoneIndex="0" ZoneId="RightZone" Row="1" Column="2" />         <WebPartZone ZoneIndex="0" ZoneId="TopLeft" Row="2" Column="1" />         <WebPartZone ZoneIndex="0" ZoneId="TopRight" Row="2" Column="2" />         <WebPartZone ZoneIndex="0" ZoneId="CenterLeft" Row="3" Column="1" />         <WebPartZone ZoneIndex="0" ZoneId="Center" Row="3" Column="2" />         <WebPartZone ZoneIndex="0" ZoneId="CenterRight" Row="3" Column="3" />         <WebPartZone ZoneIndex="0" ZoneId="Bottom" Row="4" Column="1" />         <WebPartZone ZoneIndex="0" ZoneId="Footer" Row="5" Column="1" />       </WebPartZones>     </PageLayout>
Run ConvertTo-PnPClientSidePage
$newPage = ConvertTo-PnPClientSidePage -Identity $_.FieldValues.FileLeafRef -TakeSourcePageName -PublishingPage -Overwrite -TargetConnection $global:target -Connection $global:source -PageLayoutMapping ($PSScriptRoot+"\PageLayoutMappings\custompagelayoutmapping-bbec0be5-62ef-4e9b-a1b6-69f02364a812.xml") -WebPartMappingFile ($PSScriptRoot+"\PageLayoutMappings\webpartmapping.xml") -SetAuthorInPageHeader -KeepPageCreationModificationInformation -LogType File -LogVerbose -LogFolder ($PSScriptRoot+"\Logs");

hmm...let me try to repro this, thanks for reporting it. Are you unblocked if you use the January release?

Yesterday I used the same code with jan release and had no issues

Just verified, works with 3.17.2001.2, broken in 3.18.2002.0

Hi @FredrikEkstroem , I was able to repro and fix this. This issue was a regression caused by fixing #426. Fix will be part of the March release, release schedule somewhere between March 7 and March 10.
I'll close the issue now, if you still have issues once you test with the March bits then please let me know. Thanks again for using page transformation and logging your issues, usage and feedback are the only ways to make this tool better.


Any possibility that Godot will implement Basis Universal Texture Format?

Issue description:

It's a discussion. So a few days ago Google and Binomial open sourced Basis Texture format. From what I read in their post, i think it's a good texture format, because:

The size is half the .jpeg file.
VRAM usage is also several times more smaller than jpeg/png
The transcoder can transcode the basis file into format that GPU can read.
Use Apache-2.0 Licence, so, it should be compatible with Godot, right?

So, it can benefit the Godot because, it can lower the size from exported image files and also can reduce the GPU load. Also now that Godot have 2 renderers (GLES2 & GLES3), GLES2 must use ETC1 format, so it will be hassle if you make game that fallback from GLES3 and use ETC2 format. With this format you can just use basis format and let the transcoder decide to use ETC1 or ETC2 for you.
So what do you think? Should it be implemented? If not why not?
Or anyone here can implement it?

This was discussed on IRC recently; search for binomial in the logs.

As an update to this request, see the "Basis Universal" section of "Vulkan progress report #4":

Basis Universal was added to Godot [4.0] as an optional import format.

I guess we can close this once the vulkan branch is merged into master :slightly_smiling_face:

Well we can close it now, it's implemented already for the 4.0 milestone.


Improve MasterProcess#mStartTimeMs initialization

Summary
When starting a Master or JobMaster process, we record its initial time. This is done in MasterProcess, eg:
final long mStartTimeMs = System. currentTimeMillis();
However, this method is not the most suitable, because the time when mStartTimeMs is initialized does not represent the time when the process is actually started.
I can do some tests:
`
public class Test {
final long mStart = System.currentTimeMillis();
final long mStart1;
public Test() {
mStart1 = System.currentTimeMillis();
}
public static void main(String[] args) {
    for (int i = 0; i < 10000; i++) {
        Test t = new Test();
        if (t.mStart != t.mStart1) {
            System.out.println("---------------------------");
            System.out.println("Not Equal!!!");
            System.out.println("mStart  = " + t.mStart + ", mStart1 = " + t.mStart1);
            System.out.println("---------------------------");
        }
    }
}

}
The result of the test:
Not Equal!!!
mStart  =<PHONE_NUMBER>895, mStart1 =<PHONE_NUMBER>897

Not Equal!!!
mStart  =<PHONE_NUMBER>897, mStart1 =<PHONE_NUMBER>898
`
I suggest that it should be done in the constructor.

/assign @jianghuazhu

I will be submitting a pr soon.


Granularity of filtering categories

During Phase 0 testing, one user said, "Filtering by "type of data" would be helpful, clinical, vs. genomic, proteomic, serology, etc"
This is already incorporated in the Variable Measured category; however it could be useful to have more specific filtering categories for metadata currently grouped into the Variable Measured category.

Feedback collected during Phase 0, also included the suggestion that the "Computational Tool" filter have more granular categories, i.e. further categorization by programming language, application categories, etc.

@EmilyHaag i would create a

Feedback collected during Phase 0, also included the suggestion that the "Computational Tool" filter have more granular categories, i.e. further categorization by programming language, application categories, etc.

@EmilyHaag I would add a separate issue for that: adding ComputationalTool-specific filters. That's more easily implementable than categorizing individual filter items.


Update HDFSFile to inherit from AbstractBufferedFileSystem

Currently most Filesystem implementations in fsspec on opening a file (fs.open(...).open()) return an object that is an instance of io.IOBase. While HDFSFile is a wrapper around Arrow's HdfsFile (which is an instance of io.IOBase), and exposes all it's attributes via __getattr___ the class itself is not an an instance of IOBase.
Note: I'm guessing this feature was intended for the future based on the comment here.

Why would you want a strict class hierarchy as you suggest? There are other file objects returned by the various backends that might not inherit from AbstractBufferedFile or IOBase. The point is, that they should duck-type to be able to be used in any file-like situation, which HDFSFile does. It would be tricky to implement otherwise, because getattr only gets called it the given attr isn't defined, but in the inherit case we would have the base class default implementations (giving NotImplementedError).

Thanks for the explanation.
For context: My use case was converting the buffer from the open file object object in python down to something that can be passed down the cpp. Currently I check for objects that inherit from io.IOBase, it's simple to define how to get the buffer/ other attributes for such objects. Perhaps it makes more sense to check if it has certain attributes that would determine if what was passed down was indeed file-like (rather than checking if it's an instance of io.ioBase), or possibly wrap the fsFileobject with an ioBase like object.

The object guarantees that the fie-like methods (read, seek, tell, etc) work, but I wouldn't think you could rely on accessing the inner buffer stuff the same across different file classes anyway. You cold indeed wrap the object in an io.BufferedIOBase, or find out exactly which methods you need. Alternatively, you could get all the bytes (cat) and use with io.BytesIO, or use fsspec.open_local("simplecache::hdfs://path/file") to copy to local and pass a real local file path to your C++ code.

Thanks for those suggestions @martindurant!


Node invocation timeout on startup

I've deployed my app to Azure and often when hitting it for the first time I get a "NodeInvocationException: The Node invocation timed out after 60000ms." exception. I've done some testing and have also hit this when deployed to IIS. I could increase the InvocationTimeoutMilliseconds property but is there a way to prevent node from 'sleeping' similar to the IIS Idle Timeout setting as I would prefer to have a faster first time load for users.
(here's the full exception)

What errors are you seeing in the debug console in Vscode or vstudio ?
Do you have a setInterval or similar in your code?

No, I don't use setInterval or similar. It's only really happens on a first load to node, not subsequent loads. It's rare I hit it locally so I can't double check the debug console right now but I don't think there's much else there of note. However here's a sample of my logs from the app deployed to IIS.
2017-01-11 10:05:14.5239|1|Microsoft.AspNetCore.Hosting.Internal.WebHost|INFO|Request starting HTTP/1.1 POST http://app:8077/Account/Login?returnurl=%2F application/x-www-form-urlencoded 278
2017-01-11 10:05:14.5239|3|Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware|INFO|HttpContext.User merged via AutomaticAuthentication from authenticationScheme: Identity.Application.
2017-01-11 10:05:14.5239|1|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|INFO|Executing action method App.Controllers.AccountController.Login (src) with arguments (App.ViewModels.Account.LoginViewModel, /) - ModelState is Valid
2017-01-11 10:05:14.5749|10|Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware|INFO|AuthenticationScheme: Identity.Application signed in.
2017-01-11 10:05:14.5749|1|App.Controllers.AccountController|INFO|User logged in.
2017-01-11 10:05:14.5749|1|Microsoft.AspNetCore.Mvc.Internal.RedirectResultExecutor|INFO|Executing RedirectResult, redirecting to /.
2017-01-11 10:05:14.5749|2|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|INFO|Executed action App.Controllers.AccountController.Login (src) in 52.4201ms
2017-01-11 10:05:14.5749|2|Microsoft.AspNetCore.Hosting.Internal.WebHost|INFO|Request finished in 55.2503ms 302
2017-01-11 10:05:14.5999|1|Microsoft.AspNetCore.Hosting.Internal.WebHost|INFO|Request starting HTTP/1.1 GET http://app:8077/
2017-01-11 10:05:14.5999|3|Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware|INFO|HttpContext.User merged via AutomaticAuthentication from authenticationScheme: Identity.Application.
2017-01-11 10:05:14.5999|1|Microsoft.AspNetCore.Authorization.DefaultAuthorizationService|INFO|Authorization was successful for user: chris.
2017-01-11 10:05:14.5999|1|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|INFO|Executing action method App.Controllers.HomeController.Index (src) with arguments ((null)) - ModelState is Valid
2017-01-11 10:05:14.6299|1|Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor|INFO|Executing ViewResult, running view at path /Views/Home/Index.cshtml.
2017-01-11 10:05:51.8376|2|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|INFO|Executed action App.Controllers.HomeController.Index (src) in 70820.7104ms
2017-01-11 10:05:52.0446|0|Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware|ERROR|An unhandled exception has occurred while executing the request The Node invocation timed out after 60000ms.
You can change the timeout duration by setting the InvocationTimeoutMilliseconds property on NodeServicesOptions.

The first debugging step is to ensure that your Node.js function always invokes the supplied callback (or throws an exception synchronously), even if it encounters an error. Otherwise, the .NET code has no way to know that it is finished or has failed.
2017-01-11 10:05:52.2386|2|Microsoft.AspNetCore.Hosting.Internal.WebHost|INFO|Request finished in 71236.0604ms 500 text/html; charset=utf-8
2017-01-11 10:05:52.2857|14|Microsoft.AspNetCore.Server.Kestrel|INFO|Connection id "0HL1PML4LN9NB" communication error Error -4077 ECONNRESET connection reset by peer
2017-01-11 10:05:52.2867|14|Microsoft.AspNetCore.Server.Kestrel|INFO|Connection id "0HL1PML4LN9NB" communication error Error -4077 ECONNRESET connection reset by peer
2017-01-11 10:05:52.2867|14|Microsoft.AspNetCore.Server.Kestrel|INFO|Connection id "0HL1PML4LN9NB" communication error Error -4077 ECONNRESET connection reset by peer
2017-01-11 10:05:52.2867|14|Microsoft.AspNetCore.Server.Kestrel|INFO|Connection id "0HL1PML4LN9NB" communication error Error -4077 ECONNRESET connection reset by peer
2017-01-11 10:06:14.6509|2|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|INFO|Executed action App.Controllers.HomeController.Index (src) in 60046.301ms
2017-01-11 10:06:14.6659|0|Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware|ERROR|An unhandled exception has occurred while executing the request The Node invocation timed out after 60000ms.
You can change the timeout duration by setting the InvocationTimeoutMilliseconds property on NodeServicesOptions.

The first debugging step is to ensure that your Node.js function always invokes the supplied callback (or throws an exception synchronously), even if it encounters an error. Otherwise, the .NET code has no way to know that it is finished or has failed.

Is your project based on one of the generator-aspnetcore-spa templates? If so, is it by any chance an old version that still uses asp-prerender-webpack-config in your Index.cshtml file? If you are still using asp-prerender-webpack-config, please be aware that it is very slow to start on the first hit (because it's building your app in production on the first hit) - more up-to-date templates have a different system for prebuilding the prerendering bundle during deployment, so the first hit is reliably very fast.

is there a way to prevent node from 'sleeping' similar to the IIS Idle Timeout setting as I would prefer to have a faster first time load for users

Node on its own never sleeps (and the NodeService package doesn't shut it down once it's started, except if the process has to be recycled because a source file changed, which wouldn't happen in production). If you're finding that your Node process gets shut down and has to restart, then I expect that must be because the parent (.NET) process itself is getting shut down. So it's somewhat beyond the control of any code in Node.js/NodeServices. If you keep your ASP.NET process alive, then the child Node process will stay alive too.

Is your project based on one of the generator-aspnetcore-spa templates? If so, is it by any chance an old version that still uses asp-prerender-webpack-config in your Index.cshtml file?

Yes, that's what I'm using. That does sound like my issue, I'll modify my project to match the latest method when I get the chance.
Thanks

I have the same problem. I created a Angluar 4 + ASP.NET Web core 2 project on VS2017 and it works fine on a machine where it is created. But when the repo is cloned on another machine and app is started I get this error. I tried on one more machine and it is the same error.


start whit frame

When i run "python apis/run.py -d options/examples/default_configuration.yml"
Just appear below, how i select the start whit frame?
Save result in result/tmp/0/? [y/n]y
==> Initialize LiteFlowNet with [model_zoo/optical_flow/LiteFlowNet/network-default.pytorch]:
==> Initialize Depth-CNN with [model_zoo/depth/kitti_odom/stereo/]
==> Start DF-VO
==> Running sequence: 10
Start with frame: 0
0it [00:00, ?it/s]
=> Finish!
The result is saved in [result/tmp/0/].
Save VO map.
Trajectory saved.
----- time breakdown -----
Group [single]:

It starts with frame-0 (by default). The reason that option is there is for debugging purpose, in case you want to start from the middle of a video.
And it seems to me that your data directory is not provided correctly so no images are loaded.

Thank you
my dataset images type is .png
so, set "ext: png" in default_configuration.yml is OK


Refactor and Clean-up

Made a few structural changes and extracted several classes to their own files, and also removed a redundant PowerShell version check in favor of the one added in #17

Hi, you have no idea how happy I am to see people getting actively involved in the development. I'll review this and get back to you, from first glance I'd probably like to rename '.Classes' to '.Model'

Hi Chris,
Certify simplifies the process, so it deserves all the support it can get. :)
Apologies for the disorder, I am using the default Visual Studio formatting and ReSharper, so I suspect this may have happened when saving, but I've fixed them in the latest commit.
I have also made your suggested changes and have also undone any functional changes to hopefully make merging easier, I'll submit these in a separate pull request.


If network goes down during connection to a redis instance, process crashes

I wouldn't say that this is really going to happen in the real-life, and probably if it did, the machine is not reachable from the outside, but I think it's not the worst idea to report.
To replicate this - start redis process, make sure it tries to reach something via wi-fi (ip might not exist, but should be valid one), turn off wi-fi and enjoy the crash
events.js:141
      throw er; // Unhandled 'error' event
            ^
Error: connect ENETUNREACH <IP_ADDRESS>:6998 - Local (<IP_ADDRESS>:53496)
    at Object.exports._errnoException (util.js:846:11)
    at exports._exceptionWithHostPort (util.js:869:20)
    at connect (net.js:834:14)
    at lookupAndConnect (net.js:927:5)
    at Socket.connect (net.js:896:5)
    at Object.exports.connect.exports.createConnection (net.js:61:35)
    at Connector.connect (/Users/vitaly/projects/mservice-utils/node_modules/arklogger/node_modules/ioredis/lib/connectors/connector.js:28:34)
    at Redis.<anonymous> (/Users/vitaly/projects/mservice-utils/node_modules/arklogger/node_modules/ioredis/lib/redis.js:228:20)
    at tryCatcher (/Users/vitaly/projects/mservice-utils/node_modules/arklogger/node_modules/ioredis/node_modules/bluebird/js/main/util.js:24:31)
    at Promise._resolveFromResolver (/Users/vitaly/projects/mservice-utils/node_modules/arklogger/node_modules/ioredis/node_modules/bluebird/js/main/promise.js:427:31)
    at new Promise (/Users/vitaly/projects/mservice-utils/node_modules/arklogger/node_modules/ioredis/node_modules/bluebird/js/main/promise.js:53:37)
    at Redis.connect (/Users/vitaly/projects/mservice-utils/node_modules/arklogger/node_modules/ioredis/lib/redis.js:214:10)
    at null._onTimeout (/Users/vitaly/projects/mservice-utils/node_modules/arklogger/node_modules/ioredis/lib/redis/event_handler.js:76:12)
    at Timer.listOnTimeout (timers.js:89:15)

Seems to be a connection error. When a connection error happens, ioredis would emit error when there's at lease one listener. If there's none of listener listen to the error event, ioredis would just ignore the error and close the connection(and reconnect if retryStrategy is set).

https://github.com/luin/ioredis/blob/master/lib/connectors/connector.js#L28 - this needs to be patched,
error can be triggered when network device goes down, which should trigger reconnect, not crash. I'll do something raw quickly

Basically problem is that error happens before you init error listener, because callback is async.

stream init
nextTick
error
never gets to .once('error')

    this.connector.connect(function (err, stream) {
      if (err) {
        _this.flushQueue(err);
        reject(err);
        return;
      }

      _this.stream = stream;

      stream.once('connect', eventHandler.connectHandler(_this));
      stream.once('error', eventHandler.errorHandler(_this));
      stream.once('close', eventHandler.closeHandler(_this));


Retina example doesn't seem to work

Hello,
I was recently doing some tests with scaling etc and it feels like renderingOptions.resolution doesn't make any difference. At first I was trying to use twice as big image for same resolution but double pixelRatio. First results didn't makes any sense so I moved from device to chrome Dev tools. It wasn't any better after that so I went back to github example.
Here what I'm expecting:
<EMAIL_ADDRESS>   is 960x600
<EMAIL_ADDRESS>   is 1920x1200
so img 2 is 2 times bigger than img1
If I run it on 960x600 screen with pixelRatio = 1 I should be able to see whole image, just like that, right?

So.... Running on same resolution but with pixelRatio = 2 should load bigger image (twice as big) and I still should see exactly same thing, right? If the answer is YES, then I have some bad news:

So now my question is:
-Is there something wrong with my understanding of this or something is actually not working properly?
Best Regards,
Slawomir

Hi @SlawomirMazgaj, I have changed the retina prefix for some other testing in the code and forgot to change it back.
Anyway I fixed it and the same is working fine.


Posibility to change value with animation

I added arrow buttons to rule the picker and when I use setValue it's changing without animation. Would be great if we could reproduce the click behavior of left/right side of picker.

Temp solution:
private fun changeValueByOne(increment: Boolean) {
        try {
            val type = Boolean::class.javaPrimitiveType
            val method = binding.numberPicker::class.java.getDeclaredMethod("changeValueByOne", type)
            method.isAccessible = true
            method.invoke(binding.numberPicker, increment)
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }

Have you tried using smoothScrollToPosition? @FirstSpectr

Have you tried using smoothScrollToPosition? @FirstSpectr

Have you tried using smoothScrollToPosition? @FirstSpectr

Thanks, this is much better than using reflection. I thought that the "position" parameter was the index of the element, but in fact it is the value. So I just did this:
        binding.ivArrowLeft.setOnClickListener {
            binding.npAgePicker.smoothScrollToPosition(binding.npAgePicker.value - 1)
        }

        binding.ivArrowRight.setOnClickListener {
            binding.npAgePicker.smoothScrollToPosition(binding.npAgePicker.value + 1)
        }

Thanks for the answer!

Have you tried using smoothScrollToPosition? @FirstSpectr

Thanks, this is much better than using reflection. I thought that the "position" parameter was the index of the element, but in fact it is the value. So I just did this:
        binding.ivArrowLeft.setOnClickListener {
            binding.npAgePicker.smoothScrollToPosition(binding.npAgePicker.value - 1)
        }

        binding.ivArrowRight.setOnClickListener {
            binding.npAgePicker.smoothScrollToPosition(binding.npAgePicker.value + 1)
        }

Thanks for the answer!


Puts the signing requests in a queue

Puts the signing requests in a queue one by one and gets the oldest
signing request from the queue.
Describe your changes
Please include a summary of the change, a relevant motivation and context.
Issue ticket number and link

Fixes #(issue)

Checklist before requesting a review

[ ] I have performed a self-review of my own code
[ ] I have verified that the code builds perfectly fine on my local system
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have verified that my code follows the style already available in the repository
[ ] I have made corresponding changes to the documentation

Testing permissions


direct change for variables

direct change for variables of the new script language.
You can create the data point in the script:
>D
p:sollwert=0
>S
if mqttc>0 {
=>publish stat/%topic%/RESULT {"Script":">sollwert=%1sollwert%"}
}
>W
subs:{m} %1sollwert% °C

also on the console of Tasmota:
Script>sollwert=25
The data point is displayed in the Sonoff adapter with Script_sollwert and can then be edited directly.

If this feature is configurable in sonoff, so you must describe it in readme. Because if the user will use other name than "Scrip_" it will not work

If this feature is configurable in sonoff, so you must describe it in readme. Because if the user will use other name than "Scrip_" it will not work

{"Script":">variable=0"} is the command in Tasmota to change variables in the script. If you want I can write a howto in the readme or my own script readme with a specific application.

If you want I can write a howto in the readme or my own script readme with a specific application.

I think, it is required to make this feature understandable for end user and for me :)


Fix for default (un-configured) allowStaticFieldAccess state, Showcase Application in 2.6.x

Fix for default un-configured allowStaticFieldAccess state:

Ensure OgnlValueStackFactory returns true for allowStaticFieldAccess when not configured (consistency - same as OgnlUtil does).
Add test configuration file with no allowStaticXXX flags present (forces default values).
Add test to OgnlValueStackTest for the no allowStaticXXX flags present (verifies default values).

Minor config fixes for the Showcase Application in 2.6.x:

File upload examples.  Multiple file upload missing result page (list and array), added missing JSP.  Added missing input results in configuration.
File upload examples.  Fixed NPE for multiple file upload (array version) when no files selected.
Add manual test for public constant access via expression (to If tag JSP).

Hello Apache Struts Team.
While attempting to apply some fixes for the 2.6.x Showcase application, I found that the manual public static field access test wasn't behaving properly.
This led to discovering an inconsistency in the behaviour for allowStaticFieldAccess when the flag is not explicitly set in configuration (as is the case for the Showcase application).
This PR aims to fix that issue, provide a unit test to confirm the fix, and also add the Showcase application fixes (as they were all interrelated).

Coverage increased (+0.0002%) to 48.396% when pulling<PHONE_NUMBER>bb7f7710b3beb78bed95774b3a8f5f on JCgH4164838Gh792C124B5:localS2_26x_Appfix into 9a14323a6a6414f845f240c8463503e0c940cec6 on apache:master.

I think, to answer this, we should firstly know the philosophy behind this file. Maybe it is designed as a container for primitive constants to make struts.xml shorter in length? - it contains a lot of consultants.
It seems it's not a bad design because log4j also supports both xml and properties files.
Wdyt?

default.properties and struts-default.xml are basic configuration files that will set up an initial behaviour of the framework. User has no way to disable them or so, the only option is to define their own config files - struts.xml or struts.properties - to override settings provided by the prior.
From my point of view, having the whole configuration in one place is better and more maintainable.  BTW. we can extract some parts from struts-default.xml and put in other XML files and use include to tie them together.
And I think this file is somehow a leftover from WebWork days, I found only this reference to it
https://issues.apache.org/jira/browse/WW-1666
Having that said, I don't have a strong opinion that merging default.properties into struts-default.xml is a good idea :)

James, with thanks! Now you can revert following change to previous state after the commit :)

@return */ protected boolean containerAllowsStaticFieldAccess() { - return BooleanUtils.toBoolean(container.getInstance(String.class, StrutsConstants.STRUTS_ALLOW_STATIC_FIELD_ACCESS));

Hello Again.
The PR has been updated as per @yasserzamani 's request (with adjustment to the unit tests to compensate for it).  Interactively (and with the unit tests) everything seems to still work as expected.
As previously noted, in any situation where a container/factory doesn't have the static field access defined (e.g. one that uses DefaultConfiguration), the container will still return false for containerAllowsStaticFieldAccess().  This might not happen in real processing, though.  :)

@JCgH4164838Gh792C124B5 I understand your concern but if we want this for allowStaticField then we should do it for all configurations if they're not defined! I don't think it easy as well as don't see it in high priority for Struts and even not sure if it's needed for better design at all :)

Interesting ... the Java 8 coveralls job failed this time even though it was a one-line comment change:
"Report submission to Coveralls API failed with HTTP status 422: Unprocessable Entity (Couldn't find a repository matching this job.".
The actual Java 8 build succeeded (according to the raw report), so maybe something intermittent with the CI environment or job ?

Never mind...looks like a temporary conflict. We will dive in if persisted with next others.

Is this ready?

Looks no :)
Hi @JCgH4164838Gh792C124B5 , your recent merge with master has dropped your tests which can be added again via a new commit.
Also, I think the redundant file xwork-test-allowstatic-notset.xml now can be dropped and avoided like below:
        loadConfigurationProviders(new StubConfigurationProvider() {
            @Override
            public void register(ContainerBuilder builder,
                                 LocatableProperties props) throws ConfigurationException {
                if(props.contanis(StrutsConstants.STRUTS_ALLOW_STATIC_FIELD_ACCESS)) {
                    props.remove(StrutsConstants.STRUTS_ALLOW_STATIC_FIELD_ACCESS);
                }
            }
        });

Hmm ... GitHub indicated there was a merge conflict when I checked about 4 days ago so I used the builtin conflict resolution tool (via the button) ... that might have been a mistake.  :)
Changes to master between 18 days ago and 4 days ago resulted in the conflict, and although the conflict got resolved I didn't realize it dropped something we wanted to keep.  ;)
I'll try to resynch locally and untangle where it went wrong ... and deal with xwork-test-allowstatic-notset.xml.  Give me a day or so and I'll hopefully have it sorted-out and an updated commit with it fixed.

Hello @yasserzamani .
The latest commit has recovered the lost tests, as well as added a few more to cover more state combinations.  The reload logic has been replaced by your improved logic (from master, as suggested above) and the now unnecessary .xml file was dropped as well.
Hopefully I didn't miss anything.  :)
Let me know what you think, and if any more changes are needed for the PR.

Thanks, yes you're right. Current codes have different creation strategy
which cannot be applied on what you're trying to test.
By the way, I myself also pushed what I was trying to say. Please feel
free to inform me if they break something in your logic if I failed to
understand something. Elsewhere, it's LGTM to squash and merge.

Hello @yasserzamani .
I read your changes, synchronized my branch and tried things out ... everything still seems to run/test as expected.  Using the Boolean vs. boolean and null checks was clever ... thanks for that.  :)
The only minor reservation I had was that the OgnlValueStackFactory instance is now coming from the Container (configured by setUp() and the environment) ... but what I was trying before was probably "overkill" to create and use an isolated/raw instance.  The reloaded/overridden properties mechanism should be sufficient in the "real world" anyway, and the code is much more compact.
So ... you changes LGTM.  Thanks for your time, consideration and effort with the code.  :) :)

Cool, you're welcome! yes I also removed devMode. IntelliJ IDEA is very clever and warned it's always false so I removed as it's not needed for now (it's always a good practice to consider the IDE warnings on new code lines). I also renamed create... to get... and updated corresponding javadocs as it's not further similar to createValueStack because it doesn't new... but gets from container. (all of these are at 4340d50 which you may want to see if similar are applicable to this PR's peer on 2.5)
At bottom thanks again for tests. I'm merging this :)
P.S.  I am just curious to know why you double tests with final variation. Despite more tests mean more good, I personally think it wasn't needed to bother yourself on this because final is not about access logic and you're not going to test if finals are settable via OGNL so you could reduce complexity to half :)

Hello @yasserzamani .
I'll try to take a look and see what of https://github.com/apache/struts/commit/4340d50d222888cc0450838001dd247cf7c84b65 might apply to the changes from the peer 2.5 PR, when I have a chance.
In terms of the final variations in the tests, there had been discussion about possibly limiting access to "constant" fields at one point.  So ... it seemed prudent to supply tests that confirm the current behaviour (ability to access public fields, both "constant" and "non-constant", but ready for the future).
Also the tests were intended as an additional sanity check to guard against a future OGNL behaviour change (unlikely but possible) where the final field access behaviour was impacted, even for reads.  I figured those two reasons combined were a good enough reason for the extra tests/complexity.  :)

Cool! you're right. Now I understand they put OGNL behavior about constant fields under monitor. Thanks for clarification.


[2chain] connect everything and add tests # 8885 - 9115 - (140) AB#8771

[move-package] Move Package resolution and compilation #8775
Motivation

The bottom commit is resolution of packages, and the top commit adds compilation of packages.

This PR adds package resolution and compilation of packages for the Move Package system. This:

Parses and verifies that all dependencies exist (and their locations)
Instantiates all named addresses, and makes sure that their values agree across the dependency graph (more on this at the bottom).

Builds the dependency graph of packages, and annotates each package with the named addresses that are in scope in that package, their values, and the renamings that have been performed in that package. It also checks for cyclic dependencies and returns the offending cycle if one is found.
Naming

A named address can be assigned a value a couple different ways:

It can be assigned in the package that declares it. In this case that named address will always be that value.

It can be unassigned in the package that declares it. In this case another package that depends on it (transitively) can assign it a value. Multiple packages can assign a value to the same named address as long as those values are the same. The named address's value must be the same across the entire dependency graph.

Renaming

Addresses can be renamed from a package SomeDep when it is used as a dependency in a package P:

SomeDep = { local = "../path", addr_subst = { "SomeDepA" = "A" } } # Rename "A" from SomeDep to SomeDepA
After this, all packages that depend on P will not see the named address A in the names that are available to it (unless P redeclares A) and SomeDepA will be in the set of named addresses in scope.
Test Plan

CI/CD Tests are covered
cargo test --package move-lang-functional-tests --test functional_testsuite

[verifying-client] Push retries up to Verifying Client #8885
Motivation
[verifying-client] Push retries up to Verifying Client #8885
Test Plan
CI/CD tests are covered

[2chain] connect everything and add tests #9111
Motivation
This PR connects the final pieces between on chain config and epoch manager. Also adds a smoke test and a cluster test for the upgrade.
###Test Plan

cargo test --package smoke-test --lib -- client::test_get_events_via_websocket_stream --exact --nocapture

[language][diem-framework] migrate registered currency tests #9115
Motivation
This migrates tests in move-lang/functional-tests/diem/registered_currencies into diem-framework and rewrite them as unit tests.
Test Plan
CI/CD test are covered

/canary

:sunny: Canary successful

/land

:broken_heart: Test Failed - ci-test

/land


Refactor levels

I've changed the level array into an enum someone mind reviewing? Thanks.

Ah ignore that I need to update the tests

OK all good to review now thanks!

I like it.  Looks good.  It may break the CFLint Jenkins plugin, but we'll address it if we need to.   This is the right direction.

I can test with the CFLint Jenkins plugin before merging

I haven't touched the plugin for a long time, actually now that I think
about it -- it just works off the output. Your change should be fine.
On Fri, Aug 11, 2017 at 11:05 PM, Justin Mclean<EMAIL_ADDRESS>wrote:

I can test with the CFLint Jenkins plugin before merging
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cflint/CFLint/pull/441#issuecomment-321953575, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFtZu-YO7nkA9cIOrggpmTuyX8mIN5fVks5sXRaUgaJpZM4O1RHp
.

@ryaneberly Yes, pretty sure the plugin is driven by the output xml. That being said, my changes to that might have broken the plugin anyway already. And 1.3/2.0 might break it again and more :)


size() vs length

Hi, I have a version of jquery 3.2.1 and an error appears in the file redactor.js on the 6821 line, which is solved by replacing size () with length. Sorry for my English.

I've solved the problem. Thank you very much


Add linux aarch64 support by copying Apple OSX M1 support

This is mostly a copy/paste within one file.
The problem was a "toolchain" error.  This PR duplicates the Apple M1 tool chain to the linux environment successfully.
I have verified in our build environment (over 200 build.gradle files) within the C++ jni.  Unit tests and integration to aarch64 S3 environment all work nicely.
Note that the Apple M1 PR included doc changes.  I am willing to do same if reviewers believe this PR acceptable:
https://github.com/gradle/gradle/pull/20310

Need to do a bigger clean-up on new PR.


Fix build linking issues on mac

The flag -march=native is not present in clang, which required me to specify -DSIMD_WIDTH=64. When I do so I get this error:
src/stim/circuit/circuit.cc:81:6: error: SSE2 register return with SSE2 disabled
void validate_gate(const Gate &gate, ConstPointerRange<GateTarget> targets, ConstPointerRange<double> args) {
     ^
In file included from src/stim/circuit/circuit.cc:15:
src/stim/circuit/circuit.h:360:21: error: SSE2 register return with SSE2 disabled
    double result = strtod(buf, &end);
                    ^

Fixed at some point due to refactorings.


Better time zones

The current timezone mechanism afforded is occasionally reparably ambiguous.
With respect to that the problem is genuinely difficult, based on that the timezone tables vary over time, and the operating system generally does not afford to an application its own tables, making the job of verifying its worldview problematic, and with an appreciation for that Unix Time Solves Nearly All Things™, a few problems remain which need system support for appropriate resolution.
However, there are times at which I need to be able to compute a time on a different date in the local timezone, or other various tomfoolery.  This isn't actually safely possible.  Timezones switch on different dates, or by different distances, meaning the same computed delta could meaningfully refer to several incompatible timezones.
In my opinion, this can be repaired through simple extension.  My steps to repair the timezone API would include:

What is the current local timezone

With daylight savings
Without

Are we currently in daylight savings

When does that next change
When did that last change
Will we be in daylight savings at unixtime X

What is the local current GMT delta

What was the local GMT delta at unixtime X

It would possibly be equally/more useful to be able to create Date objects in specific timezones.  At that point, merely adding the "is this datetime in DST" to the existing Date API would cover all of the above steps.

See https://github.com/tc39/proposal-temporal ; specifically, https://github.com/tc39/proposal-temporal/issues/103

Oh, fantastic.  My old one was long since gone and I thought I was the only one that cared


Aqara curtain B1?

plugin supports?

Never heard of B1 before, but homebridge-hue does support the lumi.curtain.  If the B1 is supported by the deCONZ REST API, we’ll get it working with homebridge-hue.  Please list the resource(s) that the REST API provides.

Looks like parts from the postponed IKEA Fyrtur/Kadril blinds that were set to launch in February 2019.

Link?

https://ru.aliexpress.com/item/mi-Aqara-B1/32971304787.html

That one looks like a battery-powered version of the lumi.curtains.  Nothing like the IKEA blinds.
Did you pair it with deCONZ?  Does it show in the REST API? If not, please open an issue with deCONZ, providing the info from https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Request-Device-Support.  If it does show in the REST API, homebridge-hue should pick it up   If not, please list the resource(s), or attach the debug dump file, see https://github.com/ebaauw/homebridge-hue#debug-dump-file.

If you look closely in the Ikea Video one could have the impression that this is the driver for the Ikea Smart blinds.
https://m.youtube./watch?v=S7Uqsjt7yQY

Link is broken?

Waiting on https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1483.  Closing this for now.

https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1654


Nosql - mongo backend

Related Issue(s): #316
Description:
This PR adds a mongodb backend to stac-fastapi. It can also serve as an example for people wanting to add other nosql custom backends to their own projects. #322
Pagination has not been implemented yet. There are going to things in this PR where people will wonder why something isn't done another - probably better - way and that is the type of feedback I am looking for. I will maintain this code and keep it up to date if it's approved.
PR Checklist:

[x] Code is formatted and linted (run pre-commit run --all-files)
[x] Tests pass (run make test)
[x] Documentation has been updated to reflect changes, if applicable, and docs build successfully (run make docs)
[ ] Changes are added to the CHANGELOG.

@jonhealy1 I've removed myself from the reviewer. I'm not the best one to review this big piece of work 🙏

@vincentsarago Thanks for the feedback 🙏


Fix cupid win emoji, enhance description

~- Fix cupid win emoji. Cupid always win together, as long as the couple wins~

Enhance description
Add missing await

Cupid wins if the couple are the last players alive or the village wins.
You are always supposed to help your couple unless : Your couple has 2 werewolves. (In this situation, you can't win because werewolf win condition will come before couple).
Ref: https://www.reddit.com/r/werewolfonline/comments/14fb2l9/a_full_guide_on_cupid/

Please consider the winning cases in reference link. They seem correct and make sense.


Add data for Tales game series entries

Please , do not add empty file.
At least, put some data in the file, in JSON format.

I'm so sorry, I swear I had data in there... Will resolve...

I think the file is in the PR now, I must have mistyped something when I was committing... Sorry again!

No worries !! Mistakes happen because we are humans !!
Anyway, thanks for contributing !!☺☺


Add circleci artefact URL to build so we can preview

As discussed @bjgordon thanks.

I think this is ready in this branch https://github.com/govau/content-guide/tree/feature/circle-artefacts%23141, but since it's a bit risky I'll leave it until I'm back. In the meantime if anyone else wants to pick it up, go for it.

Thanks @bjgordon

Now being tracked in Trello


Drop Ruby 2.5 and 2.6 support

I think acceptance tests fail because of CentOS 7 on Ubuntu 22.04 testing. Merging.


Add feature for opening locations in new tab.

Thanks for the contribution!

Thanks for the contribution!

Thanks for the contribution!

Thanks for the contribution!

I did notice, belatedly, that configuring this to tabedit (like I do) has also some "side-effects": specifically, it means that OmniSharpRename leaves all files which were edited open, and then opens the original file again, since they are also opened in tabs. This is not necessarily unwanted (in fact, there were times where I wished exactly for this functionality :) ), but perhaps not always expected. I guess the right way is to check all call sites of OmniSharp#location#Navigate and perhaps apply this configuration only in some of them. Separately, I might draft an OmniSharpOpenUsagesInTabs or something similar :)

I did notice, belatedly, that configuring this to tabedit (like I do) has also some "side-effects": specifically, it means that OmniSharpRename leaves all files which were edited open, and then opens the original file again, since they are also opened in tabs. This is not necessarily unwanted (in fact, there were times where I wished exactly for this functionality :) ), but perhaps not always expected. I guess the right way is to check all call sites of OmniSharp#location#Navigate and perhaps apply this configuration only in some of them. Separately, I might draft an OmniSharpOpenUsagesInTabs or something similar :)

Ah, yes I see what you mean. It also behaves strangely with code actions which result in changes in other files, such as moving a class/enum/etc. to a new file. Setting g:OmniSharp_edit_command to vsplit will result in 3 vertically split windows, with the left and right windows displaying the original buffer, and the new file in the split between. Not ideal.

Ah, yes I see what you mean. It also behaves strangely with code actions which result in changes in other files, such as moving a class/enum/etc. to a new file. Setting g:OmniSharp_edit_command to vsplit will result in 3 vertically split windows, with the left and right windows displaying the original buffer, and the new file in the split between. Not ideal.

@amosonn see what you think of the latest commit,: a7e6193

@amosonn see what you think of the latest commit,: a7e6193

Yeah this looks quite good, thanks for the quick response and taking time to fix this!

Yeah this looks quite good, thanks for the quick response and taking time to fix this!


Typewriter 2.0 [DOC-557]

Proposed changes

Merge timing
When the feature goes out
Related issues (optional)

@oscb Under the Editor Configuration section, should the iOS and Android headers be changed to Swift and Kotlin?


Add qualifiers

Update broken tests, smartapi spec, hard-cached specs to support qualifiers and biolink 3.1.1
Related PRs:

https://github.com/biothings/api-respone-transform.js/pull/41
https://github.com/biothings/call-apis.js/pull/63
https://github.com/biothings/bte_trapi_query_graph_handler/pull/129
https://github.com/biothings/smartapi-kg.js/pull/63
https://github.com/biothings/biolink-model.js/pull/32

@tokebe Does this PR need the custom https://github.com/biothings/BioThings_Explorer_TRAPI/blob/dev/src/config/smartapi_overrides.json that's on dev right now?

I don't think we need the overrides, as these PR branches are merged into dev, which has the overrides. Once we start deploying to CI/Test/Prod, then we'll want to just update the annotations I think. Unless you mean that should wait until other ARAs and KPs are ready to move this feature to Prod?

@tokebe
Okay, it sounds like for the overrides...

we'll have to be careful merging to dev, since we'll want to keep the overrides currently in dev
we plan to deploy to ci/test/prod instances all at once, so around that time, we'll merge the PRs for the registry and refresh the registry.

I think we're waiting to deploy to ci/test/prod until Translator tells us it's okay to do so?

Related to https://github.com/biothings/BioThings_Explorer_TRAPI/issues/512 and https://github.com/biothings/BioThings_Explorer_TRAPI/issues/514


Add path to Flask response?

Would you be open to adding the path (I believe what I'm thinking of is absolute_schema_path from jsonschema, but I'd have to check) for the offending item to the Flask response? Would really help with debugging to know which element was problematic, in addition to why it was problematic.
I can open a PR if you'd like.

Hi daynebatten,
thanks for your feedback. I am always open to improve this package. A PR would be very welcomed :wink:

Thanks! See my PR.
https://github.com/Fischerfredl/flask-expects-json/pull/6

Added in 1.4.0