Connection closed by foreign host.

Hello,
Whenever I try to run script/install I get

Uploading binaries...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 81739    0     0  100 81739      0   308k --:--:-- --:--:-- --:--:--  309k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  242k    0     0  100  242k      0   580k --:--:-- --:--:-- --:--:--  581k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1284k    0     0  100 1284k      0   807k  0:00:01  0:00:01 --:--:--  807k
Connection closed by foreign host.
wpa_supplicant installed.

and it is the Connection closed by foreign host. that worries me.
Then I try to run script/install ... anyways but at the end of that command as well it says Connection closed by foreign host.
What does this error mean? How should I try to fix it?

Mine is the same, anyone has a solution?

i havd the same. workaround:
using the instructions provided here to use adp push to upload files
http://ardupilot.org/dev/docs/building-for-bebop-2.html

@tnaegeli  can you  see more details for this problem

I had the same problem, perhaps it is because I am trying to connect the Parrot to my University's WiFi, but I don't really know.


recursively displays an error message upon start of atom.

version 0.3.0 oao not installed.

Same issue.

@arjankuijpers are you on OSX? Can you provide a screenshot and/or full stack trace?


[Bug]: SQL editor code auto completion always includes code snippets

ODC version
odc430
OB version

What happened?

What did you expect to happen?
Does not include code snippets during automatic completion
How can we reproduce it (as minimally and precisely as possible)?
input   SELECT * FROM oceanbase.
Anything else we need to know?
No response

fixed in dev-4.3.1

pass


Get help to open new tab with url

@evegufy  Kindly let me know your input on the new URL that I have introduced in env file.


Can not set HatchPattern line.Angle and Offset

I used ACadSharp to create a CAD document, and in the code I manipulated the Hatch object and filled it with the appropriate symbols. Since ACadSharp does not have built-in symbols such as ANSI31, I created a new HatchPattern object called "ANSI31". However, I need to assign values to the Angle and Offset properties of this Pattern. hatch.Pattern = new HatchPattern("ANSI31");
hatch.Pattern.Scale = 10;
PatternLine line = new PatternLine();
line.Angle = 0.7853981633974;
line.Offset = new XY(-0.2245064030267288, 0.2245064030267288);
However, these values are internal and cannot be modified in the code, so it might be worth considering the following options:

Supporting built-in symbols, which can be found in the dxf provided by QCAD, which is based on LibreCAD/librecad/support/patterns/.
Allowing write access to these properties.

Hi @sungaoyong
This properties should not be marked as internal, I'll make the change to fix them.
Thanks for the report!


Consider ways to build website

For now we will build content in markdown files. Consider whether to then use Quarto to build website or another tool, e.g. https://www.mkdocs.org/.

Thanks for looking into mkdocs, Atharva. You're absolutely right. I've put together a test with the GitHub actions file.
We can either build to gh-pages or into main. I suggest the former so we keep the main branch clean. Someone downloading a release probably doesn't need to have the build website.
https://github.com/jamestripp/mkdocs_website_example
https://jamestripp.github.io/mkdocs_website_example/
@StarTrooper08 , I would be happy for you to try this out on a branch. I suggest we use the Read the Docs theme and port across the existing documentation you have put together.

You could probably add a bash command into the github action. Something like
sed -i '1i new text' <(sed '1d' README.md) > docs/index.md

Actually, simpler than I thought. You can just cat to docs/index.md
name: build_site on:   push:     branches:       - master        - main permissions:   contents: write jobs:   deploy:     runs-on: ubuntu-latest     steps:       - uses: actions/checkout@v3       - uses: actions/setup-python@v4         with:           python-version: 3.x       - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV        - run: cat README.md > docs/index.md       - uses: actions/cache@v3         with:           key: mkdocs-material-${{ env.cache_id }}           path: .cache           restore-keys: |             mkdocs-material-       - run: pip install mkdocs-material        - run: mkdocs gh-deploy --force

This is now implemented in #64 and #65, deployed at https://contributor.r-project.org/r-dev-env/


Automatic announcement addresses

I thought this might be valuable as a config option to have it automatically compute the announcement addresses, in addition to the manual array.
You can see what I have done at https://github.com/LumeWeb/portal-plugin-ipfs/blob/ee574256baca31afc3eb6a0b354df30c6aef02af/internal/protocol/ipfs/node.go#L303

We will probably not add this. fsd is designed to be run as infrastructure where choices like this are better to be explicit.

@pcfreak30 speaking of which, any reason not to import the ipfs package from here. It looks like that file is a copy-paste of an older version with some minor additions. A wrapper would have gotten you the same effect with less maintenance overhead.

@pcfreak30 speaking of which -- any reason not to import the ipfs package from here? It looks like that file is a copy-paste of an older version with some minor additions. A wrapper would have gotten you the same effect with less maintenance overhead.

I may adapt in the future, but at the time, it was not obvious how things would turn out in design.


Element Template for Connector

As Dev, I want to create an element template for a service task which is implemented as connector (i.e. Implementation = Connector). Regarding this, I need to bind a string to 'camunda:connectorId'. Additionally, I want to specify the input/output mapping for the connector.
<bpmn:serviceTask id="connector-1" camunda:modelerTemplate="connector-template">
      <bpmn:extensionElements>
        <camunda:connector>
          <camunda:inputOutput>
            <camunda:inputParameter name="in">in</camunda:inputParameter>
            <camunda:outputParameter name="out">out</camunda:outputParameter>
          </camunda:inputOutput>
          <camunda:connectorId>connector-id</camunda:connectorId>
        </camunda:connector>
      </bpmn:extensionElements>
    </bpmn:serviceTask>

Is this possible with current property bindings?

@nikku do you see any blockers for this feature?  We are looking at adding some resources to do a PR, but just wanted to check if you foresee a blockers ?

Nope, no blockers. Let's just discuss the specifics (what you'd actually like to template, what should be editable by the modeling user / citizen developer) before you start working on the PR.

Sure.
So easy use case:  http-connector
Connector's ID and its Input and Output mappings:
So that instead of having to manually populate such as the following, we can use a template.

So using the template would configure the http-connector for the user based on the specific template.
Similar to the Mail Template example, additional template fields could be used to populate input variables for specific configurations that the user is making. Example: A http-connector to look up the weather in a City, and the template field allows to type a City's Name, vs another template what uses the same web service but is configured to look up the weather for all cities in a provided country.

@nikku thoughts on this?

Sorry for the late response.
No additional thoughts. Exactly what we'd like to see, too.

@nikku
are you good with a format such as this:
[
  {
    "name": "Http-Connector Test",
    "id": "http-connector-test1",
    "appliesTo": [
      "bpmn:ServiceTask"
    ],
    "properties":[
      {
        "label": "My URL",
        "description": "My URL",
        "type": "String",
        "binding": {
          "type": "camunda:inputParameter",
          "name": "myURL"
        }
      }
      ],
    "scope":[
      {
        "scope": "camunda:connector",
        "properties":
          [
            {
              "label": "Implementation Type",
              "type": "String",
              "editable": false,
              "binding": {
                "type": "cammunda:conector",
                "name": "http-connector"
              }
            },
            {
              "label": "url",
              "type": "String",
              "value": "httpMyUrl",
              "binding": {
                "type": "camunda:inputParameter",
                "name": "url"
              }
            }
          ]
      },
    ]
  }
]

Where we introduce a "scope" array that controls where the properties are placed.

Any rational behind scope? Could it be used to customize event definitions in the future, too?

@nikku the scope was added because of the re-use of some of the xml elements such as camunda:inputParameter.  We needed a way to tell
            {
              "label": "url",
              "type": "String",
              "value": "httpMyUrl",
              "binding": {
                "type": "camunda:inputParameter",
                "name": "url"
              }

to be part of the Connector's Input/Output mappings and not the Activity's/tasks Input/Output mappings.
Can you give me some more info about the event definitions?

@nikku I try to develop the example given by @StephenOTT but I have some difficults to do this because my new elements (connectorId, inputParameter in the scope elements) are created as ModdleElement inside the values array instead of an attribute in the connector.
See the screenshot :

And here the function which read the scope elements :
https://github.com/GuillaumeSmaha/bpmn-js-properties-panel/blob/feature/add_scopes_snapshot/lib/provider/camunda/element-templates/cmd/ChangeElementTemplateHandler.js#L204
https://github.com/GuillaumeSmaha/bpmn-js-properties-panel/blob/feature/add_scopes_snapshot/lib/provider/camunda/element-templates/cmd/ChangeElementTemplateHandler.js#L133
Should I try to continue in this way ? or should I create types like camunda:connector, camunda:connectorInputParameter and camunda:connectorOutputParameter ?

@StephenOTT There is certain Camunda extensions such as class that can be put on nested children, such as MessageEventDefinition. Your proposal seems versatile to support assigning these in the future, too.

@GuillaumeSmaha looks good so far.
A few additional things to keep in mind:

The host element (connector) must be created via the command stack, too so that connector assignments are undoable.
We have extensive validation for element template JSON implace. With the scope implementation, you'd need to add quite a number of additional checks, too.

I've added one additional implementation notice.

@GuillaumeSmaha Do you mind filing a PR already? Makes it easier to discuss implementation related stuff.

cross-reference: https://github.com/bpmn-io/bpmn-js-properties-panel/pull/229

@nikku before we move forward on this any further, can you and the team provide some feedback on the PRs.
Thanks!

@nikku any further comment you can provide?
Thanks

Will have a look at it this week.

@nikku

Added review hints.

Closed via https://github.com/bpmn-io/bpmn-js-properties-panel/pull/229.

@GuillaumeSmaha Great work! 🎉
@nikku would the new feature be in the nightly of Camunda Modeler?

Yes, starting from tonight :wink:.


Config API final change

Implements #412.

I have added a test for migration: https://github.com/qooxdoo/qooxdoo-compiler/blob/cboulanger-config-api-final-change/test/test-pkg-migrate.js which uses qxl.apiviewer v0.1.14


test objects and handlers

Created simple unit test for legend handler.
Closes #432

I will wait with the review until the other PR is done cause I think it might affect this as well.

I just merged #429 into this branch and updated the changes here. Before merging this we need to approve and merge #429

I will wait to review this until we merge #429 and then merge the master into this (otherwise it's hard to see the changes).

I merged the master here, if the tests pass this is ready for review.

Codecov Report

Merging #434 (05ff949) into master (6cfca2d) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #434      +/-   ##
==========================================
+ Coverage   82.08%   82.13%   +0.04%
==========================================
  Files          70       71       +1
  Lines        7269     7288      +19
==========================================
+ Hits         5967     5986      +19
  Misses       1302     1302

Impacted Files
Coverage Δ

...s/unit_tests/visualization/test_legend_handlers.py
100.00% <100.00%> (ø)

tests/unit_tests/visualization/test_visualize.py
97.01% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


"get.email_data()" doesn't work when #search

I tried solved it, but I couldn't.
Function returns "Cannot read property 'undefined' of undefined". Does it exist any solution for this?

I've observed that this function doesn't work correctly "api.helper.get.visible_emails_pre()".
When it makes the url:
"else if(page.indexOf('search/') == 0) {
url += '&qs=true&q=' + page.split('/')[1] +'&search=query';"
It requires a extra field, called "&at=xxxxxxxxx" but I don't know the value of "at".

I fixed it with this lines in "api.helper.get.visible_emails_pre" function:
else if(page.indexOf('search/') == 0) {
at = $('input[name=at]').val();
url += '&qs=true&q=' + page.split('/')[1] +'&at=' + at + '&search=query';
}


config: fix Wechat global parameters

Closes #1808
APISecret and CorpID are validated after un-marshaling the full configuration.
https://github.com/prometheus/alertmanager/blob/a94088406ab7212acadaa01f4e86467ee1eac8f6/config/config.go#L378-L390

Hmm, Circle CI didn't kick in...


Morgue docker container

I have created a build of Morgue in docker, if interested you can find it here: https://github.com/ninoabbate/docker-morgue

Would love to see this with some better support for dynamic configuration (config via environment variables at runtime). I understand putting in an httpd.conf but most of the mougue config should be replaceable at runtime. htpasswd should also be optional and not hard code a password.
Is there a reason you're using your custom mariadb image and not the official one?
Would be great to get a single Dockerfile and docker-entrypoint.sh script in this repo and let a user BYO DB.
Also would be good for etsy to officially push it up to https://hub.docker.com/u/etsy/

Hi rothgar, ok I will try to do all of the changes required.

Just for reference, I don't work for Etsy or manage this repo. I would just be a consumer of the container (I came here looking to write my own) and those would be things I was going to put in my container.

I'd love to use this too. Will take a a look at your repo.

@zoidbergwill supercool 👍


Move SPI CI to SPI-operator repository

Moving the SPI CI to service-provider-integration-operator

@Michkov could you please approve this PR?

@mbharatk cannot approve yet since https://github.com/redhat-appstudio/service-provider-integration-operator/pull/110 is not ready -> no check has been started for pull-request that means that probably push also not work


Version 0.6.0 is not available on maven central

The latest version of licenser i.e. 0.6.0 is not yet available at https://mvnrepository.com/artifact/org.cadixdev.licenser/org.cadixdev.licenser.gradle.plugin.
Is this plugin still being published to maven central or has it been stopped?

No versions of licenser are published to Maven Central, just Gradle's repo.


prefer system spicyz (fix for Zeek v5) and don't unset C++ toolchain variables

build_command should check for system spicyz before falling back to spicy-plugin/build/bin/spicyz (allows plugin to work with Zeek v5.0.0's built-in spicy plugin, see https://github.com/zeek/spicy-ldap/blob/06690d5f82598b127a491314e314a6d17d1ca082/zkg.meta#L6=); and, allow customization of C++ toolchain via canonical environment variables (see https://github.com/zeek/spicy-ldap/commit/06690d5f82598b127a491314e314a6d17d1ca082)
Tested install with Zeek v5.0.0 (with integrated spicy) and Zeek v4.2.2 (with spicy deb and zkg-installed zeek spicy-plugin).
Signed-off-by: Seth Grover<EMAIL_ADDRESS>

@mmguero you rock, thank you!


Remove InterpolatedProperty from Technique.

InterpolatedProperty is only used in scope of interpolation
operators so can be removed from typings and "general" codebase.

Codecov Report

Merging #1332 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1332      +/-   ##
==========================================
+ Coverage   53.98%   54.04%   +0.05%
==========================================
  Files         264      255       -9
  Lines       23668    23436     -232
  Branches     5281     5247      -34
==========================================
- Hits        12778    12666     -112
+ Misses      10890    10770     -120

Impacted Files
Coverage Δ

@here/harp-datasource-protocol/lib/Techniques.ts
71.96% <ø> (ø)
:arrow_up:

...here/harp-datasource-protocol/lib/TechniqueAttr.ts
62.5% <ø> (-0.66%)
:arrow_down:

@here/harp-datasource-protocol/lib/Expr.ts
92.78% <100%> (+0.9%)
:arrow_up:

...atasource-protocol/lib/InterpolatedPropertyDefs.ts
70.45% <100%> (+13.78%)
:arrow_up:

@here/harp-datasource-protocol/lib/Theme.ts
100% <100%> (ø)
:arrow_up:

.../harp-datasource-protocol/lib/StyleSetEvaluator.ts
87.15% <100%> (-0.11%)
:arrow_down:

...rp-datasource-protocol/lib/InterpolatedProperty.ts
83.96% <100%> (-1.17%)
:arrow_down:

...e-protocol/lib/operators/InterpolationOperators.ts
93.79% <100%> (ø)
:arrow_up:

...re/harp-text-canvas/lib/rendering/TextMaterials.ts
42.85% <0%> (-34.07%)
:arrow_down:

...tasource-protocol/lib/operators/ObjectOperators.ts
91.42% <0%> (-1.17%)
:arrow_down:

... and 55 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 3b0c463...cb8e5b1. Read the comment docs.


Equation 27: Determinant of 4x4 Identity + some matrix

Equation 27: Determinant of 4x4 Identity + some matrix
The field of the matrix should be characteristic zero (includes integers If I understand correctly) since we need numbers like 3 6 and division by these numbers.
$$ \begin{aligned}
\text{det}(\mathbf{I}+\mathbf{A})= & 1+\text{det}(\mathbf{A})+\text{Tr}(\mathbf{A}) \
& + \frac{1}{2} \left[ \text{Tr}(\mathbf{A})^2-\frac{1}{2} \text{Tr}(\mathbf{A}^2 \right] \
& + \frac{1}{6} \left[ \text{Tr}(\mathbf{A})^3- 3\text{Tr}(\mathbf{A}) \text{Tr}\mathbf{A}^2+2 \text{Tr}(\mathbf{A}^3)\right]
\end{aligned}$$
The file mat_eq27_lib.lean contains the bulk of the rather ugly brute force proof. This includes lemmas:

trace_a_fin4: $\text{Tr}[A] = A_{00} + A_{11} + A_{22} + A_{33}$

trace_a_squared,
$$\text{Tr}[A^2] = A_{00}^2 + A_{11}^2 + A_{22}^2 + A_{33}^2 + 2A_{01}A_{10} + 2A_{02}A_{20} + 2A_{03}A_{30} +2A_{12}A_{21} + 2A_{13}A_{31} + 2A_{23}A_{32}$$

trace_a_cubed: $\text{Tr}[A^3] = $,
$A_{00} (A_{00}^2 + A_{01} A_{10} + A_{02} A_{20} + A_{03} A_{30}) +     $,
$A_{11} (A_{11}^2 + A_{01} A_{10} + A_{12} A_{21} + A_{13} A_{31}) +     $,
$A_{22} (A_{22}^2 + A_{02} A_{20} + A_{12} A_{21} + A_{23} A_{32}) +     $,
$A_{33} (A_{33}^2 + A_{03} A_{30} + A_{13} A_{31} + A_{23} A_{32}) +     $,
$A_{10} (A_{00} A_{01} + A_{01} A_{11} + A_{02} A_{21} + A_{03} A_{31}) +$,
$A_{20} (A_{00} A_{02} + A_{01} A_{12} + A_{02} A_{22} + A_{03} A_{32}) +$,
$A_{01} (A_{00} A_{10} + A_{10} A_{11} + A_{12} A_{20} + A_{13} A_{30}) +$,
$A_{30} (A_{00} A_{03} + A_{01} A_{13} + A_{02} A_{23} + A_{03} A_{33}) +$,
$A_{21} (A_{02} A_{10} + A_{11} A_{12} + A_{12} A_{22} + A_{13} A_{32}) +$,
$A_{02} (A_{00} A_{20} + A_{10} A_{21} + A_{20} A_{22} + A_{23} A_{30}) +$,
$A_{31} (A_{03} A_{10} + A_{11} A_{13} + A_{12} A_{23} + A_{13} A_{33}) +$,
$A_{12} (A_{01} A_{20} + A_{11} A_{21} + A_{21} A_{22} + A_{23} A_{31}) +$,
$A_{03} (A_{00} A_{30} + A_{10} A_{31} + A_{20} A_{32} + A_{30} A_{33}) +$,
$A_{32} (A_{03} A_{20} + A_{13} A_{21} + A_{22} A_{23} + A_{23} A_{33}) +$,
$A_{13} (A_{01} A_{30} + A_{11} A_{31} + A_{21} A_{32} + A_{31} A_{33}) +$,
$A_{23} (A_{02} A_{30} + A_{12} A_{31} + A_{22} A_{32} + A_{32} A_{33}) $

`det4': determinant of a 4x4 matrix in explicit form. $\text{det}[A] = $
$A_{00}A_{11}A_{22}A_{33} - A_{00}A_{11}A_{23}A_{32} - A_{00}A_{12}A_{21}A_{33} +$,
$A_{00}A_{12}A_{23}A_{31} + A_{00}A_{13}A_{21}A_{32} - A_{00}A_{13}A_{22}A_{31} -$,
$A_{01}A_{10}A_{22}A_{33} + A_{01}A_{10}A_{23}A_{32} + A_{01}A_{12}A_{20}A_{33} -$,
$A_{01}A_{12}A_{23}A_{30} - A_{01}A_{13}A_{20}A_{32} + A_{01}A_{13}A_{22}A_{30} +$,
$A_{02}A_{10}A_{21}A_{33} - A_{02}A_{10}A_{23}A_{31} - A_{02}A_{11}A_{20}A_{33} +$,
$A_{02}A_{11}A_{23}A_{30} + A_{02}A_{13}A_{20}A_{31} - A_{02}A_{13}A_{21}A_{30} -$,
$A_{03}A_{10}A_{21}A_{32} + A_{03}A_{10}A_{22}A_{31} + A_{03}A_{11}A_{20}A_{32} -$,
$A_{03}A_{11}A_{22}A_{30} - A_{03}A_{12}A_{20}A_{31} + A_{03}A_{12}A_{21}A_{30}$

det4_one_add_a: $\text{det}(I + A)$

trace_a_all_squared: (trace A) * (trace A)

eq_27_rhs_part1, eq_27_rhs_part2, eq_27_rhs, eq_27_before_last: lemmas to help break down the ugly computation and avoid deterministic timeouts.

Wow, that is rather brute force!
I wonder if it's easy to prove the more general Girard-Waring formula, which then recovers these as special cases.

Wow, that is rather brute force!
I wonder if it's easy to prove the more general Girard-Waring formula, which then recovers these as special cases.

Looks ugly:
$$ \Delta_A(\lambda)=\det(\lambda+A)=\sum_{r=0}^{n}P_r(A)\lambda^r $$
with
$$P_r(A)=\sum_{\pi\in\Pi(n-r)}(-1)^{|\pi|-n+r}\prod_{m=1}^{n-r}\frac{(Tr(A^m))^{\pi_m}}{m^{\pi_m}\pi_m!}$$
I don't think it will be easier than the brute force solution. But then my lean skills are still just rewrites!!

Do you think you can merge this one? I think it is quite limited compared to the other ones

Can you git fetch; git merge origin/master? I just fixed the github configuration so that it runs your code and checks it works!

That button is for CI, it's to stop random users mining cryptocurrency on my CI quota! I've hit the button now.

Can you merge master one more time?

One more press @eric-wieser :)

Once your first PR is merged I won't have to push the button any more.

Do you think you can merge this one? I think it is quite limited compared to the other ones

Yes, I think this is looking close to mergeable :). Thanks for isolating this into small chunk.
I'd certainly like to see the Girard-Waring version, but I'd be happy with a TODO comment about it and merging the brute-force version for now.
I think the only thing I'm not sure of right now is where mat_eq27_lib.lean should live. Perhaps for_mathlib/matrix/girard_waring.lean, with a note that it only actually contains one very contrived special case?

Anymore barriers to merge?

I've made a new lib folder. Thanks for that final golf, I was going to suggest removing eq27_before_last anyway!

Thanks :tada:

Thanks! That was a long one! See you on the next one


Links sparkjava to build so that it is published

sparkjava wasn't added to the root pom, so it never built, nor was
published.
This also uses standard formatting and fixes the naming convention on
the integration test so it isn't run twice.

will release brave 4.1.1 so that what we announced is actually available.


Datamesh

A few changes to fix the datamesh source objects. One change concerns schism @tomdurrant which is the removal of the time offset logic from the _filter_time() method (https://github.com/rom-py/rompy/compare/raf-data?expand=1#diff-1ea32bb20ed105e939a30996d7a70cd9dfa420c2328c750a2035be817fda18d9R372-L393). In order to achieve the same result now, the time buffer now needs to be specified as the number of seconds, instead of a multiplier for the timestep calculated from the data (https://github.com/rom-py/rompy/compare/raf-data?expand=1#diff-1ea32bb20ed105e939a30996d7a70cd9dfa420c2328c750a2035be817fda18d9L365-L368). Ultimately, the data filtering option probably needs some rethinking. Ideally we should be able to be more flexible and deal with longitude conventions, non-matching slices, etc.

Fixes https://github.com/rom-py/rompy/issues/90


Fix typo in docs

Since you have only one commit, you can also just do git commit --amend --no-edit --signoff and then git push -f <fork name>

In the interest of preventing a PR pile-up, I am adding a stale label.
We will either merge this PR in the next 7 days, or it will be automatically closed.

Thanks @TomChv and @gerhard, I think it should be good to go!


peekVar fix

Fixes #78
The test runner is a little problematic. With this test, and the previous implementation, it deadlocks and the process exits while still reporting a-ok (the subsequent tests don't run) 😱 . With the fix this test works correctly.
So maybe we should think about some better test machinery...
/cc @hdgarrood

@garyb please confirm that this works for Halogen (I tried it and it worked).

I've tested it a bit more with Halogen and it does indeed look good to me 👍

Alright, I've gone ahead and fixed up the weird error issues within Aff I was observing, and added a more resilient test. With this test I've confirmed for peekVar that @garyb's implementation resulted in a run time error, @hdgarrood's implementation resulted in a deadlock, and this implementation works correctly.
ping @garyb @jdegoes

Looks "good" to me! 👍

Same here, looks "great" to me! 😉 :shipit:

It would be super helpful for me if you could publish a release with this fix in.

@hdgarrood just made a release with it in now, v2.0.2.

Fab, thanks!


[Question]Is there a plan to support the security features?

Hi!
Just a question, as mentioned in the limitations,

The security features introduced in Apache Kafka 0.9 are not supported at this time.

Is there any plan on supporting the security features?
thank you!

This repo is deprecated and will be archived soon. Please see the latest version of Kafka or Confluent Kafka for DC/OS which supports far more features than the version in this repo does:
https://docs.mesosphere.com/service-docs/kafka/
https://docs.mesosphere.com/service-docs/confluent-kafka/
The former is based on the code in dcos-commons:
https://github.com/mesosphere/dcos-commons/tree/master/frameworks/kafka

Closing stale Issue.


Bug: day jumps to wrong index

When 31 of october is selected and the month is changed the day jumps to day 1 which is not intuitive

I have merged it. Appreciate your contribution!


@URL parameter and backup subdirectories

Currently backup to URL with Azure supports subdirectories - this is not currently implemented in the solution so all backup files are dropped into the root folder supplied as a parameter in the job (or default value).
Could this be changed so when a backup to an URL occurs to Azure, subdirectories are used in the same way as when backing up to disk?

I am looking into making the directory structure configurable. This would work for disk and URL.

I have a preview version where you can configure the directory structure. This works for disk and URL. By default it is backing up to sub-directories. You can download the preview version here.

This feature is available in the branch [feature-configurable_directory_structure].


If not maintained nor recommended, what is?

I'm new here and just saw #253 which doesn't bode well. There was no discussion around that PR, so there's no why; if this provider is not maintained nor recommended as a way to deploy to fly.io, what is? (For organizations who want to manage their infrastructure with IaC.) @catflydotio

Hi @antgel, it's not a satisfying answer, but we don't have an IaC story yet, so we recommend first-party tooling: flyctl and/or the Machines API.
More detail: https://community.fly.io/t/fresh-produce-volumes-endpoints-in-machines-api/14408/16


Name players Blinky/Inky/Pinky/Clyde/Pacman

As per the most recent change to the specification, there can only be 4 Ghosts in the game, and they should be named Blinky/Inky/Pinky/Clyde.
The PacmanRepository and GhostRepository will be reworked and combined so that the Pacman and each of the 4 Ghosts can be chosen and initialized by name.

Working on this with the branch named-players.

Tentative updated API documentation:
Player Names (New page)
A Player's name can be any of the following:

Pacman
Blinky
Inky
Pinky
Clyde

API Documentation for Players
Select a Player
Description
Selects a Player at the given location (represented by a latitude/longitude pair).
The Player should not have already been selected.
See the possible names for a Player.
Request
Method
POST
Mapping
/player
Headers

Field
Value(s)

Content-Type
application/json

JSON body
{
	"name" : "Inky",
	"location" : {
		"latitude" : 12345.54321,
		"longitude" : 54321.12345
	}
}

Response
Codes

HTTP Status Code
Meanings

200 OK
Selected Player successfully

400 Bad Request
Request body is incorrectly formed

404 Not Found
Player name is invalid

409 Conflict
The Player has already been selected

500 Internal Server Error
The server crapped itself

JSON body
{
}

Example cURL call
Deselects a Player
Description
Deselects the given player, allowing it to be selectable by another team.
Request
Method
DELETE
Mapping
/player
Response
Codes

HTTP Status Code
Meanings

200 OK
Deselected Player successfully

404 Not Found
Player name is invalid

500 Internal Server Error
The server crapped itself

JSON body
{
}

Example cURL call
The following has not been edited yet
Get a Ghost's location
Description
Returns the current location of the Ghost (identified by its ID) as a latitude/longitude pair.
Request
Method
GET
Mapping
/player/location
Response
Codes

HTTP Status Code
Meanings

200 OK
Retrieved Ghost's location successfully

404 Not Found
No Ghost with that ID exists

500 Internal Server Error
The server crapped itself

JSON body
{
	"latitude" : 135.79,
	"longitude" : 246.80
}

Example cURL call
Get all Ghosts' locations
Description
Returns a list of all Ghosts' IDs and locations, as latitude/longitude pairs.
Request
Method
GET
Mapping
/ghost/locations
Response
Codes

HTTP Status Code
Meanings

200 OK
Retrieved all Ghosts' locations successfully

500 Internal Server Error
The server crapped itself

JSON body
[
	{
		"id" : 11111,
		"location" : {
			"latitude" : 999.999,
			"longitude" : 888.888
		}
	},
	{
		"id" : 22222,
		"location" : {
			"latitude" : 777.777,
			"longitude" : 666.666
		}
	}
]

Example cURL call
Get a Ghost's state
Description
Returns the current state of the Ghost (identified by its ID).
See the possible states for a Ghost.
Request
Method
GET
Mapping
/ghost/{id}/state
Response
Codes

HTTP Status Code
Meanings

200 OK
Retrieved Ghost's state successfully

404 Not Found
No Ghost with that ID exists

500 Internal Server Error
The server crapped itself

JSON body
{
	"state" : "UNINITIALIZED"
}

Example cURL call
Get all Ghosts' states
Description
Returns a list of all Ghosts' IDs and states.
See the possible states for a Ghost.
Request
Method
GET
Mapping
/ghost/states
Response
Codes

HTTP Status Code
Meanings

200 OK
Retrieved states of all Ghosts successfully

500 Internal Server Error
The server crapped itself

JSON body
[
	{
		"id" : 11111,
		"state" : "ACTIVE"
	},
	{
		"id" : 22222,
		"state" : "CAPTURED"
	}
]

Example cURL call
Set a Ghost's location
Description
Updates the location of a Ghost (identified by its ID) to a new latitude/longitude pair.
Request
Method
PUT
Mapping
/ghost/{id}/location
Headers

Field
Value(s)

Content-Type
application/json

JSON body
{
	"latitude" : 12345.54321,
	"longitude" : 54321.12345
}

Response
Codes

HTTP Status Code
Meanings

200 OK
Changed Ghost's location successfully

400 Bad Request
Request body is incorrectly formed

404 Not Found
No Ghost with that ID exists

500 Internal Server Error
The server crapped itself

JSON body
{
}

Example cURL call
Set a Ghost's state
Description
Updates the state of a Ghost (identified by its ID) to a new latitude/longitude pair.
See the possible states for a Ghost.
Request
Method
PUT
Mapping
/ghost/{id}/state
Headers

Field
Value(s)

Content-Type
application/json

JSON body
{
    "state" : "READY"
}

Response
Codes

HTTP Status Code
Meanings

200 OK
Changed Ghost's location successfully

400 Bad Request
Request body is incorrectly formed

The given state was invalid or illegal

404 Not Found
No Ghost with that ID exists

500 Internal Server Error
The server crapped itself

JSON body
{
}

Example cURL call

@CtrlShiftGo | @pacmacro/android
Though this API is still under construction in a branch apart from master, the above specification is very close to the final product. If you like, you can begin to build your service to consume this REST API.

Completed in above-referenced merge request.
The wiki documentation has been updated accordingly.


Ecmascript 6/7 & Babel support

Hi!
Will flightplan have any support of ES6/Babel? Or is it possible to run flightplan programmatically?

Flightplan supports ES6. You can even pass flags known to v8 such as --harmony:
$ fly test --harmony

Alternatively you should be able to simply call the file flightplan.babel.js. This should automatically require babel if available.
Please let me know how this is working out for you.

Yes, it works, thank you


[WIP] Migrate ORM from OpenJPA to EclipseLink(Fineract 849)

https://issues.apache.org/jira/browse/FINERACT-849

@awasum, @vorburger, @Anh3h, @Sanyam96 your first impressions on the work done so will be of great help.

@xurror I think the PR is too large, making PR review daunting and would cause a lot of code conflicts. Can you break it down into smaller deliverables?

Ok. I'll create sub-tasks and open PRs for each.
I've already opened this https://github.com/apache/fineract/pull/932 as a first sub-task

I fear I've hit a stalement on this. I can't seem to make any progress. I get a consistent 500 server error. I was able to determine that data does not get persisted but no eclipselink is not throwing any error as of why it doesn't.
After streamlining and focusing my tests on a single test case(OfficeIntegrationTest), I was able to determine the server error is due to a null pointer exception at this line. but line does not persist any data. Probably the reason for the exception.
Any suggestions to workaround this will be very much appreciated.
FYI: @vorburger @awasum @maektwain @ptuomola @Sanyam96 @Anh3h

Good news. The JPA is actually able to read data from the DB. Which is actually proof that the connection to the DB is fine. Left with writing. I'd investigate further to try to find the source of the problem.

Additionally, thanks to @ptuomola I rethought my approach to weaving and figured I could do something similar to openjpa enhance. So we now have a task to weave classes, thus javaAgent is no longer necessary.

I'm taking a short break on this just to clear my head off a little bit. I'll be working on other issues in the meantime.
BTW, I've also started a thread on stackoverflow hoping to get some tips from eclipselink and spring JPA regulars.

This finally passes the build too. Hoping to get your reviews soon.

Wow. First of all, this is impressive. Congratulations.
I have some concerns that the bulk replace of save() by saveAndFlush() could actually lead to worse performance.
About the disabled tests, I'm wondering whether we shouldn't fix those before merging this... one of them in particular (FINERACT-1051) seems to have something to do re. some "Pre-Closure maturity amount" being suddenly different, and nother one is a failing SQL (FINERACT-1050) and the third seems to indicate regression with the scheduler (FINERACT-1048), which with much pain we just fixed... it seems to me that if we merge this PR now, we knowingly break Fineract again, no?
If in the meantime you already wanted to get a sub-set of this PR merged just to avoid future merge conflicts, e.g. those JpaSystemException (which is a Spring and not an EclipseLink specific class) you had to add could make a separate standalone PR which we could already merge before the rest of this (if you like, just a thought & suggestion).

I have another weird scenario going on here with persisting a LoanTransaction. In brief what happens is this;

LoanTransaction has a OneToMany relationship with LoanTransactionToRepaymentScheduleMapping
LoanTransactionToRepaymentScheduleMapping has in turn a ManyToOne relationship with LoanRepaymentScheduleInstallment.
When I hit LoanTransaction.save(loanTransaction), the LoanRepaymentScheduleInstallment get persisted, but the generated id of the persisted instance is not assigned to the corresponding column in LoanTransactionToRepaymentScheduleMapping so I repeatedly have this error:
"java.sql.SQLIntegrityConstraintViolationException: Column 'loan_repayment_schedule_id' cannot be null" which I believe means the id of LoanRepaymentScheduleInstallment is not added to LoanTransactionToRepaymentScheduleMapping hence tests fails.

This same error also applies to every other test that deals with writing LoanTransactions(there are about 16 of them).
I've tried a couple of things;

Used: CascadeType.ALL, CascadeType.PERSIST, FetchType.LAZY.
Also tried breaking down the transaction from a save to small for loops where I saved and assigned the ids manually and weirdly that didn't work either.

A bit of assistance with this will be very welcome. Perhaps there is something I'm not seeing.

Recurring deposits maturityAmount is acting moody with me. I think it's because of the total derived posted interest calculation. I tried to relate this with the work I'm currently doing(i.e. migrating JPA from OpenJPA to Eclipselink) but I failed to see a direct link between the 2 as the calculation seems to work once out of 10 tries. So I tried to follow up how this was calculated, but I failed there too, perhaps if I know how it's calculated I will better know how to approach or resolve this.
For a successful test, the total_interest_posted_derived must be 15.892500 but what I have most of the time is instead 0.547900.(I get 15.892500, once in a while but not constantly).
I will appreciate it if someone can crack this part of the code for me.

Weird story but I tried to look at the schedularjobs thing but they just started failing with the timeout as soon as I set up EclipseLink configuration without the saveAndFlush changes.


Umlauts in file names are not processed correctly

Umlauts in file names are not processed correctly. If you upload via direct upload, the filename with umlauts will be destroyed on saving. You will never get the right name back.
If you are using the Form Upload, the filename is saved correctly, but in the Content_Disposition header the name is unreadeble.

The GoBlobStore can now handle special characters in file names. However, on the opposite side, the headers must also be encoded according to RFC8187 (this is the current RFC).
The usual browsers as well as Postman etc. can probably do this.)
If the direct binary upload is used, the corresponding filename header itself must be encoded according to RFC8187. Only then will it work correctly.


Cannot Find Module

when importing an icon like import BarsSolid from '~~/assets/icons/bars-solid.svg' I get a TS warning saying Cannot find module '~~/assets/icons/bars-solid.svg' or its corresponding type declarations.ts(2307)
Icons are working but typing must be missing?

@Skylercrane23 i'm having the same problem and i have resolved setting at the end of the import directory with the follow suffix: ?component.
In the documentation there is the command for create, during local development, the types for the component but i don't think it is updated: pnpm dev:prepare

Awesome, yeah the ?component fixed it for me. Thanks!

Hey @Skylercrane23, in order to fix this TypeScript error you need to provide a type declaration to tell TypeScript how to handle SVG components. Here's an example:
// ./custom.d.ts

declare module '*.svg' {
  import type { DefineComponent } from 'vue'
  const component: DefineComponent
  export default component
}

I'll add this to the readme!


Support for AWS::CloudFront::Function and FunctionAssociations in CloudFormation template editor

This is a feature request to update the Toolkit's CloudFormation autocompletion/schema to work with AWS::CloudFront::Function and FunctionAssociations

We've updated the definitions used by the Toolkit. The next time you start Visual Studio, the Toolkit should download the updated definitions file, and these fields should no longer be classified as an error.


Improve Ansible idempotency.

Similar to what we just merged for archivist, the role to deploy the app
will no longer destroy the running app and trigger a build. Instead we
maintain the OpenShift objects, update them if necessary, and check if a
start-build is required on each run.
Several parameters in the template which user integers now fail to
process citing a "int32" error on OpenShift 3.7. Suspect related to:
https://github.com/openshift/origin/issues/3946. These parameters were
never customized so to work around they have been removed and just hard
coded. We can update the template and re-run ansible to adjust in
future, which would be required even to reprocess the template.

@sallyom sorry another one I kind of need your review on. :) No need to run, we will catch additional issues when we integrate into devenv. (PR incoming for that as well)


Troubleshooting Guide

Include steps on how to find a reload failed.
https://docs.nginx.com/nginx-ingress-controller/troubleshooting/troubleshoot-ingress-controller/
Explain how issues related to NGINX reloads
Explain NGINX high levels of the generated configuration and how trouble shoot it when things don’t work.


New: added error pages nala tests

Covers error page test cases (IDs: 17, 18, 19) defined in Sign In Tests
Before: https://stage--dme-partners--adobecom.hlx.live/channelpartners/?georouting=off
After: https://MWPW-163152-error-pages-tests--dme-partners--adobecom.hlx.live/channelpartners/?georouting=off

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.93%. Comparing base (86af99d) to head (94d5239).

Additional details and impacted files
@@           Coverage Diff           @@
##            stage     #160   +/-   ##
=======================================
  Coverage   81.93%   81.93%
=======================================
  Files          11       11
  Lines        3349     3349
=======================================
  Hits         2744     2744
  Misses        605      605

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Task description

Please use this branch for the task description.

@dburkhardt pending review from you before we merge this.


Made refreshClusters to re-draw markers in singleMarkerMode

Following issue #581, improved refreshClusters() method so that it detects singleMarkerMode and re-draws all passed markers as well, not only parent clusters. Took the opportunity to factorize code with _addLayer() method, creating a new _overrideMarkerIcon() method that re-styles the marker using the iconCreateFunction from clusters.
Added an extra test in RefreshSpec test suite to cover this case. Also re-factored it using it2 wrapper to avoid hanging test process.
Also created the singleMarkerModeSpec test suite to test singleMarkerMode option and included it into the new suite into spec/index.

Do we need to worry about a marker that is not in the cluster being passed in to the refresh method?
It would have its icon replaced I think based on a read of this change.

Hi,
Indeed there is currently no check that the passed markers really belong to the MCG.
In that case, the method would silently flag the parent clusters (if there are) as having a "dirty" icon, which will make them be re-drawn by the legitimate MCG when needed (but it will not immediately refresh the currently visible ones). Which is close to the "expected" behaviour, minus the temporary not refreshed visible clusters.
We should probably make a decision on whether we should check internally if the passed arguments are legitimate (and possibly ignore them silently), or if we simply charge the application developer of this step.
Another option would be to use a "static" function (like "L.MarkerClusterGroup.refresh") rather than an object method. It could easily determine the involved MCG's. That way, the application does not need to care about which MCG the markers belong to (if they belong to any).
What are your thoughts?

Sorry that's not what I meant.
I'm not too worried about that use case.
I mean if I make a new Marker, and don't add it to any MCG, then pass it to the icon refresh method, it will have its icon replaced with a (1) icon.
This probably isn't something we care about either though, but it would be nice to not happen

Oh ok you mean when the method is called while the singleMarkerMode is on?
Sorry I overlooked your comment.
Indeed you are right about what would happen in that case: icons are also re-drawn.
I agree the consequences are more worrying than the previous case, even if we would still blame the application developer... :-)
It could be worth adding hasLayer checks to avoid it. Will do shortly.

Should be good now.
Let me know if you find anything else.

Looks good thanks


Feature Detect All Parent Branches

Instead of basing our bump on the latest change detect all the branches
since the last tag

Would be nice if you edit the README to reflect the changes you made in the code in the How it works section


OptimizePrintPreview/EnablePrintPreviewOptimization explanation mentions no drawbacks, the mentioned restriction appears to be incorrect, and other questions.

The document states that if OptimizePrintPreview/EnablePrintPreviewOptimization is set to true, performance can be increased when using network printers or printer preferences are modified.

It seems that the document does not mention any drawback to this.   If there are none, then why would anyone want this optimization to be disabled?

Also, it has the following restriction:

If you use the QueryPageSettings event to modify printer settings, the performance of the PrintPreviewDialog control will not improve...

Looking at the reference source code PrintController.PrintLoopOptimized (referencesource), and comparing it to the PrintLoop method just above it, I believe it would be more accurate to say that the optimization is not applied if page settings are modified, not printer settings.  Perhaps there are other things using it that I did not find.

Also, it states that apps running on the .NET Framework 4.5.2 must use the EnablePrintPreviewOptimization setting, but when running on .NET Framework 4.6 or later versions, you can use the other version of the setting (OptimizePrintPreview).  It almost makes it sound like the older setting would still work.  Most systems likely have .NET Framework 4.8.1 installed on them by now.  If an app was compiled targeting 4.5.2, but is run on a machine that has 4.8.1 installed, then what setting should be used?

Is there no way to apply that setting via code?  Digging through the .NET reference source, it appears that is may not be possible.  I do see that if System.AppContext is used, it might be, but I have not found when that might be the case.  Perhaps because my application is targetting 4.5.2, I do not have access to System.AppContext, as it only applies to .NET Framework 4.6 and above.  We are currently working on moving to 4.8.1 as we have third party components that must be updated.

I greatly appreciate any feedback on this.
Thank you.

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

ID: def98a89-92a0-b9d2-2ba4-48e8b9171bbb
Version Independent ID: de0653c6-4e5b-f061-0a05-bfb8d1f3e638
Content: PrintPreviewDialog Control Overview - Windows Forms .NET Framework
Content Source: dotnet-desktop-guide/framework/winforms/controls/printpreviewdialog-control-overview-windows-forms.md
Product: dotnet-framework
Technology: dotnet-winforms
GitHub Login: @adegeo
Microsoft Alias: adegeo

@mdell-seradex That's a good question. It will probably involve some digging. I'll ping some folks.
@dotnet/dotnet-winforms Can someone answer this question?

Is there no way to apply that setting via code?

The app compat switch value is cached on the first access and is backed up by a static field. You have to set it the first thing on app start up. https://learn.microsoft.com/en-us/dotnet/api/system.appcontext.setswitch?view=netframework-4.8.1
I had not experimented with this value though.

It seems that the document does not mention any drawback to this

Drawback is a potential, though unlikely, compatibility break in case the app depended on reading printer data for every page.
For other questions I would need to look up sources

I believe it would be more accurate to say that the optimization is not applied if page settings are modified, not printer settings.

I see the root of the confusion here. Either way is accurate. The optimization is skipped when the "PageSettings" object is modified and that change is applied to the printer DevMod here - https://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Printing/PageSettings.cs,335 by calling https://learn.microsoft.com/en-us/windows/win32/printdocs/documentproperties.

If an app was compiled targeting 4.5.2, but is run on a machine that has 4.8.1 installed, then what setting should be used?

For application running on frameworks newer than 4.5.2, and 4.5.2 is out of support, so now this shouls always be the case, (no matter what the target framework is), use Switch.System.Drawing.Printing.OptimizePrintPreview app.config switch. The appSettings value had been removed from the codebase.

I take it then that the app's target framework is irrelevant, at least in this case.  The installed framework version is what matters.

I take it then that the app's target framework is irrelevant, at least in this case. The installed framework version is what matters.

yes

"modifying the PageSettings object which controls the print settings"

Maybe this is more accurate, but it crosses into the area where it's best to read source code to see exactly what happens, how PageSettings object control the "printer". I see the doc as an introduction to the feature.

Adding to Dec sprint as a reminder to read through this and see what doc work is involved in addressing this issue.


Ambiguous column name when same column is in two tables

Hello,
I'm trying to export certain columns from a join, but since a column is in more than one table, I'm using table aliases.
 EXEC sp_generate_merge 'actionXRole',   @disable_constraints = 1,   @delete_if_not_matched = 0,   @nologo = 1,  @include_use_db = 0,  @schema = 'dbo',   @debug_mode = 1,  @ommit_generated_always_cols = 1,  @cols_to_include = "'ActionXSecurityRoleid','asr.actionid','securityroleid'",  @from ='from dbo.actionXRole asr  inner join dbo.action a on a.actionid = asr.actionid  where a.name = ''CharismaManualDisbursement'''
I've specified @cols_to_include with an alias for asr.actionid but it's excluded from the end result.
I've used @debug_mode to see what's happening and the debug made me realize that the alias is not properly placed.
SELECT ' ' + CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) = 1 THEN ' ' ELSE ',' END +  '('+ COALESCE('N''' + REPLACE(CONVERT(char(36),RTRIM([ActionXSecurityRoleid])),'''','''''')+'''','NULL')+',' +       COALESCE('N''' + REPLACE(CONVERT(char(36),RTRIM([securityroleid])),'''','''''')+'''','NULL')+',' +  	 COALESCE('N''' + REPLACE(CONVERT(char(36),RTRIM(asr.[actionid])),'''','''''')+'''','NULL') 	 +')'  from EbsMetadata.actionXSecurityRole asr  inner join EbsMetadata.action a on a.actionid = asr.actionid  where a.name = 'CharismaManualDisbursement'
With the alias like RTRIM(asr.[actionid])) the query works, but if I try to put it inside like RTRIM([asr.actionid])) it's not working.
It's there a parameter that can be used or this script it's not working with table aliases?
Thanks,
Alex

I'll have to look into that one. As a workaround, if you haven't tries this already, maybe try using a common table expression in the @from param so that it isn't necessary to use table aliases in the @cols_to_include param?

Hi,
I will give it a try. In the meantime, I did it with a subquery and it worked.
Thanks,
Alex


Include runtime in profiles?

I haven't dug too much on this issue, but one complaint I got from people used to StackProf/Speedscope was the lack of durations in flamegraph and such.
The overall profile duration is displayed, but individual sample don't have the information, so you kinda have to compute overall_time * percent to have an idea if what you are looking at is 10m or 100ms.
I know Vernier is not really collecting this information, and probably shouldn't as it would be costly, but I think it could be estimated by simply doing this division?
It seems that it's what the Firefox profiler is doing, e.g. this public profile: https://share.firefox.dev/341Msw7

But not with profile done by vernier:

cc @dalehamel

Dug into this a bit, it seems to be generated by this: https://github.com/firefox-devtools/profiler/blob/4ba5982a5dd1a5e46d78b3155a2ef337e14bcc13/src/components/tooltip/CallNode.js#L495, per https://github.com/firefox-devtools/profiler/blob/4ba5982a5dd1a5e46d78b3155a2ef337e14bcc13/src/components/tooltip/CallNode.js#L125-L127
Confirmed this by forcing the "hover" state in dev tools:

The difference seems to be this block of code:
https://github.com/firefox-devtools/profiler/blob/4ba5982a5dd1a5e46d78b3155a2ef337e14bcc13/src/components/flame-graph/Canvas.js#L397-L405
And that seems to originate here https://github.com/firefox-devtools/profiler/blob/main/src/profile-logic/call-tree.js#L42
I think that something is up when computing the call tree timings, which is resulting in this value being null. I haven't been able to determine what is missing yet, however.

Actually not sure the value is null - it might just be this code here that is calculating it based on "samples" rather than ms https://github.com/firefox-devtools/profiler/blob/main/src/profile-logic/call-tree.js#L341-L379

Ok I think I've figured it out... bizarrely, the difference between the two profiles seems to be that the threads in the javascript example you gave @casperisfine are missing the "weight" field, it is null.
By nulling out the weight fields in a vernier sample, it now calculates the totals 🤨

vernier_no_weights.json.gz
Here is the original:

vernier_no_weights.json.gz
Obviously now the "samples" count is very wrong, i guess this has something to do with how vernier is storing the sample weights in the "weights" field (which seems intuitive...)

Ok I think I've figured it out... bizarrely, the difference between the two profiles seems to be that the threads in the javascript example you gave @casperisfine are missing the "weight" field, it is null.

See https://github.com/tenderlove/profiler/blob/979dca8b83a9bde8afb1636a847d4eda6882ee28/src/profile-logic/call-tree.js#L673-L699.

We could remove the "weights". Currently that allows us to do "RLE" on consecutive samples by incrementing the weight instead of making a larger array. I think that helps us keep the profile sizes down quite a bit, especially as most threads in most profiles will be doing nothing most of the time, so it would be great if we had a solution which had the best of both worlds.


static queue size option

It would be a useful feature to disable adjustment when constructing a queue, and signal a condition if the queue is full when enqueuing, as it could help detect cycles in an event system before your heap is exhausted, as well as give insight into performance penalties.

Good idea. I'll implement that.

Good idea. I'll implement that.

I think it would be good to implement that via extending the extension-factor type to (integer 1 256) and the extension code should signal an error of a new condition type if extension factor is set to 1 (meaning the vector length is multiplied by 1 and therefore stays the same). How does this sound?

I think it would be good to implement that via extending the extension-factor type to (integer 1 256) and the extension code should signal an error of a new condition type if extension factor is set to 1 (meaning the vector length is multiplied by 1 and therefore stays the same). How does this sound?

That sounds like a solution. I'm not sure if it is a good one yet. My concern is that the extension code would be needlessly invoked, and the code for determining if the extension code should be invoked.

That sounds like a solution. I'm not sure if it is a good one yet. My concern is that the extension code would be needlessly invoked, and the code for determining if the extension code should be invoked.

I mean, we will still need an explicit check for (= extension-factor 1). If that's the case, signal an error; otherwise, adjust the array.

I mean, we will still need an explicit check for (= extension-factor 1). If that's the case, signal an error; otherwise, adjust the array.

It does sound like a decent solution in retrospect. My only concern now is, from a user-centric API perspective, dual purposing an integral type for what a user would like a boolean option for. I assume a user in most cases would leave the extension factor to 2 as most implementations of resizable arrays use, and then they'd want a boolean option for the "staticness".

It does sound like a decent solution in retrospect. My only concern now is, from a user-centric API perspective, dual purposing an integral type for what a user would like a boolean option for. I assume a user in most cases would leave the extension factor to 2 as most implementations of resizable arrays use, and then they'd want a boolean option for the "staticness".

Sounds good. I'll add an explicit boolean override instead in form of an optional constructor parameter that defaults to t.

Sounds good. I'll add an explicit boolean override instead in form of an optional constructor parameter that defaults to t.

I think this is a good solution. It's just that while it is mathematically correct to specify 1, it is not such a good API, and not very intuitive over something a bit more explicit. Like I said, a user is not going to be thinking about the extension factor very often, and with a dedicated option in their eldoc completion that describes controlling exactly what they want, I just think that it'd be more accessible. Maybe this is wrong for me to assume, but that's my thought :)

I think this is a good solution. It's just that while it is mathematically correct to specify 1, it is not such a good API, and not very intuitive over something a bit more explicit. Like I said, a user is not going to be thinking about the extension factor very often, and with a dedicated option in their eldoc completion that describes controlling exactly what they want, I just think that it'd be more accessible. Maybe this is wrong for me to assume, but that's my thought :)

hey wait this ain't done just yet the PR isn't merged and all

hey wait this ain't done just yet the PR isn't merged and all


Overridden tx.checkPermission fn is given undefined 'doc' parameter during commit

Found in 0.7.1
When the tx.checkPermission fn is called from the _meteorTransactionsProcess Meteor method (via the tx.checkTransactionFields internal method for an 'insert' action, the expected 'doc' parameter is undefined.
The following test spec is failing at the  expect(doc).toBeDefined(); line.
Note that the first checkPermission call, when the insert action is added to the transaction stack works fine. But when the checkPermission is invoked again during the commit, it fails. I think this is a bug.
'use strict';

describe('Use custom checkPermission check', function () {

  var transaction_id, insertedFooDoc, transactionDoc, fakeId;

  beforeEach(function () {

    // Fake userId to get through tx userId checks
    fakeId = 'or6YSgs6nT8Bs5o6p';

    // Because `tx.requireUser = true` (by default)
    spyOn(Meteor,'userId').and.returnValue(fakeId);

    tx.checkPermission =  function(action, collection, doc, modifier) {
      console.log('doc'+JSON.stringify(doc));
      if (action === 'insert') {
        expect(doc).toBeDefined();
      }
      return true;
    }

  });

  fit('calls custom checkPermission', function () {
    tx.start('transaction check');
    var newId = fooCollection.insert(
      {foo: "After insert"}, {tx: true});
    tx.commit();
  });

  afterEach(function () {
    fooCollection.remove({});
    tx.Transactions.remove({});
  });

})

Thanks for bringing this up.  I'll work on a fix and get a new release out asap.

All tests passing now -- including the new one.  I just learnt something new fit and fdescribe !!
Thank you so much for submitting a bug report with a test.  That's just ... words fail me, but it made me very happy.


Error building Mobilenet-v1

Hi,
I'm trying to build the mobilenet-v1 model. I followed all the steps in the README of the repository. However I get this error:
  File "/opt/conda/lib/python3.8/site-packages/sigtools/_signatures.py", line 83, in <module>
    @attr.define(eq=False)
AttributeError: module 'attr' has no attribute 'define'

Do you know how to solve it?
Thanks for your help

After some research I solved the issue.
The problem is in the get-finn.sh file, in particular in the REPO_COMMIT variable.
In the file there is the commit 96c0f5e3678abd7b1eaab2a2b4f8e937ac1f48b8. However this clones a version of the finn repository that has the following requirements.txt:
bitstring==3.1.7
clize==4.1.1
dataclasses-json==0.5.7
docrep==0.2.7
future==0.18.2
gspread==3.6.0
numpy==1.22.0
onnx==1.11.0
onnxoptimizer
onnxruntime==1.11.1
pre-commit==2.9.2
protobuf==3.20.1
pyscaffold==3.2.1
scipy==1.5.2
setupext-janitor>=1.1.2
toposort==1.5
vcdvcd==1.0.5
wget==3.2

However, there is a package missing, that is the sigtools. The correct commit is the last one, at the time I'm writing, in the finn repository. It's SHA is abc500078692f7dec1f67aa7af4dead879eb1513.
In this version, the requirements.txt is the following, and this is the correct one:
bitstring==3.1.7
clize==4.1.1
dataclasses-json==0.5.7
docrep==0.2.7
future==0.18.2
gspread==3.6.0
numpy==1.22.0
onnx==1.11.0
onnxoptimizer
onnxruntime==1.11.1
pre-commit==2.9.2
protobuf==3.20.1
pyscaffold==3.2.1
scipy==1.5.2
setupext-janitor>=1.1.2
sigtools==2.0.3
toposort==1.5
vcdvcd==1.0.5
wget==3.2

I will open a PR in which there is the fix for this problem

I ran into this exact problem with MobileNet-v1 and tried your REPO_COMMIT fix from PR #41.  That got me past the attr error, but unfortunately lead to a different problem:
Traceback (most recent call last):
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/builder/build_dataflow.py", line 166, in build_dataflow_cfg
    model = transform_step(model, cfg)
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/builder/build_dataflow_steps.py", line 426, in step_hls_codegen
    model = model.transform(
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/deps/qonnx/src/qonnx/core/modelwrapper.py", line 140, in transform
    (transformed_model, model_was_changed) = transformation.apply(transformed_model)
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/transformation/fpgadataflow/prepare_ip.py", line 88, in apply
    _codegen_single_node(node, model, self.fpgapart, self.clk)
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/transformation/fpgadataflow/prepare_ip.py", line 55, in _codegen_single_node
    inst.code_generation_ipgen(model, fpgapart, clk)
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/custom_op/fpgadataflow/hlscustomop.py", line 271, in code_generation_ipgen
    self.generate_params(model, path)
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/custom_op/fpgadataflow/thresholding_batch.py", line 462, in generate_params
    self.make_weight_file(thresholds, "hls_header", weight_filename)
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/custom_op/fpgadataflow/thresholding_batch.py", line 372, in make_weight_file
    thresholds_hls_code = numpy_to_hls_code(
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/util/data_packing.py", line 278, in numpy_to_hls_code
    strarr = np.array2string(ndarray, separator=", ", formatter={"all": elem2str})
  File "<__array_function__ internals>", line 200, in array2string
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 736, in array2string
    return _array2string(a, options, separator, prefix)
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 513, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 546, in _array2string
    lst = _formatArray(a, format_function, options['linewidth'],
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 889, in _formatArray
    return recurser(index=(),
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 880, in recurser
    nested = recurser(index + (-1,), next_hanging_indent, next_width)
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 880, in recurser
    nested = recurser(index + (-1,), next_hanging_indent, next_width)
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 876, in recurser
    nested = recurser(index + (-i,), next_hanging_indent,
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 845, in recurser
    word = recurser(index + (-i,), next_hanging_indent, next_width)
  File "/opt/conda/lib/python3.8/site-packages/numpy/core/arrayprint.py", line 799, in recurser
    return format_function(a[index])
  File "/data/verderog-projects/xilinx/finn-examples/build/finn/src/finn/util/data_packing.py", line 268, in elem2str
    if type(x) == str or type(x) == np.str_ or type(x) == np.str:
  File "/opt/conda/lib/python3.8/site-packages/numpy/__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'str'
> /opt/conda/lib/python3.8/site-packages/numpy/__init__.py(284)__getattr__()
-> raise AttributeError("module {!r} has no attribute "

I checked and my build/finn/requirements.txt looks identical to the one you posted:
bitstring==3.1.7
clize==4.1.1
dataclasses-json==0.5.7
docrep==0.2.7
future==0.18.2
gspread==3.6.0
numpy==1.22.0
onnx==1.11.0
onnxoptimizer
onnxruntime==1.11.1
pre-commit==2.9.2
protobuf==3.20.1
pyscaffold==3.2.1
scipy==1.5.2
setupext-janitor>=1.1.2
sigtools==2.0.3
toposort==1.5
vcdvcd==1.0.5
wget==3.2

Are you running the out of the box example or have you done any kind of modifcation? If yes, what have you changed?
I ask, so that I can try to replicate your setup!

@giop98 Much thanks for the response!  This is an out-of-the-box example -- I am just trying to rebuild things from scratch to understand more about how FINN works to eventually use it for a test model I have.  The only modification I made was to the get-finn.sh script to match the hash you posted above.  My target is a ZCU104 dev board but I'm not doing anything special with the config to target that.
I tried running things from scratch (completely removed the finn-examples repo and started over from square one.)  Same results.
I'm running Ubuntu 20.04:
~/projects/xilinx/finn-examples/build/finn$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal

I've got the following variables configured before I do anything:
export FINN_XILINX_PATH=/opt/Xilinx
export FINN_XILINX_VERSION=2021.2
export VIVADO_PATH=/opt/Xilinx/Vivado/2021.2

Here is my exact sequence of steps:

git clone https://github.com/Xilinx/finn-examples.git
cd finn-examples/build/
edit get-finn.sh to update REPO_COMMIT to "abc500078692f7dec1f67aa7af4dead879eb1513"
./get-finn.sh
Note that my docker version: Docker version 20.10.12, build 20.10.12-0ubuntu2~20.04.1
cd mobilenet-v1/models/
./download-model.sh
cd ../../..
export FINN_EXAMPLES=$PWD
cd $FINN_EXAMPLES/build/finn
./run-docker.sh build_custom $FINN_EXAMPLES/build/mobilenet-v1

The step that it fails is 7/13:
Running step: step_mobilenet_streamline [1/13]
Running step: step_mobilenet_lower_convs [2/13]
Running step: step_mobilenet_convert_to_hls_layers_separate_th [3/13]
Running step: step_create_dataflow_partition [4/13]
Running step: step_apply_folding_config [5/13]
Running step: step_generate_estimate_reports [6/13]
Running step: step_hls_codegen [7/13]
Traceback (most recent call last):

The traceback error is identical to the one I copied in my post above.

It appears that it might be related to the numpy version inside the docker container.  I can launch an interactive docker container via ./run-docker.sh.  If I then launch python3 and import numpy, I see numpy.__version__ report 1.24.0.  If I try to reference numpy.str I get the same error as my traceback:
projects/xilinx/finn-examples/build/finn$ python3
Python 3.8.5 (default, Sep  4 2020, 07:30:14)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__version__
'1.24.0'
>>> numpy.str
<stdin>:1: FutureWarning: In the future `np.str` will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/conda/lib/python3.8/site-packages/numpy/__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'str'
>>>

Running python3 outside of the container on my dev machine and importing numpy shows that I have 1.21.2 installed.  If I reference numpy.str there, I get the following warning about deprecation:
~/projects/xilinx/finn-examples/build/finn$ python3
Python 3.8.10 (default, Sep 15 2021, 10:14:58)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__version__
'1.21.2'
>>> numpy.str
<stdin>:1: DeprecationWarning: `np.str` is a deprecated alias for the builtin `str`. To silence this warning, use `str` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.str_` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
<class 'str'>

I can progress little further if I comment out part of line 80 from docker/Dockerfile.finn:
from:
 RUN pip install matplotlib==3.3.1 --ignore-installed

to:
 RUN pip install matplotlib==3.3.1 # --ignore-installed

After that change, I run into this error:
ERROR: [HLS 200-101] 'config_rtl': Unknown option '-deadlock_detection'.

Looking at the Xilinx docs, "deadlock_detection" is a new option present in 2022.1 tools, but not 2021.2 which is what I am using.
UG1399 2021.2: https://docs.xilinx.com/r/2021.2-English/ug1399-vitis-hls/config_rtl
UG1399 2022.1: https://docs.xilinx.com/r/2022.1-English/ug1399-vitis-hls/config_rtl

Thanks for all the clear explanations. Tomorrow I will try to replicate your setup (I anticipate that I have the 2022.1 Xilinx Tools) and see what happens. I will let you know and then we can think of a fix!

I decided to take a step back and checked out the v0.0.5 tag of this repo.  The build fails with the original "attr" error reported above:
AttributeError: module 'attr' has no attribute 'define'

I was hoping that this at least would build without modification.

SUCCESS!  I'm finally able to build finn-examples hash 7123fa53b73fcba0f80be009de2e83e0d48995f0.  I have no clue if it works, but I was at least able to get through the build without error.
Here are the customizations I performed:

Updated build/get-finn.sh with the hash "abc500078692f7dec1f67aa7af4dead879eb1513" @giop98 identified above.
Updated build/finn/docker/Dockerfile.finn to comment out "--ignore-installed" for matplotlib
Updated build/mobilenet-v1/build.py so it only referenced the ZCU104 (no need to build for ZCU102 or Alveo U250)
Installed Vivado 2022.2 and referenced that with my environment variables.  Of course, you need the licensing configured in order to complete synthesis.

SUCCESS!  I'm finally able to build finn-examples hash 7123fa53b73fcba0f80be009de2e83e0d48995f0.  I have no clue if it works, but I was at least able to get through the build without error.
Here are the customizations I performed:

Updated build/get-finn.sh with the hash "abc500078692f7dec1f67aa7af4dead879eb1513" @giop98 identified above.
Updated build/finn/docker/Dockerfile.finn to comment out "--ignore-installed" for matplotlib
Updated build/mobilenet-v1/build.py so it only referenced the ZCU104 (no need to build for ZCU102 or Alveo U250)
Installed Vivado 2022.2 and referenced that with my environment variables.  Of course, you need the licensing configured in order to complete synthesis.

I'm glad you fixed the issue. I was trying to replicate the issue, but you anticipated me.
So the problem seems to be related to the Xilinx tools version 2021.x?
Let me know if you are then able to run on the board.

Update--
I'm able to successfully run the rebuilt MobileNet-v1 model against the ImageNet validation data set and get identical accuracy results to the pre-built version.
Observations:

The FINNExampleOverlay class produced by the current workflow has some differences from the pre-built version.  Namely, the ishape_packed, oshape_packed, and ishape_normal parameters are now referenced via methods instead of properties.  This was causing a benchmarking tool I wrote that referenced those to error out vs. the pre-built.
The io_shape_dict includes some new parameters that are not present in the pre-built model.  So, you can't directly use the _imagenet_top5inds_io_shape_dict definition from the finn_examples models.py module.
My re-built model is running slightly slower than the pre-built version.  Using the 50000 ImageNet validation set, it takes around 77 seconds longer to execute the entire data set vs the pre-built (~1.5ms longer per image).

Hi @giop98, sorry for the delayed response.
Please check out the latest FINN-examples release, that should resolve your issue. However, to build the model for the ZCU104 board, we are forced to move some resources to URAM to enable the model to fit on the board. This requires to initialize the weights during runtime. Unfortunately, we have seen some issues with runtime-writeable weights leading to essentially an accuracy drop.
Until we have resolved the issue, our advice would be to either target a U250 with Pynq v3.0.1 / FINN-examples v0.0.6 (since that particular model does not utilize URAM), or a ZCU104 with Pynq v2.6.1 (i.e. FINN-examples v0.0.5).

Dear @mmrahorovic, thanks for the help. I was able to build mobilenet correctly. However, I'm having some issues in testing the throughput. When I launch the script to test the throughput, it gets stuck indefinitely. I'm still on a ZCU104. Could this be because you are forced to move some resources to URAM?
Thanks for the help

Dear @mmrahorovic. I tested the model and I noticed a pretty accuracy drop. On hardware, I obtained an accuracy of nearly 20%. Is it reasonable or it is too low? You said that the problem with runtime-writable weights leads to an accuracy drop. Which is the order of magnitude of this accuracy degradation?
Thanks

Hi @giop98 , can you try if this patch: https://github.com/Xilinx/finn-examples/pull/55/commits/11a1cb340612f3ce8e8910cf352517092670ebb2 solves your problem?
The accuracy drop your seeing is so immense because the weights don't get correctly loaded with the driver.py on main. We're working on the solution, see #55

Hi, @auphelia. Thanks for the patch. I think this patch is headed towards people using finn-examples v0.0.6 and Pynq 3.0.1. However, I don't have access to the new version of Pynq, so I cannot test it on the board.
Just a few minutes ago, I was able to execute the model on hardware and obtain the expected accuracy. This is the setup with all the details:

Finn v0.81
Pynq v2.7
finn-examples v0.0.5

To obtain the expected accuracy, I took 1 to 1 this script and adapted it to work with the FINN driver. The only difference was the removal of the normalize method since is already inserted in the ONNX model.
In addition to that, the dataset was prepared with this script, as the README suggests.
In these days I will make the script a bit better and upload it here on the issue, so other people can use it to test the model on hardware, since I did not find any existing script online.


Change k8s.gcr.io docker registry

The k8s.gcr.io docker registry is deprecated and needs to be moved to registry.k8s.io.

Resolved.


This is a great idea, can't wait to check it out

I have played the board game a couple of times in a cafe and loved it but was disappointed to see that it's been out of print since quite some time. Very happy to have come across this project and can't wait to try this out. Kudos to the team! :)

@pragyamehta Thank you for your kind words & support! We'd love any and all feedback once you have a chance to try playing the game.
You can play the game at shadowhunters.live. If you're looking for fellow players, try joining our Discord server.

@pragyamehta Thank you for your kind words & support! We'd love any and all feedback once you have a chance to try playing the game.
You can play the game at shadowhunters.live. If you're looking for fellow players, try joining our Discord server.


Policy Scope

Hello Microsoft,
I infer that the following lines from the article:
(under Overview)
the policy definition or initiative is assigned to any scope of resources that Azure supports, such as management groups, subscriptions, resource groups, or individual resources
AND
(under Assignments)
An assignment is a policy definition or initiative that has been assigned to a specific scope. This scope could range from a management group to an individual resource. The term scope refers to all the resources, resource groups, subscriptions, or management groups that the definition is assigned to
Imply that Policy can be applied to:
-Management Group
-Subscription
-Resource Group
-Resource
But in actual,it cannot be applied at the SCOPE of RESOURCE.
I think a correction in wording is needed to remove resources(or explicitly call out NO RESOURCES).
2.Further, the article here should clearly call out the 3 scopes where policy can be assigned. Surprising it does not talk about the actual scope where policy can be applied.
Kind regards,
Aditya Garg

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

ID: 07fab47b-3b7a-c02e-c863-2c60f0e06f94
Version Independent ID: f1643e7a-14eb-c372-8099-2f412c954717
Content: Overview of Azure Policy - Azure Policy
Content Source: articles/governance/policy/overview.md
Service: azure-policy
GitHub Login: @davidsmatlak
Microsoft Alias: davidsmatlak

@adi-garg
Thanks for your feedback! We will investigate and update as appropriate.

@adi-garg Thanks for your feedback.
Assigning to content author @davidsmatlak  for review.

I created an internal work item to review the article and I'll post a comment after the article is reviewed. I'm closing this issue.
#please-close


android release mode cannot work

Hello,
After I used the android so file you packaged, but it cannot work.
UpdateConnectionState stays in connectionStateConnecting release case, but the debug situation is normal,
I use your tdlib-dart library to develop flutter applications.
please help me, thanks!

I/flutter (12842): ---_onAuthorizationStateUpdate: Instance of 'AuthorizationStateWaitTdlibParameters'
I/flutter (12842): ---_onAuthorizationStateUpdate: Instance of 'AuthorizationStateWaitPhoneNumber'
I/flutter (12842): ---_setupTDLibParameters: {@type: ok}
I/flutter (12842): ---_onNewEvent: {state: {@type: connectionStateConnecting}, @type: updateConnectionState}
I/flutter (12842): ---sendCode1: +***********
After sendCode, no message will come back, and the connection state has not reached the ready state.


Error in installing dependencies for LALE jupyter notebook on binder

Describe the bug
lale libray does install does not install all dependencies, options tried were:
!pip install lale[full]
!pip install 'liac-arff>=2.4.0'

and

!pip install lale
!pip install 'liac-arff>=2.4.0'

To Reproduce
Steps to reproduce the behavior:

Go to binder
Click on LALE jupyter notebook

Expected behavior
all cells in the examples should run without errors
Additional context
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-6-44a629fbc523> in <module>
----> 1 (X_train, y_train), (X_test, y_test) = fetch("jungle_chess_2pcs_raw_endgame_complete", "classification")

~/anaconda3/lib/python3.8/site-packages/lale/datasets/openml/openml_datasets.py in fetch(dataset_name, task_type, verbose, preprocess, test_size, astype)
    663     from lale.datasets.data_schemas import liac_arff_to_schema
    664
--> 665     schema_orig = liac_arff_to_schema(dataDictionary)
    666     target_col = experiments_dict[dataset_name]["target"]
    667     y: Optional[Any] = None

~/anaconda3/lib/python3.8/site-packages/lale/datasets/data_schemas.py in liac_arff_to_schema(larff)
    310
    311 def liac_arff_to_schema(larff) -> JSON_TYPE:
--> 312     assert is_liac_arff(
    313         larff
    314     ), """Your Python environment might contain an 'arff' package different from 'liac-arff'. You can install it with

AssertionError: Your Python environment might contain an 'arff' package different from 'liac-arff'. You can install it with
    pip install 'liac-arff>=2.4.0'
or with
    pip install 'lale[full]'

closing as this is binder related


[MotionLayout] Expand/Collapse animation doesn't end fully with OnClick action

Layout: activity_main.xml
Layout Scene: movie_detail_scene.xml
Minimum reproducible project: android-animation (branch: motion-layout)
Version: 2.0.2, 2.0.4, 2.1.0-beta02
The functionality is quite simple. onClick of the layout, the layout will Expand and then onClicking again it will collapse. The issue is that sometimes the expand/collapse is not done fully, and gets stuck midway. This happens 1 in 10 times in latest devices like One Plus 7T, but very frequently in much older devices.
Observations:

Occurs more frequently in 2.1.0-beta02 than 2.0.4.
Occurs in 2.0.2 as well.
Occurs almost every time when the duration of the animation is reduced down to 50 to 100ms.
Increasing the animation duration to 1000 to 1500 reduces this issue. In these cases, the constraints are stuck at the very end, and happens only 1 in 50 times or so.
The issue never occurs when clickAction="jumpToStart|jumpToEnd" is set.
Presence of an outer ScrollView has no impact. With or without the scrollView, the issue exists.

Expected:

Actual:

Let me know if you need any more details.

Could you post the  ?
If the duration is very short using
"< Transition ..... motion:motionInterpolator="linear" />"
might help.

I kept the animation duration at 100ms to reproduce the issue more frequently. My original intention is to have it at 300ms and when I do that the issue doesn't happen often.
Irrespective of the duration or interpolators, when the animation ends, the constraints should be set properly right? In this case, the 'start' and 'end' constraints are set but the MotionLayout's height gets stuck midway instead of fully wrapping.
I tried "linear" and all other interpolators, but it's still the same.
https://user-images.githubusercontent.com/11502338/126513768-de5e02ef-c9e9-4829-bc60-499e18468496.mp4


Pass scale vector to mat_decompose when a scale_XXX setter is called on a transform

This will help preserve the scale vector in a roundtrip from components -> matrix -> components.
This should resolve the problem observed in #553
This requires a fix in pylinalg, see https://github.com/pygfx/pylinalg/issues/81

I think this is a really significant problem for medical visualization where image spacing is a core property for volumes to be displayed properly.


Response citation: Requested URL not found

Please provide us with the following information:

This issue is for a: (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

I deployed the default code with almost no changes except for the data. The citation name generated in the chat does not match the file name in the blob which gives an error
The chatbot gives the right answer. The thought process is right too. Just the citation name is generated different

Any log messages given by the failure
Traceback (most recent call last):
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/opentelemetry/trace/init.py", line 570, in use_span
yield span
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/core/tracing/decorator_async.py", line 105, in wrapper_use_tracer
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_blob_client_async.py", line 546, in download_blob
await downloader._setup()  # pylint: disable=protected-access
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_download_async.py", line 289, in _setup
self._response = await self._initial_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_download_async.py", line 384, in _initial_request
process_storage_error(error)
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/storage/blob/_shared/response_handlers.py", line 182, in process_storage_error
exec("raise error from None")   # pylint: disable=exec-used # nosec
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1, in
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_download_async.py", line 338, in _initial_request
location_mode, response = await self._clients.blob.download(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/core/tracing/decorator_async.py", line 105, in wrapper_use_tracer
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/storage/blob/_generated/aio/operations/_blob_operations.py", line 203, in download
map_error(status_code=response.status_code, response=response, error_map=error_map)
File "/tmp/8dc9ad09b4a44f0/antenv/lib/python3.11/site-packages/azure/core/exceptions.py", line 161, in map_error
raise error
azure.core.exceptions.ResourceNotFoundError: The specified blob does not exist.
RequestId:b3736148-d01e-0004-7738-d1ea8c000000
Time:2024-07-08T13:13:59.7491340Z
ErrorCode:BlobNotFound
Content: BlobNotFoundThe specified blob does not exist.
RequestId:b3736148-d01e-0004-7738-d1ea8c000000
Time:2024-07-08T13:13:59.7491340Z
Expected/desired behavior

The document for the citation should be viewable on clicking the citation link. The citation name should match the file stored in blob. But the citation name is different from the file stored in blob. Therefore, blob not found error while trying to view citation.

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)
Python 3.11, Linux

azd version?

run azd version and copy paste here.

Versions

Mention any other details that might be useful
I am not sure why the citation name is not the same as the file in blob. Any help would be appreciated.

Hi @poonkuzhali,
I encountered a similar issue (#1723) due to incorrect environment configuration when setting up ADLSG2 for ACL. The root cause was misconfigured AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_CONTAINER environment variables. To resolve this, ensure that both variables are properly defined in your .env file and refer to an existing deployed resource/container name.

Can you check to see whether the issue is that the LLM has hallucinated the wrong name, or whether we've parsed the name incorrectly? Please check:

The thought process tab shows the correct name in the Sources: list
The response from the LLM contains the correct citation (turn off streaming, and find the response in your Network tab)

If the LLM hallucinated, then the main approach would be prompt engineering. However, if the LLM correctly generated the citation, then there is presumably a parsing error in our code somewhere.

@tlievre @pamelafox Thanks for the response!
I added some own files to the data folder. The file name had spaces. For example: Store Manual.pdf instead of Store_Manual.pdf.
When the file name had spaces, during citation retrieval, the file name gets ignored and instead the first line of text from the content is retrieved as file name.
Hence the not found error while trying to view citation, because the file name retrieved by citation and the actual file name in blob differs. After I changed the file name (after removing space from the file name), the citation works as expected.

Interesting, I just tried a filename with spaces, and I wasn't able to replicate the issue. Is your code up to date with main? If you can figure out where the error is happening, then we can fix it.

File name parsing error is fixed once the code was updated to the recent version. Closing the issue. Thank you for the help @pamelafox