Nested Containers

Hello,
Have this code,

code sample
import 'dart:math';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const Test(),
    );
  }
}

class Test extends StatefulWidget {
  const Test({Key? key}) : super(key: key);

  @override
  _TestState createState() => _TestState();
}

class _TestState extends State<Test> {
  double paddingSize = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Container(
          width: 411,
          height: 119,
          // alignment: Alignment.center,
          clipBehavior: Clip.antiAlias,
          decoration: const BoxDecoration(
            gradient: LinearGradient(
              colors: [Colors.transparent, Colors.black],
              stops: [0.0, 0.66],
              transform: GradientRotation(93 * pi / 180),
            ),
          ),
          child: Container(
            // alignment: Alignment.center,
            padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 10),
            clipBehavior: Clip.antiAlias,
            decoration: BoxDecoration(
              color: Colors.black,
              borderRadius: BorderRadius.circular(10),
              boxShadow: const [
                BoxShadow(
                  color: Color(0x26000000),
                  spreadRadius: 0,
                  offset: Offset(1, 10),
                  blurRadius: 18,
                )
              ],
            ),
            child: Row(
              mainAxisAlignment: MainAxisAlignment.center,
              mainAxisSize: MainAxisSize.min,
              children: [
                const SizedBox(
                  width: 78,
                  height: 18,
                  child: Text(
                    'Start Cooking',
                    style: TextStyle(
                      fontFamily: 'poppins',
                      color: Colors.white,
                      fontSize: 10,
                      fontWeight: FontWeight.w600,
                      letterSpacing: 0.5,
                      height: 1.6,
                    ),
                  ),
                ),
                const SizedBox(width: 19, height: 28),
                Container(
                  width: 30,
                  height: 30,
                  alignment: Alignment.center,
                  padding: const EdgeInsets.fromLTRB(8, 9, 8, 8),
                  clipBehavior: Clip.antiAlias,
                  decoration: BoxDecoration(
                    color: const Color(0xFF1F1D1D),
                    borderRadius: BorderRadius.circular(5),
                  ),
                  child: Image.network(
                    'https://firebasestorage.googleapis.com/v0/b/codeless-dev.appspot.com/o/projects%2FCQJhzgrbGCL9L8fcEXaH%2F8e19a7a9855ddc2392fb9cdc0ab90775?alt=media&token=84d59ead-b9ae-417c-8308-6ba033efdb70',
                    width: 13,
                    height: 13,
                    fit: BoxFit.contain,
                  ),
                )
              ],
            ),
          ),
        ),
      ),
    );
  }
}

Basically, I want the inner (black) Container to be the size of it's children, but instead it expands and I don't understand why? Row has a correct size of 127*30, but DecoratedBox above it, has 383*99 (after padding). Both are getting the same loose constraints, so nothing is forced. Could anyone explain why is this so, please?
So the gist of the problem, that we have a sized container (ConstrainedBox) w a child of an un-sized container (no ConstrainedBox, or any Constraints providing widget for that matter) w children of intrinsic sizes. There are multiple work-arounds to this, sure, but based on docs/workings of the layout, it doesn't make sense to me, and that's my main question basically, why?
Thank You!

Hi @Producer86,
It seems you are asking for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this, you may also get some help if you post it on Stack Overflow with sufficient code sample and explanation.
Closing, as this is neither a bug nor a feature request. If you disagree, please write in the comments, and We will reopen it.
Thank you

Hello @maheshmnj ,
Yes, I was quite hesitant to post this here, because indeed it is not a bug or feature request, and even the core question, about the layout system, technically still isn't (well, if we accept the documentation then it can be classified as a bug), but had such a good experiences w Flutter devs explaining things what's going on, was really hoping to get an explanation here too. But please let me know if there's a more adequate forum to do this!


Optimize worker support code

As of #20, the source code is just included verbatim as a string in the binary, with no minification or anything. This is clearly undesirable. To fix it we're going to have to figure out some Webpack stuff.

I'm not convinced we need to fix this? It's not perfect, but the shim is a short term project and the performance overhead of this should be quite low?

Oh yeah, there's another reason, which is that if/when we adopt tsec it won't cover the worker support code if it's just a string in the binary. This seems like not what we want; we'd rather get the security benefits of tsec for all the code.


Name of step 7

The name of step 7 is misleading in my opinion. It should be something like "Create a voice route for an analog device"
A voice route is not assigned to an analog device. There is no object in Teams for the analog device.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ea0bc170-d9d9-c17a-adc8-d37cb5fe3df5
Version Independent ID: 3c761043-bea5-0cfb-d85e-13671ed0fe9a
Content: Direct Routing - Connecting analog devices - Microsoft Teams
Content Source: Teams/direct-routing-analog-devices.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@paul-lange  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Thanks for the feedback. I've made the change, which will go live today. Closing this issue.


Updating Security Code Label - Adding Translation

Hello! I'm using this component inside my project and I noticed that security code was hardcoded.
So, this PR is changing this hardcoded to the label from translation.
Awesome project, I hope it can be helpful!
Best regards

Oh nice. Thanks for the PR @victorjordan95!


Add support for InfluxDB 2.x

I'm not sure why the build failed, looks like maybe the DOCKER_USERNAME didn't get passed in? At any rate, this builds and works for me locally.

@cdzombak friendly ping on this PR. 😄

@ablyler whoops, sorry this fell off my radar!


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: a7c69d1c9c6eb1383d0b4a0c337855fd4b1b8ec6
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 176fc532746226f791c688b84b2d1beff2103a25
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: b1537df97f0c4e2604b81cee747fcdc6c4ea7698
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


[Impeller] Why did Impeller opt for "triangulation then draw" over "stencil then cover"?

Recently, while reading the code of Skia's new GPU backend "Graphite", I noticed that they did not use a technology like "libtess2" to triangulate paths, but instead used "stencil then cover" or its variants. Details can be found in their code (https://github.com/google/skia/blob/5d8b4bc3c7133e38dcae7b76cd708ed4649c13d1/src/gpu/graphite/Device.cpp#L1103-L1121) and in their implementation of the TessellateWedgesRenderStep (https://github.com/google/skia/blob/main/src/gpu/graphite/render/TessellateWedgesRenderStep.cpp).
In my opinion, "stencil then cover" has many benefits, such as not requiring triangulation techniques like libtess2, thus saving CPU time. Additionally, it can use a single render pass for convex paths without triangulation, and it's easier to design methods for parallel drawing of curves using GPUs without pre-computing vertices through CPU or compute shaders.
Of course, "stencil then cover" also has drawbacks, such as the need for 2-pass or 3-pass when drawing a path. However, since there is no switching of the RenderTarget during the process, it doesn't seem to have a significant impact on performance.
I'm curious as to why Impeller didn't choose the technical solution of "stencil then cover"? @chinmaygarde @bdero, would you mind enlightening me? Thank you!

For the linked code, it seems like it requires some analytic AA solution. If that's not the case we should explore it more. If it is the case we'd have to figure out some efficient and usable way of doing the AA.

In terms of concrete implementation, my understanding is that stencil-then-cover means using a derivative of this trick. Impeller defers antialiasing to pass resolve time, and so AA shouldn't be a concern.
As Jonah mentioned, for all convex fills, we're adding specialized paths that don't involve running a generic tessellation algorithm.
Concave paths is where "stencil then cover" shines. In the ideal case, we get to trade off running a poorly scaling tessellation algorithm on the CPU for an extra draw call and a bit of stencil overdraw. Clearly a good deal!
What's not clear to me is how we can use a technique like this to efficiently implement the nonZero winding mode, which is Flutter's default and thus the common case:
evenOdd (not Flutter's default) is trivial to implement with this trick. It would even work for self-intersecting and multi-contour paths. Performing the stencil inversion is key to erasing all of the geometry that lies outside the path. But for the other winding modes (including nonZero, which is the only other winding mode supported by Flutter's API), even if we dedicated multiple bits in the stencil for counting the overlap, a workable solution to cancel out parts of the geometry fan that lie outside the path isn't obvious to me.
One potential way to eke out gains for nonZero concave paths would be to "stencil then cover" only for cases where we can determine that a nonZero path would draw the same if it was evenOdd, and continue falling back to libtess2 for rarer cases. For example, if the path has one contour and doesn't self-intersect (an expensive check), we can be sure it'll behave the same as evenOdd -- but then we're back in the business of computing path properties that scale poorly, diminishing some of the benefit.

AA shouldn't be a concern

The problem is that if the geometry supplied is a quad, MSAA will only see the edges of the quad - the stencil and cover techniques would be in a fragment stage

The problem is that if the geometry supplied is a quad, MSAA will only see the edges of the quad - the stencil and cover techniques would be in a fragment stage

The particular variation I'm describing doesn't have this problem.
We first "stencil" by carving out the path on the stencil buffer (with no color attachment) in a way that requires no tessellation, and then "cover" by drawing a quad over the path coverage with a color attachment, culling fragments that lie outside the path just like a regular Impeller clip does. Both the stencil and color are multisample in tile memory.

I think we could do that in compute, and I think there's probably a way to adapt this similarly for nonZero but need to mull this over.

What's not clear to me is how we can use a technique like this to efficiently implement the nonZero winding mode, which is Flutter's default and thus the common case

1. Prepare
Split the polygon into triangles, just like mentioned in the article

2. Stencil
Before each stencil operation, ensure that the value on the stencil buffer is 0.
We can observe that some of these triangles are counterclockwise while others are clockwise.  Then draw all the triangles. In the end, all values not equal to 0 in the stencil buffer are the area of the entire polygon
3. Cover
Draw a rectangle whose size is the size of the RenderTarget, when drawing, we need to set the compare op of the stencil test to NotEqual, and the stencil ref value to 0, so that the polygon can be drawn.
What is the biggest difficulty for Impeller to implement this method?
One reason I think Impeller doesn't work this way right now is Impeller's Clip implementation. Now Impeller's Clip implementation requires a stencil buffer, and all bits of the stencil buffer need to be used. The stencil then cover will also use all the bits of the stencil buffer, so in the current implementation of Impeller, it is difficult to introduce the algorithm of stencil then cover
Does Skia use stencil then cover, how does it solve the conflict with clip implementation?
Skia's gpu acceleration has two implementations, ganesh and graphite.
In Ganesh, if the stenci buffer is enabled and the stencil buffer participates in the clip, only the highest bit in the stencil buffer value will be used to represent the clip, while the rest of the lower bits can be used for the stencil then cover. For the specific algorithm, please see section 3.4 of this article:  https://developer.download.nvidia.cn/devzone/devcenter/gamegraphics/files/opengl/gpupathrender.pdf
In Graphite, clip is implemented using depth test and depth buffer, so there is no conflict anymore.

We can observe that some of these triangles are counterclockwise while others are clockwise.

Oh derp, this was the insight I was missing while visualizing the triangle fan in my mind. Yes, it's easy to implement nonZero with this method as well, assuming we can dedicate enough stencil bits to it. Impeller doesn't support separate stencil operations for backfaces and frontfaces at the moment, but we can and should add this, as all graphics backends we'll be targeting indeed support this.

Now Impeller's Clip implementation requires a stencil buffer, and all bits of the stencil buffer need to be used. The stencil then cover will also use all the bits of the stencil buffer, so in the current implementation of Impeller, it is difficult to introduce the algorithm of stencil then cover

I more or less agree with this. A 255 clip stack limit is reasonable, but 8 bits isn't going to be enough if we get into the business of segmenting the stencil buffer to play multiple counting roles. And we can't reach for larger 16 bit stencils.

In Graphite, clip is implemented using depth test and depth buffer, so there is no conflict anymore.

Yes, this makes sense. It's quite likely we'll need a depth buffer anyhow for the purpose of draw order optimization -- even if we didn't reverse opaque draw calls, some GPUs don't perform HSR if depth testing is disabled. Clips are hard barriers for reversing the draw order, and so cramming both jobs into the depth buffer would be possible without loss of effectiveness.
I'll append a depth-based design to https://github.com/flutter/flutter/issues/114402 that includes clipping in the depth buffer (right now it only has a stencil-based proposal, but again, segmenting the stencil buffer isn't really practical for this).

What if we just used a separate render pass for this?

I think utilizing the depth buffer for clipping and repurposing the stencil buffer for filling will be as good or better than whatever we could come up with in compute for tessellating fills.

One major concern with adding a depth buffer is that Impeller sometimes needs to segment rendering of a single SaveLayer into multiple passes (this happens when a backdrop filter or advanced blend is present). Today, when we encounter these scenarios, we take a hit of allocating/storing the multisample stencil buffer on the device heap -- the stencil is 8 bit, and so this is the same storage price as the RGBA resolve texture. If we add a depth buffer to the mix, this cost will 3x if the depth buffer is 16 bits and 5x if the depth buffer is 32 bits.
Given our use of MSAA, if we can't find a way around this without extra render passes, I think it's going to be hard to find a short term solution that's not substantially heavier than just tessellating triangle meshes like we're doing now (whether that be on the CPU or on the GPU with a compute shader).
Multi-pass is kinda not the common case but also isn't rare. It might be worth having a compromise solution where we only track a depth buffer and perform stencil-then-cover when we know that multi-pass isn't needed, for example.

perform stencil-then-cover when we know that multi-pass isn't needed, for example.

The sad thing about this is that apps suddenly mysteriously drop off in performance because of a one line code change. We could still do it, but it makes users really frustrated.

Since this is more of a discussion than an issue or proposal. I'm closing this.

I'm reopening this issue because I think that the current tessellation performance is not good enough and there is more to discuss here. For complex animated geometry, we're currently bottlenecked on libtess2. The generic tessellation algorithm is not parallelizable so we cannot use compute. We could attempt to use worker tasks, but given the limited fast threads on Android and the fact that tessellation can easily account for > 50% of CPU time, I think there is little to gain here.
In contrast, triangle generation for STC is trivially parallelizable. We just have the issue of storage of depth buffers with backdrop filters. So dumb question, rather than storing the entire depth buffer, can we instead store the depth affecting clip commands and then replay them with a fresh depth buffer?

I don't think this is such a bad idea to try. So long as we continue not tracking draw order and feel HSR coverage good enough (wonderful on iOS, but I haven't confirmed HSR is actually working on any Android devices), dedicating the depth buffer to clips and the stencil buffer to StC seems feasible. EntityPass already internally tracks a clip coverage stack, and so keeping a running record of the entities needed to restore the clip state in the depth buffer isn't a big deal.
I suspect that In the common case (with perhaps a handful of large/mid sized coverage area clips), having to redraw the clip collection would require order(s) of magnitude less energy on the GPU than having to store and restore the absolute ocean liner that is a 32bit x4 multisample depth buffer.
We should also double-check/document the availability of different depth/stencil formats across Flutter's target devices. Last time I checked, we'll need to support at least S8D32 and S8D24.

We have landed a change that removes stencil storage and replays clips as I described earlier in this issue: https://github.com/flutter/flutter/issues/137448
This technically unblocks the foundational work to begin using StC

StC was enabled with https://github.com/flutter/engine/pull/51219


Coverage check not working

Describe the bug
Since Nov 13th coverage is not working.
To Reproduce
See Sonar Coverage Dashboard
Expected behavior
Sonar is having coverage data.
Screenshots

Timestamp in Sonarcloud matches this commit:
https://github.com/operaton/operaton/commit/9cc4fd7148be00920acc4a063afc5fdda91160d1

I broke it, I fix it.

To reproduce locally:
touch model-api/xml-model/target/executeJacoco
./mvnw -f model-api/xml-model

jacoco.argLine is properly set, but included as wanted in surefire.argLine:
[DEBUG] jacoco.argLine: -javaagent:<HOME>/.m2/repository/org/jacoco/org.jacoco.agent/0.8.12/org.jacoco.agent-0.8.12-runtime.jar=destfile=<PROJECTROOT>/model-api/xml-model/target/jacoco.exec
[DEBUG] surefire.argLine:  -Xmx1024m -XX:MetaspaceSize=128m -Duser.language=en -Duser.region=US -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/karstenthoms/Development/projects/operaton/model-api/xml-model/target/heap_dump.hprof


Add ADI SDP-120 connector

Add dts binding for ADI SDP-120 connector.
Add sdp-120 dts binding for adi_sdp_k1

@MaureenHelm branch is rebased and conflicts are solved


Sonar PRCA: Add link to Sonar rule page

It would be helpful for developers if the comments added by the Sonar task contain a link to the rule page in Sonar, where is explained whats wrong (eg. https://nemo.sonarqube.org/coding_rules#rule_key=csharpsquid%3AS2757)

Thanks @pascalberger - that's a good suggestion. This is on the backlog, but currently the comments are in just text format so it would be ugly to add URLs like that. However md format will be supported soon and we'll revisit this.


Matter Controller Example: Unable to start controller; Error : app_main: Failed to start Matter, err:259 in device console (CON-1102)

Describe the bug
I built and flashed 'sdkconfig.defaults.esp32s3' example to ESP32s3 with 'Enable Matter Commissioner' option.
Building and flashing is successful but after flashing, when S3 is connected to device console (Hterm software); Observe error:
<27>[0;31mE (2130) esp_matter_core: Node does not exist or esp_matter does not start<27>[0m<\r><\n>
<27>[0;31mE (2210) app_main: Failed to start Matter, err:259<27>[0m<\r><\n>
<\r><\n>
abort() was called at PC 0x420095c1 on core 0<\r><\n>
<\r><\n>
<\r><\n>
Backtrace: 0x40375b3e:0x3fcba6c0 0x4037fe65:0x3fcba6e0 0x40386032:0x3fcba700 0x420095c1:0x3fcba770 0x421432f7:0x3fcba790 0x403823c6:0x3fcba7c0<\r><\n>
And ESP32s3 keeps rebooting again and again. I want to connect the controller to Wifi and then commission end devices but esp32s3 (host) can not start matter (keeps rebooting, not stable)
Environment

ESP-Matter Commit Id: main
ESP-IDF Commit Id: V5.1.2
SoC (eg: ESP32 or ESP32-C3): ESP32-S3 (host) with controller example
Device Logs (Please attach the log file):
Host Machine OS: ubuntu 22.04 LTS

Any additional details: log file attached
ErrorwithESPMatterControllerEnable.txt
...

It's a known issue and we will fix ASAP. Or you can try to remove the check in app_main.cpp as a workaround

Thanks for replying. Can you please elaborate what do you mean by 'remove the check-in'? What exactly is the problem?
I can build other examples with my current esp-matter & esp-idf versions.

I think this issue should be fixed now in https://github.com/espressif/esp-matter/commit/e39a21e7707b47837060fec2ab8f12fd1477755f.  could you please close this issue?

@vaishnavi-28 Please give it a try. Close the issue if it works.

Thanks for your reply. I tried with the updated repo but I some errors occurred while building the example. In any case, I can run the controller example with some logical changes in controller example and no more stuck at this problem. Thanks for your active feedback

I tried the commit again now I can build it successfully. I use
Command: idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32s3" build
I can commission ESP Light (MAtter-Wifi) device and send commands too.
Thanks for the help.
But now I want to commission thread device. I build with 'sdkconfig.defaults.otbr', build is successful.
When in device console, I start a new dataset I observe error: Error: 83886338. I will create a different issue for this.
Sincere thanks for your help :)


CSS Format?

Dear @vsilva472, thank you for the nice script. Can you tell more about CSS. How can I change unicode symbols to let say awesome icons like fa fa-chevron-circle-up/down

Hi @Puppin!  how are you? Thanks for ask!!
You can use font-awesome icons just like the unicode icons! It is easy ;)
Take look at this piece of code:
$( '#my-table-selector' ).TableSorter({
     arrows: {
          up:  '',
          down: ''
     }
});

And to improve user experience, just add this CSS in your code:
#my-table-selector th {
  cursor: pointer;
}

.ts-sort-indicator {
  display: inline-block;
  margin-left: 5px;
}

Just remember to change #my-table-selector to your table selector in both (js/css) pieces of code.
Let me know if the result is what you want!

@vsilva472 Thank for the quick reply!! Things become clear. Unfortunately I have to notice, awesome font icons are shown as boxes if they placed through your nice script (right.. emm.. icon). If i place it straight to div it's ok (left icon). Anyway thank you for your time and help!
p.s. In which step i was wrong?

I think your problem is not related to this plugin anymore. You have a conflict of css.
Take look at this working online sample.
In this sample i used the lastest version (5.8.1) of font-awesome See this.

The problem was in awesom.min connected by default to Bootstrap Studio. I switched to full css and it's OK now. Thank you for remote help!


Why nothing except renaming works? :)

Hi Till,
this tool looks very nice, but so far, I have only achieved all the golden medals for crashing and empty files in PE merging. Not even the Quality Control works.
I see no problem in the installation, settings, nor sample files, do you? I tried fastq.gz files from different runs and projects without any success. It crashes immediately, as if it cant even start the processes.
It would be great if we could fix this, please ;) thanks!
Ondrej

Hi Ondrej,
that's weird. But it must be a local problem since I used the latest version on several other machines.
Could you send me the error when you start e.g. the All-In-One Analysis?

Wow that was fast :) Yes please
For some reason the error is not the same all the time. Maybe because I played with some settings

I uploaded some test files in the folder 'https://github.com/TillMacher/apscale_gui/tree/master/_tutorial_data'. Could you try run these with the according Settings.xlsx file?

Thank you, but it still crashes

Mhm ok! Did you try to run the apscale command line version on this machine?

Tried just now and it gives me the same error. So I guess I should create an issue there right?

Yes please. Then Dominik will fix it :)

Ok, thank you. All the best!


Add spreadsheet uploader link to empty card on "Conduct tests" page

Description
Since some users expect to find the spreadsheet uploader function under "Conduct tests," we need a way to direct them to the uploader from this page.
Acceptance criteria
For users of the spreadsheet uploader, "Conduct tests" empty card state includes:

To add results in bulk using a CSV file, go to Upload spreadsheet.

cc @vz3 if you want to review the copy

I'd prefer to avoid enclosing the page title in quotes, that's not a style that I typically see. Perhaps we could do italics or bold if we want to distinguish it as a page title.

sounds good, let's move forward with bold

@nathancrtr Ticket for adding copy to empty card on "Conduct tests."


Push 3.0.3 release to cocoapods master repo

It seems as Freddy 3.0.3 was released 12 days ago with just pod spec changes, however this pod spec does not appear to have been pushed to the Cocoapods master spec repo

+1

+1

+1

3.0.3 was pushed this morning: https://cocoapods.org/pods/Freddy


Retrieve hardware generation from ufdl backend

access UFDL backend to turn compute capability into hardware generation

Implemented with e49258e26ffb1f23ef5bb531a820df248cdd1e4f


Skip installing curated packages when no license info is provided.

Issue #, if available: #3829
Description of changes:
Skip installing the curated packages when no license info is provided
Testing (if applicable):
Unit testing and e2e testing
2022-10-28T20:51:06.431-0500    V0      🎉 Cluster created!
2022-10-28T20:51:06.431-0500    V4      Task finished   {"task_name": "delete-kind-cluster", "duration": "12.581401292s"}
2022-10-28T20:51:06.431-0500    V4      ----------------------------------
2022-10-28T20:51:06.432-0500    V4      Task start      {"task_name": "install-curated-packages"}
2022-10-28T20:51:06.432-0500    V0      ⚠Installing curated packages is skipped
2022-10-28T20:51:06.432-0500    V4      Task finished   {"task_name": "install-curated-packages", "duration": "258.949µs"}
2022-10-28T20:51:06.432-0500    V4      ----------------------------------
2022-10-28T20:51:06.432-0500    V4      Tasks completed {"duration": "10m2.688560109s"}
2022-10-28T20:51:06.464-0500    V3      Cleaning up long running container      {"name": "eksa_1667007645532228000"}
2022-10-28T20:51:06.466-0500    V6      Executing command       {"cmd": "/usr/local/bin/docker rm -f -v eksa_1667007645532228000"}

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

The customer wants to have an explicit flag to skip the installation of the curated packages because they want to still skip it even if licensed.


can you move the blog about isomorphic mithril applications to the wiki page

the blog is https://gist.github.com/StephanHoyer/bddccd9e159828867d2a
It will more convenient if you move it to the project wiki

Yes I can, but what's wrong with gist?

In China, the "gist.github.com" is blocked.

Thats too bad.
Here it is

thanks greet!


Proposal - refreshLatestSummaryAck's fetchSnapshotFromStorage always retrieving the latest summary

Description
The refreshLatestSummaryAck currently retrieves a version of a summary based on the summaryAckHandle received. The proposal is to ignore that handle and always retrieve the latest version (explicitly ignoring the Ack Handle).
In case the delta manager is behind the latest summary's ref seq number we would wait for it to catch up and proceed with the same existing logic.
As noted during the meeting, I'm still in the process of validating the change and the end-to-end test was an initial attempt to validate it but I'd love to get feedback in case there are scenarios that I might be breaking or something I'm missing

I do not think your code changes that, but do we test and does it work correctly IF summarizer has pending summary, but we get an ack about some other summary first, followed by nack for our summary? Or maybe even no nack, if PUSH crashed somewhere in between?

Can you please share a bit more info when we retrieve summary by handle? It feels like with summarizer always starting to wait for summary ops/acks after fully being connected, it should happen ONLY if we have 2 summarizers in the session. While we know this is what actually happens (effectively) with FRS service summaries, where can it happen for SPO? It clearly happens as I hear feedback about it :) I want to make sure we walk that scenarios explicitly - mentally through the code, but also replicate in end-to-end tests, and ensure that it continues to work correctly

I have added telemetry fluid:telemetry:SummarizerNode:PendingSummaryNotFound  to find out when/if it happens and it only happened 6 times (FRS) out of 15k hits in the test db. The majority of the time it is a summary ack and we have no pending summaries. Here  is a query I was looking at:
union database("Office Fluid Test").office_fluid_ff*
| where Data_hostName == "@fluid-internal/test-service-load"
| where Data_eventName == "fluid:telemetry:SummarizerNode:PendingSummaryNotFound"
| extend propJson = parse_json(Data_details)
| extend summaryRefSeq = propJson.summaryRefSeq
| extend pendingSize = propJson.pendingSize
| summarize Total=count(), PendingSizeNotZero=countif(pendingSize > 0),
PendingSizeNotZeroAndREfSeq0=countif(pendingSize > 0 and Data_referenceSequenceNumber == 0),
RefSeqNumber0=countif(Data_referenceSequenceNumber == 0),
NoUpdate=countif(Data_referenceSequenceNumber == summaryRefSeq),
DidFetchSnapshot=countif(Data_referenceSequenceNumber < summaryRefSeq) by Data_driverType, Data_driverEndpointName

In reply to:<PHONE_NUMBER>

I suppose we do try to get summaries by handle whenever we get the latest snapshot from cache and while trying to catch up identify the summary acks among the ops and handlesummaryAcks is called on to refresh the state. The query I shared previously shows how often it happens (pendingSize == 0) on our Office Fluid Test db.

In reply to:<PHONE_NUMBER>

Can you please share a bit more info when we retrieve summary by handle? It feels like with summarizer always starting to wait for summary ops/acks after fully being connected, it should happen ONLY if we have 2 summarizers in the session. While we know this is what actually happens (effectively) with FRS service summaries, where can it happen for SPO? It clearly happens as I hear feedback about it :) I want to make sure we walk that scenarios explicitly - mentally through the code, but also replicate in end-to-end tests, and ensure that it continues to work correctly

I've added some information to Task 444 - it seems the first time the summarizer is launched, after catching up, the handleSummaryAcks does receive the last ack from the summaryCollection before its processing has started. Its local reference number is still 0.


Replace NWHC with NHWC

This PR replaces NWHC with NHWC. The array_ops.transpose(x, [0, 3, 1, 2]) performs NHWC to NCHW.

cc @fchollet


test: added unit tests and test assets

let's add some instructions on running the test suite on the readme


Added set-azcontext to managed identity example

Docs Build status updates of commit e210bdc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-6.6.0/Az.Accounts/Connect-AzAccount.md
:white_check_mark:Succeeded
View (azps-6.6.0)

azps-7.4.0/Az.Accounts/Connect-AzAccount.md
:white_check_mark:Succeeded
View (azps-7.4.0)

azps-7.5.0/Az.Accounts/Connect-AzAccount.md
:white_check_mark:Succeeded
View (azps-7.5.0)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[BUG] Add-PnPNavigationNode -previousnode parameter not available anymore

When adding -PreviousNode parameter to Add-PnPNavigationNode error received
Add-PnPNavigationNode : A parameter cannot be found that matches parameter name 'PreviousNode'.
code example:
Add-PnPNavigationNode -Title "AllGroups by Domain" -Url "/sites/GUESTS/Lists/Groups/?viewid=33f5f8ab%2D77ab%2D4e07%2Dbee1%2D7f3f1f6ac01e" -Location "QuickLaunch" -PreviousNode 2021

hi @mvanders , this parameter is available in newer versions of PnP PowerShell.
You need to use PnP PowerShell 2.2.0 for the stable one or you can use the nightly builds.


templateCache not working when manual bootstrapping angular1 app

I have been trying out this awesome generator v0.4.0 using:

? Which JavaScript framework do you want? Angular 1
? Which module management do you want? Webpack with NPM
? Which CSS preprocessor do you want? SASS
? Which JS preprocessor do you want? TypeScript

I am working here with the default app that is being generated.
When building the app and webpack outputs the index-[hash].js  the templateCache is not working, the problem is that when the app is manually bootstrapped the angular run function that contains the templateCache is not executing.
This is because the angular app module is set and being bootstrapped after the run function that contains the templateCache:
/***/ },
/* 1 */
/***/ function(module, exports, __webpack_require__) {

	"use strict";
	var angular = __webpack_require__(0);
	angular.module("app").run(["$templateCache", function ($templateCache) {
	        $templateCache.put("app/footer.html", "\n  Build with ♥ by the \n  \n    FountainJS teamh\n  \n\n");
	        $templateCache.put("app/header.html", "\n
\n    \n      Foutain Generator\n    \n
\n
\n    Generated with FountainJS v0.4.0 on Sat Apr 16 2016 17:39:35 GMT+0200 (South Africa Standard Time)\n
\n\n");
	        $templateCache.put("app/main.html", "
\n  <fountain-header></fountain-header>\n  \n    <fountain-title></fountain-title>\n    <fountain-techs></fountain-techs>\n  \n  <fountain-footer></fountain-footer>\n
\n");
	        $templateCache.put("app/title.html", "
\n
\'Allo, \'Allo!
\n
\n    \n    \n
\n
Always a pleasure scaffolding your apps...
\n    <input type=\"text\">\n
\n");
	        $templateCache.put("app/techs/tech.html", "
\n  \n
\n    {{ $ctrl.tech.title }}\n
\n
{{ $ctrl.tech.text1 }}
\n
{{ $ctrl.tech.text2 }}
\n
\n");
	        $templateCache.put("app/techs/techs.html", "
\n
\n    Cooked with all these awesome technologies:\n
\n
\n    <fountain-tech ng-repeat=\"tech in $ctrl.techs\" tech=\"tech\"></fountain-tech>\n
\n
\n");
	    }]);
/***/ },
/* 2 */
/***/ function(module, exports, __webpack_require__) {

	"use strict";
	var angular = __webpack_require__(0);
	var index_1 = __webpack_require__(9);
	var main_1 = __webpack_require__(8);
	var header_1 = __webpack_require__(7);
	var title_1 = __webpack_require__(12);
	var footer_1 = __webpack_require__(6);
	__webpack_require__(14);
	angular
	    .module('app', [index_1.techsModule])
	    .component('app', main_1.main)
	    .component('fountainHeader', header_1.header)
	    .component('fountainTitle', title_1.title)
	    .component('fountainFooter', footer_1.footer);
	angular.bootstrap(document, ['app']);
/***/ },

I have been searching for a way to add the templateCache after the angular module gets created and before the app is bootstrapped but so far no success.
The only way I could get it to build is by removing the manual bootstrapping function angular.bootstrap(document, ['app'])  and adding ng-app="app" to index.html.

We decided to manually bootstrap the app because of https://github.com/jspm/registry/issues/358. When using SystemJS, the injection of jQuery break the app. For consistency purpose, we also made this change for Webpack but it doesn't seem right.


New badge configuration

Checklist

[x] I have read the Contributor Guide
[x] I have read and agree to the Code of Conduct
[x] I have added a description of my changes and why I'd like them included in the section below

Description of Changes
I've updated the template to use our new badges
Related Issues

Part of https://github.com/EmbarkStudios/opensource-template/issues/20

Looks like need to fix up a clippy lint

Yah I'll do it, haven't touched this repo in...a while...

@lpil rebase off main and the CI should be green again. :slightly_smiling_face:


When processing a single file, shouldn't include utt0 header

When processing multiple files, the output includes the utterance id for each file in the list-file, which then gets included in the output.  But for a single file, there's no need for it

I this one also resolved with #19?

I think so! 👍


25 test   send http requests

Test Sending HTTP Requests
Changes

Created TokenHelper for tests to get access token rather than coding it in
Created tests for InventoryController, omitted Business

Business was omitted because it currently just registers.  As we're using our real databases in this tests, I don't want to register a bunch of businesses in test.

Looks like the authorized test is failing even though I set up AUTH0_CLIENT_SECRET on gh env secrets...


Creating reusable command buffers in stream->hal lowering.

An extremely naive "analysis" is used to create binding tables. This will need to improve in the future for more complex programs but seems to be sufficient today. Dynamic push constants currently disable reuse until future changes move those into uniform buffers.
This is disabled by default and requires opting in via the --iree-hal-indirect-command-buffers=true and
--iree-hal-memoization=true flags. As testing progresses the flags will flip to default but remain present in order to allow debugging target-specific issues with reusable/indirect command buffers. There should be no significant changes with the flags disabled.
Progress on #17875.

Failures here are from the Vulkan HAL not managing descriptor sets properly. I'm going to see if I can get back to a single set for now until Vulkan can be reworked (#18121).


github: remove workflow "Schutzbot comments"

This workflow was added with the plan to make it post a comment on a PR when certain non-required checks failed, without failing the workflows themselves.  However, this turns out to require a bit more work than originally anticipated and is probably not worth the effort right now.
It might be worth waiting for github to add support for something like this, or we could make a github action for ourselves that abstracts this idea to make it reusable across projects.
For now, I'd like to remove the workflow so it doesn't stay in the repo unfinished as clutter.
This reverts commit 0fc99d2ebb8e8d2e7f66a0f1f88203ffdc063b4e.

Sad approval, do we have a ticket somewhere to track if we can retry it sometime?

No.  It was just an idea I had that I thought would be quick to solve.  I'll open a GH issue in the hopes we don't forget this down the line.


workflow run on browser

i have install laravel-workflow package on laravel 10 ,.after how can i run workflow on the browser

There is no way to start a workflow from the browser. You have to run some code that starts it like this:
https://github.com/laravel-workflow/sample-app/blob/main/app/Console/Commands/Workflow.php


Is it possible to compile a Koa app to ES5?

I am trying to use Babel to compile a Koa backend, partly for consistency with the ES6/7 front end code, some of which will be executed server-side for isomorphic rendering. Since the compiler replaces the generators, I get an assertion error from Koa:
AssertionError: app.use() requires a generator function

Has anyone been able to compile an ES6/7 Koa app?
app.js:
import koa from "koa";
import router from "koa-router";

let app = koa();
app.use( router( app ));

export default app;

index.js:
require( "babel/register" )({
	sourceMaps: "inline",
	stage: 1
});

var app = require( "./src/app" );

app.listen( process.env.port || 3000 );

@d4goxn does it work with the following patch ?
https://gist.github.com/targos/1c79e564138a5ec369e7

I'm afraid not, that just checks to see if fn.constructor is the string 'GeneratorFunction', right? The assertion still fails. If I remove the assertion completely, I get errors in koa-compose when it tries to call the "generator's" next function.
I am going to look at tweaking babel to produce ES6 code instead of ES5, or at least prevent it from replacing generator functions.

No it checks the function itself, not the name. It is strange that you get this issue, because babel generates the correct code for both cases:
test.js
var GeneratorFunction = (function*(){}).constructor;

function*fn(){}

console.log(GeneratorFunction == fn.constructor);
console.log('GeneratorFunction' == fn.constructor.name)

% babel-node test.js
true
true

OK, in fact you are using koa-router incorrectly.
try app.use(router.routes())
see https://github.com/alexmingoia/koa-router#new_module_koa-router--Router_new

It works. I've used babel with koa, and I also have other apps that compile the whole server with webpack.
I think your error is caused by incorrect usage of koa-router. That usage was deprecated with v5.

If you wanted to, you could disable generator transpilation by disabling the regenerator transformer.
I'd suggest making a .babelrc with your desired config so you don't have to pass it in to the require call.
And if you're using a recent version of iojs you can do iojs -r babel/register index.js, which lets you avoid  having to register babel in your app's entry point. This is nicer because then in your test environment (at least for mocha), you could set babel as a compiler and run any tests (either glob or a one-off test).

We have a mailing list and an IRC channel, which is more appropriate, if future issues arise.

I also have a question regarding to this problem in mailing list - https://groups.google.com/forum/#!topic/koajs/u9Bbs--luQA. Have any one got koa.js running successfully with webpack and babel when have it on production mode like uglifier? My current server is:
'use strict';

import koa from 'koa';

const app = koa();

app.use(function *(next){
  var start = new Date;
  yield next;
  var ms = new Date - start;
  console.log('%s %s - %s', this.method, this.url, ms);
});

// response
app.use(function *(){
  this.body = 'Hello World';
});

app.listen(3000);
console.log('Server listening on port 3000');

Also run into:
assert.js:88
  throw new assert.AssertionError({
        ^
AssertionError: app.use() requires a generator function

Greetings.
What does Babel do with function* () ? Do you know?

@hallas They use the facebook/regenerator runtime.

Okay well there you have the answer :-)

Do you under why now @hung-phan  ?

Yup. I try to injecting regeneratorRuntime but it does not work in my case. I will try to solve and post the answer here. My current config is loader: 'babel-loader?optional=runtime'. Thanks guys

Babel would have to transform the part of Koa that checks for a generator function as well as your own generator middleware.

Solved.
    new webpack.optimize.UglifyJsPlugin({
      mangle: {
        except: ['GeneratorFunction', 'GeneratorFunctionPrototype']
      }
    })

I have to enable mangle options for UglifyJSPlugin. Thanks @hallas

Cool


Start to add support for chains and tie out block tests

Chains are a feature of Ethereum which group a genesis block and a set of parameters specific to a chain. For instance, testchains such as Ropsten have a specific set of accounts with starting balance, as well as the inclusion of EIP (forks) at different block numbers (e.g. Homestead starts at block 10). This is essential that we load this information and pass it to different functions if we want to support and match data we receive (be it from a test chain or Homestead of Serenity). We will need to pass chain information to a number of functions (including to the EVM as we will toggle flags such as changes in gas price based on the chain we're in).

Honestly, I don't even know how to hash an int yet. It's not specified
exactly what encoding the integer should be in before it's hashed, I'm
wondering if it's big endian, little endian or maybe RLP. I'll need to
check with out implementations or just try a few, but it looks like account
storage doesn't tie out just yet.
On Mon, Sep 11, 2017 at 10:55 AM Mason Fischer<EMAIL_ADDRESS>wrote:

@masonforest approved this pull request.
LGTM
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/exthereum/blockchain/pull/4#pullrequestreview-61902048,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAQisA59RvSjtsGDIDnkx5tqSa59ynvnks5shXP-gaJpZM4PR5IT
.

Oh I just meant add
def kec(data), when is_binary(data) do: kec(:binary.encode_unsigned(data))

to bit_helper.ex


[EventRequest] Codeunit 1535 Approvals Mgmt. - Creating of Approval Entry publisher

In #2606 you added a subscriber. This was introduced in BC14, however missing in BC16. Please introduce this subscriber again in BC16.
[External]
PROCEDURE PostApprovalEntries@105(ApprovedRecordID@1003 : RecordID;PostedRecordID@1001 : RecordID;PostedDocNo@1002 : Code[20]) : Boolean;
VAR
  ApprovalEntry@1000 : Record 454;
  PostedApprovalEntry@1004 : Record 456;
BEGIN
  ApprovalEntry.SETAUTOCALCFIELDS("Pending Approvals","Number of Approved Requests","Number of Rejected Requests");
  ApprovalEntry.SETRANGE("Table ID",ApprovedRecordID.TABLENO);
  ApprovalEntry.SETRANGE("Record ID to Approve",ApprovedRecordID);
  IF NOT ApprovalEntry.FINDSET THEN
    EXIT(FALSE);

  REPEAT
    PostedApprovalEntry.INIT;
    PostedApprovalEntry.TRANSFERFIELDS(ApprovalEntry);
    PostedApprovalEntry."Number of Approved Requests" := ApprovalEntry."Number of Approved Requests";
    PostedApprovalEntry."Number of Rejected Requests" := ApprovalEntry."Number of Rejected Requests";
    PostedApprovalEntry."Table ID" := PostedRecordID.TABLENO;
    PostedApprovalEntry."Document No." := PostedDocNo;
    PostedApprovalEntry."Posted Record ID" := PostedRecordID;
    PostedApprovalEntry."Entry No." := 0;
    // --> START   (BC14 implementation)
    OnBeforePostedApprovalEntryInsert(VAR PostedApprovalEntry,ApprovalEntry);
    // <-- END  (BC14 implementation)
    PostedApprovalEntry.INSERT(TRUE);
  UNTIL ApprovalEntry.NEXT = 0;

  PostApprovalCommentLines(ApprovedRecordID,PostedRecordID,PostedDocNo);
  EXIT(TRUE);
END;

Many thanks.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


pick_types allows non-bool args for e.g. EEG

I saw somebody doing this today:
raw.pick_types(meg=False, eeg='grads')
Which works (picking EEG channels).
Maybe a bit confusing, but not necessarily a bug ... Should we fix or keep?

People could also do pick_types(eeg=0) which would evaluate the same way as False, and pick_types(eeg=1) which would eval as True, which I'm okay with. I guess we could strictly type check to be safe, though.

well I guess it's hard to catch all possible bugs but for such a common
function might we can make an effort to type check

I can make a PR with something like
params = eeg, stim, ...
for param in params:
    if not isinstance(param, bool):
        raise ValueError(param + " must be of type ``bool``!")

yes but say also what is the type provided.

We have ref_meg='auto' as a default. I'm still unclear about what it means.


Add greeting for contributors on raising their first PR or issue

Messages ( for issues and PRs) can be customized. This is recommended since a hello message on successfully raising a PR will motivate new contributors. :rocket:

@vossisboss - when you get a min - do you mind reviewing this in the context of community.
I think it would be great to have this in but it's been a while since this was created so maybe cast your eyes over it.

I will make the necessary changes! :D
On Tue, 9 Aug 2022 at 19:29, Meagen Voss @.***> wrote:

@.**** requested changes on this pull request.
Requesting one small change. Otherwise I think this is a great
contribution!
In .github/workflows/greetings.yml
https://github.com/wagtail/wagtail/pull/6456#discussion_r941377040:

@@ -0,0 +1,13 @@

+name: Greetings

+on: [pull_request, issues]

+jobs:

greeting:

runs-on: ubuntu-latest

steps:

uses: @.***

 with:

   repo-token: ${{ secrets.GITHUB_TOKEN }}

   issue-message: 'Thanks for submitting your first issue to Wagtail!'

   pr-message: 'Thanks for submitting your first PR to Wagtail!'

I think this is a great idea! I'd just like to suggest we give the PR
submitters some reassurance that we will review their work as soon as we
can.
⬇ Suggested change

   pr-message: 'Thanks for submitting your first PR to Wagtail!'

   pr-message: 'Thanks for submitting your first PR to Wagtail! We know how hard you worked on this. Please give us some time to review, and we'll be in touch as soon as we can.'

—
Reply to this email directly, view it on GitHub
https://github.com/wagtail/wagtail/pull/6456#pullrequestreview-1066777117,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGC6ZYUWJOCVMR4572GV5QDVYJP2TANCNFSM4SMDWECA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thank you for giving this a go @winter-code! We’ve just discussed this at our weekly core contributor team meetings, and have decided to not go further with this. We think it’s better for us to personalise our greetings / thanks to contributors, particularly new contributors.
There is a chance we might not do so consistently but we think this is worth the tradeoff, since personal greetings by other contributors will be more meaningful.


Automatic grid generation

cc @jbusecke, @naomi-henderson
All of the basic functionality in xgcm now could easily be applied to generic gridded datasets (e.g. satellite, model data without auxiliary coordinates, etc.), if we had the ability to automatically generate other axis variables. (This may also be necessary for @naomi-henderson to move forward with pangeo-data/pangeo-discussion#1.)
What would this look like? Imagine we have an xarray dataset that looks like this
import xarray as xr
import numpy as np
ds = xr.DataArray(np.random.rand(180, 360),
                         dims=['lat', 'lon'],
                         coords={'lon': np.arange(0, 360)+0.5,
                                 'lat': np.arange(-90, 90)+0.5}
                        ).to_dataset(name='somedata')
ds

<xarray.Dataset>
Dimensions:   (lat: 180, lon: 360)
Coordinates:
  * lon       (lon) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 10.5 ...
  * lat       (lat) float64 -89.5 -88.5 -87.5 -86.5 -85.5 -84.5 -83.5 -82.5 ...
Data variables:
    somedata  (lat, lon) float64 0.2838 0.3383 0.1441 0.8124 0.6643 0.6623 ...

This is a dataset with the values located at the midpoints between lat and lon.
It would be amazing to be able to say this
grid = xgcm.autogenerate_axis(ds, axes={'X': 'lon', 'Y': 'lat'})

There are lots of potential options we would want to include, such as the coordinate positions to generate (i.e. left, right, inner, outer). I'm also assuming we would want to treat the original coordinates as the cell centers, but maybe that's not always the case.
This could be implemented via a lower level function called autogenerate_axis that just works on one axis at a time (the way the Grid object works now). I would recommend creating a new module called autogenerate for these functions.
A reminder of the lexicon of grid positions
 Center
 |------o-------|------o-------|------o-------|------o-------|
       [0]            [1]            [2]            [3]

 Left
 |------o-------|------o-------|------o-------|------o-------|
[0]            [1]            [2]            [3]

 Right
 |------o-------|------o-------|------o-------|------o-------|
               [0]            [1]            [2]            [3]

 Inner
 |------o-------|------o-------|------o-------|------o-------|
               [0]            [1]            [2]

 Outer
 |------o-------|------o-------|------o-------|------o-------|
[0]            [1]            [2]            [3]            [4]

@rabernat this Issue, along with https://github.com/pangeo-data/pangeo-discussion/issues/1, make me want to take stock of the state of the existing similar-but-different finite differencing efforts, to avoid unnecessary overlap to the extent possible.  In short, I want you/xgcm to take on everything 😜
IIRC, one outcome of the initial pangeo workshop last November was the desire to merge efforts among xgcm, @lesommer's oocgcm, and my infinite-diff.  xgcm (before this issue at least!) and oocgcm have focused on C-grid-aware operations, while infinite-diff's focus has been on grid-naive cases such as those that this issue discusses.
It seems that oocgcm has gone dormant, with no new commits in the past 8 months.  @lesommer, any updates?
From the outside, it may also seem that infinite-diff has gone similarly dormant.  However,
@spencerkclark has introduced in this gist what I think is an amazing approach: using sympy and xarray to compute finite differences on evenly spaced grids to arbitrarily high orders of accuracy, all of it dask compatible.  This approach is so vastly better than what I currently have implemented in infinite-diff that, if infinite-diff development is to continue at all, it will be via essentially re-writing everything to use this new approach.
But if, as this Issue would suggest, you see space for such grid-naive operations within xgcm, then I (and I believe @spencerkclark also) would be highly receptive to you incorporating his approach.  Frankly, I would love to deprecate infinite-diff completely...both selfishly because then I don't have to maintain it, and more importantly because I think it would be better to have a single go-to package for finite differencing, whether C-grid-specific or grid-unaware.
(There is also the issue of spectral methods, which I have implemented previously via windspharm.  These are necessary for the budget adjustment methods I alluded to in https://github.com/pangeo-data/pangeo-discussion/issues/1#issuecomment-326149844.  But maybe this is a topic for another day.)
So let me know your take on all of this.  Sorry if this somewhat hijacks the thread -- we can move it to a separate issue if you'd like.  Thanks!

Thanks for bringing back up the overlap issue. You're absolutely right...despite our good intentions, we are still maintaining overlapping packages wrt finite differencing. My explanation for this is simply that none of the packages is mature / general purpose enough for others to start using it off-the-shelf. oocgcm appeared to have great promise, but I couldn't get it to work with any of my models, so I went back to my own package (xgcm). oocgcm in its current state is still too NEMO-specific. xgcm currently works pretty well with MITgcm (obviously) and ROMS, but its scope is pretty narrow.
Thanks for the update on infinite-diff! I agree that @spencerclark's gist holds enormous potential.
I think we all agree that, for gcm data that is provided with native grid spacing, we want to be able to reproduce the internal numerical schemes used by the model. That is what xgcm and oocgcm aim to do.
The key implementation question for "grid-naive" datasets seems to be whether it is best to

generate a "fake" finite volume grid and then treat it like a gcm
use the infinite-diff approach

It would be productive to understand the pros and cons of each approach. I like finite volumes because I understand them and I know they have good conservation properties. But I think what you guys are doing is very elegant and probably better.

It would be great to hear from @naomi-henderson what numerical approach they used in their past work with generic gridded datasets (like CMIP5). This paper on moisture budgets for example is the basis for one of our Pangeo use cases.

Thanks for the quick response.

My explanation for this is simply that none of the packages is mature / general purpose enough for others to start using it off-the-shelf.

No worries.  I agree, and I think this constitutes a major gap in our toolkit.  It would be a really fantastic outcome if this emerged out of the pangeo tracer budgets use-case.  It would also make the use-case all the more useful to others.

I think we all agree that, for gcm data that is provided with native grid spacing, we want to be able to reproduce the internal numerical schemes used by the model.

Absolutely.

I like finite volumes because I understand them and I know they have good conservation properties. But I think what you guys are doing is very elegant and probably better.

Particularly for the use case of tracer budgets, conservation is key.  So I wouldn't be so fast to dismiss the finite volume approach.  Is there a way to combine the two approaches?  @spencerkclark what do you think?

First off I think @rabernat's approach for grid-aware datasets is pretty elegant in its own right!  It's a really clever use of xarray's data model, and makes things just about as explicit as possible by keeping track of the coordinate changes across differencing and interpolation operations.  If I understand things correctly, it provides the building blocks for computing estimates of derivatives using finite-volume methods (rather than methods to compute those estimates directly).  (So I might say what @rabernat has going in xgcm is "lower level" and therefore more flexible than what is in my gist).
My gist was not initially developed with the tracer-budget use-case in mind (that is to say I don't know if computing terms of a tracer budget from GCM output is necessarily a good application for it).  One aspect about it that may not be entirely desirable here is that it trades compatibility with unevenly spaced grids with the ability to compute finite-difference approximations of derivatives to arbitrary order of accuracy. As neat as arbitrary order of accuracy might be, an efficient dask-compatible 2nd order accurate method that could be applied to arbitrary grids might be more valuable (due to its flexibility).
On the flip-side though, if added to infinite-diff, the functions I've implemented might be an upgrade from what is currently there (currently the methods are not dask-compatible and hard-coded for specific finite-difference stencils; that said the methods there currently do support non-uniform grid spacing).  Given that infinite-diff was used successfully in a tracer-budget context [e.g. Hill et al. (2017)] on "grid-naive" datasets, it perhaps should not be written off.

It would be productive to understand the pros and cons of each approach.

Ultimately I'll admit I have only dabbled in tracer-budget analysis, so I defer to @spencerahill or @naomi-henderson for their instincts on what the pros and cons of each approach might be.

The finite volume approach is certainly key to tracer conservation.  We do try to match the differencing technique used in an offline budget to that of the model which produced it. This would certainly include the order of approximation as well as the type of grid (A-grid, B-grid, C-grid, etc), method (finite difference, finite volume, finite element, spectral, ...) and allow for uneven spacing. For our offline atmospheric budget calculations, the time aggregation (using hourly, daily or monthly mean fields instead of at each time step) has already degraded the accuracy which the higher order approximations cannot recover, so we have never attempted anything beyond 2nd order.

Thanks @naomi-henderson.  That all makes sense.  (As an aside, I also must apologize for not being aware of your paper and thus not citing it in my work so far.  It looks like exactly what I should have been referring to for years now.)
It sounds like @spencerkclark's gist is thus not the solution for the pangeo budget project.  So the remaining question (mostly for @rabernat) is: is there still interest in incorporating it in xgcm?  I am still interested in the idea of one finite differencing package to rule them all, but if xgcm development will be closely tied to the pangeo effort for the foreseeable future, it might not sense to try to lop on this additional thing at the same time.
The alternative would be to revamp infinite-diff using it (including better packaging & docs), while still retaining a fallback for unevenly spaced grids.  The door would remain open of course to merge the two in the future.  I am fine with either -- don't want to hijack either xgcm development or the pangeo budget efforts.

So the remaining question (mostly for @rabernat) is: is there still interest in incorporating it in xgcm?

Yes! Options are good. Having multiple options in the same package will allow us to attempt to actually answer the question of which approach is best?

if xgcm development will be closely tied to the pangeo effort for the foreseeable future

Not really the case. xgcm is still my own pet project...we don't have dedicated dev time for it via Pangeo.
So bottom line...PR welcome!

I took a shot at a very basic implementation (#74).
Based on the example above from @rabernat it would work something like this:
import xgcm as xg
import xarray as xr
import numpy as np

# create a 'typical observational' dataset
ds = xr.DataArray(np.random.rand(180, 360*2,10*2),
                         dims=['lat', 'lon','z'],
                         coords={'lon': np.arange(-180, 180, 0.5)+0.25,
                                 'lat': np.arange(-90, 90)+0.5,
                                 'z': np.arange(0,10,0.5)+0.25}
                        ).to_dataset(name='somedata')
ds

>>> <xarray.Dataset>
>>> Dimensions:   (lat: 180, lon: 720, z: 20)
>>> Coordinates:
>>>   * lon       (lon) float64 -179.8 -179.2 -178.8 -178.2 -177.8 -177.2 -176.8 ...
>>>   * lat       (lat) float64 -89.5 -88.5 -87.5 -86.5 -85.5 -84.5 -83.5 -82.5 ...
>>>   * z         (z) float64 0.25 0.75 1.25 1.75 2.25 2.75 3.25 3.75 4.25 4.75 ...
>>> Data variables:
>>>     somedata  (lat, lon, z) float64 0.2058 0.06754 0.89 0.9464 0.02511 ...

# autogenerate_ds recovers the 'original' coordinates
new_ds = xg.autogenerate_ds(ds,axes={'X':'lon','Y':'lat','Z':'z'},
                            position='center')

print(new_ds['lon'].data[0:3])
print(new_ds['lon'].data[-4:-1])
print(new_ds['lon'+'_inferred'].data[0:3])
print(new_ds['lon'+'_inferred'].data[-4:-1])

print(new_ds['lat'].data[0:3])
print(new_ds['lat'].data[-4:-1])
print(new_ds['lat'+'_inferred'].data[0:3])
print(new_ds['lat'+'_inferred'].data[-4:-1])

print(new_ds['z'].data[0:3])
print(new_ds['z'].data[-4:-1])
print(new_ds['z'+'_inferred'].data[0:3])
print(new_ds['z'+'_inferred'].data[-4:-1])

>>> [-179.75 -179.25 -178.75]
>>> [ 178.25  178.75  179.25]
>>> [-180.  -179.5 -179. ]
>>> [ 178.   178.5  179. ]
>>> [-89.5 -88.5 -87.5]
>>> [ 86.5  87.5  88.5]
>>> [-90. -89. -88.]
>>> [ 86.  87.  88.]
>>> [ 0.25  0.75  1.25]
>>> [ 8.25  8.75  9.25]
>>> [ 0.   0.5  1. ]
>>> [ 8.   8.5  9. ]

Some elements are still a bit clunky, particularly how add_slice is implemented in xgcm.grid, but it seems to work.
Still a lot more to implement (calculate area based on lat/lon coordinates etc), but I wanted to see how everybody feels about this basic stuff.

With the current commit of #74 I added the capability to auto-generate multidimensional coordinates as well. [Here}(https://gist.github.com/anonymous/9ea33dff6cc014dc303d7193ebfeabd2) is a little example of how that would work in practice.

Ok now that #74 is merged 🎆 🍾 , I would like to talk about the next step: Recalculating distances from given coordinates.
This is much easier to implement, I believe. However, I think it is worth talking about the actual calculation in detail.
The case worth discussing is the calculation of physical [meters] from positions on the globe, since distances for e.g. depth (already in meters) are now easy to implement using the xgcm.Grid/Axis diff function.
I put together a simple function to calculate the distance in meters from dlon/dlat (longitude/latitude differentials in deg) and the actual longitude/latitude.
    def dll_dist(dlon, dlat, lon, lat):
        """Converts lat/lon differentials into distances

        PARAMETERS
        ----------
        dlon : xarray.DataArray longitude differentials
        dlat : xarray.DataArray latitude differentials
        lon  : xarray.DataArray longitude values
        lat  : xarray.DataArray latitude values

        RETURNS
        -------
        dx  : xarray.DataArray distance inferred from dlon
        dy  : xarray.DataArray distance inferred from dlat
        """

        # First attempt with super cheap approach...
        #     111km for each deg lat and then scale that by cos(lat) for lon
        dll_factor = 111000.0
        dx = dlon * np.cos(np.deg2rad(lat.data)) * dll_factor
        dy = dlat * dll_factor

        return dx, dy

As @rabernat mentioned in #74 this assumes a projection already (Mercator I guess?). Is there a sleek way to do this with existing packages like cartopy?

Can you just take your comment from above and open a new issue for it.


Can't use Ketcher on Next JS application

When I tried to load Ketcher on a Next JS application I get the message bellow:
../node_modules/draft-js/dist/Draft.css Global CSS cannot be imported from within node_modules. Read more: https://nextjs.org/docs/messages/css-npm Location: ../node_modules/ketcher-react/dist/index.modern.js
I think this is related to :
https://github.com/vercel/next.js/issues/19936
Could you provide a way to make this awesome library work with nextjs?
Desktop (please complete the following information):

OS: [e.g. iOS13.1]
Browser [chrome]

Ketcher version [e.g. v2.7.2].

Hello!  I have the exact same problem, any updates on this?

@Nitvex I was wondering if this is something that you are planning to address in the next little while.  Thanks!

Is there a chance this to be included in your roadmap?

I have it working in a NextJS app. Share what you're doing and I might be able to help.

@ahmepham and @michelmar
Thanks for reporting this.
Unfortunately, we don't have plans to work on your request in the nearest future.
We can add it to our backlog, but I can not provide you exact date when issue will be resolved.
@OliverDudgeon
If you have a solution for the problem, you are more than welcome.

@OliverDudgeon , I think utilizing the new Pages API available in the latest version to effectively use Ketcher. Without it, you may encounter the error mentioned earlier. However, it's worth considering that your bundle configuration might be importing global CSS from the node_modules directory. By addressing this, you can potentially overcome the issue. Could you share what solution have you found for this issue?

Does this not work for you?
import "ketcher-react/dist/index.css";

So this happens as a side-effect of importing from ketcher-react?

Yes, this is related to a these two libraries that has globall css imported in the ketcher-react packages

All I've done to make this work for me I create a component that uses import { Editor } from "ketcher-react";. Then to use this component, I do a  dynamic import (to avoid SSR differences). The only other thing that could be in play here is that I use pnpm? There isn't really anything in my nextjs config that I can see having an affect here.

Hi @michelmar , did you try to use Ketcher inside app/ directory? According to this comment https://github.com/vercel/next.js/discussions/27953#discussioncomment-3978605, NextJS 13 has supported global CSS inside app/.

This is caused by NextJS, so we're gonna close it. If you believe that this is Ketcher's problem, please reopen the issue and give more information, thx!

I avoided this message by adding moduleExports={ transpilePackages: ['draft']} to my next.config.js file


Make FuseShell more general

What changes are proposed in this pull request?
Add FuseCommand interface and add subcommand implementation instead of hard code.
Why are the changes needed?
Be able to expand better
Does this PR introduce any user facing changes?
No
Please list the user-facing changes introduced by your change, including
No

@LuQQiu @maobaolong Thanks for reviewing this, I will fix the problems you commented.

@maobaolong @LuQQiu PTAL! The failed test seems to be irrelevant to me

@maobaolong @LuQQiu PTAL!

@bzheng888 Thanks for the update, i'm fine with this PR, just wait @LuQQiu to take another look.

LGTM for the code path, can you add more comprehensive test coverage and docs for Fuse shell?

@bzheng888 PTAL the test failures

LGTM for the code path, can you add more comprehensive test coverage and docs for Fuse shell

My understanding is that the docs are instructions to be displayed on the web? Is that right?

Error: 6.093 [ERROR] Tests run: 10, Failures: 0, Errors: 10, Skipped: 0, Time elapsed: 7.708 s <<< FAILURE! - in alluxio.fuse.cli.FuseShellTest Error: 6.103 [ERROR] alluxio.fuse.cli.FuseShellTest.runGetMetadataCacheSizeCommand Time elapsed: 3.105 s <<< ERROR! java.lang.NullPointerException at alluxio.cli.FuseShell.runCommand(FuseShell.java:80)

Thanks, I will fix this test problem.

@LuQQiu PTAL!

LGTM for the code path, can you add more comprehensive test coverage and docs for Fuse shell

My understanding is that the docs are instructions to be displayed on the web? Is that right?

Can I finish the doc in a new pr?

LGTM for the code path, can you add more comprehensive test coverage and docs for Fuse shell?

Can I finish the doc in a new PR?

Error: 8.734 [ERROR] alluxio.client.hadoop.FileSystemUriIntegrationTest.multiMasterUriTest
Error: 8.734 [ERROR]   Run 1: FileSystemUriIntegrationTest.multiMasterUriTest:76->testConnection:90 » Timeout
Error: 8.734 [ERROR]   Run 2: FileSystemUriIntegrationTest.multiMasterUriTest:76->testConnection:90 » Timeout

alluxio-bot, merge this please


[WIP] Dynamic hooks

Thanks for this project!
This PR deals with #851. Pre and post python hooks become modules that implement a hook function. Generation directory and full context are passed as arguments, e.g.
def hook(path, context):
    context['cookiecutter']['some_key'] = 'abc'

Tell me if you're okay with this kind of code injection, if so I'll try to push a complete PR that does not break old hooks

Alternatively I also implemented a version that json.loads() stdout of scripts and merge it into context['cookiecutter'].

Is there a chance we have such pre/post-render hooks that can change the context one of these days. I'll work around this with custom markup placeholders that are replaced in post_gen_project.py by my own computed text (including user name, actual date, computed paths, ...). It's dirty, noisy and slow but it works.

ping @audreyr @hackebrot
The CI looks broken ERROR: arrow requires Python '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*' but the running Python is 3.4.6

Could be done through extensions.


Reindex objects

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Decided to merge it for now and then adjust internals.


Feature/394 get hub site data

Implemented command, test and docs.

Thanks! I'll complete the review of the PR shortly!

Merged with a couple of changes:

removed unnecessary getRequestDigest since we're issuing a GET request
fixed tests that weren't corresponding to the SharePoint API REST responses
adjusted the output not to return the raw odata.null value
added telemetry for the optional forceRefresh option
synced the docs in the md page with the command help

Overall, well done for a first contribution. Appreciate your help! 👏

Merged manually. Once again, thanks! 👏


Move from duckdb-node to duckdb-npm bucket

Fixes https://github.com/duckdb/duckdb-node/issues/8

@carlopi thanks does this bucket already exist?

Superseeded by https://github.com/duckdb/duckdb-node/pull/49


Post-deploy task for AzureRmWebAppDeploymentV4 does not work with WEBSITE_RUN_FROM_PACKAGE=1 setting

Required Information
Question, Bug, or Feature?
Type: Bug
Enter Task Name: AzureRmWebAppDeploymentV4
Environment

Server - Azure Pipelines or TFS on-premises? Azure Devops

Agent - Hosted or Private: Private / Ubuntu

Issue Description
When deploying to App Service, we want to run some post-deployment scripts. We are using the WEBSITE_RUN_FROM_PACKAGE=1 flag for faster delivery. However, when we enable that, even though our app works, the app zip is not mounted to /home/www/siteroot in Postdeploy stage.
I verified this by running ls in /home/www/siteroot folder as part of the postdeploy script and the only file there seems to a hostingstart.html file.
Task logs
2019-09-26T19:10:25.6226058Z Successfully deployed web package to App Service.
2019-09-26T19:10:25.8910039Z Updating App Service Application settings. Data: {"SCM_COMMAND_IDLE_TIMEOUT":"1800"}
2019-09-26T19:10:26.5686845Z Updated App Service Application settings and Kudu Application settings.
2019-09-26T19:10:27.1152526Z Executing given script on Kudu service.
2019-09-26T19:10:27.8793087Z Standard output from script:
2019-09-26T19:10:27.8793258Z hostingstart.html (Output of `ls`)
2019-09-26T19:10:27.8793373Z /home/site/wwwroot (Output of `pwd`, to ensure we are in the right folder)

I think the issue lies in Kudu, because as an alternative, I tried to run our post-deploy script with Kudu's REST API, however was not able to do that since the filesystem observed with Kudu is as if WEBSITE_RUN_FROM_PACKAGE=1 is not in effect.
See https://github.com/projectkudu/kudu/issues/3041 on Kudu repo.

Run From Package makes wwwroot read-only, so you will receive an error when writing files to this directory.
Reference doc: https://docs.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package

Thanks for the response @SumiranAgg
In this case, I'm not trying to write anything, I just want to read the contents so that I can execute some scripts that write to the db hosted on Azure MySQL. The issue is the output of ls shows as if the .zip file is not mounted to wwwroot.
Do you have any ideas what might be wrong? Kudu seems to see things from a different lens from App Service when that flag is set.

@ustun I am closing this thread, as you have already taken it up on kudu GitHub issues, which is the right place for the same.
Please feel free to re-open if required.


Changed Assimp binding to Silk.Net.Assimp

PR Details
Changed the Assimp native binding to Silk.Net.Assimp.
Description
Changed the Assimp native binding to Silk.Net.Assimp and converted the importer to a native C# library. I have also converted the Stride.Importer.Common library to a native C# library as it contained no native code.
This is a WIP PR and it currently lacks some of the material import code, otherwise it's close to a 1 to 1 conversion of the previous Assimp importer.
Motivation and Context
This change allows us to remove much of the C++/CLR code used by the asset compiler and brings us one step closer to running the asset compiler on non windows systems.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Things left:

Complete material importer
Test skeleton / animation importing
Clean up code / "csharpify" it where appropriate
Maybe fix some todo's from the old importer, but might be better to push these in other PR's later on

I got to a point where assimp loads a gltf mesh, albeit very broken, will continue to work on it.

looks like a vertex declaration issue

Did you try the assimp loading flags, for example FlipWinding? It's important to check the intended coordinate system for a mesh and convert it to strides coordinate system... If the handedness changes, the winding has to be flipped, and/or the normals...

Will check this out, it should all match the existing code base just moved to C# from C++, but quite possible that I made some errors when converting : ) If it matches the existing code base then I would prefer to fix stuff in a later pass.

Sure! Those are only suggestions, I've only tested gltf.
And yeah you're right, I'll try the other file formats before focusing on gltf!

Tested gltf models from https://kaylousberg.itch.io/kaykit-dungeon seems to be working, skeletal meshes import but the skeleton itself is correct, bone weights looks fine though as mesh is correct if I switch to skeleton imported from FBX instead. Will have to check if the issue exists in the old assimp importer or not : )

FYI A lot of this code doesn't seem Stride-specific. It's an ongoing issue that the C API that we bind to is pretty thin, and isn't easy to work with. As such, if you'd like feel free to contribute some of the wrappers you've made back to Silk.NET!
Issue: dotnet/Silk.NET#249

FYI I had to make 2 commits to make this work on my fork:
https://github.com/phr00t/FocusEngine/commit/f8d2683e2b566f23b79d6ab19eb3999ce7f4b555 <-- this fixes counting UV channels
https://github.com/phr00t/FocusEngine/commit/3111c241d41d4150cc17a8241749703cc1c956b7 <-- this allowed my game assets to be built (patches Assimp64.dll missing errors).
Unsure this is the best way to fix these things, but now this appears usable.

@Eideren Please close this since my PR based on Johan's work was merged 😊

Thank you @johang88 for the initial work


数据集中的公式部分，有部分定位不准确，我觉得这部分是脏数据，有没有什么方法可以过滤掉这部分

两张图片是在sample某一张图片的ann.jpg和ari.jpg对应的部分截图

Hi, this kind of coordinate shift naturally occurs in PDFMiner and hardly to be avoided.

Is there a way to filter by font or cid symbol？

Have you solved the problem？

Up ! Am I right if I say that this render the full dataset completely useless ? Or does this affect only a small part of it ?

@VikingKang @ltss1988 @Bonjour123
This problem affects only the equation, and hard to filter. These tokens seem to cover other tokens in the rendering, but they will not affect the actual use.

Well, if so can you help me understand why I need to apply some random horizontal dilatation to make the bounding boxes match ?
Here are some randomly picked examples:

1.tar_1401.0001.gz_infoingames_without_metric_arxiv_0
1.tar_1401.0001.gz_infoingames_without_metric_arxiv_24
1.tar_1401.0007.gz_hhmerge_3

I first thought of some bugs in the visualisation implementation, but I get the same problem using both PIL (red) and cv2 (blue).

@liminghao1630 @VikingKang @ltss1988  Don't you have the same problem ?

#19 @Bonjour123


api-management-custom-widgets scaffolder@beta3 & tools@beta2 release

just setting a release date

API change check
API changes are not detected in this pull request.


Certificates in Java Key Store are not loaded automatically in App Service on Linux

Here in this documentation says "By default, any public or private certificates uploaded to App Service Linux will be loaded into the respective Java Key Stores as the container starts", however in my case I needed to add a startup script and some Application settings in the App Service in order to achieve this Key Store cert load because in containers, data is only persistent a /home and after any restart, this data was lost. At the end, this process was not automatic as the article said, and this should be specified here.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 80721d46-351f-8643-7439-e7e903d56c9a
Version Independent ID: 7dc8d5f1-8a5e-9301-98de-cedd07c61f4d
Content: Configure Linux Java apps - Azure App Service
Content Source: articles/app-service/containers/configure-language-java.md
Service: app-service
GitHub Login: @bmitchell287
Microsoft Alias: brendm

@richardlm57 Thanks for the feedback! We are currently investigating and will update you shortly.

@richardlm57 Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@richardlm57 Could you share the name of your site?

@JasonFreeberg app-cc-confmgr-qa-01

Closing due to lack of response. Please reopen or file a new issue if you are still seeing problems. Thanks! #please-close


Create github pages for documentation

Asciidoctor documentation parts rendered as html output shall be available as github pages.
https://pages.github.com/
Decided to use master/docs variant because easier to maintain (master is always leading branch so documentation is always valid)

Available now at https://daimler.github.io/sechub/

Hmm. Unfortunetly documentation generated HTML pages are using local pathes ... So no image is shown at all in sechub pages. Must be chagned/fixed.


Migrate /product-design-sprint/guide/prototype

https://thoughtbot.com/product-design-sprint/guide/prototype

[x] Merge anything we want to preserve into the new guide
[ ] Add redirect to thoughtbot.com

Redirect adding in https://github.com/thoughtbot/thoughtbot.com/pull/2674

I confirmed there was no content that needed to still be brought over.


Support "out_name" in input types

GraphQL-Core supports an out_name for input types which is used by Graphene for passing parameters with transformed names to Python (because Python likes snake_case instead of camelCase).
GraphQL-Core-Next should support a similar functionality that can be used by Graphene.

This is now fully supported and works the same as in GraphQL-core.

Is there a way to use this feature with an SDL-first approach?
I'm using build_schema to get my schema from the SDL, in addition with resolver methods on my root_value, and I would prefer my resolvers to get snake case instead of camel case.

You will need to patch the schema setting the out_names to the input fields. Something like this will probably do:
from graphql.pyutils import camel_to_snake

for field_name, field in schema.query_type.fields.items():
    for arg_name, arg in field.args.items():
        arg.out_name = camel_to_snake(arg_name)

Thanks for the tip, I'll try this ASAP!


Fix a flaky wget issue.

Description
In b/329297378 and b/329295948, we have seen an error:
[2024-03-11, 14:06:30 UTC] {gke.py:116} INFO - pt-nightly-resnet50-mp-fake-v100-x2x2-9jhn2-1-6x5j8] --2024-03-11 14:06:30--  https://github.com/pytorch/xla/archive/refs/heads/master.tar.gz
[2024-03-11, 14:06:50 UTC] {gke.py:116} INFO - pt-nightly-resnet50-mp-fake-v100-x2x2-9jhn2-1-6x5j8] Resolving github.com (github.com)... failed: Temporary failure in name resolution.
[2024-03-11, 14:06:50 UTC] {gke.py:116} INFO - pt-nightly-resnet50-mp-fake-v100-x2x2-9jhn2-1-6x5j8] wget: unable to resolve host address ‘github.com’
[2024-03-11, 14:06:50 UTC] {gke.py:116} INFO - pt-nightly-resnet50-mp-fake-v100-x2x2-9jhn2-1-6x5j8] gzip: stdin: unexpected end of file
[2024-03-11, 14:06:50 UTC] {gke.py:116} INFO - pt-nightly-resnet50-mp-fake-v100-x2x2-9jhn2-1-6x5j8] tar: Child returned status 1
[2024-03-11, 14:06:50 UTC] {gke.py:116} INFO - pt-nightly-resnet50-mp-fake-v100-x2x2-9jhn2-1-6x5j8] tar: Error is not recoverable: exiting now

for 2 days (03/11 and 03/12). We didn't have seen it before and it recovered again on 03/13. I see 2 options:

using wget: per this so, we can either retry on the failure of wget or do wget --inet4-only
using git clone with --depth 1 so we don't have to download the whole git history, which is the intention of using wget previously.

Option2 seems to be more stable, meanwhile not have to download the whole git history.
@will-cromar  please let me know what you think.
Tests
Triggered the GPU multi-host tests
Instruction and/or command lines to reproduce your tests: ...
List links for your tests (use go/shortn-gen for any internal link): https://screenshot.googleplex.com/8uEm7p4TFjKgW49
Checklist
Before submitting this PR, please make sure (put X in square brackets):

[x] I have performed a self-review of my code.
[x] I have necessary comments in my code, particularly in hard-to-understand areas.
[x] I have run one-shot tests and provided workload links above if applicable.
[x] I have made or will make corresponding changes to the doc if needed.

Thanks for the review!


Can the user control the progress bar?

Hello, I was wondering if it was possible to allow the user to change the value of the progress bar himself by clicking on where he wants as for the basic progress bar?

No there is no such functionality unfortunately; you have to get the position of mouse click and set it yourself.


adding option to preserve element ordering

Added option preserve_element_order to preserve the order of elements when round tripping an xml document.
fixes #2

Thank you @HassanAkbar !


Oracle Database state store as stable

Is something planned to certify the Oracle Database state store component as stable ?

Nobody is actively working on writing the required conformance and certification tests for this. If someone wants to contribute this they can - which then would make the component stable. It's now too late for Dapr 1.14 however, so earliest release could be 1.15.

By the way, the trickiest part here is finding someone who sponsors an Oracle Database server the Dapr project can run integration tests against very 8 hours, and also on demand at maintainer discretion.


Some build.zig cleanup advice for the Emscripten parts.

Further down this thread is some advice on how to better wrap the calls to emcc and emrun:
https://discord.com/channels/605571803288698900/1240325331521503242

Fixed via https://github.com/floooh/sokol-zig/pull/70


[otbn, rtl] Fix X-propagation issue in prefetch stage

When executing near Xs in imem it's possible for Xs to be received on the incoming imem data. The prefetcher looks at the incoming data to see if its a branch instruction.
Previous to this change this branch check took priority over a check related to looping which altered the request going to imem. So when the incoming imem data was X, when simulation propagated Xs though ifs we end up with an X on the imem request address.
With this change the check for the branch happens regardless of whether or not the looping related logic activates and the branch logic itself does not alter the imem request so it avoids generating Xs on the external (to OTBN core) imem request interface.
Draft PR for as I don't think this is an essential fix. When running a regression I'm seeing some new failures though I think they were hidden behind previous X check failures (overall pass rate is similar). Further investigation should be done before merging this.
Fixes https://github.com/lowRISC/opentitan/issues/21658 along with https://github.com/lowRISC/opentitan/pull/22115

Are we essentially just reversing the order of the last two cases in the if/else list?

Not quite. Previously the first (the insn_is_branch check) of those cases took priority over the second (the loop related one) now they sit inside one else as independent so both their if bodies can run or just one or neither.

Oh, I think I understand now. Before this commit, the logic was something like:
if (!insn_fetch_req_valid_raw_i) A;
else if (insn_prefetch_fail) B;
else if (insn_is_branch(...)) C;
else if (xxxx) D;

With this commit, I think the structure becomes:
if (!insn_fetch_req_valid_raw_i) A;
else if (insn_prefetch_fail) B;
else {
if (xxxx) D;
if (insn_is_branch(...)) C;
}

I think the behaviour is now slightly different (even without Xs), because we might have a situation where both xxxx and insn_is_branch(...) are true. Before this patch, we'd get behaviour C. After this patch, we get C; D.
I guess this makes perfect sense so that we properly handle the situation where xxxx is true and insn_is_branch(...) is X.
But the code is getting a bit hard to understand! Can't we pull the stuff that controls imem_rvalid_kill_d and insn_prefetch into its own always_comb? That way, the fact that it won't mess up imem_addr_o becomes obvious.

But the code is getting a bit hard to understand! Can't we pull the stuff that controls imem_rvalid_kill_d and insn_prefetch into its own always_comb? That way, the fact that it won't mess up imem_addr_o becomes obvious.

I did actually try this and it generated a large number of errors. I think under the first two cases of the big if, these ones:
https://github.com/lowRISC/opentitan/blob/72db4927cabfec0adec8123b429e2ace0fb2cc1c/hw/ip/otbn/rtl/otbn_instruction_fetch.sv#L329-L336
There's at least some times you don't want to kill an incoming instruction immediately after a branch, though I didn't really investigate the details. So your new always_comb would need to repeat checking these conditions and only do the prefetch kill if they don't occur. So I'd rather have it all in one place so if you alter the top two conditions you don't need to to do it in two separate places.

Oh, I see. In which case, never mind :-) Thanks for explaining carefully.


how to use

Sir, how to use these codes with my data to compute the cross correlation?

Hello this repository stores the code used to create this paper: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2018GL077706 I recommend using an actively managed package for ambient noise cross correlation such as:
msnoise: http://www.msnoise.org/
noisepy: https://github.com/mdenolle/NoisePy
seisnoise: https://github.com/tclements/SeisNoise.jl


peerDependency for react-pdf incorrect

Hi there,
When I try to install react-pdf-html into a project that has the latest version of react-pdf installed, I get the following notice:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [...]
npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@react-pdf/renderer
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @react-pdf/renderer@">2" from<EMAIL_ADDRESS>npm ERR! node_modules/react-pdf-html
npm ERR!   react-pdf-html@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

Should your peerDependency not have the same notation as the other dependencies, like ^2.0.0?

I'm not seeing that issue. I just get:
+<EMAIL_ADDRESS>added 4 packages from 39 contributors and audited 1695 packages in 8.641s

What version of Node are you running?

I was able to reproduce this with Node 16. Please try again with v1.1.6

Could anyone please share the peer dependency of react-pdf-html for<EMAIL_ADDRESS>?


State support for & test against python 3.8

This is a minimal commit, but hopefully should make it clear to users that we now support this version.
I assume we're happy with an extra travis job for this.

Closing as I just merged the exact duplicate #561. :)


Dataset Reranking

Description
These are changes for Automatic Reranking of Datasets + changes for updating the dataset_index file.
Reranking Changes
dataset_description_retriever.py changes:

Load retrieved datasets from the generated dataset_index file (if it exists!) and process load upto 5 configs, chosen at random. Use these datasets for reranking
Added function canonicalize_dataset_automatically to replace canonicalize_dataset_using_cli. Currently kept both.
[Minor]Generally use this dataset dict everywhere instead of separate variables (Eg in col selection, ccanonicalize_dataset_using_cli )
[Minor] Have dataset retriever return just dataset names for cleaner processing elsewhere
Added functionality for only loading upto 3k rows - otherwise this module would take really long to run for large datasets (like amazon_polarity)
Added functionality for using gated datasets only if the users wants to (https://github.com/neulab/prompt2model/issues/371)

reranking_prompt notable points:

Currently using incontext learning
Even without incontext learning, dataset reranking prompt is 4k-5k by itself (maybe more in the future because right now reranker has 8-15 datasets instead of 25 unique dataset index)
so we need to use LLMs with context length 16k for dataset reranking. to run
Response expected to return in the format (dataset_name, config_name, confidence)

Tests:

We use a tiny dataset_index_w_configs.json file for mocking HuggingFace calls
Added 2 tests for reranking
Mocked reranking, and updated changes to mock canonicalize_dataset_by_cli (with canonicalize_dataset_automatically)

Other Addtions:

Parsing function for reranker prompt.

Evaluation of Reranking
Currently I have done qualitative eval, along with running on select tasks (linked here) -  there seems to be a strong inherent affinity towards either popular datasets or datasets ranked num 1 - but the "confidence" parameter helps here. I played around with minor Chain of Thought prompting, which I think helped but results were inconclusive
I also plan to run reranking across BB lite to see the difference there
Discussion

I'm currently asking it to return confidence in the returned dataset - it return low confidence decent amount of times, but there are probably better ways to do this (eg using log probs)
Let me know if more tests are required, happy to add
Future TODOs include using the tags from HF for reranking as well - this would require analysing the tags a bit because some dataset have a really large number of them

Dataset Index File Changes:
These are changes for retrieving the dataset in real-time from HuggingFace, which takes 7-10 mins. [now takes a few seconds]
Created its own folder in dataset_retriever.
Contains the light preprocessing steps (preprocessing.py) for the datasets (where we try to filter out as much as possible before heavy processing) followed by the heavy processing (retrieve_dataset_info_with_configs). Light preprocessing was expected to not have any API calls/multiprocessing.
The flow of the heavy processing is as follows

Iterate through the dataset, and check if it is valid or not using API.
Get all config information for a dataset: Load a streaming version of the dataset and if it is taking too long to load, or the columns contain an Image/Video fields skip the config. Flatten the dataset at this level itself (streaming datasets don't have huggingface support for this, so I have implemented this)
All this is implemented in a try catch block incase loading the dataset throws an error (eg dataset requires additional pip install of libraries, cant be streamed etc)

The rest of the code is just multiprocessing (parallelyl processing chunks of datasets, writing them to temp files, and merging the temp files in the end)
Since this is code that runs one time, I didn't refactor it too much. Please let me know if I should!

Hi @ritugala  I can take another look when you've had a moment to finish the above revisions and fix the CI!


MSDKUI-2289: Update documentation

Xcode, Swift and CocoaPods versions in Docs updated.
Some Markdownlint warnings fixed.
Signed-off-by: Krzysztof Hubaczek<EMAIL_ADDRESS>

Codecov Report

Merging #183 into master will decrease coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #183      +/-   ##
==========================================
- Coverage   87.41%   87.27%   -0.14%
==========================================
  Files          89       59      -30
  Lines        5155     3199    -1956
==========================================
- Hits         4506     2792    -1714
+ Misses        649      407     -242

Flag
Coverage Δ

#ios
87.27% <ø> (-0.14%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

MSDKUI_Demo/ExtensionArray.swift

MSDKUI_Demo/LocationBasedViewController.swift

MSDKUI_Demo/GuidanceDashboardViewController.swift

MSDKUI_Demo/ExtensionNMAMapView.swift

MSDKUI_Demo/OptionPanelViewController.swift

MSDKUI_Demo/AppDelegate.swift

MSDKUI_Demo/RouteViewController.swift

MSDKUI_Demo/ExtensionBundle.swift

MSDKUI_Demo/IconButton.swift

MSDKUI_Demo/AboutTableViewDataSource.swift

... and 20 more

Continue to review full report at Codecov.

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