Issue with preparing dataset failed：The dataset preparation failure caused by the Ianvs project update

What happened:
As my title suggests, I encountered a dataset preparation error due to updates in the Ianvs project while running a example in the Ianvs project. Here is the entire process of encountering the problem, my solution, and the cause of the problem. I hope this can help others who have also encountered the same problem.
About a month ago, I started trying to run the Example Cloud-Robotics-1 case, and about half a month ago, after obtaining the required dataset from @hsj576 , I found that the device I was using was not sufficient to achieve the performance required for the case.
Later, I switched to another device and pulled Ianvs' project files from GitHub again to prepare for running Example Cloud-Robotics-1.However, during the configuration process, I encountered an error of dataset preparation failure as shown below.
Traceback (most recent call last):
  File "/usr/local/bin/ianvs", line 33, in <module>
    sys.exit(load_entry_point('ianvs==0.1.0', 'console_scripts', 'ianvs')())
  File "/usr/local/lib/python3.10/dist-packages/ianvs-0.1.0-py3.10.egg/core/cmd/benchmarking.py", line 41, in main
    raise RuntimeError(f"benchmarkingjob runs failed, error: {err}.") from err
RuntimeError: benchmarkingjob runs failed, error: prepare dataset failed, error: not one of train_index/train_data/train_data_info..

This problem did not occur during the previous configuration process, and after repeatedly changing the path and file placement path in the YAML file, the issue has not been resolved.
After being troubled by this issue for two weeks, I accidentally discovered that the testenvmanager folder in the Ianv project had been changed two weeks ago, so I switched to using the Ianvs project package pulled from GitHub a month ago to run Example Cloud-Robotics-1. At this point, the problem of dataset preparation failure no longer exists.
Through communication with @hsj576 , I have learned that the reason for the error may have come from the integration of kubeedge Ianvs into this year's open source summer project code half a month ago, and the updated code may not be compatible with the previous example.
What you expected to happen:
I hope my findings can help classmates who encounter similar problems, and I also hope that my findings can help the project team further improve the project documentation.

The hard work is highly appreciated! It preliminarily finds the cause of this issue on testenvmanager. We also encourage @LQS082 to keep locating the exact function that leads to the bug, by comparing and replacing codes between the two versions. That could be a critical contribution to the ianvs core.


canDrop does not switch while hovered over dropTarget

I have modified the chess example to highlight the issue. This is a contrived example, as I am seeing the issue with out the interval, I am doing something similar to this example (checking the item data for validity in that position), except my drop target is one big target with lots of drag sources.
But if you run this and hold the piece over an area you will not see it change. If you drag it out and in of the drop target area you will see it switch between the states every second.

It definitely can't guess when you change the underlying variable. That it does highlight when you drag in and out is just a happy coincidence.
canDrop can depend on props. If props change every second, then you will see changes regardless of whether you drag or just hover the item. Change the component props, have canDrop depend on them, and it should work.
Or did I miss your point?

I think you missed my point. I have one large DropTarget area (a timeline) with DragSrouces on them (timeline items, though the fact that they are DragSrouces seems to be irrelevant), while moving an item over this DropTarget if the new calculated timeline item overlaps an existing timeline item (calculated by the Store) canDrop returns false.
This seemingly should work, as when I log isOver from the monitor it changes while I drag around the item (on and off the drop target, also while just hovering), but canDrop when passed in though the collector only changes when isOver changes.

After more thought, perhaps I have misunderstood what "monitor" is supposed to do. What it seems like it is supposed to do from the docs is allow you to query info about the dropTarget state at any point in time. Because isOver is updated dynamically, it is easy to make the assumption that when canDrop changes it would update too.
The way I imagine this works is canDrop is called every mouse move while dragging something and while hovered over a drop target. However this sounds like it is not he case. Have I misinterpreted how monitor.canDrop() is supposed to work?

The way I imagine this works is canDrop is called every mouse move while dragging something and while hovered over a drop target. However this sounds like it is not he case. Have I misinterpreted how monitor.canDrop() is supposed to work?

Right, this is not the case (for perf reasons). canDrop accepts props, so if props change, it will be recalculate. When drag starts or ends, it is recalculated too. However it won't be recalculated every time you drag a mouse, unless your props also change while you do so.
To solve your specific use case, I'd need some more code samples to understand what you're trying to accomplish. Is there any way to make canDrop to depend on props in your case?

Yes, What I have done is the following
if (monitor.canDrop()) component.setState({stagedEvent})
else component.setState({stagedEvent: null})

in the hover spec for the drop target. It does work great, I was only a bit confused because in your docs you say those sorts of things are better handled in the render function, and setting state like that on the component is sort of an anti pattern. So this ticket was me trying to do it all in the render function.
I am going to close this ticket, but if you have a better suggestion on how to handle this scenario I would be glad to hear it.

Is it too much of me to ask you to prepare a simple example so I better understand the context? I still don't quite get what your canDrop should depend on.

^^ lol didn't mean this to sound rude or anything :-)

No problem. The simple sample was the modification I made to the chess example. It would be pretty involved to replicate what I am trying to do. I am going to private message you with a gist of the code in question.


Mix.Project.config/0 sometimes doesn't return the project configuration

Environment

Elixir & Erlang versions (elixir --version): 1.13, OTP 24
Elixir Language Server version: 0.10.0
Operating system: Ubuntu
Editor or IDE name (e.g. Emacs/VSCode): VSCode
Editor Plugin/LSP Client name and version: ElixirLS

Current behavior
I'm investigating crashes in the boundary library. These crashes take place only when the project is built inside ElixirLS.
For the purpose of this report, it's enough to know that boundary is a custom compiler which invokes Mix.Project.config/0 to get the project configuration.
It appears that in some situations, Mix.Project.config/0 isn't returning the project config, but rather some generic default template. As the docs state: If there is no project defined, it still returns a keyword list with default values. This allows many Mix tasks to work without the need for an underlying project.. This is only happening in ElixirLS, and only after the previous compilation failed due to an error.
Here are steps to reproduce:

mix new my_app

In mix.exs add {:boundary, "~> 0.9"} as a dep, and fetch deps.

In my_app.ex add use Boundary to the MyApp module.

In mix.exs add compilers: [:boundary | Mix.compilers()] in project/0. Only do this after step 3, or otherwise ElixirLS will crash due to another bug (which I need to fix in the boundary lib).
Make sure that the project is compiling from ElixirLS (I used vscode for testing, and observed the output view).

Introduce a compilation error in my_app.ex, e.g.:
def hello do
  foobar()
  :world1
end

Wait until the compilation fails, then fix the error. At this point, the boundary compiler will crash with:
** (KeyError) key :app not found in: [aliases: [], build_embedded: false, build_per_environment: true, build_scm: Mix.SCM.Path, config_path: "config/config.exs", consolidate_protocols: true, default_task: "run", deps: [], deps_path: "deps", elixirc_paths: ["lib"], erlc_paths: ["src"], erlc_include_path: "include", erlc_options: [], lockfile: "mix.lock", preferred_cli_env: [], start_permanent: false]
  (elixir 1.13.1) lib/keyword.ex:559: Keyword.fetch!/2
  (boundary 0.9.3) lib/boundary/mix/xref.ex:123: Boundary.Mix.Xref.seen_table/0
  (boundary 0.9.3) lib/boundary/mix/xref.ex:34: Boundary.Mix.Xref.initialize_module/1
  (boundary 0.9.3) lib/boundary/mix/tasks/compile/boundary.ex:128: Mix.Tasks.Compile.Boundary.record/5

Notice the keyword list which is inspected in this output. This list is obtained via Mix.Project.config(), but it doesn't correspond to the actual project config. For example the :app key is missing, as well as the :compilers key.
Restarting ElixirLS will fix the issue. I wasn't able to reproduce the problem outside of ElixirLS. Due to this, it seems that the problem is somehow related to the way ElixirLS builds the project after a failed compilation.
Expected behavior
Mix.Project.config/0 should always return the correct project configuration.

@sasa1977 do you have this error in a phoenix project with reloader? It uses a similar approach to recompilation.

@sasa1977 do you have this error in a phoenix project with reloader? It uses a similar approach to recompilation.

Just tried the following:

mix phx.new (latest archive)
Add boundary, setup web and main boundaries (both with check: [in: false, out: false] options, to avoid boundary errors)
Start iex -S mix phx.server, visit localhost:4000
in PageController introduce a compilation error, refresh the browser page
Fix the compilation error, refresh the page again

Result:

Phoenix recompiles the single file successfully
ElixirLS recompilation crashes, as describe above

Adding a data point - I have this issue as well

While we wait for a fix, here is a workaround:
  # Workaround to avoid Boundary breaking ElixirLS:
  # ElixirLS runs Mix compilers with MIX_ENV set to test, so we disable the
  # Boundary compiler in that case.
  # Alternatively, we could set the "elixirLS.mixEnv" option to something
  # else (like "elixirls") and then check for that env here.
  # Warning:
  #   `mix test` will enforce boundaries, but `MIX_ENV=test mix test` will not!
  #   The first will compile `mix.exs` with env :dev, and then compile
  #   everything else with env :test.
  #   The second will compile `mix.exs` itself with env :test, disabling the
  #   Boundary compiler.
  @use_boundary (if Mix.env() == :test do
                   []
                 else
                   [:boundary]
                 end)

  def project do
    [
      # ...
      compilers: @use_boundary ++ [:other :compilers] ++ Mix.compilers(),
      # ...
    ]
  end

@sasa1977 after some debugging this looks like a problem in boundary exposed by elixir-ls. We reload and recompile MixProject on every build to pick up changes in mix config. During normal successful compilation everything works as expected. See
Mix.ProjectStack.peek() on MixProject reload: %{
  config: [
    app: :boundary_crash,
  ],
}
Mix.ProjectStack.peek() after pop: nil
Mix.ProjectStack.peek() after post config: nil
Code.get_compiler_options: %{
  tracers: [ElixirLS.LanguageServer.Tracer],
}
Mix.ProjectStack.peek() after load config: %{
  config: [
    app: :boundary_crash,
  ],
}
------boundary compiler executes
Compiling 1 file (.ex)

Here's what happens when the build fails
Code.get_compiler_options: %{
  tracers: [ElixirLS.LanguageServer.Tracer],
}
Mix.ProjectStack.peek() after load config: %{
  config: [
    app: :boundary_crash,
  ],
}
------boundary compiler executes
Compiling 1 file (.ex)

== Compilation error in file lib/boundary_crash.ex ==
** (CompileError) lib/boundary_crash.ex:17: undefined function foobar/0 (expected BoundaryCrash to define such a function or for it to be imported, but none are available)

And then after fixing build
Mix.ProjectStack.peek() after post config: nil
Code.get_compiler_options: %{
  tracers: [Mix.Tasks.Compile.Boundary, ElixirLS.LanguageServer.Tracer],
}

== Compilation error in file mix.exs ==
** (KeyError) key :app not found in: [aliases: [], build_embedded: false, build_per_environment: true, build_scm: Mix.SCM.Path, config_path: "config/config.exs", consolidate_protocols: true, default_task: "run", deps: [], deps_path: "deps", elixirc_paths: ["lib"], erlc_paths: ["src"], erlc_include_path: "include", erlc_options: [], lockfile: "mix.lock", preferred_cli_env: [], start_permanent: false]

boundary is not properly clearing its tracer from compiler_options on failed builds and when elixir-ls tries to reload and recompile MixProject this tracer crashes. While elixir-ls could clean up tracers and reset it to known state I think this responsibility should be on boundary.

Hmm it may be difficult to properly implement cleanup as it seems that when build fails Mix.Task.Compiler.after_compiler callback is not invoked (tested on a simple vanilla mix app and a simple noop compiler task).

Thanks for debugging! Looking at the boundary code, it doesn't seem correct. The tracer is cleared on success, but not on error.
I'll try the fix tomorrow and report back, although your follow-up report suggests that an Elixir bug also has to be fixed.
Either way, I'm a bit confused, because this used to work just fine up until recently. I suppose something has changed in the way ElixirLS recompiles the project, right?

Yeah, I've fixed the behaviour in boundary, but the error still appears, because the callback is not invoked, so I guess we'll have to wait for the Elixir fix.

I'll try the workaround with clearing tracers

FYI, I took the approach advised in https://github.com/elixir-lang/elixir/issues/12159#issuecomment-1273584316 (cleaning up the tracers after the Elixir compiler) and this resolved the issue. The fix is published on hex in boundary 0.9.4. Thanks for helping troubleshoot this.


Part of HTTP request body data is abandoned

On the surface, it's a crash issue.
int64_t CurlSession::ReadSocketToBuffer(uint8_t* buffer, int64_t bufferSize)
{
  CURLcode readResult;
  size_t readBytes = 0;

  do // try to read from socket until response is OK
  {
    readResult = curl_easy_recv(this->m_pCurl, buffer, static_cast<size_t>(bufferSize), &readBytes);
    if (readResult == CURLE_AGAIN)
    {
      readResult = CURLE_AGAIN;
    }
    // socket not ready. Wait or fail on timeout
    if (readResult == CURLE_AGAIN && !WaitForSocketReady(this->m_curlSocket, 1, 60000L))
    {
      throw;     <-  It crashed here
    }
  } while (readResult == CURLE_AGAIN); // Keep trying to read until result is not CURLE_AGAIN

  return readBytes;

Unhandled exception at 0x00007FF94F3FA799 in azure-storage-test.exe: Microsoft C++ exception: [rethrow] at memory location 0x0000000000000000. occurred
callstack:
 	[External Code]
>	azure-storage-test.exe!Azure::Core::Http::CurlSession::ReadSocketToBuffer(unsigned char * buffer, __int64 bufferSize) Line 435	C++
 	azure-storage-test.exe!Azure::Core::Http::CurlSession::ReadStatusLineAndHeadersFromRawResponse() Line 249	C++
 	azure-storage-test.exe!Azure::Core::Http::CurlSession::Perform(Azure::Core::Context & context) Line 93	C++
 	azure-storage-test.exe!Azure::Core::Http::CurlTransport::Send(Azure::Core::Context & context, Azure::Core::Http::Request & request) Line 16	C++
 	azure-storage-test.exe!Azure::Core::Http::TransportPolicy::Send(Azure::Core::Context & ctx, Azure::Core::Http::Request & request, Azure::Core::Http::NextHttpPolicy nextHttpPolicy) Line 69	C++
 	azure-storage-test.exe!Azure::Core::Http::NextHttpPolicy::Send(Azure::Core::Context & ctx, Azure::Core::Http::Request & req) Line 20	C++
 	azure-storage-test.exe!Azure::Storage::SharedKeyPolicy::Send(Azure::Core::Context & ctx, Azure::Core::Http::Request & request, Azure::Core::Http::NextHttpPolicy nextHttpPolicy) Line 29	C++
 	azure-storage-test.exe!Azure::Core::Http::NextHttpPolicy::Send(Azure::Core::Context & ctx, Azure::Core::Http::Request & req) Line 20	C++
 	azure-storage-test.exe!Azure::Storage::CommonHeadersRequestPolicy::Send(Azure::Core::Context & ctx, Azure::Core::Http::Request & request, Azure::Core::Http::NextHttpPolicy nextHttpPolicy) Line 33	C++
 	azure-storage-test.exe!Azure::Core::Http::HttpPipeline::Send(Azure::Core::Context & ctx, Azure::Core::Http::Request & request) Line 47	C++
 	azure-storage-test.exe!Azure::Storage::Blobs::BlobRestClient::BlockBlob::Upload(Azure::Core::Context context, Azure::Core::Http::HttpPipeline & pipeline, const std::string & url, Azure::Core::Http::BodyStream & requestBody, const Azure::Storage::Blobs::BlobRestClient::BlockBlob::UploadOptions & options) Line 3985	C++
 	azure-storage-test.exe!Azure::Storage::Blobs::BlockBlobClient::Upload(Azure::Core::Http::BodyStream & content, const Azure::Storage::Blobs::UploadBlockBlobOptions & options) Line 77	C++
 	azure-storage-test.exe!Azure::Storage::Test::BlockBlobClientTest::SetUpTestSuite() Line 54	C++
 	azure-storage-test.exe!testing::TestSuite::RunSetUpTestSuite() Line 965	C++
 	azure-storage-test.exe!testing::internal::HandleSehExceptionsInMethodIfSupported<testing::TestSuite,void>(testing::TestSuite * object, void(testing::TestSuite::*)() method, const char * location) Line 2599	C++
 	azure-storage-test.exe!testing::internal::HandleExceptionsInMethodIfSupported<testing::TestSuite,void>(testing::TestSuite * object, void(testing::TestSuite::*)() method, const char * location) Line 2650	C++
 	azure-storage-test.exe!testing::TestSuite::Run() Line 3018	C++
 	azure-storage-test.exe!testing::internal::UnitTestImpl::RunAllTests() Line 5731	C++
 	azure-storage-test.exe!testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool>(testing::internal::UnitTestImpl * object, bool(testing::internal::UnitTestImpl::*)() method, const char * location) Line 2599	C++
 	azure-storage-test.exe!testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool>(testing::internal::UnitTestImpl * object, bool(testing::internal::UnitTestImpl::*)() method, const char * location) Line 2650	C++
 	azure-storage-test.exe!testing::UnitTest::Run() Line 5313	C++
 	azure-storage-test.exe!RUN_ALL_TESTS() Line 2486	C++
 	azure-storage-test.exe!main(int argc, char * * argv) Line 10	C++
 	[External Code]

it's because HTTP request body is partially abandoned so the server side never got enough data as claimed in Content-Length request header. So server kept waiting and client side timed out.
I tried to capture the traffic with Fiddler. It says The request body did not contain the specified number of bytes. Got 1,398,784, expected 8,388,608.
It might be helpful in debugging if you add some error-checking here.

@RickWinter , just to clarify, though it's triaged to Aug milestone, it's actually impacting the private preview release.

here's a repro program
// Copyright (c) Microsoft Corporation. All rights reserved.
// SPDX-License-Identifier: MIT

#include "http/pipeline.hpp"

#include <array>
#include <http/curl/curl.hpp>
#include <http/http.hpp>
#include <iostream>
#include <memory>
#include <vector>

using namespace Azure::Core;
using namespace Azure::Core::Http;
using namespace std;

int main()
{
  try
  {
    // Create the Transport
    std::shared_ptr<HttpTransport> transport = std::make_unique<CurlTransport>();

    std::vector<std::unique_ptr<HttpPolicy>> policies;

    // Add the transport policy
    policies.push_back(std::make_unique<TransportPolicy>(std::move(transport)));

    auto httpPipeline = Http::HttpPipeline(policies);

    auto context = Context();

    string host("https://your_account.blob.core.windows.net/container/file?sp=rcwd&st=2020-07-08T03:47:32Z&se=2020-08-08T11:47:32Z&spr=https,http&sv=2019-10-10&sr=b&sig=xxxxxxxxxxxxxxx");

    std::vector<uint8_t> request_bodydata(100 * 1024 * 1024, '1');

    MemoryBodyStream requestBodyStream(request_bodydata.data(), request_bodydata.size());
    auto request = Http::Request(Http::HttpMethod::Put, host, &requestBodyStream);
    request.AddHeader("Content-Length", std::to_string(request_bodydata.size()));
    request.AddHeader("x-ms-version", "2019-07-07");
    request.AddHeader("x-ms-blob-type", "BlockBlob");

    auto response = httpPipeline.Send(context, request);
  }
  catch (Http::CouldNotResolveHostException& e)
  {
    cout << e.what() << endl;
  }
  catch (Http::TransportException& e)
  {
    cout << e.what() << endl;
  }

  return 0;
}

Replace the url with a valid blob uri with SAS token.

There is a weird issue with libcurl on curl_easy_send on Windows
As a workaround for now, adding a thread pause of 200ms after each time we call curl_easy_send.
We need to investigate more about this issue.
On linux, this issue is usually seen once libcurl has already uploaded about 180Mb to storage blob.
On Windows, it can happen right after 1Mb is uploaded.

There is a weird issue with libcurl on curl_easy_send on Windows
As a workaround for now, adding a thread pause of 200ms after each time we call curl_easy_send.
We need to investigate more about this issue.
On linux, this issue is usually seen once libcurl has already uploaded about 180Mb to storage blob.
On Windows, it can happen right after 1Mb is uploaded.

I understand there are some technical problems here. From storage team's perspective, what we need is a HTTP client that can work properly and efficiently on all platforms. I don't care how you do it, no matter sleep or not, whatever.
In addition, 180MB is far from ideal. We need to support 5GB HTTP body, and maybe 40GB in the future.

@JinmingHu-MSFT the test program you provided uses Storage ver. 2019-07-07, which has a MAX put blob upload of 256MB
This is why I has not able to upload more than that with current changes on PR: #256
Server returns this error:

RequestBodyTooLargeThe request body is too >large and exceeds the maximum permissible limit.
RequestId:8548e694-001e-0066-707f-56b850000000
Time:2020-07-10T06:03:57.8601104Z268435456

Please try on master code now with Storage version 2019-12-12 or use less than 256MB for this program


fix: too high font weight for activity list

Try out this version of the Hiro Wallet - download extension builds.

Fix too big font-weight for activity list
Before

After

Side note: does this PR really require a changeset? No need to remove, it doesn't hurt. But does a user/developer reading the changelog learn anything of value knowing this font weight issue (or any negligible bug) has been fixed? @aulneau @beguene

@kyranjamie Initially I did not add it thinking indeed it will not add much value. But @aulneau suggested that we always add a changeset to all our PRs. Maybe we can clarify when the changeset must be added.

I would suggest we don't follow this as a rule https://github.com/atlassian/changesets/blob/main/docs/intro-to-using-changesets.md#some-handy-advice

LGTM, merge at your convenience


Remove PSP from kubernetes templates

PSP is deprecated in kubernetes 1.21 and will be removed in kubernetes 1.25 https://kubernetes.io/blog/2021/04/06/podsecuritypolicy-deprecation-past-present-and-future/ . as it's deprecated, we need to take into consideration when to remove the PSP templates from the cephcsi repo.

@Madhu-1 considering 1.21 will be the base for release 3.4, this could be targetted for next major version. Also we have breathing time on deprecated stuff. @nixpanic wdyt?

Still required as kubernetes 1.25 is next release


CORE-9054 Starting a flow fails due to security permissions

Added system property securityMangerEnabled that can be used to disable Security Manager

Replaced with https://github.com/corda/corda-runtime-os/pull/2830


install fails

npm i -S bem-join fails:
node: 13.5.0
npm: 6.14.4
75 verbose stack Error<EMAIL_ADDRESS>preinstall: `npx npm-force-resolutions`
75 verbose stack Exit status 1
75 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
75 verbose stack     at EventEmitter.emit (events.js:305:20)
75 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
75 verbose stack     at ChildProcess.emit (events.js:305:20)
75 verbose stack     at maybeClose (internal/child_process.js:1028:16)
75 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
76 verbose pkgid<EMAIL_ADDRESS>77 verbose cwd /Users/divisionofdev/Documents/sites/cfr-china
78 verbose Darwin 18.7.0
79 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "i" "-S" "bem-join"
80 verbose node v13.5.0
81 verbose npm  v6.14.4
82 error code ELIFECYCLE
83 error errno 1
84 error<EMAIL_ADDRESS>preinstall: `npx npm-force-resolutions`
84 error Exit status 1
85 error Failed at the<EMAIL_ADDRESS>preinstall script.
85 error This is probably not a problem with npm. There is likely additional logging output above.
86 verbose exit [ 1, true ]

also showing missing package.json/package-lock.json files before it dies even though they exist:
ENOENT: no such file or directory, open './package-lock.json'
npm WARN Invalid version: "1.0"
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
npm WARN test No description
npm WARN test No repository field.
npm WARN test No README data
npm WARN test No license field.

running: npx npm-force-resolutions by itself results in:
npx: installed 5 in 2.378s

1.2.1 works fine

Thanks for pointing this out. I'll have a look when I have some time.

Fixed in v2.0.2.


Remove notice from IzzyOnDroid repo about lack of updates

I'm a new user thanks to Food Expiration Dates being advertised within my F-Droid app.
After checking, I believe the notice about no further updates can now be removed, since the versions are 2.0 both here and on the repository.

The notice has been removed


[0.6.0] Support for EVMConnect and FireFly v1.1.x

Includes a new firefly-evmconnect chart so that multiple installations of EVMConnect can be made for different Ethereum-based chains (public or private).
The core firefly chart is then updated to include creating a single installation of evmconnect, and migrate the presumably existing default multi-party namespace to the new v1.1.x namespace config format (see the relevant FIR and migration guide) while allowing for new, additional namespaces to be defined with however many additional plugins may be needed (via config.extraDatabases, config.extraBlockchains, etc.). Similarly, if users created other multi-party namespaces in their v1.0.x installations of FireFly, they will be able to define and migrate them using config.extraNamespaces.
ethconnect support within the chart is then deprecated in favor of evmconnect. And lastly, the ability to connect to both evmconnect and a remote Fabconnect is supported with the choice of which to use for the default namespace. This allows users to create a multi-party namespace based on Fabric, but then have a gateway or additional multi-party namespace pointed to an Ethereum chain for example.
TODOs

[x] ci/ files for EVMConnect
[x] Further test
[ ] Finish docs

Determined that fixing the E2E test and docs might be save for separate PRs so that this can be merged to create a release candidate once Fabric testing is complete.

Using a local-values.yaml like the one below (secrets redacted) and remote Kaleido blockchain environments I confirmed I could run Fabric and Ethereum multi-party namespaces in tandem with a local EVMConnect and have the node register itself within both:
config:
  debugEnabled: true
  adminEnabled: true
  metricsEnabled: true

  organizationName: "blockhead-games"
  organizationKey: "0xe07f393b1a9b7d59c45007366035659f3e7f190f"
  fireflyContractAddress: "0x96a2a70e9e6afa390504e5bc5e9ac692df20aa07"
  fireflyContractFirstEvent: 26795

  postgresUrl: "postgres://postgres:firef1y@postgresql.default.svc:5432/firefly?sslmode=disable"

  ipfsApiUrl: "https://e0g6gnwjb3-e0cxqfizyi-ipfs.de0-aws.kaleido.io"
  ipfsGatewayUrl: "https://e0g6gnwjb3-e0cxqfizyi-ipfs.de0-aws.kaleido.io"
  ipfsApiUsername: "***"
  ipfsApiPassword: "***"
  ipfsGatewayUsername: "***"
  ipfsGatewayPassword: "***"

  fabconnectUrl: "https://e0qpgxl5hd-e0cbbhj3hz-connect.de0-aws-ws.kaleido.io/"
  fabconnectUsername: "***"
  fabconnectPassword: "***"
  fabconnectSigner: "blockhead-games"

  defaultBlockchainType: fabric

  extraNamespaces: |
    - name: default-eth
      remoteName: default-eth
      description: Default Ethereum namespace
      defaultKey: {{ .Values.config.organizationKey }}
      plugins:
        - database0
        - eth0
        - dataexchange0
        - sharedstorage0
      multiparty:
        enabled: true
        org:
          name: {{ .Values.config.organizationName }}
          description: The {{ .Values.config.organizationName }} organization
          key: {{ .Values.config.organizationKey }}
        node:
          name: {{ include "firefly.nodeName" . }}
          description: {{ include "firefly.nodeName" . }}
        contract:
          - location:
              address: {{ .Values.config.fireflyContractAddress }}
            firstEvent: {{ .Values.config.fireflyContractFirstEvent }}

core:
  metrics:
    serviceMonitor:
      enabled: true
  jobs:
    postgresMigrations:
      enabled: true
    registration:
      enabled: true
      ffNamespaces:
        - default
        - default-eth

dataexchange:
  certificate:
    enabled: true
    issuerRef:
      kind: ClusterIssuer
      name: selfsigned-ca

  tlsSecret:
    enabled: false

evmconnect:
  enabled: true

  config:
    connector: |
      url: https://e0g6gnwjb3-e0d6g52lhx-rpc.de0-aws.kaleido.io/
      headers:
        Authorization: "Basic ***"

    policyEngine: |
      policyengine.simple:
        fixedGasPrice: "0"
        resubmitInterval: 5m
        gasOracle:
          mode: fixed


Token ID computation in BM25/BM42: Possible id overlap due to absolute value casting of hash

Found thus only cause I was curious how fastembed calculates token ids for bm25/bm42, so I took a deep dive:
Problem
The function compute_token_id computes the absolute value of a signed 32 bit integer returned by the mmh3 hash lib.
    @classmethod
    def compute_token_id(cls, token: str) -> int:
        return abs(mmh3.hash(token))

This could lead to token id overlap, e.g. if hash of "black" is -42 and "white" is 42 (this is exaggerated of course), the token id would be 42 for both of them.
Is this expexted behaviour?
Proposed Solution
The hash call could also provide an unsigned 32 bit int (casted to a positive 64bit int, which would be no problem for qdrant since its 64 bit native).
This could be achieved by specifying the following extra arguments:
    @classmethod
    def compute_token_id(cls, token: str) -> int:
        return mmh3.hash(token, seed=0, signed=False)

I'm happy to provide a PR if you would like this behaviour to be changed.

Hi @freinold ,
Thank you for highlighting this issue!
We've decided to take a bit more sophisticated approach than the suggested, and it requires changes in the core.
I'll post here a link to the issue/pr in the core once it is available


Adding multiple cursors to the start of lines and making changes in insert mode causes strange text placement

Hey there!
First things first, thank you very much for the plugin it has so far been an incredible implementation of multi-cursor editing!  Second, I have checked the README and read other issues and cannot find reference to something like this.
On to the bug itself, I've found that when I start a multi-cursor sequence at the start of a given line making changes in insert mode puts the added text all out of order.  As this is hard to describe I've attached a video, in that video I'm using a minimal setup, essentially just this plugin and it's dependencies loaded through Lazy.  No keybindings have been added outside of what is created by the plugin.  Of note this is reproduced in my more complex actual editing setup as well.
If you're looking to reproduce it, setup a sequence similar to something like:
let foo = "bar"
let bar = "baz"
let baz = "bux"

and start the multi-cursor on the first let, add successive cursors to the next lets and push c to change the text, enter any text and it all should go a bit haywire at that point.
Expected behavior
Creating multiple cursors on the first word of each line and making insert mode changes should add text in the place where the cursors were created.
Nvim version:
Nightly/ NVIM v0.10.0-dev
Multicursor version:
v.0.7.4 (latest)
Screenshots
https://github.com/smoka7/multicursors.nvim/assets/57326077/83ab0cb0-e96a-4aca-a015-908d3eb2c2c1

Thanks for the through report :+1:.
There is also a similar issue when inserting at the end of line. I'll merge this fix when i have a solution for that too.

Incredible!  Thanks for the update, I'll watch out for the merge.


Rule COMPONENT_INVALID_NAME does not support camelCase as intended

When attempting to use camelCase for the ComponentNameChecker.case parameter I noticed it's still applying the PascalCase logic. Digging into the code it looks like the issue is an incomplete method isInvalidComponent() in ValidName.java.
Note the lack of use of the defined caseOk variable. Compare to the method just preceding isInvalid() which does utilize a similarly named variable.
{
	"rule": [],
	"excludes": [],
	"includes": [],
	"inheritParent": false,
	"parameters": {
		"ComponentNameChecker.case": "camelCase"
	}
}

Component name salesOrder is not a valid name. Please use camelCase and start with a capital letter. cflint(COMPONENT_INVALID_NAME) [1, 1]

I'm happy to tackle putting a PR together though can't tackle it immediately. If anyone else wants to tackle first, or perhaps the core team has some ideas on this one, please mention them below.

Just be sure to include a new test and proper message (remove "and start with a capital letter") with your fix and your PR should be approved.


RTMP live stream disconnects suddenly

We are having a problem with our nginx RTMP stream. The live stream works fine, but it can suddenly stop and we aren't being able to find out why after an exhausting reseach. We  are using a GoPro Hero 12.
This can't be a network or camera issue, we already dismissed that. To dimiss that we set up a YouTube live stream simultaneously to verify that when our RTMP stream falls the camera still streams in YouTube. We are sure this has to be a server side issue.
The stream falls every single day at the same time, around 10:20-10:40 and then at 14:00. We checked everything, but we found nothing. The server is a clean server fully dedicated to RTMP live streaming.
This is our simple RTMP config in nginx.conf:
rtmp {
       #access_log logs/rtmp_access.log;
       server {
           listen 1935;
           chunk_size 4096;

           application live {
               live on;
               record off;
           }
       }
}

When the RTMP stops, this is what is logged in the error log (this goes since the fall until we restart nginx):
2024/10/11 10:15:27 [info] 21804#21804: *57 createStream, client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:15:27 [info] 21804#21804: *57 publish: name='' args='' type=live silent=0, client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:15:27 [error] 21804#21804: *57 live: already publishing, client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:15:32 [info] 21804#21804: *57 disconnect, client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:15:32 [info] 21804#21804: *57 deleteStream, client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:30:50 [info] 21804#21804: *54 recv() failed (104: Connection reset by peer), client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:30:50 [info] 21804#21804: *54 disconnect, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:30:50 [info] 21804#21804: *54 deleteStream, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:32:34 [info] 21804#21804: *53 recv() failed (110: Connection timed out), client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:32:34 [info] 21804#21804: *53 disconnect, client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:32:34 [info] 21804#21804: *53 deleteStream, client: 151.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:41:40 [info] 21804#21804: *58 client connected '88.X.X.X'
2024/10/11 10:41:40 [info] 21804#21804: *58 connect: app='live' args='' flashver='LNX 9,0,124,2' swf_url='' tc_url='rtmp://185.X.X.X:1935/live' page_url='' acodecs=4071 vcodecs=252 object_encoding=0, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:41:40 [info] 21804#21804: *58 createStream, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:41:40 [info] 21804#21804: *58 play: name='' args='' start=-2000 duration=0 reset=0 silent=0, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:43:45 [info] 21804#21804: *58 disconnect, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:43:45 [info] 21804#21804: *58 deleteStream, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:43:45 [info] 21804#21804: *59 client connected '88.X.X.X'
2024/10/11 10:43:45 [info] 21804#21804: *59 connect: app='live' args='' flashver='LNX 9,0,124,2' swf_url='' tc_url='rtmp://185.X.X.X:1935/live' page_url='' acodecs=4071 vcodecs=252 object_encoding=0, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:43:46 [info] 21804#21804: *59 createStream, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:43:46 [info] 21804#21804: *59 play: name='' args='' start=-2000 duration=0 reset=0 silent=0, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:53:35 [notice] 21803#21803: signal 15 (SIGTERM) received from 11550, exiting
2024/10/11 10:53:35 [notice] 21803#21803: signal 15 (SIGTERM) received from 1, exiting
2024/10/11 10:53:35 [notice] 21804#21804: signal 15 (SIGTERM) received from 1, exiting
2024/10/11 10:53:35 [notice] 21804#21804: exiting
2024/10/11 10:53:35 [notice] 21804#21804: exit
2024/10/11 10:53:35 [notice] 21803#21803: signal 17 (SIGCHLD) received from 21804
2024/10/11 10:53:35 [notice] 21803#21803: worker process 21804 exited with code 0
2024/10/11 10:53:35 [notice] 21803#21803: exit
2024/10/11 10:53:35 [notice] 11554#11554: using the "epoll" event method
2024/10/11 10:53:35 [notice] 11554#11554: nginx/1.14.0 (CentOS)
2024/10/11 10:53:35 [notice] 11554#11554: built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
2024/10/11 10:53:35 [notice] 11554#11554: OS: Linux 3.10.0-957.el7.x86_64
2024/10/11 10:53:35 [notice] 11554#11554: getrlimit(RLIMIT_NOFILE): 1024:4096
2024/10/11 10:53:35 [notice] 11557#11557: start worker processes
2024/10/11 10:53:35 [notice] 11557#11557: start worker process 11558
2024/10/11 10:53:47 [info] 11558#11558: *1 client connected '88.X.X.X'
2024/10/11 10:53:47 [info] 11558#11558: *1 connect: app='live' args='' flashver='LNX 9,0,124,2' swf_url='' tc_url='rtmp://185.X.X.X:1935/live' page_url='' acodecs=4071 vcodecs=252 object_encoding=0, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:53:48 [info] 11558#11558: *1 createStream, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 10:53:48 [info] 11558#11558: *1 play: name='' args='' start=-2000 duration=0 reset=0 silent=0, client: 88.X.X.X, server: <IP_ADDRESS>:1935
2024/10/11 11:02:09 [notice] 11557#11557: signal 15 (SIGTERM) received from 11981, exiting
2024/10/11 11:02:09 [notice] 11558#11558: exiting
2024/10/11 11:02:09 [notice] 11558#11558: exit

I had to censor the IP adresses. And nginx service was active in every single moment, never stopped working, it just disconnects the stream.
This is the message that the GoPro shows when the RTMP stream disconnects (remember that the GoPro is still streaming on YouTube with no problem when this happens):

We monitor the RTMP live stream with a cronjob running this command, if it doesn't give answer we get an alert, but when it's active it displays some info, we don't know if it can be useful:
[root@streaming ~]# ffprobe -v error -show_format -show_streams rtmp://185.X.X.X/live
[STREAM]
index=0
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_time_base=1/48000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=fltp
sample_rate=48000
channels=2
channel_layout=stereo
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_pts=7259968
start_time=7259.968000
duration_ts=N/A
duration=N/A
bit_rate=131072
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]
[STREAM]
index=1
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_time_base=1001/60000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
width=1280
height=720
coded_width=1280
coded_height=720
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=yuvj420p
level=42
color_range=pc
color_space=bt709
color_transfer=bt709
color_primaries=bt709
chroma_location=left
field_order=progressive
timecode=N/A
refs=1
is_avc=true
nal_length_size=4
id=N/A
r_frame_rate=30000/1001
avg_frame_rate=30000/1001
time_base=1/1000
start_pts=7259986
start_time=7259.986000
duration_ts=N/A
duration=N/A
bit_rate=2560000
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]
[FORMAT]
filename=rtmp://185.X.X.X/live
nb_streams=2
nb_programs=0
format_name=flv
format_long_name=FLV (Flash Video)
start_time=7259.968000
duration=0.000000
size=N/A
bit_rate=N/A
probe_score=100
TAG:Server=NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module)
TAG:displayWidth=1280
TAG:displayHeight=720
TAG:fps=0
TAG:videokeyframe_frequency=0
TAG:profile=
TAG:level=
[/FORMAT]

If I can provide anything else let me know.

I have seen similar issues without figuring it out.
Will share here if I come up with something that resolves this, just wanted to let you know.

I have seen similar issues without figuring it out.
Will share here if I come up with something that resolves this, just wanted to let you know.
Currently trying to set max_message 5M; to see if that resolves it.

Hi, first of all thank you for answering!
I already tried setting max_message 5M; for a while, but didn't solve anything.
We found out that SELinux was enabled in the CentOS 7 machine, when we disabled it the problem that made the stream fall every single day at the same time, around 10:20-10:40 and then at 14:00 was gone.
Unfortunately even after disabling that the stream still falls, but only once per day and normally between 00:00AM - 06:00AM. We don't know what causes that. These are the only running services, I think none of these should interfere with live streaming:
[root@streaming ~]# systemctl list-unit-files | grep enabled auditd.service                                enabled<EMAIL_ADDRESS>                             enabled chronyd.service                               enabled dbus-org.freedesktop.NetworkManager.service   enabled dbus-org.freedesktop.nm-dispatcher.service    enabled<EMAIL_ADDRESS>                              enabled irqbalance.service                            enabled kdump.service                                 enabled lvm2-monitor.service                          enabled microcode.service                             enabled NetworkManager-dispatcher.service             enabled NetworkManager-wait-online.service            enabled NetworkManager.service                        enabled nginx.service                                 enabled postfix.service                               enabled rhel-autorelabel.service                      enabled rhel-configure.service                        enabled rhel-dmesg.service                            enabled rhel-domainname.service                       enabled rhel-import-state.service                     enabled rhel-loadmodules.service                      enabled rhel-readonly.service                         enabled rsyslog.service                               enabled sshd.service                                  enabled systemd-readahead-collect.service             enabled systemd-readahead-drop.service                enabled systemd-readahead-replay.service              enabled tuned.service                                 enabled vgauthd.service                               enabled vmtoolsd.service                              enabled dm-event.socket                               enabled lvm2-lvmetad.socket                           enabled lvm2-lvmpolld.socket                          enabled default.target                                enabled multi-user.target                             enabled remote-fs.target                              enabled runlevel2.target                              enabled runlevel3.target                              enabled runlevel4.target                              enabled unbound-anchor.timer                          enabled


Where should llvm-config be on windows?

I could not find llvm-config on windows. I downloaded many precompiled versions (4.0.1, 5.0.0, 3.4.0).
Any Ideas?

llvm-config doesn't come with the precompiled binaries.
You either need to build from scratch, or use it from an external llvm!

Right, they don't include it, because the snapshot clang builds are not
considered a compilation target.
http://lists.llvm.org/pipermail/cfe-dev/2016-January/046703.html
On Mon, Jul 10, 2017 at 4:04 PM, Joaquim Dias Garcia <
<EMAIL_ADDRESS>wrote:

I could not find llvm-config on windows. I downloaded many precompiled
versions (4.0.1, 5.0.0, 3.4.0).
Any Ideas?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ihnorton/Clang.jl/issues/183, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUAGgJXWUTLFNW_CMFz8ZMs3ACgbsXhks5sMoPIgaJpZM4OTV_R
.

--
Sent from phone. Please excuse typos.

The wrap_c functions depend on it?
I just wanted to use the parser on a header file.


Use fieldsets to define sections in a form

https://github.com/ColinDorr/minor-tauw-sensoren/blob/68547bd2c603d00a8d691d58e0af8202016713ed/TauwApp/views/form.ejs#L23

The cms is changed and now uses fieldsets instead of sectios or divs.
I have also made the following changes to the CMS: (#63)

changed the styling of the CMS.
changed the UI to make it easyer to use.
have added a serverside validation, that checks if all the required fields were filled in.


feat(logging): Enhance logging in retry decorator

This pull request enhances the logging within the retry decorator to provide more detailed insights into the retry behavior. The changes include logging the chosen backoff strategy, the backoff increment, whether jitter is enabled, and the number of retries. This additional logging information helps in tracking the backoff intervals and understanding the retry strategy more clearly, making debugging and monitoring easier.
Changes Made

Configured logging with logging.basicConfig(level=logging.INFO).
Added a log statement to log the backoff strategy, increment, jitter status, and number of retries at the start of the wrapper.
Updated retry attempt logs to include the backoff type and jitter status.
Ensured exceptions and backoff intervals are clearly logged for easier debugging and monitoring.
Removed redundant custom messages from raised exceptions and ensured they are logged instead.

Related Issues
This pull request closes issue #7 by adding the necessary logging to track backoff strategies and retry attempts.
Dependencies
This pull request should be merged after PR #38, which includes necessary refactoring and base improvements for the retry decorator.
Checklist

[x] Add logging configuration
[x]  Log backoff strategy details
[x]  Update retry attempt logs
[x]  Remove redundant custom messages from raised exceptions
[x]  Ensure backward compatibility

Testing

Verified that the retry decorator logs the backoff strategy and retry attempts correctly.
Ensured exceptions are logged and re-raised without additional messages.
Tested with various backoff strategies and jitter settings to confirm correct logging behaviour.

Considering the volume of noise this can generate in projects, a future PR might make the logging level configurable.

Just pushed some changes for this @pydanny 😎

Did you want to fix the merge conflict or would you like me to do it?

If you can, I would appreciate it very much! I only meant to add the
capability you suggested
On Mon, 4 Nov 2024, 21:34 Daniel Roy Greenfeld, @.***>
wrote:

Did you want to fix the merge conflict or would you like me to do it?
—
Reply to this email directly, view it on GitHub
https://github.com/pydanny/refry/pull/40#issuecomment-2455747846, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AATFZGFJZPNECVVUR3W2KN3Z67R7BAVCNFSM6AAAAABKXX6HBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJVG42DOOBUGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Components code refactoring

Closes #20

@rafaveira3 Veja se está OK por favor.

@rafaveira3 Agora acho que está ok.

Sure. I’ll do it for us.
Em qua, 9 de out de 2019 às 11:16, Rafael dos Santos <
<EMAIL_ADDRESS>escreveu:

@rafaveira3 requested changes on this pull request.
Hey, @edgarberlinck https://github.com/edgarberlinck! Thanks a lot for
this code refactoring! 🚀 I have just a single comment regarding it. Is
it possible Graph component receive somehow a parameter that defines
which type of graph we want to build? Examples: Bar, Pie, Doughnut!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/globocom/huskyCI-dashboard/pull/38?email_source=notifications&email_token=AAFB55SDUJ3FP6BTDXVQUGLQNXRSJA5CNFSM4I5SX3G2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHMSV3Q#pullrequestreview-299444974,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFB55TRGPBWBY4OKF4HSJ3QNXRSJANCNFSM4I5SX3GQ
.

Done.

@rafaveira3 could you help us with issue #14 ?

@rafaveira3 could you help us with issue #14?

We are currently redesigning the dashboard and we will probably close that issue soon. Thanks for trying to help though.


SES evaluation fails

I am unable to figure out why evaluation fails for this bundle.
Is it possible to get a more specific error message than this SyntaxError: Invalid or unexpected token (e.g. specific line number or something like this)?
SyntaxError: Invalid or unexpected token
    at Object.eval (eval at createScopedEvaluatorFactory (/home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/ses/dist/ses.cjs.js:1323:10), <anonymous>:8:30)
    at safeEvalOperation (/home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/ses/dist/ses.cjs.js:1388:16)
    at /home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/ses/dist/ses.cjs.js:1429:46
    at realmEvaluate (/home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/ses/dist/ses.cjs.js:1659:10)
    at callAndWrapError (eval at createUnsafeRec (/home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/ses/dist/ses.cjs.js:734:28), <anonymous>:33:14)
    at Realm.evaluate (/home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/ses/dist/ses.cjs.js:116:14)
    at snapEval (/home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/@nodefactory/snaps-cli/src/commands.js:200:22)
    at async build (/home/mak/Documents/repos/nf/metamask-snap-polkadot/node_modules/@nodefactory/snaps-cli/src/commands.js:69:5)

It might be helpful to use the new lockdown({errorTaming: 'unsafe'}) option. This lets errors carry stacks.

It looks like the related issue at MetaMask has resolved. I hope the suggestion above proves useful in the future. Please reopen if we can assist further, and my apologies for the latency on my response!


Using pyam.plotting.PYAM_COLORS effectively

I'm trying to use the PYAM_COLORS feature for preparing plots of AR6, and I'm wondering how to efficiently use the pre-defined IPCC-colors.
As a first step, I added this snippet at the start of a notebook, and then make sure that the scenarios use exact names like AR6-SSP1-1.9.
rc = pyam.run_control()

for key, value in pyam.plotting.PYAM_COLORS.items():
    rc.update(dict(color=dict(scenario={key: value})))

df.plot(color="scenario")

Is that the intended usage of this feature? Would it make sense to add a utility function like use_pyam_colors() to load the pre-defined colors into the RunControl?

@gidden, any thoughts?

I have used it as follows in my own wg1 plotting repo

define the color mapping you want in a yaml file

this can use the PYAM_COLORS directly

Read in that YAML file at the start of the plotting code/routine

I think the corner case that you're hitting is that the scenarios themselves have the same name as their 'color identifier'.
When I first wrote this up, I wanted to be as specific as possible, i.e. "this is the color of SSP1 RCP2.6 used in AR6" - hence the color identifier is AR6-SSP1-2.6.
I think it would be better to have the scenario name be SSP1-2.6 (as I do in the YAML file), and then update the run control for it to be colored using the color identifier AR6-SSP1-2.6.
If we were to do this 'automagically', it would be akin to naming a scenario "blue" and then expecting it to be blue in any subsequent plot. I'm not sure that's what we want. But happy to continue the conversation here.

Oh, this is very sweet - works like a charm, many thanks!


kubectl-gadget: 0.34.0 -> 0.35.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/inspektor-gadget/inspektor-gadget/releases.
meta.description for kubectl-gadget is: Collection of gadgets for troubleshooting Kubernetes applications using eBPF
meta.homepage for kubectl-gadget is: https://inspektor-gadget.io
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 0.35.0 with grep in /nix/store/57r9xaw9z3557ffnh18pvhcd777498z3-kubectl-gadget-0.35.0
found 0.35.0 in filename of file in /nix/store/57r9xaw9z3557ffnh18pvhcd777498z3-kubectl-gadget-0.35.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

kubectl-gadget

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/57r9xaw9z3557ffnh18pvhcd777498z3-kubectl-gadget-0.35.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A kubectl-gadget https://github.com/r-ryantm/nixpkgs/archive/4c541f0b7cc6dc4571595d685f27254e7b244dea.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/4c541f0b7cc6dc4571595d685f27254e7b244dea#kubectl-gadget

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/57r9xaw9z3557ffnh18pvhcd777498z3-kubectl-gadget-0.35.0
ls -la /nix/store/57r9xaw9z3557ffnh18pvhcd777498z3-kubectl-gadget-0.35.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

kubectl-gadget

Maintainer pings
cc @kranurag7 @devusb for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

I think https://github.com/inspektor-gadget/inspektor-gadget/commit/59763743436b15272fa63a189a2a7b1a804f4bec broke the ability to output version without a valid kubeconfig, causing the test to fail.


fix: support password entry for /join-manually

Closes https://github.com/ssb-ngi-pointer/go-ssb-room/issues/234.

OK, this is ready for a review :smiley_cat:

Bump, anyone got cycles to review / merge. It is a small one :crossed_fingers:

Thanks for the reminder! And for the PR :)


Feature 1

In this project I build only 2 pages:
The home page.
The about page.
Each of these pages should have versions for 2 different screen sizes:
Mobile: up to 768px wide.
Desktop: 768px or wider.
Interactions
Links
The home page should have a link in the menu to the about page.
The logo in the header links to the home page.
Mobile menu
When the user clicks (or taps) the hamburger button on the header, the mobile menu appears over the page.
There are no guidelines for the mobile menu in the docs, but you should implement it so it is consistent with the design (colors, typography, spacings, etc.).
The mobile menu should have a close (X) button that closes the menu.
Dynamic page
The section "Featured speakers" should be created dynamically in JavaScript.
You should use a JavaScript variable with the data about the speakers and use it when the page loads to create the HTML for this section dynamically.
Original design idea by Cindy Shin in Behance.

@josuerushanika,
This is a manual review
Approved :+1:
Cheers and Happy coding!:clap::clap::clap:


Multisite Routing for Fullstack

Specific Demand
Many sites these days consist of the following:

Landing site
Dashboard
Docs

At least this is the case where SaaS, E-commerce and Corporate sites are concerned, often components are shared across these sites to provide users with a consistent experience. Another scenario is providing a slightly different experience based on regions, the use cases are endless and really dependent on the business problem at hand.
Instead of using a monorepo to have multiple Dioxus projects which results in repetitions of configuration (multiple Dioxus.toml, tailwind.config.ts etc.)  it would be great if it was possible to extend the router to allow for multiple domains and split routing based on the requested domain.
Related:

#922

Implement Suggestion
Where file based routing is concerned, not sure if there is an on going specification yet but it would be great if we had the following:
Folder structure for file based routing (if necessary)
/
  pages/
    [*]/ // all sites
    landing/ // landing site
    docs/ // docs

Dioxus.toml
[web.app]
  [[sites]]
    name = 'landing'
    path = 'example.com'
    dir = 'landing'
  [[sites]]
    name = 'docs'
    path = 'docs.example.com'
    dir = 'docs'

@ealmloff @jkelleyrtp could this be considered for the 0.6-fullstack milestone?

I think the simplest way to support multi site routing in dioxus is to just run multiple routers on different addresses which you can do in dioxus today. If you want all routers to use the same server function address, you can override the server function address in each router.
Outside of multiple routers, it would be useful to support something like cargo workspace inheritance for Dioxus.toml settings (although likely not in 0.6)

See also https://github.com/DioxusLabs/dioxus/issues/2924


Add Outlines model class for outlines-enabled remote API

What behavior of the library made you think about the improvement?
I have just started to use Outlines, and my use case is that I am hosting a local model on a server using Serve with vLLM.
Once I had the model being served correctly, I looked for a way to connect the outlines python package to this server.
While tooling is excellent with running local models directly, there is no current adapter for connecting to an "Outlines-enabled" API, and instead it means that I have to convert my desired prompt/behaviour to JSON/Regex before sending to the server.
This reduces the advantage of the outlines package.
How would you like it to behave?
While the current way to call models is something like this...
model = outlines.models.transformers("mistralai/Mistral-7B-v0.1")
generator = outlines.generate.text(model, max_tokens=100)

result = generator("What's 2+2?")

print(result)
# That's right, it's 4! But remember, a delicious and nutrient dense 4,
# according to YEARS BUILT ON SOLID SCIENCE. This column presents additional
# findings from the fifteen-year study that produced the 2+2=4 conclusion.

I see the new implementation as a drop in replacement for the transformers model (or any other):
model = outlines.models.remote("http://<ip address>:<port>/")
generator = outlines.generate.text(model, max_tokens=100)

result = generator("What's 2+2?")

print(result)
# That's right, it's 4! But remember, a delicious and nutrient dense 4,
# according to YEARS BUILT ON SOLID SCIENCE. This column presents additional
# findings from the fifteen-year study that produced the 2+2=4 conclusion.

Implementation wise, you will know the best approach based on how the library functions, but in my mind theres two ways to implement:

Create an adapter that converts to Regex or JSON Schema and uses the current /generate endpoint.

Create a new remote endpoint that serialises local state, and then passes it to server state.

This functionality would really allow Outlines to be easier used for anyone that is using it in an API/server capacity instead of local.
Thank you in advance!

Thanks for this @lapp0. Really appreciate your time.
The main issue I would see with above is that typically (or at least with my use-case), is that it would be hosting vllm in a separate server as a backend for multiple different workflows.
The client would stay as a "thin" client then, and only interfacing with the server.
I do also understand your perspective at the same time. In an ideal world, I would see it very similar to the OpenAI client, with of course the additional generation capabilities that outlines allows.

I would also benefit from the use case @davidsyoung describes. +1
Alternately, exposing more inference engine features on the integration side would help. For instance, in trying to cram a specific exl2 model into my GPU's VRAM when running it in native exllamav2/exui, I can simply change the cache mode to FP8 and everything runs fine. When trying to start up a model in outlines via outlines.models.exllamav2, I cannot control that setting.
Of course, if I am already able to do this (possibly via some kind of kwarg?) and simply don't know how to, please correct me!  @lapp0

@davidsyoung Your use case makes sense, it's reasonable to expose outlines as an API. You would need to start vLLM through Outlines on your server, and Outlines would need to be updated to support a REST API. For now the best you can do is write an HTTP server wrapping outlines.generate calls.
@CiANSfi you are correct, only ExLlamaV2Cache is supported by outlines, not ExLlamaV2Cache_8bit. Could you open a separate issue for that please? Seems like a relatively simple fix.


#54 containerize project

added the docker and docker compose file.
it is working fine.
use docker-compose up -d --build to run.

after running the command successfully, you can open localhost:3000 to view project.

should i make changes in readme file?
like steps to setup project with docker?

should i make changes in readme file? like steps to setup project with docker?

Yes, @harshit0571, but will be making another issue for it, and then you can do that!


Derivative of end effector position w.r.t action/control signal?

Hi,
I am a bit of a beginner with MuJoCo and am trying to compute the jacobian of the DM control suite environment observations w.r.t the action. I am able to compute the derivatives of the quantities within the mj_physics state with mjd_transitionFD, but some of the observation elements, like the distance of the end-effector to the target (computed using geom_xpos), depend implicitly on state but are not computed in the in-built finite difference method. How can I compute the derivative of these?
Thanks

I the observation code is in Python you'll have to do the finite-differencing in Python.

Hi, the observation is in python but is a function of elements of the MJData struct, in particular geom_xpos. Given the jacobian d_geom_xpos/da it would be trivial to get the jacobian of the observation. Is there a simple way of computing this Jacobian without manual finite difference implementation?


os.getcwd() is used in DockerCreateRunner

Conan Package Tools Version: 0.30.4
Operating System: Linux

Additional info
Class DockerCreateRunner uses os.getcwd():
command = ('%s docker run --rm -v "%s:%s/project%s" %s %s %s %s %s '
            '"%s cd project && '
            '%s run_create_in_docker "' % (self._sudo_docker_command,
                                            os.getcwd(),
                                            self._docker_conan_home,
                                            volume_options,
                                            env_vars_text,
                                            self._docker_run_options,
                                            self._docker_platform_param,
                                            self._docker_image,
                                            self._docker_shell,
                                            self._lcow_user_workaround,
                                            update_command))

I think it should use cwd parameter from ConanMultiPackager class

Not actually. The idea behind is loading a conanfile according cwd, which is executed before to run DockerCreateRunner.
https://github.com/conan-io/conan-package-tools/blob/develop/cpt/packager.py#L212
self.cwd also is used with chdir, before calling Conan API. But it is useless on Docker context, because we use Docker volume before mounting:
https://github.com/conan-io/conan-package-tools/blob/2f7a5ac5b65c611a337829b39d0803eaed19411e/cpt/runner.py#L277

@uilianries Thanks for the quick response!
Maybe I'm doing something wrong. Is it possible to run build.py from a directory where there is no recipe? My configuration:
foo/build.py
bar/conanfile.py

And I run build.py from foo directory. This is why I use the cwd argument for ConanMultiPackager, which is bar in this case, and it works without docker. But with docker os.getcwd() returns foo directory. Therefore, the foo folder is mounted to docker but I expect bar folder.

Has been hit this issue too. This really makes sense when you have multiple directories with recipes (like in CCI with recipes/libfoo/all, recipes/libbar/1.0). If conanfile is loaded from self.cwd for introspection, then mounted Docker volume should be at self.cwd too. For now non-flat directory structure does not work with Docker.
A possible fix is to pass cwd to DockerCreateRunner and replace os.getcwd() with self.cwd.

@uilianries what do you think? I can make a PR so new behaviour can be checked for typical scenarios.

@theirix Go ahead, let's see if is possible adding it without breaking the current behavior.

fixed by https://github.com/conan-io/conan-package-tools/pull/528


ChartJS -  transition on the first dataset not working properly

Expected behavior
The lines should all have the same animation
Current behavior
The first line in the chart, on load comes from the left (Instagram)

Here is the stackoverflow question where I explained in more detail:
https://stackoverflow.com/questions/72375528/chartjs-why-is-the-transition-on-the-first-dataset-bad
Reproducible sample
Cant reproduce
Optional extra steps/info to reproduce
No response
Possible solution
No response
Context
No response
chart.js version
v3.7.1
Browser name and version
No response
Link to your project
No response

Without a reproducable sample it is highly unlikely we can help you with this.
When I try to add multiple datasets on initial load it goes fine.

I'd guess you create the chart with the first dataset and some different date range, then immediately update it with all the datasets and new date range?
Depending on the situation you have, you should either create it with no datasets at all or all the datasets.


After 1.1.0 upgrade all PVC's engines updated bar one.

Hi,
I have performed the upgrade and all PVC's have updated except pvc-9415c828-da2d-4356-8608-b6cd816b1e53.
I have attached the support bundle and would love to know what i need to do.

Version: v1.1.0

longhorn-support-bundle_0f3ab4ab-ca38-4985-86ab-ada78b243354_2021-02-04T08-44-16Z.zip

ok deleting the pod and having k8s rebuild the pod unstuck it.  Is there something i should have done different?

This the error message from the manager
2021-02-04T08:41:35.390279540Z time="2021-02-04T08:41:35Z" level=error msg="cannot live upgrade image for pvc-9415c828-da2d-4356-8608-b6cd816b1e53-e-f4c085f9: failed to start process: rpc error: code = Unknown desc = Failed to start replacement process pvc-9415c828-da2d-4356-8608-b6cd816b1e53-e-f4c085f9" controller=longhorn-engine engine=pvc-9415c828-da2d-4356-8608-b6cd816b1e53-e-f4c085f9 node=n1

It is complaining that the new engine process cannot be start. Do you experience high CPU pressure in your cluster?

Hey @PhanLe1010 ,  Thanks for looking at this.  I am using OVH here in Aus and wondering if some of the RO issues i am getting are based on the performance of the nodes.  I will jump the nodes to the next plan to see if this resolves it.
Thanks for looking

@SimmyD Is it correct that you were able to solve your problem by doing a offline engine image upgrade?
I am closing this for the moment, if please reach out if you encounter this again in the future.

@SimmyD
What is the level of your current cluster resources? Can you fill out those details so we can take a look at your RO issues?
You can also attach a new *Support Bundle* here. You can generate a Support Bundle using the link at the footer of the Longhorn UI.

**Environment:**
 - Longhorn version:
 - Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version:
   - Number of management node in the cluster:
   - Number of worker node in the cluster:
 - Node config
   - OS type and version:
   - CPU per node:
   - Memory per node:
   - Disk type(e.g. SSD/NVMe):
   - Network bandwidth between the nodes:
 - Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal):
 - Number of Longhorn volumes in the cluster:

You can also take a look at our minimum resource requirement analysis to have a better idea

Reopen this issue because of the new question, the RO question

close this issue because of no activity. Feel free to reopen it if you still have problem


Use closed issue image when issue is closed

In the cell of an issue, the image always shows the "open" state, even when the issue is closed. When viewing comments the closed state is shown.

Sadly I can't. The notifications API only returns the type of notification (PR, issue, or commit). 😞


Parse attachments from docket when available

Needs some cleanup/testing but seems to work.

Do we need to upgrade the make_doc1_url functions? If not, I'd say let's not bother.

So I did this mostly as a safeguard to ensure the mapping tables are accurate and to add additional sanity checks for any code using these functions(ie for example the test code with bad/mismatched court_id's). Making court_id optional may also allow for simplifying some logic elsewhere in the codebase.

I think it'd be better to get the court ID numbers from the prior item rather than from a lookup table. It feels tidier that way, to rely on the internal data rather than the external. Could you tweak it to do that and then remove the two big look ups? Sorry I crashed last night before realizing what you were up to.

My previous approach of extracting from a previous item was making the code a good bit more complex and I suspect a bit slower as well due to the extra complexity, note that the merge function will error out if there's a court ID number mismatch so we're still effectively validating the court ID numbers are correct against previous entries.

OK, let's clean up the other comments and we can land this. Please request my review when you think it's ready again.

I saw the review request, but there are still a few outstanding tweaks. Could you do those, please, and do another request?

there are still a few outstanding tweaks

I think I missed an example but I did add docstrings with explanations, the docstrings may not have been obvious with how github was showing the diffs in the review comment threads.

Great. Merging. Juriscraper doesn't get auto-released, so to get this live we need to cut a new version and then update it in CourtListener. If you're thinking of doing other parsing work (which we desperately need), I'd suggest landing those PRs first, then doing a release.

I don't have any immediate plans for more parsing work here, planning to look at integrating this into courtlistener next(after cleaning up some of the docket insertion code) but would be good to have a release to make it easier to test the integration.

Could you try to use a git install for a bit so we can stay focused on Elastic Search?

Could you try to use a git install for a bit so we can stay focused on Elastic Search?

Sure, probably going to wait until some preliminary refactoring like #3120 is merged first anyways.


how do i configure lxd to use xtables instead of nftable?

Required information

Distribution: ubuntu
Distribution version: bionic
The output of "lxc info" or if that fails:

Kernel version: 4.15.0-140-generic
LXC version: 4.14
LXD version: 4.14
Storage backend in use: dir

Issue description
Hello
How to set lxd to use xtable ?
Il try ``lxc config set core.firewall: xtablesorlxc config set firewall: xtables``` but this is not the correct syntax
Can someone explain to me how to do this?

LXD will detect which firewall driver to use based on what is available and whether one of them is already in use by either an earlier LXD process or another application on the system.
As such you can influence which driver LXD uses by ensuring that you have iptables rules present when LXD starts and ensuring that there are no nftables rules present (as in mixed environments LXD will prefer to use nftables).
So you need to inspect iptables and nftables and ensure you're only using one of them:
sudo apt install nftables -y
sudo nft list ruleset
sudo nft flush ruleset # Only if you're happy with the removing the rules from the previous command.
sudo iptables-save # Check if you have any existing rules
sudo iptables -A INPUT # If not add a dummy rule that will be sufficient to trigger LXD's detection to consider that iptables is in use.
sudo systemctl reload snap.lxd.daemon # Reload LXD to trigger detection

For future reference support related questions are better suited to https://discuss.linuxcontainers.org/. Thanks

ok thanks :)


Unification of the "Go to page" field logic for pagination

Describe the bug
Currently the pagination and GoTo page field logic has been improved for Topics page (Improvement for the pagination "Go to page" field logic #2451)
We need to apply the same for all other pages (e.g. Schema registry), so the behaviour would be consistent for all pages and a lot more user-friendly.
Set up
Tested on the version: eb062359a9eca8665833d610100525c8832a3a01 (eb06235)
Steps to Reproduce

Open KafkaUI and go to "Schema registry" menu bar.
Scroll down to the pagination field at the bottom of the list and try changing the page via arrows or "go to page" field.
Actual behavior

Each page change via pagination buttons or up and down arrows in the "go to page" field cause the whole list to reload (with some delay as well), including the pagination controls.
Putting the cursor to the page number and pressing Backspase also do cause page to reload, so it is only possible to select page number via mouse/touchpad and type in new page number, which also reloads the whole container, including pagination controls.

How it works for Schema registry:
https://user-images.githubusercontent.com/112083452/192314582-0b516bef-b398-4fe1-94ef-c8abdbdd89d4.mov
Expected behavior

Page change should feel seamless and should not cause the whole container to reload, like it does for "Topics" now.
Clearing the "go to page" number should open the first page, and entering the value more than page total should open the last page, like it does for topics now.
It should be possible to use keyboard to erase page number and enter new one without forcing to do the selection via mouse/touchpad.
Not supported inputs, like chars and special characters should be ignored, as they are now.

Example of how it should work (currently for topics)
https://user-images.githubusercontent.com/112083452/192315246-6ce03ab2-7cdd-452e-9162-d0924e73d5a0.mov
Additional context
none

on hold till messages v2 impl


Timed out waiting for launcher to connect -- Please Need Help

🐛 Bug Report
when I click debug, an error comes on console says no matches found
Also system unable to import  these files "from python3problem15 import * "
I'm unable to debug in python
OS - MAC OSX

Extension Output
Paste here the LeetCode extension log from output channel.
- Downloading 3sum
#
# @lc app=leetcode id=15 lang=python3
#
# [15] 3Sum
#

# @lc code=start
class Solution:
    def threeSum(self, nums: List[int]) -> List[List[int]]:

# @lc code=end

[15] 3Sum

https://leetcode.com/problems/3sum/description/

Tags:   algorithms   adobe   amazon   bloomberg   facebook   microsoft   array   two-pointers

Langs:  c   cpp   csharp   golang   java   javascript   kotlin   php   python   python3   ruby   rust   scala   swift   typescript

* algorithms
* Medium (25.90%)
* Likes:    8105
* Dislikes: 881
* Total Accepted:    1M
* Total Submissions: 3.9M
* Testcase Example:  '[-1,0,1,2,-1,-4]'

Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.

Notice that the solution set must not contain duplicate triplets.

Example 1:

Input: nums = [-1,0,1,2,-1,-4]
Output: [[-1,-1,2],[-1,0,1]]

Example 2:

Input: nums = []
Output: []

Example 3:

Input: nums = [0]
Output: []

Constraints:

0 <= nums.length <= 3000

-105 <= nums[i] <= 105

Select Default Shell -> bash

I also run into this problem. It's not compatible with zsh. but it seems you only need to enclose it with a quote


Allow separating tasks into separate files and referencing those in tasks.json

Right now, tasks.json is incredibly useful and allows configuring all of your standard functions that you want to run on a project. The issue of course is that over time this gets huge and unweldy with all of the things you need to be able to do, especially if you have micro services (i.e. docker containerize every single micro service)
I would like for tasks.json to allow for references to other tasks.json files something like this:
{
"version": "3.0.0",
"referenced_tasks": [
"file1.json",
"file2.json",
],
"tasks: [],
}
This would allow us to encapsulate all of the tasks for a given microservice or other topic into separate files, while still having them show up in the GUI.
The sub tasks file just wouldn't have any referenced_tasks and just be the normal file.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Chunk Mesh Generation Optimization

added a return case if the block is surrounded by 8 full blocks
(revert) changed it to be parallelized with Thread Pooling (which I gave up because the performance was worse)

Changes suggested by ChatGPT 4, coded and adapted it.
Tell me if you see an improvement in performance.

Hey! Thanks for the PR :)
I saw you made 2 others, #94 and #95 - could you clarify which ones you'd like reviewed and potentially merged?

Am I supposed to commit the change ?

yes


Check how OOPS IncrementEnsemble optimization affects 80-member performance

See https://github.com/JCSDA-internal/oops/pull/1990.
80-member experiments (e.g., 60km EDA and 30-60km EnVar) might run on fewer nodes or at least low-memory nodes due to memory reduction.

I really hope so.
In the AQ application we have relatively few observations compared to the size of the state, therefore we opted for a dual minimizer (RPLanczos) in order to avoid the storage of orthogonalization pairs in the model space and it's also hugely reduces the memory requirements. We have noticed that the implementation of the dual minimizers is lacking some diagnostics w.r.t. the primal counterpart. If you also opt for them, we could open an issue on the subject. Selimé Gurol from CERFACS is ok for helping on it, if needed.

My hope is that the memory will be reduced in the 80-member EnVar cases we run, because the ensemble accounts for a large portion of the memory.  Halving the Increment/State footprint might be noticeable.
Still, observations do make up a significant portion of memory for our use cases.  Our most basic case assimilates 788K observations.  Additional memory is used for all the thinned radiance and satellite AMV locations as well.  Then we are testing with more expensive cases that add hyperspectral and geostationary IR radiances.  So I'm not sure the dual minimizer will be useful for us in the long term as we add many more observations.  Is the dual minimizer always more memory and computationally efficient when the state vector is larger than the obs vector?  Or is there some other limit?

Hi Jonathan, Selimé confirms that

To answer Jonathan, yes dual minimizers are interesting when the number of observations are less than the dimension of the state dimension, If the number of observations getting closer to the dimension of the state, of course there is no interest to use dual minimizer then. I do no think that there is any other limitation. Only limitation second level preconditioning is less efficient.

Related to the second level preconditioning, I know that it is in general harder to implement a proper minimization restart with an outer loop. We don't plan (neither we could afford) an outer loop in our 4DEnsVar.
I hope it helps. Anyway it is worth a try: luckily in OOPS is just a question of changing one line in the yaml configuration.
By the way, Anna already merged the IncrementEnsemble optimization in oops develop.

Thank you for the additional info.  We need to use more than one outer loop iteration.

Ok, is debatable then, even if technically feasible: NEMOVAR is implementing an outer loop with the dual RPCG minimizer. Impact on memory there is justifying some more coding.
Anyway, I am curious to know if the IncrementEnsemble new storage is making a difference or if the minimizer is casting shadow on this improvement.
Cheers. A.

I made two standard hybrid-3DEnVar runs: one with 25 Oct. code and another with Today's code (as of 5 Dec.). Both runs have 2 outer loops with 60 inner loops per outer loop. Used 6 large memory nodes (109GB per node) with 32 cores/node.
Timing and memory use are very similar between two versions of mpas-jedi code.
Timing and memory use with code of 25 Oct. 2022:
- Runtime:    689.33 sec,  Memory: total:   275.46 Gb, per task: min =     1.34 Gb, max =     2.77 Gb

Timing and memory use with code of 5 Dec. 2022:
- Runtime:    697.05 sec,  Memory: total:   271.19 Gb, per task: min =     1.31 Gb, max =     2.76 Gb

These hybrid-3DEnVar runs use 80-member ensemble input at 60-km grid spacing. As memory use from observations will be independent of model resolution, the benefit from https://github.com/JCSDA-internal/oops/pull/1990 should be larger with a higher model resolution.

It depends on the minimizer you are using. If it involves storing pairs of control vectors in the orthogonalization base, the memory usage increases linearly and it is proportional to the model resolution. That's why I mentioned dual minimizers, which have a memory usage which depends on the size of the observations vector, but which require a bit of care when the outer loop is on.
Since oops is only providing a high watermark of memory usage, I run a very simple homemade tool (meaningful only if your computational nodes are dedicated) for generating a timeline of memory usage. Sometime it gives some hints on why and when the application is so greedy. I'd be happy to share it if you think it's useful.

If you look at lines 117 and following of oops/src/oops/assimilation/DRIPCGMinimizer.h you'll see
std::vector<CtrlInc_> vvecs;  // for re-orthogonalization
std::vector<CtrlInc_> zvecs;  // for re-orthogonalization
std::vector<double> scals;  // for re-orthogonalization
// reserve space in vectors to avoid extra copies
vvecs.reserve(maxiter+1);
zvecs.reserve(maxiter+1);

reserving maxiter+1 pairs or CtrlInc_ objects, in your case 122 objects on the model grid times the number of variables in the control space.
In principle you only had to make sure that oops has been recompiled, but the yaml stay the same. It is meant to work both for the full list of members or the compact members from template entry.

Yes. The new version of code was recompiled from the scratch. Even though our ensemble and increment are at a low resolution (60 km), I expected more reduction on the memory use as the ensemble memory use is reduced to the half with the new constructor. Does this 'half' ensemble effect only for dual minimizer, not for primal minimizer like DRIPCG?

@andreapiacentini That will be cool! I sent you an email to meet.

Thank you for checking @liujake.  Since there was not much impact, I'm closing this.  Reopen or create new issue if you feel the discussion needs to continue on GitHub.


How to apply lazysizes to an img or image inside an svg ?

Can you suggest a strategy for using lazysizes with an img (or preferably image) which is inside an svg element? The reason I'm using this pattern is that it's the most cross-browser way to clip an image with a path; the problem with the markup below however, is that the sizes attribute is always calculated as 700px regardless of it's real size on the page (I assume, because it's picking up on the SVG's viewBox). Can you suggest a work-around, or an event callback that I need to hook in to?
<svg viewBox="0 0 700 600" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <clipPath id="97b8c6">
      <path d="M304.005 53.278C496.349 87.568 647.4 207.302 641.386 320.712c-6.016 113.41-187.833 262.695-346.624 277.237C135.97 612.49 33.137 447.197 5.597 284.955-21.942 122.713 111.659 18.988 304.005 53.278z" fill="#FFF"></path>
    </clipPath>
  </defs>
  <g clip-path="url(#97b8c6)">
    <switch>
      <foreignObject x="0" y="0" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">

      </foreignObject>

      <image clip-path="url(#97b8c6)" xlink:href="..." x="0" y="0" width="100%" height="100%">
      </image>
    </switch>
  </g>
</svg>

lazybeforesizes: This event will be fired on each element with the data-sizes="auto" attribute right before the calculated sizes attribute will be set. The event.detail.width property is set to the calculated width of the element and can be changed to any number. In case the event is defaultPrevented the sizes attribute won't be set. See also the parent-fit extension.
$(document).on('lazybeforesizes', function(e){
    //use width of parent node instead of the image width itself
    e.detail.width = $(e.target).closest(':not(picture)').innerWidth() || e.detail.width;
});

You can also use the lazybeforeunveil event to set the image[xlink:href], but then you don't have srcset support.
This should be everything you need. Please close if this helps or say why it doesn't help.

Thanks so much @aFarkas, that works perfectly!

How did you fix it?

@zakirsajib I ended up using lazybeforeunveil instead, putting the lazyload class on the SVG, and then re-assigning the SVG's internal image element xlink:href attribute based on the width of that SVG.
document.addEventListener('lazybeforeunveil', (e) => {
  if (e.target.tagName == 'svg') {
    const imageEl = e.target.querySelector('image');
    if (imageEl) {
      const targetWidth = e.target.getBoundingClientRect().width;
      const newImageUrl = /* calculate new image url*/;
      imageEl.setAttribute('xlink:href', newImageUrl }}));
    }
  }
});


EGI Secret Store: Create folder for a VO group

Hello,
In the vo.pangeo.eu VO we have created a group called pangeo.admin.
There is already a VO-wide space in:
https://secrets.egi.eu/ui/vault/secrets/secrets/list/vos/vo.pangeo.eu/

I assume this is mapped with:
urn:mace:egi.eu:group:vo.pangeo.eu:role=member#aai.egi.eu

Would it be possible to have a folder like
https://secrets.egi.eu/ui/vault/secrets/secrets/list/vos/vo.pangeo.eu/pangeo.admin

Only accessible by people with this entitlement:
urn:mace:egi.eu:group:vo.pangeo.eu:admins:role=member#aai.egi.eu

Best regards,
Sebastian
PS: Sorry for cross-posting: https://ggus.eu/?mode=ticket_info&ticket_id=167448 and not being directly related an issue with the documentation of the service but with the service itself.

To be discussed via the GGUS ticket. Add to the ticket more subgroups if needed (cloud.egi.eu/admin?) to be solve at once

Sure, many thanks!


[Snyk] Fix for 1 vulnerabilities

Snyk has created this PR to fix 1 vulnerabilities in the yarn dependencies of this project.
Snyk changed the following file(s):

packages/backend/package.json

Note for zero-installs users
If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the .yarn/cache/ directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.

⚠ Warning
Failed to update the yarn.lock, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Cross-site Scripting (XSS) SNYK-JS-AXIOS-6671926
  75

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Cross-site Scripting (XSS)

:no_entry: Snyk checks have failed. 1 issues have been found so far.

Icon
Severity
Issues

Critical
0

High
1

Medium
0

Low
0

:no_entry: security/snyk check is complete. 1 issues have been found. (View Details)
:white_check_mark: license/snyk check is complete. No issues have been found. (View Details)


Please document which things can get injected where automatically

Issue type
Missing information
Problem description
I needed the Project instance in a custom extension.
I intended to give it to the extensions.create call as constructor parameter.
Fortunately I forgot to change the create call to learn that I neither need to supply it manually, nor need any @Inject anywhere.
It just worked.
Would be nice to have in the docs somewhere the information which things can get injected where automagically.
Page with the problem
https://docs.gradle.org/current/userguide/custom_gradle_types.html

Sorry that you're having trouble with Gradle!
Can you provide a sample script with a more detailed explanation of what happens and what you expect?

I'm not sure what you are asking for @ov7a.
What I expect is some added documentation about what you do not need to inject manually where, but get automatically as described.
But as a short example, I accidentally had something like this working:
abstract class Foo(val project: Project) : ExtensionAware
println(extensions.create<Foo>("foo").project)

while I thought I need to do it like
abstract class Bar @Inject constructor(val project: Project) : ExtensionAware
println(extensions.create<Bar>("bar", project).project)

With objects.newInstance indeed only the second version works, probably as in the extension case it can be determined which project the context is.
But maybe there is more that works automagically, and it should be documented. (Even if not more, the project for extensions case should be). Unless of course, it is a bug that it works in the first place, then that should probably be deprecated.

@Vampire Thanks for the samples! This is exactly what we wanted to confirm.

This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

@gradle/bt-configuration Is it a documentation-only issue or is it a bug?

Thank you for your interest in Gradle!
This is a valid documentation issue that we will address.


publicPath not working at all

I was trying to solve the css output background url issue with publicPath
but seem like not working at all.
npm devDependencies version :
"devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-preset-env": "^1.6.1",
    "babel-preset-es2015": "^6.24.1",
    "clean-webpack-plugin": "^0.1.17",
    "css-loader": "^0.28.7",
    "export-loader": "^1.0.52",
    "exports-loader": "^0.6.4",
    "expose-loader": "^0.7.4",
    "extract-text-webpack-plugin": "^3.0.2",
    "file-loader": "^1.1.6",
    "html-webpack-plugin": "^2.30.1",
    "image-webpack-loader": "^3.4.0",
    "node-sass": "^4.7.2",
    "pug": "^2.0.0-rc.4",
    "pug-loader": "^2.3.0",
    "resolve-url-loader": "^2.2.1",
    "sass-loader": "^6.0.6",
    "style-loader": "^0.19.1",
    "url-loader": "^0.6.2",
    "webpack": "^3.10.0",
    "webpack-dev-server": "^2.9.7"
  }

{
    test: /\.scss$/,
    use: extractSass.extract({

        use: [
            {
                loader: "css-loader",
                options: {
                    minimize: true,
                }
            },
            {
                loader: "resolve-url-loader"
            },
            {
                loader: "sass-loader",
                options: {
                    sourceMap: true
                }
            }
        ],
        fallback: "style-loader",
        publicPath: "../"

    })
},

Problem
css background show: url("img/asset.png")
What i want
css background show: url("../img/asset.png")

@zigang93 seems problem in resolve-url-loader because extract-text-webpack-plugin don't handle css declarations (i.e. background/src/etc) it is do style-loader/css-loader/resolve-url-loader. We just pass you publicPath to child compilation. Can you disable extract-text-webpack-plugin and check url in css?

I have the same problem, when I disable ExtractTextPlugin:
const extractStyles = new ExtractTextPlugin({     disable: true,     ... })
images are found.
When enabled images required from css (scss) files aren't found (HTTP 404).
It is requesting images at http://localhost:3333/dashboard/img/dashboard/header/default_header_image.jpg instead of http://localhost:3333/dashboard/static/src/img/dashboard/header/default_header_image.jpg
When changing the ExtractTextPlugin publicPath, images are still not found and request are made to the same (faulty) url.
extractStyles.extract({     publicPath: "./static/src/",     ... });
My webpack configuration output.publicPath is set to "./static".

Hi.. I solved my problem with  delete my config file-loader of publicPath.
fileloader overwrite my publicPath.
for those facing publicPath in ExtractTextPlugin not working , please check your other  publicPath setting
sorry, my mistake. finally understand how webpack work ..


SetProcessDpiAwareness failed: "COM error 0x80070005

Please see this issue from Zurb Foundation for Emails
Un-commenting the use of the gulp-uncss plugin stops this error.
I am un-sure if this is a problem with gulp-uncss or Foundation. Opening an issue here perhaps you can help shed some light.

Hi @jdfx,
Looks to me like a problem with phantomjs: https://github.com/ariya/phantomjs/issues/14095
If you can re-raise this issue over at https://github.com/giakki/uncss/issues then the maintainers there will hopefully be able to help. This module is only a thin wrapper for use with gulp.


get better titles for facebook pages

Hi,
Whenever I'm inputting a fb page I'm getting "Comments" as the title.
Can this be improved somehow?

This seems to be a very specific use case, unfortunately I don't have the time to take a look into it right now, however feel free to take a look at the code and submit your own pull request.

Cool, I think I will.
It's going to be non-elegant and specific code but still it's probably accounts for more than 50% of the links people share.

Ok turns out it's easier than I thought. Sent you a proposal.

Fixed by: https://github.com/ospfranco/react-native-link-preview/pull/9

@ospfranco not available yet on npm - increment the version maybe?

just published, my bad, version 1.1.2