Link Handling Problem

Describe the bug
When an object type is returned from two different API endpoints A and B from which only A has a link defined, this link is added as a field to that object type in the GraphQL schema. Therefore, the GraphQL equivalents of both of those endpoints return a type which has this field.
If I query A in GraphQL, I can access this new field added by the link. If I query B in GraphQL, the schema still contains this field added by the link, but I get an error if I try to fetch it.
To Reproduce
Consider the example in this Gist: https://gist.github.com/dominikks/82eb051f61fdcb1558cd5fca816aec8b. If I run openapi-to-graphql on this input, I get the output schema shown in the Gist. According to that schema, I should be able to run the following query:
{
  project {
    contributors
  }
}

However, this results in an error.
Expected behavior
OpenAPI-To-GraphQL should model the types returned by endpoints A and B separately, if there is a link defined.
Thanks for your work!

@dominikks Thank you so much for filling this issue! And the GitHub gist was so helpful!
Yes, your understanding is correct. Because endpoints A and B both return the same schema with the same preferred name Project (derived from the reference "$ref": "#/components/schemas/Project"), they will share a GraphQL type, which is formed from the said schema and the superset of their linked fields.

I think there's pros and cons between creating types separately vs trying to create a single type (a collapsing links in the process).
To problem with the former is a sudden influx of new types, which all capture basically the same information. In this case, it would just be two new types, one for GET /exampleproject and one for GET /projects/{projectId}. You create a new type every time a component schema is used and the operation has a different set of links. This goes completely against the purpose of reusable component schemas and makes the overall GraphQL interface clunky.
The problem with the latter is that links are not guaranteed to work. Links that rely on the response body however, should have a much higher chance of working. Because the link in the provided example uses data from the request path and not the response body, "projectId": "$request.path.projectId", it only works on the operation it was described for. However, if projectId was a field on the Project type, then theoretically, you can define the link like "projectId": "$response.body#projectId" and it would work for all GraphQL operations that utilize this type, because it is data that should be available to all resolvers.

I think one way we can improve OtG is to provide better reporting for links that require non-response body data. We should also extend the documentation to talk about this. Links that use the response body work much better in OtG than otherwise. What are your thoughts?

Thank you so much for filling an issue about links! I think this may be the first external one. Links are a critical feature of OtG and we don't get as much feedback on it as we would like. Good to hear that people out there are trying it out and understand some of the more subtle complexities of how we handle links (e.g. collapsing them).

Thanks for taking the time to respond so quickly!
I agree with you that creating a new type every time a new set of links is used would make the interface clunky and also hard to understand. Improving the logging would already help a lot as it would be clear why a specific request does not work. This would make it easier to find the reason for the error.

However, I wonder if using interfaces could somehow improve the current situation. I think it could be possible to create a GraphQL interface from the OpenAPI object type and create a GraphQL object type implementing this interface for each set of links that this object type is used with. All responses that return data of this type would get the interface assigned as return type in GraphQL. That way, links defined in the response body could still work across different requests as you mentioned. The client could then use fragments to distinguish which type he got.
If we look at the example from my Gist, we would get something like this:
interface Project {
  id: Int
}

type EmptyProject implements Project {
}

type ContributorsProject implements Project {
  contributors: ProjectContributors
}

type ProjectContributors {
  number: Int
}

type Query {
  getProject(projectId: Int!): Project
  project: Project
  projectContributors(projectId: Int!): ProjectContributors
}

I think this would lessen the problem of clunkyness a bit as the return type of each of those requests is still the same interface. In GraphiQL, it would furthermore be possible to see what object types implement this interface. Do you think this approach would be feasible?

@dominikks I think I see what you mean but I'm not 100% convinced. I feel like a big advantage of GraphQL is being able to make nested queries. We derive nesting from links. I feel like if a user has to use fragments whenever he/she wants nesting, it would be cumbersome. Furthermore, it would be difficult to indicate to the user which type should be used in the query.
I think that links, at least those that rely on the response body, should always be available. I think you can make the case that we can expect those links to work on the basis that they rely on data that should be available anywhere. They are not dependent on the context of previous resolvers. Links that rely on other pieces of data, such as the request path, are still up for more discussion. Perhaps interfaces, but still not so sure about it.
I think if we were to follow through with your suggestions, the generated query would probably look more like the following.
interface ProjectInterface {
  id: Int
}

type Project implements ProjectInterface {
  id: Int
}

type Project2 implements ProjectInterface {
  id: Int
  contributors: ProjectContributors
}

type ProjectContributors {
  number: Int
}

type Query {
  getProject(projectId: Int!): Project
  project: Project2
  projectContributors(projectId: Int!): ProjectContributors
}

The query fields no longer return the interface but rather specific object types. The ProjectInterface doesn't really do much other than group different project types together Project and Project2. Because it's difficult to generate sensible names using context, we'll probably have to end up appending numbers to the end of similar object types, which is ugly and clunky.
This is a bit of a straw-man argument but I feel like this is the most realistic course of action. There are a few advantages of this approach, mainly that links shouldn't break. The cost is a bit of clarity and a bit of redundancy.
What do you think?

I think my idea was a little different from your example as I really meant that the getProject and project fields have the interface as their return type. The user could then only identify which specific type is returned on a case by case basis using fragments. However, you are absolutely right that with this approach the user could not know in advance which type is returned. I had not really thought about that. It would also enforce that the user always uses fragments for nested data which would be really annoying.
Adding the links that rely on the response body directly to the interface is definitely better. I think this would also potentially decrease the number of object types that are created in the end which is definitely beneficial.
Another problem that I see with this approach is that there may be different combinations of links across responses.
{
  "paths": {
    "/projects1/{projectId}": {
      "get": {
        ...
        "responses": {
          "200": {
            ...
            "links": {}
          }
        }
      }
    },
    "/projects3/{projectId}": {
      "get": {
        ...
        "responses": {
          "200": {
            ...
            "links": {
              "contributors": {
                "operationId": "getContributorsForProject",
                "parameters": {
                  "projectId": "$request.path.projectId"
                }
              }
            }
          }
        }
      }
    },
    "/projects3/{projectId}": {
      "get": {
        ...
        "responses": {
          "200": {
            ...
            "links": {
              "contributors": {
                "operationId": "getContributorsForProject",
                "parameters": {
                  "projectId": "$request.path.projectId"
                }
              },
              "goals": {
                "operationId": "getGoalsForProject",
                "parameters": {
                  "projectId": "$request.path.projectId"
                }
              }
            }
          }
        }
      }
    },
    ...
  },
  ...
}

This schema would require to create three GraphQL object types: one for the Project without any link fields, one with the contributors field and one with the contributors and the goals fields. If we think this further we might have many different combinations of the same few fields which result in many different object types.

An alternative to interface could be to use union types. As far as I know, union types are not required to be disjoint, so we could just add the field added by the link as a union type. This would alleviate the problem with different combinations as we just have one specific object type for each link. This could look something like this for the above example:
type Project {
  id: ID
}

type ContributorsProject {
  contributors: [ProjectContributors]
}

type GoalsProject {
  goals: [Goal]
}

...

type Query {
  project1(projectId: Int!): Project
  project2(projectId: Int!): Project | ContributorsProject
  project3(projectId: Int!): Project | ContributorsProject | GoalsProject
  ...
}

This would also make it clear to the user which fields are available. Therefore, this may be a better approach. What do you think?


Add Bloom filter meta index

Rebased onto master to get rid of the merge conflict; ready for another review.

☝ In this screenshot, the black-on-blue button style doesn't look very good. Can we make it white?

@mavam you're commenting on the wrong PR I think.


Enhancement: Allow using of test variables in suite setup

Sometimes I have set up keywords for test setup in one suite which work well.
Upon creating a new test suite I realize that this keyword would work very well but instead in the suite setup. This does not work however because I used the "set test variable" keyword in the setup which will be denied in the suite setup stage. I cannot change it to "set suite variable" since that would break my earlier suites. This forces me to duplicate the code and only changing one line.
I propose that the keyword "set test variable" would be allowed in suite setup and only be reachable within the suite setup stage.

Set Suite Variable affects only the current suite so it cannot earlier or forthcoming suites.

I'm not sure I understand your reply @pekkaklarck
Are you saying it wont be possible to implement this functionality?

It means I see no point adding this functionality. Could you please explain your use case a bit more? Why cannot you use Set Suite Variable? How'd you like Set Test Variable to work in this context?


[audio] Playing only half of module (bug)

[X] I tested it on latest raylib version from master branch
[x] I checked there is no similar issue already reported
[X] My code has no errors or misuse of raylib

Issue description
After simple playing example audio_module_playing realizing that only half of music module is playing (30s). Original module in sources resources/mini1111.xm is 62 seconds long.
When changing examples/audio/audio_module_playing to play old module:
Music music = LoadMusicStream("resources/chiptun1.mod");

Realized that GetMusicTimeLength(music) returns 3.78
but should be 7.56 (Total samples/Sample rate)
INFO: [resources/chiptun1.mod] Music file successfully loaded:
INFO:    Total samples: 363007
INFO:    Sample rate: 48000 Hz
INFO:    Sample size: 16 bits
INFO:    Channels: 2 (Stereo)
Environment
Linux

@tpanj Thanks for reporting, yes, I verified the issue, I'll review it asap.


Added gcc 9.1 test

@markdroth This PR adding gcc 9.1 to portability test is ready so you can start working on having a workaround of std::variant (https://github.com/grpc/grpc/issues/30140)

grpc/core/master/linux/grpc_portability: running

Portability Test now can reproduce this error by run_tests_c++_linux_dbg_native_x64_gcc9_1_buildonly
/usr/local/include/c++/9.1.0/variant:609:6: error: no matching function for call to std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<grpc_core::XdsRouteConfigResource::Route::RouteAction::ClusterWeight, std::allocator<grpc_core::XdsRouteConfigResource::Route::RouteAction::ClusterWeight> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::variant(const std::__cxx11::basic_string<char>&)


feat: configprovider: update context then add locale story and unit tests

SUMMARY:

Adds much needed ConfigProvider unit tests
Updates IConfigContext to enhance functionality
Adds Locale story to demonstrate basic Locale implementation and to test locales if needed
Updates Calendar locales to include short days and short months for each lang
Updates mocky.io url
Removes bogus prop and type from Slider

https://user-images.githubusercontent.com/99700808/221331126-2afaef25-0b68-4e76-b6a6-4b0946757fa4.mp4
JIRA TASK (Eightfold Employees Only):
ENG-44511
CHANGE TYPE:

[ ] Bugfix Pull Request
[X] Feature Pull Request

TEST COVERAGE:

[ ] Tests for this change already exist
[X] I have added unittests for this change

TEST PLAN:
Pull the PR branch and run yarn, yarn test, and yarn storybook. Verify the ConfigProvider, Slider and Upload stories behave as expected.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@448e0ce). Click here to learn what that means.
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #555   +/-   ##
=======================================
  Coverage        ?   84.78%
=======================================
  Files           ?      791
  Lines           ?    16837
  Branches        ?     5917
=======================================
  Hits            ?    14275
  Misses          ?     2496
  Partials        ?       66

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add a generator for time-delay regression

Here is a useful generator I wrote for generating mini-batches with time-delays. Perhaps we could centralize the location of useful data generators in generators.py, like the random image transforms, to make it easy to find?

Hey @the-moliver, I am a newbie for Keras and I am trying to understand your time-delay module. I have a quick question about it.
Can I use it in the network. Say I have several other layers initially and I want to accumulate the output of the last layer for some time steps. The following layers will use that accumulated data as their input.
Of course, the idea is keeping everything end-to-end. Otherwise, I would have broken the pipeline into two and use your code as is.
Thanks a lot.
Cha.

Never mind. I figured it out. Apparently, time distributed layer is what I have been looking for.
Best,
Cha.

Closing outdated PR. If you still care about the content of the PR, please submit a new PR to master, updated for the Keras 2.0 API.


bag to pbstream without any calculations

Hello! Thank you for the awesome project!
Perhaps I have a slightly extraordinary request.
I need to create a .pbstream file from the input bag file. I have a bag file with PointCloud2 messages in which the 3D scans are already registered and have corresponding point values. So I only need to create a .pbstream file without any transformations, graph optimization, and other algorithms inside Cartographer.
Could you please help me with how to implement this?
Thank you!

Maybe these can help
POSE_GRAPH.constraint_builder.min_score = 0.99
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.99
POSE_GRAPH.optimize_every_n_nodes = 0


[wip] nixos/xfce4-13: add nixos module

Motivation for this change
a controversial nixos/xfce4-13 service

[x] added nixos module, so to upgrade it is enough to change desktopManager.xfce.enable = true; to desktopManager.xfce4-13.enable = true;

My idea was that one would be able to pass a different xfce attrset, i.e. services.xserver.desktopManager.xfce.packages = xfceUnstable;, similar to boot.kernelPackages. Do you think services.xserver.desktopManager.xfce4-13.enable approach is better?

I think it is easier to debug.
Initially I preferred services.xserver.desktopManager.xfce.packages = xfceUnstable;, but that means xfce and xfceUnstable should provide exactly the same interface.
For example this addition of thunarPlugins which is not used is garbage. It is there from the  services.xserver.desktopManager.xfce.packages = xfceUnstable; time, needed only because xfceStable.thunar has the parameter.
With services.xserver.desktopManager.xfce4-13.enable we may not need to worry about maintaining the same interface. At least during the dev time.

Also, some programs (panel plugins, etc) will appear 4.12-only or 4.13-only breaking the uniformity of the interface.

And... the killer feature (not yet tested, but should work): possibility to write
desktopManager.xfce.enable = true;
desktopManager.xfce4-13.enable = true;

and select one of them on the login screen

I don't think this is a good idea, newer Xfce version is likely to update configuration in a way that older version would not understand.

I don't think this is a good idea, newer Xfce version is likely to update configuration in a way that older version would not understand.

yes, if they both use the same $HOME/.config/xfce.
But it is safe on system with ephemeral $HOME (LiveCD, ...) and also desktopManager.xfce4-13.configDir might be a configurable option defaulting to $HOME/.config/xfce4-13 to allow users risk-free evaluation of xfceUnstable

Another reason for desktopManager.xfce4-13 is xfce4-13 is not just a copy of xfce4-12 with bumped version numbers, it has been refactored a lot in #32763.
It makes the two xfce less interchangeable.

propagatedNativeBuildInputs seems to be broken, when I replace that with propagatedBuildInputs in xfce4-dev-tools derivation, everything builds again.

Fixed in https://github.com/NixOS/nixpkgs/commit/6b723642893fe946567db2df5a8b434514547486

It has been a long time that I am waiting for a way to enable xfce4-13 on nixos. And I hoped it would happen with this PR. But the PR has been closed. Why has this happened and the changes wasn't merged? How I am supposed to enable xfce4-13 on my system?
cc @volth

It has been a long time that I am waiting for a way to enable xfce4-13 on nixos. And I hoped it would happen with this PR. But the PR has been closed. Why has this happened and the changes weren't merged? How I am supposed to enable xfce4-13 on my system?

All changes which added Xfce 4.13 packages have been merged.
The only exception is separate NixOS module for Xfce 4.13 for the reason above in @yegortimoshenko's comment https://github.com/NixOS/nixpkgs/pull/37594#issuecomment-375105275
I have been using Xfce 4.13 on my laptop for few months and then returned to 4.12 because 4.13 has a lot of minor issues (whole screen flickers when terminal scrolls too quickly, icons drawn without cleaning background, etc)

The only disagreement was about how to enable Xfce 4.12 and Xfce 4.13 and switch beetween them, so it just left as it is.

This should be resolved then.  But I do not know how...

Yegor's method requires no changes at all

In Yegor's comment he mentions that xfce4-13 would be enabled by passing a different xfce attrset to the xfce module. But I am not seeing how to do it whithout modifications to the xfce module.

I have been using Xfce 4.13 on my laptop

How can I do that myself? What should I do to enable it on my system?

I have been using Xfce 4.13 on my laptop

How can I do that myself? What should I do to enable it on my system?

I did it with this PR, by applying it to the local copy of nixpkgs

Yegor's method requires no changes at all

In Yegor's comment he mentions that xfce4-13 would be enabled by passing a different xfce attrset to the xfce module. But I am not seeing how to do it whithout modifications to the xfce module.

overriding pkgs.xfce = pkgs.xfce4-13 in overlays might work

overriding pkgs.xfce = pkgs.xfce4-13 in overlays might work

I have tried with the following in configuration.nix:
  nixpkgs.overlays = [
    (self: super: {
      xfce = pkgs.xfce4-13;
    })
  ];

It fails with the error:
error: anonymous function at /nix/store/9mr6iihxngbz8x7jza8valdwpb8khsjm-nixos-19.03pre155751.45a419ab5a2/nixos/pkgs/desktops/xfce4-13/thunar/default.nix:1:1 called with unexpected argument 'thunarPlugins', at /nix/store/9mr6iihxngbz8x7jza8valdwpb8khsjm-nixos-19.03pre155751.45a419ab5a2/nixos/lib/customisation.nix:69:12

@volth With the release of xfce-4.14pre1 we need a way of enabling it on our systems. Let's go ahead with this PR.

Yes, a week ago I rebased it to the current master and fixed the changed name of icon theme.
It works with actual master and xfce-4.14pre1

pkgs.xfce4-13.xfce4-volumed does not exist. Probably it should be removed from the list.

yes. I am with config.hardware.pulseaudio.enable so did not hit the issue.
The side effect of using with, without with it would be syntax error anyway, with with it is postponed.

Ping.

I miss the motivation of having multiple xfce versions.

I miss the motivation of having multiple xfce versions.

I would keep only the latest.

Small question, there's gvfs in environment.systemPackages but why aren't we using services.gnome3.gvfs?

So, let's remove 4.12 and make this (4.14pre2) the only xfce ?

What is bad with xfce4.14pre2````: xfwm4``` sometimes eats CPU a lot.
An idle laptop heats its CPU each ~20 minutes, the fans start rotating, ...

This pull request has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/nixos-19-09-feature-freeze/3707/5

This pull request has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/install-a-set-of-packages/3722/2

Since 4.14 was released, should not we close this and update the 4.12 set instead?

I'm guessing this module should be xfce4-14. And maybe we're converging on having one module?

I think this can be closed because we now have an xfce4-14 module as of #66859.

I think this can be closed because we now have an xfce4-14 module as of #66859.

Thanks, forgot to do that :+1:


wip: test fix for ng bdd

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: jstrachan
If they are not already assigned, you can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/test ng

/test ng

/test ng

/test gitops

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitops
af5f4c024b96f618785279d8f41367a5737107a8
link
/test gitops

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitops
af5f4c024b96f618785279d8f41367a5737107a8
link
/test gitops

ng
af5f4c024b96f618785279d8f41367a5737107a8
link
/test ng

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test ng

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitops
af5f4c024b96f618785279d8f41367a5737107a8
link
/test gitops

ng
50f6bfc14bc7e9b5680773210bccd0a294e70a2e
link
/test ng

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test ng

/test all

/test all


prepare_asgi plugin hook

After #272 we can finally add this hook. It will allow plugins to wrap their own ASGI middleware around Datasette. Potential use-cases include:

adding authentication
custom CORS headers (see #454)
maybe gzip support?
possibly defining entirely new routes, though that may be better handled by a separate hook

These plugins will need access to configuration and the ability to execute SQL - which means we need to make the datasette instance available to them.

#272 is closed now! This hook is next on the priority list.

Documentation for the new hook: https://datasette.readthedocs.io/en/latest/plugins.html#asgi-wrapper-datasette


classes -> functions?

All quadrature scheme classes do nothing else than setting the data in __init__. Would be lose anything when converting all classes to functions that return the respective scheme?

On the other hand, what would you gain? You would still need some object or container to hold the parameters that you output from the factory function. I find it actually rather elegant to have the type of that object indicate what the parameters assigned to it (in it's __init__) encode what the object actually represents. This way, the object conveys additional meaning, e.g. that you can expect an order attribute which describes the integration order.
I would rather see it the other way around: The scheme is an object to perform integration - it should expose a method doing that integration. Since that method internally actually always looks the same for the same type of domain it would probably be implemented in a base-class. Of course, for people expecting a functional interface, one would still preserve top-level functional wrappers around that integration function. The classes could then offer further methods, such as error estimations or order selection helpers - some of which might be generic on the domain, others specific to the scheme.

You're right. As of quadpy 0.13.0, all schemes will be accessible via generator functions; the schemes are objects on which you can call integrate(), citation, show(), etc.

Possibly one could add __call__ to all classes with arguments overwriting object variables. In that way it works like a method and a class?


Treat empty PANTS_VERSION and PANTS_SHA as if they were unset

Overriding the pants version via the environment variables is convenient, and this PR makes it slightly more convenient by having PANTS_VERSION= pants ... treated the same as not setting it.
This means a script can do something like for PANTS_VERSION in "" "2.15.0" ...; to test against multiple versions, including whatever is natively configured in pants.toml, without having to conditionalise PANTS_VERSION's existence entirely. For a concrete example, https://github.com/pantsbuild/pants/pull/19161 wants to be able to run a foreign repo's "native" pants version, but it's not trivial to do, due to this issue (the "" part of the pants version matrix is commented out; obviously I could also have it set the env var conditionally, but that's less convenient).
Before this change, running PANTS_VERSION= pants version next to a pants.toml would prompt for initialising pants:
PANTS_VERSION= pants version
No Pants configuration was found at or above /Users/huon/projects/stellargraph/exoflare.
Would you like to configure /Users/huon/projects/stellargraph/exoflare as a Pants project? (Y/n):

After this change, it's the same as not setting PANTS_VERSION: use pants.toml's setting if one exists, or prompt for initialisation, if there's no pants.toml.

If you'd like to fold in steps 1-3 here: https://github.com/pantsbuild/scie-pants/blob/main/RELEASE.md#version-bump-and-changelog this can go straight to release when it lands on main.

Done, thanks.

Done: https://github.com/pantsbuild/scie-pants/actions/runs/5102247494


WhiteboxImpl.getField(Class,String) doesn't check for null returned from Class.getSuperclass(), which will happen when thisType is an interface.

From<EMAIL_ADDRESS>on September 05, 2009 01:04:55
What steps will reproduce the problem? 1. Run the attached WhiteBoxGetFieldTest against the revision 916 or older of PowerMock trunk
WhiteboxImpl.getField(Class,String) doesn't check for null returned from Class.getSuperclass(), which
will happen when thisType is an interface.
As the class hierarchy for the given Class is ascended, if the field is not found in the parent
class, the interfaces are checked before the grandparent class. The problem is that the
getSuperclass() method will always return null for the Class representing the interface. The current
implementation of WhiteboxImpl blindly adds this null to the examine LinkedList. What is the expected output? What do you see instead? I expect a Field to be returned or a FieldNotFoundException to be thrown. Instead I get a
NullPointerException:
java.lang.NullPointerException
at org.powermock.reflect.internal.WhiteboxImpl.getField(WhiteboxImpl.java:203)
at org.powermock.reflect.WhiteBoxGetFieldTest.testGetField(WhiteBoxGetFieldTest.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) What version of the product are you using? On what operating system? This issue was found in PowerMock 1.2.5 and has been verified to also be in trunk ( revision 916 ). See
attached WhiteBoxGetFieldTest.java for a demonstration. I have tested this with JDK 1.5.0_07 and
<IP_ADDRESS> running on Windows XP SP3. Please provide any additional information below. See the attached WhiteboxImpl_r916.patch file for an easy fix.
Attachment: WhiteboxImpl_r916.patch WhiteBoxGetFieldTest.java
Original issue: http://code.google.com/p/powermock/issues/detail?id=149

From<EMAIL_ADDRESS>on September 06, 2009 08:42:22
Thanks I will look into it asap (which means probably tomorrow).

From<EMAIL_ADDRESS>on September 07, 2009 11:14:03
I've added your test to trunk but your test pass without your patch so I cannot
verify the issue. Could you see if you still get the error you got earlier when
running the test from trunk? The test is available here: https://code.google.com/p/powermock/source/browse/trunk/reflect/src/test/java/org/powermock/reflect/WhiteBoxGetFieldTest.java

From<EMAIL_ADDRESS>on September 07, 2009 11:50:12
After I did a maven clean I could indeed verify the issue to ignore the previous
response. I've applied your patch and it works! Thanks a lot for the contribution.
/Johan
Status: Fixed
Labels: Milestone-Release1.3


apple-llvm-clang workflow not using LLVM clang

Turns out that the apple-llvm-clang workflow is not using LLVM clang, but the native apple-clang.

Closed via https://github.com/NOAA-EMC/spack-stack/pull/113


Razor Pages support ASP.Net server controls or have server controls?

The MVC programming model to his advantage, but there are also disadvantages, page data and logic processing mainly by JS control, C# is only to the front-end data transfer function, the C# instead of weakening, the enhanced JS and web; from ASPX, aspx.cs aspx.cs played this way with powerful back-end processing capabilities of C#, not only can provide data, but also can process the front interface with C# display or logical processing; hope to use the Razor Pages Cs, play the powerful function of C#

This has nothing to do with .net core. On top of that, adding the same comment to multiple issues is bad form, please avoid that.


: Error: Error when reading 'lib/gitkey.dart': No such file or directory import 'package:Prism/gitkey.dart';

: Error: Error when reading 'lib/gitkey.dart': No such
file or directory
import 'package:Prism/gitkey.dart';

We have updated our contribution guidelines now, Contributing.md and you can check out here how to create gitkey.dart
Make sure to add gitkey to your .gitignore file, so that the repo remains confidential.

From Contributing.md

You need to create a file called gitkey.dart with the following syntax that stores the username and password for the GitHub Repository where you want to save your uploaded wallpapers.

const String username = 'username'
const String password = 'password'


Conda packaging

Hi,
would it be possible to distribute pycombo also as a conda package?

that would be awesome! Let me look into that


References to tbb-NOTFOUND.obj

When I try to use TBB with my CMake project like this:
list(APPEND CMAKE_MODULE_PATH "<path to FindTBB module>")

find_package(TBB REQUIRED)

add_executable(myapp myapp.cc)
target_link_libraries(myapp tbb)

It in the end tries to link tbb-NOTFOUND.obj (which of course fails).

Thank you for the bug report. Can you also provide the arguments you used when you invoked cmake, OS, and compiler? So I can try to reproduce your error.

Am compiling with VS2015 on Windows 10.
In the .vcxproj I have the following entry:
<Link>
  <AdditionalOptions> /machine:x64"%3B"/NODEFAULTLIB:msvcrt.lib"%3B"/NODEFAULTLIB:libcmt.lib"%3B"/NODEFAULTLIB:libcmtd.lib %(AdditionalOptions)</AdditionalOptions>
  <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;tbb-NOTFOUND

Not sure yet, where this comes from. Would guess find_package_handle_standard_args.

Might be this problem here: https://stackoverflow.com/questions/14850736/cmake-imported-library-behaviour

Switched add_library to static and seems to work for DEBUG and RELEASE at least. RELWITHDEBINFO cannot link tbb.lib, though.

Yes, the SO post looks like a likely source of the error.

I will look into the error this weekend.

Problem with RELWITHDEBINFO seems to be that there is no _DEBUG defined and then TBB in _tbb_windef.h decides to implicitly link with tbb.lib.
Sadly only setting __TBB_LIB_NAME does not fix the behavior. You probably have to set __TBB_NO_IMPLICIT_LINKAGE to 1 to disable implicit linking.


CWAC cam2 memory issue

I am using 4.4 version of cwac cam2 library and calling the Intent class to capture the image.
Once the image is captured. Its taking lot of memory in my app. Is there any way to reduce the memory usage.

This is an issue tracker, not a support board. Please follow the instructions for getting support.

I am using 4.4 version of cwac cam2 library

There is no 4.4 version. I assume that you mean 0.4.4.

Is there any way to reduce the memory usage.

Use the android:process attribute to isolate the CameraActivity in its own process:
<activity
      android:name="com.commonsware.cwac.cam2.CameraActivity"
      android:process=":cwac_cam2" />

(substituting in whatever you want for the process name, so long as it begins with a :)
This will keep the library's memory usage out your main process and ensure that it gets freed up when the work is completed.


API Implementation 3

Implementation of the advanced APIs for

[x] Painting
[x] Gallery
[x] Post

Hotfix for:

[x] Artist-Test
[x] Epoch-Test


Implement support for Clear Linux

This diff implements support for Clear Linux (--os_type=clear) in PerfKitBenchmarker.
I have tested this with sample_benchmark, by adding the following lines in perfkitbenchmarker/linux_benchmarks/sample_benchmark.py, after the BENCHMARK_DATA dict:
BENCHMARK_DATA_URL = {
    'preprovisioned_data.txt':
        'https://github.com/florinpapa/preprovisioned_data/raw/master/preprovisioned_data.txt'}

Then, I used this command to run the benchmark:
./pkb.py --cloud=AWS --benchmarks=sample --image=ami-0e6e70a1c30534bd2 --os_type=clear --machine_type=m5.4xlarge --zone=us-west-2a

@s-deitz thank you for the feedback. Please see the new changes.

@s-deitz implemented your latest feedback and rebased. Please take a look.

Merged. Thanks.


Allow restricted kits to be used by ops only, fixes #846

This hopefully fixes #846

merged, thanks


Offer collector updates automatically

Update the collector automatically via Github Action.

Tried this out here: https://github.com/atoulme/splunk-otel-collector-chart/actions/runs/6554768987/job/17802256189


Add Pontem wallet plugin

Hello ^^
We published Pontem plugin to npm:
https://www.npmjs.com/package/@pontem/wallet-adapter-plugin

Hi @lusd ! thanks for published it!
We fixed an issue yesterday with @aptos-labe/wallet-adapter-core that caused nextjs apps build to fail, seems like this package uses the old version, could you update your fork with the latest changes on https://github.com/aptos-labs/wallet-adapter-plugin-template/blob/main/package.json#L20 and publish again?
Thanks!

Hi @lusd ! thanks for publishing it! We fixed an issue yesterday with @aptos-labe/wallet-adapter-core that caused nextjs apps build to fail, seems like this package uses the old version, could you update your fork with the latest changes on https://github.com/aptos-labs/wallet-adapter-plugin-template/blob/main/package.json#L20 and publish again? Thanks!

Hey!
Thanks for feedback. I just updated our plugin with new version of  @aptos-labe/wallet-adapter-core and published it to npm. So, our plugin is ready to go.


♻ Refactor GitHub Terraform component

Resolves #1884
under construction, but data-platform-2 will replace data-platform

👍 Feels cleaner/easier to know where to look than existing implementation


fix: added kubernetes api control plane network access for pods

Resolves https://github.com/oracle-terraform-modules/terraform-oci-oke/issues/608
As per the Oracle Kubernetes Engine documentation the Kubernetes API endpoint on ports TCP/6443 and TCP/12250 allows ingress traffic to the Control Plane subnet.
Signed-off-by: James Marino<EMAIL_ADDRESS>

Thank you for your contribution @JamesMarino. Very well spotted. Please can I ask you to sign the OCA so we can merge your PR?

Please can I ask you to sign the OCA so we can merge your PR?

Thanks @hyder - I have signed the OCA when submitting the PR but it's currently saying "Under review". Was there anything else I needed to do on my side?

Ah cool. Nothing to do on your side then. It should come in over the next 24 hours and the "OCA Required" label will be lifted. We'll merge it asap.
Thanks for your contribution. Very much appreciated.


Getting error of "unsupported 16 bit application"

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

I am unable to use Youtube dl. I have been using this software for probably more than a year without any issue. Today when I tried to download a youtube video, I got this error.

After pressing "OK" I get this notification saying " This version of youtube-dl.EXE is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher."

I also downloaded the v2021.04.26 but still I am getting the same issue.
I am running windows 10 - 64 bit version 20H2 (OS Build 19042.928)
Please help me in resolving this issue.

Post the output of certUtil -hashfile "youtube-dl.exe" SHA256.

SHA256 hash of youtube-dl.exe:
0034c72da0d9fde46d03fa2c91a0a3182970f473e7687379e1b4ed7a47620e35
CertUtil: -hashfile command completed successfully.

The hash is invalid. It's not a youtube-dl.exe version 2021.04.26 executable.

Thanks. I redownloaded the exe and everything is working fine now. 👍🏼


Update path to artifacts directory

When the PR #2233 was introduced to seperate the inventory, the artifacts dir was not taken into account. This will put artifacts into the right inventory path.

There is already a PR #2347 for this. Did not see it.


populate replacement structure size and type

scripts in 0100-extract-inputs.R seem to work well and can make the /data/inputs_extracted/str_type_pscis*.csvs
once the data is confirmed as good this info can be cut and paste special into the excel files

Closed via pull request here


candid interface file

Thanks for good library. I have some questions about candid interface file.
README.md

Canister
Create a canister instance with candid interface file and canister id, and call canister method with canister instance:

How is creating an instance from a candid file and calling canister different from other common a query_call or update_call that does not use candid files?

In the case that a Dapp has no candid file, is there any solution? If ic-py can't do it, can an agent in another language do it?

How is creating an instance from a candid file and calling canister different from other common a query_call or update_call that does not use candid files?

By calling through canister, you don't need to handle encoding parameters and decoding return values.
query_raw and call_raw are lower level api. You must provide the struct of parameter and return value.

In the case that a Dapp has no candid file, is there any solution?

If you don't provide the candid, it will try to call __get_candid_interface_tmp_hack to get the candid result. Otherwise, it will fail to initialize the canister.

If ic-py can't do it, can an agent in another language do it?

I don't think so. I think candid desciption is a must for Internet Computer Canister. Without it, we don't know what api the canister are exposing.

from ic.canister import Canister
from ic.client import Client
from ic.agent import Agent
from ic.candid import encode, decode, Types
from ic.identity import Identity

i1 = Identity()
client = Client(url = "https://ic0.app")
agent = Agent(i1, client)

params = []
params = encode(params)

canister_id = 'cea4l-ryaaa-aaaae-aaa6a-cai'

response = agent.query_raw(canister_id,'__get_candid_interface_tmp_hack',params)
canister_did = response[0]['value']
canister = Canister(agent=agent, canister_id=canister_id, candid=canister_did)
TypeError                                 Traceback (most recent call last)
[<ipython-input-13-c4b54dedaeeb>](https://localhost:8080/#) in <module>
     15
     16 response = agent.query_raw(canister_id,'__get_candid_interface_tmp_hack',params)
---> 17 canister_did = response[0]['value']
     18 canister = Canister(agent=agent, canister_id=canister_id, candid=canister_did)

TypeError: string indices must be integers

I appreciate your response. I tried to use __get_candid_interface_tmp_hack to get the candid result from Rust canister, which doesn't have a candid file, but I received the below error. What is the cause of this error?
from ic.canister import Canister
from ic.client import Client
from ic.agent import Agent
from ic.candid import encode, decode, Types
from ic.identity import Identity

i1 = Identity()
client = Client(url = "https://ic0.app")
agent = Agent(i1, client)

params = []
params = encode(params)

canister_id = 'cea4l-ryaaa-aaaae-aaa6a-cai'

response = agent.query_raw(canister_id,'__get_candid_interface_tmp_hack',params)
canister_did = response[0]['value']
canister = Canister(agent=agent, canister_id=canister_id, candid=canister_did)
--------------------------------------
TypeError                                 Traceback (most recent call last)
[<ipython-input-13-c4b54dedaeeb>](https://localhost:8080/#) in <module>
     15
     16 response = agent.query_raw(canister_id,'__get_candid_interface_tmp_hack',params)
---> 17 canister_did = response[0]['value']
     18 canister = Canister(agent=agent, canister_id=canister_id, candid=canister_did)

TypeError: string indices must be integers

Motoko written canister will implement the __get_candid_interface_tmp_hack automatically, while Rust one need to implement manually.
For canister that doesn't expose such method, you need to define the did manually. Otherwise, use the query_raw and update_raw.


Wrapped domain expiry date mismatched

I wrapped my domain to the wrapper, then extend the domain's expiry date on ens.domains, but the expiry date in the wrapper is not updated. When will the expiry date be updated? Or must I renew the domain on wrapper?

You mean on testnet?
The UI currently does not support the wrapper yet. We will be releasing support for it in our new UI. If you want to renew it with the wrapper expiry you need to call renewWithFuses()


Controller does not have action

Hi,
Iam getting this error when using http://localhost/phpci/ url.
I have added .htaccess and also virtual host and getRequestPath() code is also correct
Can any one help me regarding this. Please I need support from you.

@lakshmi28gsrl can you add some more info (webserver, php version, ...) and better explanation of the error?

My problem is solved.

Hi @lakshmi28gsrl
Can you please explain how you resolved your initial problem?
Your new problem is because either:

Git is not installed on the machine that you're using to run PHPCI

or

PHPCI can't find and/or can't execute Git (perhaps doesn't have the right permissions)

Hi dancryer
thanks, I will check my git problem.
My problem solved in below way
First have installed in localhost and set virtual host and add rewrite urls in htaccess but I user url as
http://localhost/phpci. Then iam getting that error page.
So I searched online for installation instructions to know where I was wrong then I find http://blog.erlem.fr/symfony2/127-symfony2-jobeet-l-usine-logicielle
This was very good I followed every step.Now Iam using url http://phpci.local and set server name in  hosts file in C:\Windows\System32\drivers\etc after that I restart the server.
Now it is working fine in windows.
Actually I thought that you guys please provide some more detail document. Because due to lack of documentation it took 4 days to install. If we have correct documentation like the site I mentioned above it took only15 minutes.
Any way this tool was very nice Iam learning a lot more.
thanks

after  fixing my  git problem Iam getting below error and "fails"
Cloning into 'C:\xampp\htdocs\phpci/PHPCI/build/21'...

Exception: Warning: trim() expects parameter 1 to be string, array given in C:\xampp\htdocs\phpci\vendor\symfony\yaml\Symfony\Component\Yaml\Parser.php line 237


What time zone is the 'created' value in when scraping subreddits?

Reddit uses UNIX timestamps to mark when a post or comment is created. UNIX timestamps are based on UTC (Coordinated Universal Time). You can read more about UNIX time here.


Include buffer rings around Non-PARD parks

For the primary heatmap, non-PARD parks should have buffer rings symbolizing access drawn around them.
These parks are currently a slightly different shade of green than PARD park. Should they be a more distinct color?

Just to verify --- The files: land-use-2012-all.geojson and osm-parks-filtered.geojson should be added to the city's park dataset as the basis for our proximity analysis?
Since we do not have information about the Non-Pard parks amenities, I'm thinking it might be better to make a bigger distinction between the two, especially when we are only including developed parks in our base dataset from the city.

Yes to OSM. I haven't opened up the land-use-2012 file yet. If it's not too much trouble, could you make a heatmap with and also without the land-use-2012 data? If it is too much trouble, do it without.
I'm just worried we won't know enough about the parks that show up from that data and that parks of greater significance would already be showing up in OSM or PARD.
Agree with you about stronger distinction.

Here is a breakdown of the number of parcels within each Park Land Use type:
Common Areas - 2820
Park or Greenbelt - 1584
Preserve - 725
Golf Course - 69
Camp Ground - 1
I know John expressed hesitation about us using this dataset so it might be better to not include it. I will look into the layer in more detail though...and remove the parcels that overlap with our existing data and see what that leaves us.

If you want to just look it over real quick, github renders geojson as a map: https://github.com/open-austin/Austin_Parks_Equity/blob/master/data/land-use-2012-all.geojson
FWIW, I'm not too impressed with the data - you won't hurt my feelings if you don't want to include it


Not working on Companion 3.3.1

Hey @elliotmatson I desperately need this working on companion 3.3.1. I would be willing to pay you to get it working if you have some time to work on it.

Hey @chriskooken, it looks like my updates for this module were merged, but never made it into an actual release. I don't have permissions to create a release, but @mrsydster or @josephdadams should!
To hopefully get things working in the meantime, you could download this repository, and then put the parent folder (companion-module-symetrix-dsp) inside your developer modules folder, and it should override the current version. Can you let me know if that works?

https://github.com/bitfocus/companion-bundled-modules/actions/runs/9840586874
I tagged a release and sent it to the betas

@josephdadams awesome. How soon will it be available to download in the beta build? It looks like its still not in there.

Builds run every 6 hours, so I would say sometime in the next 3-4 hours?

Hey @elliotmatson, this is mostly working in the beta build...I can't get feedbacks to work though. Is there some hidden way that im not realizing?

I'm not sure, I didn't really develop that part of the module, and I've never really used that feature. We are in the middle of a big renovation, so my next few weeks are pretty full, but I might be able to find a bit of time to take a look at it


change @root to %root

Changes to support https://github.com/donejs/donejs/issues/162.

Issue is now https://github.com/donejs/donejs/issues/81


docs: update broken bazel links

Signed-off-by: Jose Nino<EMAIL_ADDRESS>docs: update broken bazel links
Description: two links were broken in bazel docs. This PR fixes them.
Risk Level: Low
Testing: n/a
Docs Changes: n/a
Release Notes: n/a

@alyssawilk lets test our new PR policy :)

I just remembered you are out on fridays


PHP profiling

Here a low-overhead sampling profiler for PHP 7+
https://github.com/adsr/phpspy
https://github.com/reliforp/reli-prof

Discarted


[Shared] Updated Stat Port for HAProxy

Signed-off-by: sauveergoel<EMAIL_ADDRESS>Changelog

Updated Stat Port for HAProxy

Reviewed by
@abevers @lakshyakumar @sownak
Linked issue
#1120

Which platform did you use to test this? I remember I had some connection issues when testing this with Hyperledger Fabric

Which platform did you use to test this? I remember I had some connection issues when testing this with Hyperledger Fabric

@lakshyakumar  tested it on Fabric

Has this been tested end-2-end?

Has this been tested end-2-end?

till the chaincode instantiation


Lazily evaluate Reports or provide ability to turn off

Both the full and simplified DataFrame Reports generated by ai.deepsense.deeplang.doperables.dataframe.report.DataFrameReportGenerator call count on the DataFrame, causing a full upstream evaluation of the LogicalPlan. There are instances where this is very costly, and where downstream operations enable the Catalyst Optimizer to reduce the execution cost of the resulting physical plan, as long as intermediate actions are not invoked. While the reports are necessary for interactive inspection of the data at each stage, some workflows can completely hang up a session due to strict evaluation of Report contents.
It would be a great feature to be able to turn off action-invoking report generation in each node.
FWIW, this is what I'm using in custom operations to keep actions from being invoked.
import ai.deepsense.commons.types.ColumnType
import ai.deepsense.deeplang.doperables.dataframe.DataFrame
import ai.deepsense.deeplang.doperables.dataframe.report.DataFrameReportGenerator
import ai.deepsense.deeplang.doperables.dataframe.report.DataFrameReportGenerator.ReportContentName
import ai.deepsense.deeplang.doperables.report.Report
import ai.deepsense.reportlib.model.{ReportContent, ReportType, Table}
import org.apache.spark.sql
import org.apache.spark.sql.types.StructType

/**
 * Specialization of the Seahorse DataFrame where the report is limited to showing
 * the schema.
 */
class SimpleReportDataFrame(override val sparkDataFrame: sql.DataFrame, override val schema: Option[StructType]) extends DataFrame() {
  override def report: Report = {
    val tables = schema.map(schemaTable).toSeq
    Report(ReportContent(
      ReportContentName,
      ReportType.DataFrameSimplified,
      tables
    ))
  }

  def schemaTable(schema: StructType): Table = {
    val values = schema.fields.zipWithIndex.map {
      case (field, index) =>
        val columnName = field.name
        val columnType = field.dataType.simpleString
        List(Some(index.toString), Some(columnName), Some(columnType))
    }.toList

    Table(
      DataFrameReportGenerator.DataSchemaTableName,
      s"Preview of columns and their types in dataset",
      Some(List("Column index", "Column name", "Column type")),
      List(ColumnType.numeric, ColumnType.string, ColumnType.string),
      None,
      values)
  }
}

This is possibly related to #14

This issue is coming up for us more with built-in nodes, like Join.... the report preemptively invokes an action, even before considering downstream filters which, through logical plan optimization and column pruning, may reduce the amount of data ultimately fetched.
My current thinking is that every node should have an switch (BooleanParam) to turn off statistics gathering and row counting (and anything else that might invoke a DataSet/RDD action). Our only recourse now is to not use "big data" during workflow construction.

So you have the problem workflow executions stalling, too? I have not yet managed to get an exported workflow running standalone with the standalone workflow executor - I have to test this some more. If you managed, can you test if executing the workflow stand-alone with a very large data set which gets stuck during the construction will get stuck when executing standalone, too?

@rabejens We've not yet gotten standalone mode working with our cluster, but in local mode we end up using all the memory allocated to Docker, and the driver just crashes, and Seahorse only sometimes detects it sometimes (I think because all of Docker gets upset).


Master and develop branch builds are failing

@KmaTTi89 any idea why master and develop branch builds are failing? new_tests_project branch was building OK.

@warpech
Teamcity is down again for me, I can't investigate this

Yeah, TeamCity is now accessible only though the new VPN, which is accessible only from the office. We will need to give you a personal new VPN account to access from home.

So we have VPN that works only for office IP?
What is the purpose to have vpn that works only from particular network? :)
Nevermind...

The purpose of the VPN is to work from any network, but you need an account to dial in. So far only the office has the VPN account to dial in.

Done.
Problem was incorrect powershell version selected in TC to run script, I don't know who changed that.


Parametrize the metadata download

This commit adds a new sinsp public API (set_metadata_download_params), allowing the user modify some of the key parameters that determine the behavior of metadata download from orchestrators like Kubernetes or Mesos.
The commit also changes the default value of some of the metadata download parameters. Specifically, the maximum startup download size goes from 30MB to 100MB, and the chunck wait delay goes from 10ms to 1ms.
Signed-off-by: Loris Degioanni<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature
Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area driver-kmod

/area driver-ebpf

/area libscap

/area libsinsp

/area tests

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

new: sinsp public API method `set_metadata_download_params` allows the user to modify some of the key parameters that determine the behavior of metadata download from orchestrators like Kubernetes or Mesos.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

a481f5b fix error message when k8s metadata download fails
c9ea619 Merge branch '30mb-issue' of github.com:falcosecurity/libs into 30mb-issue

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ldegio: Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

LGTM label has been added.  Git tree hash: 5655e634bac68e6457a3382036362b500d06c77e

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

efa9379 fix naming of limit constants and variables that was not reflecting the correct scale

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ldegio
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [ldegio]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I've been running this patch in production for about a month and it seems stable.
👍

LGTM label has been added.  Git tree hash: 8d6e562f731b54384fd53bcd8d8463a66a4f3774

New changes are detected. LGTM label has been removed.

LGTM label has been added.  Git tree hash: 85f26c311490194357581966c87903c4c066f490

hi, I am using 0.34 on EKS 1.22 with EBPF. I get the following error in daemons - an error occurred while receiving data from k8s_replicaset_handler_state, m_blocking_socket=1, m_watching=0, Socket handler (k8s_replicaset_handler_state): read more than 100 MB of data from https://x.x.x.x/apis/apps/v1/replicasets?pretty=false (104858058 bytes, 102407 reads). Giving up, this ismulti dev env cluster with a lot of deployments/argo rollouts, what can I do about this to improve or fix?

hi, I am using 0.34 on EKS 1.22 with EBPF. I get the following error in daemons - an error occurred while receiving data from k8s_replicaset_handler_state, m_blocking_socket=1, m_watching=0, Socket handler (k8s_replicaset_handler_state): read more than 100 MB of data from https://x.x.x.x/apis/apps/v1/replicasets?pretty=false (104858058 bytes, 102407 reads). Giving up, this ismulti dev env cluster with a lot of deployments/argo rollouts, what can I do about this to improve or fix?

Hey @s7an-it
Quick question: are you using the complete set of K8s fields or just those included in the default ruleset (i.e., k8s.pod.*)?
If you don't need all fields, you can simply avoid using -k/-K, and you will still get the most useful ones :point_down:

The set of fields k8s.ns.name and k8s.pod.* (e.g., k8s.pod.name) are populated with data fetched from the container runtime, so they don't require the Kubernetes Metadata Enrichment functionality to be enabled.

All the other fields will only be available when Falco also fetches the Kubernetes Metadata from the Kubernetes API server (-k Falco option) .


How to use GPU acceleration? For example, Nvidia? Can GPU be used to accelerate image display? Currently, the display speed for high-resolution images is a bit slow..

How to use GPU acceleration? For example, Nvidia? Can GPU be used to accelerate image display? Currently, the display speed for high-resolution images is a bit slow..

You need faster disk and network for that. Or your machine that you run the
browser in needs hardware acceleration.
-- Sorry for being brief, sent from my phone.
On Tue, 28 Nov 2023, 14:06 leeyonwang, @.***> wrote:

How to use GPU acceleration? For example, Nvidia? Can GPU be used to
accelerate image display? Currently, the display speed for high-resolution
images is a bit slow..
—
Reply to this email directly, view it on GitHub
https://github.com/bpatrik/pigallery2/issues/788, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZKA5WZLSQ5S4AKCVKACCTYGXOVVAVCNFSM6AAAAAA75XLAJKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGAYTIMZZG44TGOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

You need faster disk and network for that. Or your machine that you run the browser in needs hardware acceleration.
Sorry, but that sounds a bit like a lame excuse.

I have a large gallery of around 900GB with some quite high resolution images.

10Gbit network
Storage backend are NVMe SSDs
16/32 Core/threads CPU
128GB of RAM dedicated for Filesystem Caching

I noticed that:

there are generally only 1-2 threads doing actual work when generating thumbnails
if I open a picture in the browser it displays the preview/thumbnail for multiple seconds, and only after that, it starts loading the image, and network traffic peaks at around 2-3MBit.
IOPS stays very low
Read speed of the storage array stays low

So in summary:
My setup is capable of reading (and writing) over 1GByte per second over the network. If I download an image over pigallery2 it's instant, even if the image is 20-30MB big. But opening up multiple tabs to stress test it, I only see 200-300% CPU load at most from the node process.
Maybe sounds a bit harsh, but I just want to give some constructive feedback as I actually really like pigallery2 and it's concept.
It just seems like your software can be improved quite a bit, as throwing more hardware at the problem doesn't seem to work.

You need faster disk and network for that. Or your machine that you run the browser in needs hardware acceleration.
Sorry, but that sounds a bit like a lame excuse.

My understanding on the original question is that displaying the image on the client side is slow. That is limited by client side resources and server side upload speed, hence my answer.

if I open a picture in the browser it displays the preview/thumbnail for multiple seconds, and only after that, it starts loading the image, and network traffic peaks at around 2-3MBit.

my guess is that you did not pre-generated all thumbnail/converted photo sizes. App does not load the original image by default for performance reasons. It only loads original on zoom (subject to settings). If the full preview image is not generated, it will do it on the fly. That can take up 1-2s.
Once you full preview size of a photo is generate it should load instantaneously.
If you click on the autoplay, It wont go to the next image until the next full size image is available on the client side, so there is 0 wait time.
Im talking about this:

Your hardware is far more powerful for the app. I did not have loading time on a RP 4 through 1MB/s internet network.


nixos/tests: correct arguments to get_unit_info

Motivation for this change
This second invocation of get_unit_info inside wait_for_unit must also have the user argument. Note that the first invocation on line 301 has this argument: https://github.com/NixOS/nixpkgs/compare/master...curiousleo:patch-1#diff-01ddd70f69fc99733f3092fb12b03e9bL301
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
cc @tfc @worldofpeace

Thanks @curiousleo, this one was really hiding in there, I didn't even notice it when reading it over.


Missing UUID for PBA and TMAS

Is your enhancement proposal related to a problem? Please describe.
The uuid.h is missing the UUID for Public Broadcast Announcement (0x1856) and Telephony and Media Audio Service (0x1855)
These can be found in https://btprodspecificationrefs.blob.core.windows.net/assigned-numbers/Assigned Number Types/Assigned Numbers.pdf
Describe the solution you'd like
Add the missing UUIDs to uuid.h.
Describe alternatives you've considered
N/A
Additional context
N/A

Interested in taking up this enhancement, will send out a PR soon.

@alexsven @Thalley I'll add this now and open a PR. Can assign to me. Thx

See https://github.com/zephyrproject-rtos/zephyr/pull/53578


feat(angular-ls): add angular language service

This integrates the angular language server with nvim-lsp.
This may need some help with some of "probe" directories and cmd setting. So any help is appreciated but this does work in an angular project!

@steelsojka
Sorry for the late reply, could you wait until the weekend?

@h-michael No problem. There's no rush.

are you using this and it's working? if so let's merge it

I was using this for a bit, but had to disable it. At the time I put in this pull request, diagnostics couldn't be published from multiple clients with the same file. For example, most devs would have the tsserver and angularls running for a single TS file. The diagnostics from one overwrote the other. I thought there was work being done to fix it. But this should be good to go from a language server perspective. I'll rebase and test it again.

@justinmk The server works after rebasing, but we run into a problem with LSP in TS files. Since tsserver and angularls are attached to the same buffer, but each server has different capabilities, we get this error constantly.

As far as the server is concerned, it works great.

I believe this PR would fix the errors. https://github.com/neovim/neovim/pull/12764

looks likes neovim/neovim#12764 has been merged in

https://github.com/neovim/neovim/pull/12655 This was the other blocker but is now resolved. Angular server and TS server both publish TS diagnostics. They used to overwrite each other. So I don't believe anything else is blocking this.


About the source of these algorithms

Hello, can you share which paper these anomaly detection algorithms such as dummy, aer, etc. come from? thank you very much

Hi @xuchunyu123 – thank you for your interest in Orion!
Here is a list of some of the verified pipelines and their sources

pipeline
source

LSTM DT
Hundman et al. (2018), Detecting Spacecraft Anomalies Using LSTMs and Nonparametric Dynamic Thresholding

LSTM AE
Malhotra et al. (2016), LSTM-Based Encoder-Decoder for Multi-Sensor Anomaly Detection

ARIMA
Box and Jenkins (1976), Time Series Analysis: Forecasting and Control

TadGAN
Geiger et al. (2020), TadGAN: Time Series Anomaly Detection using Generative Adversarial Networks

MS Azure
Ren et al. (2019), Time-Series Anomaly Detection Service at Microsoft

Some of the in-house algorithms and their papers are still in development.

Very happy to receive your reply, your reply is really helpful, and where is the source of the unverified dummy model?

The dummy pipeline is a simple thresholding method, we mainly use it in the library to test pipelines. It is not based on any paper :)


Increase the dead links cache expiration timeout

Problem

Currently, every front-end search results in requesting the provider image URL (the direct URL) twice: once for the API dead links filtering and once for the thumbnail generation.
The thumbnails are cached for a period of around a year (to be confirmed), and the link validation cache expires after 24 hours for active links and 120 days for broken links. This means we're re-requesting popular valid images every 24 hours. We could increase the cache expiration timeout to reduce the number of network requests to the providers (which have often been 429-ed lately).
Description

We could set the cache expiration timeout for active links based on an environment variable to make it easily tweakable.
I think increasing the active link cache TTL to one week could be a good balance between keeping the link status up-to-date and reducing the number of requests. What do you think about the timeout period, @openverse-team?
Alternatives

Another option for reducing the number of requests to providers could be to request the thumbnail endpoint first, and if the request headers show that the response header comes from the Cloudflare cache, consider the link not dead. If, however, the response is coming from the proxy and does not have a 200 status, then we can consider the link dead.
Implementation

[ ] 🙋 I would be interested in implementing this feature.

Another option for reducing the number of requests to providers could be to request the thumbnail endpoint first, and if the request headers show that the response header comes from the Cloudflare cache, consider the link not dead. If, however, the response is coming from the proxy and does not have a 200 status, then we can consider the link dead.

If we did this then the API would need to create an access token for itself to use, just a heads up. Otherwise the API would be rate limiting itself :slightly_smiling_face:

One year is correct for the thumbnails:

The cache-control max age is 31536000 seconds, or 365 days (31536000s / 60s / 60m / 24hrs).

Been thinking about this a bit. Have some thoughts and complications:

Thumbnail proxy does not solve the problem for audio, but the same process is followed for audio (requesting upstream url and using response status code to determine liveness of the result). Audio does use the thumbnail proxy but for the artwork. Audio link liveness check uses the actual result url, not the upstream thumbnail location on the audio result.
If we're relying on Cloudflare's caching, are we accepting that a year is a reasonable amount of time to assume that a result is still valid after checking it? If so.... why not just increase the expiration in our existing validation cache to 1 year and skip the network request entirely.
If we use thumbnail proxy then we're adding some potentially non-trivial latency to the validation check:

Send request to thumbnail proxy -> hits cloudflare -> hits the API -> redirect to the internal thumbnail service -> request goes upstream to the result url -> thumbnail proxy processes and returns the response -> now we have the status code we wanted.
Currently the only process is: request goes to upstream url -> how we have the status code we wanted.

I believe that increasing the TTL of the 'live' links to 1 week (or 1 month?) together with #856 and further work on the catalog side would be better solution than using the Cloudflare cache.
The thumbnail cache would probably not allow us to fully develop #856 because we wouldn't get the status code of the actual request.

Sounds great Olga. If we could make them configurable as environment variables that would be excellent too and allow us to tweak things if we notice issues.
Additionally, if we do this, I think we should also update the frontend to more explicitly report when dead links are found on the frontend itself. This will reveal the rate of discrepancy: https://github.com/WordPress/openverse-frontend/blob/f3f03b4039035f8e7887cde99460d7a45fd6b5d1/src/pages/image/_id.vue#L154-L166

Hmm, would there be a reason to add "broken image reporting" to our frontend user reporting form, as well as adding some functionality in the API reporting endpoint? Perhaps our frontend code could call that endpoint in the part of the code Sara linked.
We'd also have the opportunity to let users report images that appear broken. I don't know if that would be used much, though, or if it would just result in a lot of duplication with the automated broken image reporting.
Something to also keep in mind here, we've discussed in the past using the full thumbnails on the single frontend results instead of hotlinking to the source images, which would do many things:

Reduce traffic to sources
Obscure broken images more (the user wouldn't know its broken until visiting the source)

Maybe we'd also want to do a head request clientside on the foreign landing url and report those failures to the API

Reduce single result page load times and size

Hmm, would there be a reason to add "broken image reporting" to the API reporting endpoint?

Maybe... but we don't handle the information gathered from those endpoints well at all now. Adding new data there may be counter productive. I'm not sure. I mostly want us to be able to sort of query the ratio of links we reported as live (returned from the API) but then end up not working on the client side. I don't know how to do this safely though.


How to reset Async request's state required in login screen?

Login Screen

If user enter wrong username and password
Click on Login button
Getting error in onFail method call (Working perfect)
Then again user enter wrong password
Click on login button
Here required call again "onFail method"

`    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    viewModel.selectSubscribe(LoginState::request) {
        when (it) {
            is Loading -> {
                Timber.d("Loading..")
            }
            is Success -> {
                Timber.d("API call success")
            }
            is Fail -> {
                Timber.d("errorr " + it.toString())
                val loginError = it.error.prettyLoginMessage()
                alert(loginError!!, "Failure") {
                    okButton {}
                }.show()
            }
        }
    }
}

`

the reason is Fail is equal, so it will not be emitted again.
one solution is make login fail exception different every time, such as add timestamp as part of message
https://github.com/airbnb/MvRx/issues/142

@poooower It wouldn't be the same if you use execute because it will go back through the loading state.

@gpeal, as the discussion in https://github.com/airbnb/MvRx/issues/142

@poooower We are going to remove the state coalescing. Will that resolve this? If so, let's close this issue 😄


Update _help.py

Related command

az keyvault decrypt
Description

Simple typos fix in documentation
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Thank you for your contribution! We will review the pull request and get back to you soon.

/azp run


Fix redundant conformance warning in test targets

I forgot to fix the new redundant conformance warning in test targets. It is now done.

Thanks!


Doc update

Add section: how-to-install-ianvs
Add section: how-to-contribute-algorithms
Add section: FPN & BasicIL algorithm

lgtm


[QUERY] ARM scopes in non-public clouds

Library name and version
Azure.Core 1.25.0
Query/Question
In Azure.Core, AzureAuthorityHosts.cs lists the default scopes to use for ARM in various clouds:
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity/src/AzureAuthorityHosts.cs#L47
Note that these scopes all have a double slash.
However, in Azure.ResourceManager, we have a list of ARM endpoints and their audiences (derived from ARM metadata).
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/resourcemanager/Azure.ResourceManager/src/ArmEnvironment.cs
Note that only the public cloud audience has a trailing slash, which will result in the double slash for DefaultScope.
One of these probably needs to be changed. I'm inclined to go with ArmEnvironment.cs since it's derived from ARM metadata: i.e. only AzurePublicCloud should have the double-slash.
I can also believe that both forms work in the known clouds, but I recommend we be consistent.
Environment
No response

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Identity:0.39444092,Extensions:0.18114206,Azure.Core:0.06525752'

@pharring I believe you're correct that both the single and double trailing slashes will work. At one point I believe the second trailing slash was required, as the audience needed to exactly match the app registration, but the STS updated to accept either. I agree we should be consistent here, we can follow up with the ARM team to determine which is "more correct" and update accordingly.


haskell.packages.*.ghc-tags: pick compatible version

Since there is probably more movement going forward, testing this on Hydra for multiple GHC versions seems sensible.
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@ofborg build haskell.packages.ghc902.ghc-tags  haskell.packages.ghc8107.ghc-tags haskell.packages.ghc944.ghc-tags haskell.packages.ghc926.ghc-tags

@ofborg build haskell.packages.ghc902.ghc-tags haskell.packages.ghc8107.ghc-tags haskell.packages.ghc944.ghc-tags haskell.packages.ghc926.ghc-tags

Thank you, looks good!


Adding Napa.js tag

Adding tag for the MSFT Napa.js npm package.
From the official readme:
Napa.js is a multi-threaded JavaScript runtime built on V8, which was originally designed to develop highly iterative services with non-compromised performance in Bing. As it evolves, we find it useful to complement Node.js in CPU-bound tasks, with the capability of executing JavaScript in multiple V8 isolates and communicating between them. Napa.js is exposed as a Node.js module, while it can also be embedded in a host process without Node.js dependency.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: kylebegovich sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

:+1:


setting menu error

when ever i click on setting icon it open a .json file in notepad

That's the settings.

Until the settings UI is finalised and added, it will open up the JSON file where all the settings are stored.

Yea this is a dupe of a ton of issues. Please search before filing new issues:
/dup #1422 #1586 #2599 #2895 #2036 #1928 #1786 #1704 #1460 #1664


Enable multi-arch FBC build

Update pipeline to build multi-arch FBC fragments

Will fix the EC test for 4.17 in a different PR as its an unrelated issue.


@next/bundle-analyzer won't generate analyze html files in next.conf.ts (typescript)

Steps:

create with-typescipt example
add next.config.ts
add @next/bundle-analyze plugin

Reproduction: https://github.com/sagartalla/next-bundle-analyzer-typescript.

next.config.ts is not supported, see https://github.com/zeit/next.js/issues/5318
2maintainers: how about checking for this file at startup and throwing an error when it exists, while next.config.js does not?

@kachkaev feel free to PR that. I'll close this issue as it's answered.


[examples] use latest version of language from our default nixpkgs commit hash

Summary
Updating these examples to use the latest version of the languages from our
default nixpkgs commit hash
How was it tested?
buildkite run should pass

Current dependencies on/for this PR:

main

PR #931   👈

This comment was auto-generated by Graphite.

@Lagoja is it safe to rename the php8.1 to php8.2? Do any links break?


Update to LibSASS 3.6.5

https://github.com/sass/libsass/releases/tag/3.6.5

Closed with https://github.com/gohugoio/hugo/commit/bc1e05286a96d08ad02ad200d6a4076bb01c486e.


fixing byteman tests for non-oracle-based JDK's (cherry picked from…

… commit dcd5ca5f72e1532df261ad83b8d7a40da33f5331)

My comment from master PR: Hi Marco, do we have similar tests that run on IBM JDK? I know that these tests were never executed on IBM because Byteman, but I want to be sure that we have covered what these tests cover also on IBM JDK.


Display information hidden by syntax error

Words using <> are hidden because markdown interprets them as html.
Surrounded these words with back-ticks instead for syntax highlighting.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Boolean && expecting a ghost value?

I was playing around with some binary trees and encountered the following.
In its current form, the next block of code typechecks
module Test

open FStar.Heap
open FStar.ST

noeq type snode =
{
  p : ref stree;
  c : ref nat;
  l : ref stree;
  r : ref stree
}
and stree = option snode

let rec snode_eq (x y:snode) : St bool =
  match !x.p , !y.p with
  | None , None -> true
  | Some x_p , Some y_p -> (
      let b    = snode_eq x_p y_p in
      let b'   = !x.c = !y.c in
      let b''  = stree_eq !x.l !y.l in
      let b''' = stree_eq !x.r !y.r in
      b && b' && b'' && b'''
    )
  | _ , _ -> false

and stree_eq (x y:stree) : St bool =
  match x , y with
  | None , None -> true
  | Some x' , Some y' -> snode_eq x' y'
  | _ , _ -> false

But if I inline snode_eq x_p y_p  for b in the definition of snode_eq, I get Test.fst(25,6-25,24): (Error 58) Expected a ghost expression; got an expression "Test.snode_eq x_p y_p <: FStar.ST.STATE Prims.bool" with effect "St"

@mtzguido pointed out that this seems to be something special to && because the following typechecks:
assume val f : bool -> bool -> bool

let rec snode_eq (x y:snode) : St bool =
  match !x.p , !y.p with
  | None , None -> true
  | Some x_p , Some y_p -> (
      //let b    = snode_eq x_p y_p in
      let b'   = !x.c = !y.c in
      let b''  = stree_eq !x.l !y.l in
      let b''' = stree_eq !x.r !y.r in
      snode_eq x_p y_p `f` (b' && b'' && b''')

What's funnier is that this also typechecks, by punning &&:
open FStar.Heap
open FStar.ST

noeq type snode =
{
  p : ref stree;
  c : ref nat;
  l : ref stree;
  r : ref stree
}
and stree = option snode

let (&&) = (&&) (* trick F*! *)

let rec snode_eq (x y:snode) : St bool =
  match !x.p , !y.p with
  | None , None -> true
  | Some x_p , Some y_p -> (
      //let b    = snode_eq x_p y_p in
      let b'   = !x.c = !y.c in
      let b''  = stree_eq !x.l !y.l in
      let b''' = stree_eq !x.r !y.r in
      snode_eq x_p y_p && (b' && b'' && b''')
    )
  | _ , _ -> false

and stree_eq (x y:stree) : St bool =
  match x , y with
  | None , None -> true
  | Some x' , Some y' -> snode_eq x' y'
  | _ , _ -> false

Inlining all of the conjuncts works too.

This is a known limitation and documented here: https://github.com/FStarLang/FStar/wiki/Migrating-code-to-universes, see the 4th point. My guess is when you trick F*, it is no longer treated as a short-circuiting operator but not sure.

Should we then just do this trick in Pervasives to get rid of the limitation mentioned in that 4th point?

But then if you override (&&) you lose the short-circuiting semantics, because it becomes a regular application? I'd rather have an error than see:
(print_endline "1"; true) && (print_endline "2"; true) print both 1 and 2...
or am I missing what the redefinition of (&&) does?

That's right, that'll happen if you do this trick. What I'd prefer to both alternatives is desugaring/elaborating that to:
if (print_endline "1"; true)
then (print_endline "2"; true)
else false

or similar. But then we won't extract that to OCaml's &&, which might be undesirable. No real strong feeling though, I think we can live with this.

You can always wrap this if-then-else in a Tm_meta so that the information can be recovered at extraction-time. We do something similar to turn back matches into if-then-elses, right?

Actually it'd be important to do this for the quality of generated C code.

We decided that the current behaviour is fine, but we need to add a better error message

I'm hitting this issue too.
Defining let (&&) = (&&) or using an if ... then ... else doesn't work for loop conditions extracted to C.
Any other work around?

Let binding the arguments explicitly should work. Is that not desirable for C extraction or something?

KreMLin forbids let bindings in loop conditions:
The translation of this while loop's test expression gives rise to let-bindings, which, once hoisted, would change the evaluation semantics. Please rewrite your code.

@kkohbrok recently ran into definitions losing short-circuiting semantics when trying to define a boolean implication operator:
unfold let ( ===> ) (a b:bool) = not a || b
let ok (o:option bool) = not (Some? o) || Some?.v o
let ko (o:option bool) = Some? o ===> Some?.v o

The error message is now more explicit:
Test.fst(22,6-22,22): (Error 58) Expected a ghost expression (arguments to short circuiting operators must be pure or ghost); got an expression "Test.snode_eq x_p y_p" with effect "St"
1 error was reported (see above)

Closing, thanks for reporting and the discussions!


Add Slim Twitter Bootstrap 3 templates

Add generator for Slim views translated to Twitter Bootstrap 3
Part of #64

@mcasimir please consider this PR to merge on master or at least leave me comments on what I need to change.

I think it makes sense to rename the existing generator to match the pattern of this new one. Maybe ErbTemplatesGenerator? The command should probably stay the same, as it's the "default" one.
In the documentation you added, please fix capitalization and use the proper terms for each project - I believe it should be Slim, Simple Form, and Bootstrap.
If you were using those three things and didn't want to customize the views, is there any reason to run the generators?
These views contain unlocalized strings:
app/views/slim_simple_form_bootstrap/devise/registrations/edit.html.slim
app/views/slim_simple_form_bootstrap/devise/shared/_links.html.slim
app/views/slim_simple_form_bootstrap/devise/unlocks/new.html.slim

This project is being merged into devise-i18n. Please make all further contributions there.


Enable multiple pools of ceph backend in ansible script and update th…

…e installation docs

What this PR does / why we need it:
Currently the opensds ansible only supports to create one pool when managing ceph cluster, which is not good option. So this patch is submitted to solve this issue.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Coverage remained the same at 58.132% when pulling dfce455633ae20bcff2d76788b8d0e03de959ca7 on leonwanghui:updater into 6e8cb314a4fb9fd0de88f284347191623c3f11fc on opensds:development.


Exporting map as html and png

This will allow users to export an ipyleaflet map with Earth Engine layers as HTML or PNG

Looking forward to this functionality! Thank you very much @giswqs

Implemented. See the notebook example.

I'm having trouble exporting a split panel map as HTML. Is this possible?

Unfortunately, customized widgets like split-panel map is not supported at this moment. The exporting HTML functionality originates from ipyleaflet, which could not export split-panel map. Therefore, geemap won't be able to do that either.

I have exported the html page but it's not opening in any browser.

@vijaygrg27 See https://github.com/giswqs/leafmap/discussions/39

Thanks Dr. Qiusheng ,
It's working now .
I wish I could use geemap on mobile instead of using javascripts API


Figure out how to represent the absence of a known good upgrade

There are (at least) two scenarios in which we'll want to report a vulnerability in a package, but won't be (naively) able to offer upgrade advice:

The package is on its latest release, and as such cannot be upgraded any further
The package can be upgraded to a newer release that fixes a vulnerability, but not without introducing another known vulnerability

In the first case, we should probably emit a special value indicating that we're incapable of offering upgrade advice.
The second case is tricker; we could:

Not offer upgrade advice at all
Offer upgrade advice if and only if the newer version is "less" vulnerable than the older
Offer upgrade advice unconditionally, but warn the user that they're just trading one vulnerability for another

Actually, the second case is probably one we can just punt on: our output format supports reporting multiple vulnerabilities for a dependency, so we could leave it to the user to make an upgrade decision among their choices.


[cppzmq] build failure - download hash matches but is wrong case

Host Environment

OS: Windows

To Reproduce
Steps to reproduce the behavior:
./vcpkg install cppzmq
Failure logs
Starting package 1/1: cppzmq:x86-windows
Building package cppzmq[core]:x86-windows...
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:73 (message):

File does not have expected hash:

      File path: [ C:/tools/vcpkg/downloads/zeromq-cppzmq-v4.8.1.tar.gz ]
  Expected hash: [ 02F9B77F67DD46557705511195EB3F4F4E52381256BC9687F36D3E69DB6A628C19CFFF02209B6E6B53822A60781AB0850EB064D8F020E059FC1ACA4D191B66DB ]
    Actual hash: [ 02f9b77f67dd46557705511195eb3f4f4e52381256bc9687f36d3e69db6a628c19cfff02209b6e6b53822a60781ab0850eb064d8f020e059fc1aca4d191b66db ]

The cached file SHA512 doesn't match.  The file may have been corrupted.
To re-download this file please delete cached file at path
C:/tools/vcpkg/downloads/zeromq-cppzmq-v4.8.1.tar.gz and retry.

Additional context
Notice that the hashes are the same, only the expected is uppercase and the actual is lowercase. Hash matching should be case insensitive.

Would be fixed by #21157


line-height updated.

This bug can be mixture of various style. It might be present because of font-weight . I think using percentage for line-height is not good. % are evil in my opinion.
This PR aims to solve issue-548.

@ahmedre  @ATouhou Can you replicate the bug even now?

Deployed to: http://staging.quran.com:33064

rebuild

okay i kicked a rebuild so we can take a look at it. Inshallah this solves it!

Deployed to: http://staging.quran.com:33065

Hmm, that did not work. I think it has something to do with a horizontal and vertical scroll going wrong.

Okay, I think it's something to do with the lazy load component making the scroll + rendering all weird.

Maybe. The repeated word isn't a new element but it is the same word. I checked it in console.

okay that did not fix it...

rebuild

Deployed to: http://staging.quran.com:33105


Fix docs dependencies

Fixes a few conflicts which were preventing the docs build - specifically preventing Sphinx>=5 from being installed.
Also syncs the docs/requirements.txt to agree with setup.cfg.
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

But why sphinx 5 is a problem?
https://github.com/napari/napari-sphinx-theme/issues/121

a quick comment about what's going wrong with sphinx 5 would be appreciated.  thanks! :)

Sorry - just updated the description and will make sure to add a comment for the runtime dependency.