~Some~ C++ async stream clients fallback to backup poller

What version of gRPC and what language are you using?
1.44.0
What operating system (Linux, Windows,...) and version?
Ubuntu 20.04.3 LTS
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc version 9.3.0
What did you do?
See the full test setup below.
Summary of the issue: I need to run concurrent streaming RPCs to multiple servers. To achieve this I create number (lets call it N_CLIENTS) of asynchronous clients, all opening a stream on the same completion queue. I execute the RPCs (each client sends a request, then reads a response and terminates the stream). Once all RPCs have completed I tear down the completion queue.

I repeat the process 4 times.
2 first iterations complete fast, as expected.
3rd and 4th iterations take 5 seconds.

I sprayed some log statements and observed that the slowness is caused by the 3rd client, which experiences a delay of 5 seconds while reading response from the server. I confirmed the 5 seconds to be caused by the value of DEFAULT_POLL_INTERVAL_MS in backup_poller.cc
I am somewhat a new grpc user and was not able to debug exactly why this happens. My current findings are that somehow the fd for the 3rd client is getting orphaned and not being properly polled for events, and backup poller picks up the orphaned fd. it is super suspect that first 2 clients do not experience this and I would love to get a better understanding of the problem.
I have also confirmed that the slowness does not reproduce with N_CLIENTS=1 or N_CLIENTS=2. But does reproduce for N_CLIENTS>=3.
Apologies if this is a known issue although my quick search did not turn up anything that describes the behavior I am seeing.
The repro is below. I cloned grpc repo, and created a repro directory under grpc/examples/cpp/helloworld containing the following files:

Test.proto
CMakeLists.txt
repro_client.cc
repro_server.cc

to reproduce, copy the files into grpc/examples/cpp/helloworld/repro, then:
cd grpc/examples/cpp/helloworld/repro
mkdir -p cmake/build
cd cmake/build
cmake -DCMAKE_PREFIX_PATH=$MY_INSTALL_DIR ../..
make -J
# start 3 grpc servers running on ports 50123 50124 50125
./repro_server
# in a separate terminal window run the client to reproduce the problem with 3 conncurrent calls
./repro_client 50123 50124 50125
# notice that client can also be run with 2 conccurrent calls, in which case the problem does not reproduce
./repro_client 50123 50124

Test.proto
syntax = "proto3";

package repro;

message Request {
  string msg = 1;
}
message Reply {
  string msg = 1;
}

service Test {
  rpc StreamEcho(stream Request) returns (stream Reply) {}
}

CMakeLists.text
cmake_minimum_required(VERSION 3.5.1)

project(Repro C CXX)

include(../../cmake/common.cmake)

# Proto file
get_filename_component(repro_proto "Test.proto" ABSOLUTE)
get_filename_component(repro_proto_path "${repro_proto}" PATH)

# Generated sources
set(repro_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/Test.pb.cc")
set(repro_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/Test.pb.h")
set(repro_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/Test.grpc.pb.cc")
set(repro_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/Test.grpc.pb.h")
add_custom_command(
      OUTPUT "${repro_proto_srcs}" "${repro_proto_hdrs}" "${repro_grpc_srcs}" "${repro_grpc_hdrs}"
      COMMAND ${_PROTOBUF_PROTOC}
      ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
        --cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
        -I "${repro_proto_path}"
        --plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
        "${repro_proto}"
      DEPENDS "${repro_proto}")

# Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}")

# repro_grpc_proto
add_library(repro_grpc_proto
  ${repro_grpc_srcs}
  ${repro_grpc_hdrs}
  ${repro_proto_srcs}
  ${repro_proto_hdrs})
target_link_libraries(repro_grpc_proto
  ${_REFLECTION}
  ${_GRPC_GRPCPP}
  ${_PROTOBUF_LIBPROTOBUF})

# Targets greeter_[async_](client|server)
foreach(_target
  repro_server repro_client)
  add_executable(${_target} "${_target}.cc")
  target_link_libraries(${_target}
    repro_grpc_proto
    ${_REFLECTION}
    ${_GRPC_GRPCPP}
    ${_PROTOBUF_LIBPROTOBUF})
endforeach()

repro_server.cc
#include <grpc/support/log.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>

#include <iostream>
#include <memory>
#include <string>

class AsyncCallBase {
 public:
  static void RunLoop(grpc::CompletionQueue& cq, int& inflight) {
    void* tag;
    bool ok;
    while (inflight != 0 && cq.Next(&tag, &ok)) {
      auto& ctx = *static_cast<InvocationContext*>(tag);
      ctx.base->Invoke(ctx.op, ok);
    }
  }

 protected:
  AsyncCallBase() {
    for (int i = 0; i <= static_cast<int>(Op::kMax); ++i) {
      tags_metadata[i] = {this, static_cast<Op>(i)};
    }
  }
  virtual ~AsyncCallBase() {}

  enum class Op {
    kStartDone = 0,
    kWriteDone = 1,
    kReadDone = 2,
    kWritesDoneDone = 3,
    kFinishDone = 4,
    kMax = kFinishDone,
  };

  void* MakeTag(Op op) { return &tags_metadata[static_cast<int>(op)]; }

  virtual void Invoke(Op op, bool ok) = 0;
  struct InvocationContext {
    AsyncCallBase* base;
    Op op;
  };
  std::array<InvocationContext, static_cast<size_t>(Op::kMax) + 1>
      tags_metadata;
};

struct AsyncCallExecutor {
  grpc::CompletionQueue cq;
  int inflight{0};
  void RunLoop() { AsyncCallBase::RunLoop(cq, inflight); }
};

template <typename Request, typename Response, typename Stub>
class AsyncReadWriteCall : private AsyncCallBase {
 public:
  using StreamFactory = std::function<
      std::unique_ptr<grpc::ClientAsyncReaderWriter<Request, Response>>(
          Stub&, grpc::ClientContext&, grpc::CompletionQueue& cq)>;

  AsyncReadWriteCall(std::shared_ptr<grpc::Channel> channel,
                     AsyncCallExecutor& executor, StreamFactory stream_factory)
      : executor_(executor), client_(std::move(channel)) {
    executor_.inflight++;
    stream_ = stream_factory(client_, context_, executor_.cq);
    stream_->StartCall(MakeTag(Op::kStartDone));
  }
  ~AsyncReadWriteCall() override {}

 protected:
  virtual void OnStarted() {}
  virtual void OnRead(Response&) {}
  virtual void OnWrite() {}
  virtual void OnError() {}

  void StartWrite(Request& req) {
    stream_->Write(req, MakeTag(Op::kWriteDone));
  }
  void StartRead() { stream_->Read(&reply_, MakeTag(Op::kReadDone)); }
  void CloseStream() { stream_->WritesDone(MakeTag(Op::kWritesDoneDone)); }

 public:
  const grpc::Status& status() const { return status_; }

 private:
  AsyncCallExecutor& executor_;
  grpc::ClientContext context_;
  Stub client_;
  Response reply_;
  std::unique_ptr<grpc::ClientAsyncReaderWriter<Request, Response>> stream_;
  grpc::Status status_;

  void Invoke(Op op, bool ok) override {
    if (!ok) {
      stream_->Finish(&status_, MakeTag(Op::kFinishDone));
      OnError();
      return;
    }
    switch (op) {
      case Op::kStartDone:
        OnStarted();
        return;
      case Op::kReadDone:
        OnRead(reply_);
        reply_ = std::move(Response{});  // clear out the reply
        return;
      case Op::kWriteDone:
        OnWrite();
        return;
      case Op::kWritesDoneDone:
        stream_->Finish(&status_, MakeTag(Op::kFinishDone));
        return;
      case Op::kFinishDone:
        executor_.inflight--;
        return;
    }
  }
};

#include "Test.grpc.pb.h"

using grpc::Status;

class StreamEchoCall : public AsyncReadWriteCall<repro::Request, repro::Reply,
                                                 repro::Test::Stub> {
 public:
  using Base =
      AsyncReadWriteCall<repro::Request, repro::Reply, repro::Test::Stub>;
  StreamEchoCall(std::shared_ptr<grpc::Channel> channel,
                 AsyncCallExecutor& executor)
      : Base(std::move(channel), executor,
             [](repro::Test::Stub& stub, grpc::ClientContext& ctx,
                grpc::CompletionQueue& q) {
               return stub.PrepareAsyncStreamEcho(&ctx, &q);
             }) {
    static int counter;
    curr = counter++;
  }

  ~StreamEchoCall() override {}

 public:
  int response_counter{0};

 protected:
  void OnStarted() override {
    repro::Request request;
    request.set_msg("Hello");
    StartWrite(request);
  }
  void OnWrite() override { StartRead(); }
  int curr;
  void OnRead(repro::Reply& r) override {
    gpr_log(GPR_ERROR, "clientid=%d, received response", curr);
    CloseStream();
  }
};

void makeCalls(const std::vector<std::shared_ptr<grpc::Channel>>& channels) {
  AsyncCallExecutor executor;
  std::list<StreamEchoCall> calls;
  for (auto& channel : channels) {
    calls.emplace_back(channel, executor);
  }
  executor.RunLoop();
}

int main(int argc, char** argv) {
  std::vector<std::shared_ptr<grpc::Channel>> channels;
  for (int i = 1; i < argc; i++) {
    std::string target = "<IP_ADDRESS>:";
    target += argv[i];
    auto channel =
        grpc::CreateChannel(target, grpc::InsecureChannelCredentials());
    channels.push_back(std::move(channel));
  }
  gpr_log(GPR_ERROR, "before ");
  makeCalls(channels);
  int round = 0;
  gpr_log(GPR_ERROR, "after makeCalls, round %d, on %lu clients", ++round, channels.size());
  makeCalls(channels);
  gpr_log(GPR_ERROR, "after makeCalls, round %d, on %lu clients", ++round, channels.size());
  makeCalls(channels);
  gpr_log(GPR_ERROR, "after makeCalls, round %d, on %lu clients", ++round, channels.size());
  makeCalls(channels);
  gpr_log(GPR_ERROR, "after makeCalls, round %d, on %lu clients", ++round, channels.size());
  return 0;
}

repro_server.cc
#include <iostream>
#include <memory>
#include <string>

#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>

#include "Test.grpc.pb.h"

using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerContext;
using grpc::Status;
using repro::Test;
using repro::Request;
using repro::Reply;

// Logic and data behind the server's behavior.
class TestServiceImpl final : public Test::Service {
public:
    Status StreamEcho(
            ServerContext *,
            ::grpc::ServerReaderWriter<::repro::Reply, ::repro::Request> *stream) override {
        Request request;
        stream->Read(&request);
        Reply reply;
        reply.set_msg(request.msg());
        stream->Write(reply);
        return Status::OK;
    }
};

std::pair<std::unique_ptr<Server>, std::unique_ptr<TestServiceImpl>> RunServer(std::string port) {
    std::string server_address("<IP_ADDRESS>:");
    server_address += port;
    std::unique_ptr<TestServiceImpl> service(new TestServiceImpl);

    grpc::EnableDefaultHealthCheckService(true);
    grpc::reflection::InitProtoReflectionServerBuilderPlugin();
    ServerBuilder builder;
    builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
    builder.RegisterService(service.get());

    std::unique_ptr<Server> server(builder.BuildAndStart());
    std::cout << "Server listening on " << server_address << std::endl;

    return std::make_pair(std::move(server), std::move(service));
}

int main(int argc, char **argv) {
    auto s = RunServer("50123");
    auto s2 = RunServer("50124");
    auto s3 = RunServer("50125");
    s3.first->Wait();

    return 0;
}

What did you expect to see?
Expected ./repro_client 50123 50124 50125 to complete within millseconds (similarly to the runnig time of /repro_client 50123 50124 which is about 10ms on my machine)
What did you see instead?
Observed running time of just over 10 seconds.
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

@yashykt - hey, just pinging this issue. Could you take a look?

Hi @mshneerfire, Sorry, I haven't had a chance to dig and try to reproduce this. I suspect that this is probably outdated on HEAD right now, since the default polling engine epollex got deleted recently.

Yup, doesn't reproduce on head.


Changing browser size for tooltip placement.

I have an app that divides the browser window into different areas.  There is a list of items on the left side and content on the right.  I would like tooltips to be kept within the right side and not spill over into the left side.  I noticed in the code that window.innerHeight and window.innerWidth are being used for the placement calculations.  Is there any way to override this?  If not, would it be possible to add props to set the max height and width?

Having the same issue. Would like to contain the tooltips within a container, inside a map component actually. Did you find a workaround to this?

Unfortunately no.  The product went a different direction without tooltips so the issue was not pursued.


Disable dynamic carousel?

Thanks, this is a great theme.
Is there a way to disable the dynamic image change on every page? I would like to change the background image manually by clicking on the arrows.

Or if there is only one image in header-slides to not show the dot or the arrows on the side.

Hi @anna-liao , thanks for loving it ^-^.
You can change the property of Carousel (id="site-header") and set data-interval="false" in homepage-header.html and post-header.html to disable the automatically cycle. To remove the dot and the arrows, you can comment the <!-- Indicators --> section and <!-- Controls --> section.

Thanks!


Increment timeout counter on dns resolve timeout

Seems to be a bug, TimeoutCounter is created in TDnsResolver but never incremented.

Hi! Thank you for fixing this!
Let's cherry-pick this into release branches (both 24.1 and 23.2)?
There have been multiple occasions on which this sensor would have helped us in our installations, and I was thinking of adding this functionality myself.
Would either @kaikash or @Kontakter be willing to do this?

I think I don’t have enough permissions to cherry-pick to stable branches.

@kaikash you can create pull requests into stable branches the same way you create PRs into main. robot-piglet will be able to import them into the release branch.

@achulkov2 didn't work xd
https://github.com/ytsaurus/ytsaurus/pull/664

@kaikash yeah, it won't work if you use the same branch as in the PR.
You have to checkout a new branch from stable/xx.y, cherry-pick your commit from main into it (it is best to use the final commit produced by robot-piglet) and then create a PR from that branch into stable/xx.y.

Cherry-picking this commit into stable/23.2 and stable/24.1 is quite challenging since TAresDnsResolver was refactored in the main branch. This would require cherry-picking a large chain of other commits, and I'm not sure which commits should be cherry-picked and which should not. Perhaps @Kontakter can help with this?
Another approach would be to address this issue with a new commit for the current version of TAresDnsResolver in the stable/xx.y branches. However, this means that the main branch and the stable/xx.y branches will diverge.


Converge metric tags

Thank you for submitting a pull request to the rep repository!
We appreciate the contribution. To help us understand the context for your pull request, please fill out this template to the best of your ability.
Please make sure to complete all of the following steps

Check the Contributing document on how to sign the CLA and run tests.
Submit your PR to this repo.
Submit an accompanying PR Review Request referencing this PR so the Diego Team knows to review your pull request.

Note: this PR will not be reviewed unless you submit the PR Review Request.

Not submitting a separate PR Review Request as we already have https://github.com/cloudfoundry/diego-release/issues/662 as a central issue to link PRs to.

Please provide the following information:
What is this change about?
This PR modifies the rep to pass metric tags back to the BBS when calling StartActualLRP or EvacuateRunningActualLRP.
It introduces a new version of the rep update lrp instance endpoint in order to avoid setting internal routes to nil when different versions of the bbs and rep are present.  @ctlong and @rroberts2222 chatted with @mariash about how to express this in the endpoint path and agreed to express it as a prefix to the URL rather than for example the BBS approach of a revision suffix.
What problem it is trying to solve?
Ensuring that metric tags are converged when the initial attempt to update the lrp fails.
What is the impact if the change is not made?
Metric tags may not be applied.
How should this change be described in diego-release release notes?
It shouldn't be described individually, only as part of the larger change.
Please provide any contextual information.
https://github.com/cloudfoundry/diego-release/issues/662
https://github.com/cloudfoundry/bbs/pull/56
https://github.com/cloudfoundry/route-emitter/pull/19
Tag your pair, your PM, and/or team!
@rroberts2222 @ctlong @Benjamintf1
Thank you!

I see both routes call the same handler. Will it be a separate change? v0 and v1 handlers?

@mariash difference handlers weren't required to solve the edge case we were concerned about, so we didn't add them here.
❓ Do you want the routes to have different handlers?
I agree it's cleaner from a backward compatibility perspective. If y'all would look to rip out that functionality sooner rather than later it's just more code to delete though.


Announcement: engineer-man/piston integration for code compilation/execution

Hello (using the issue tracker as a mailing list),
I've been looking for a replacement of the free trials of "online code interview tooling" to get both collaborative editing and the ability to compile/execute the common code. Piston provides the ability to self host a multi-language code execution service with a unified API so I thought it was a nice fit.
Therefore I've been working on expanding the Client-Server protocol and adding an extra React component to integrate Piston code execution API to rustpad.
This picture has been done testing with the public instance of piston (PISTON_URL=https://emkc.org/api/v2/piston cargo run)

For the time being it's on a branch that I happily force-push https://git.sr.ht/~gagbo/rustpad/log/gagbo/piston-integration, but if there's interest I can take some design and coding review to clean everything up and try to get it merged here. Whatever gets decided it's a nice project for me to get into front-end development so I'll keep making dubious changes to the UI/UX.

Please don't use the Rustpad issue tracker as a mailing list. Thanks.


docs: add a pointer to community meetings in our docs.

Add a section to the docs about community meetings and a pointer to the CNCF calendar with meeting details.

/cc @bart0sh


Make UAST usable without extensive knowledge of Babelfish

Parent objective:  #11
Progress: 0%

[ ] [P0] Launch higher level UAST abstractions for Babelfish #20
[ ] [P0] Update bblfsh playground #56
[ ] [P0] Have over 2/3 of key users to report feature as satisfactory

@marnovo @eiso  Maybe we can switch Objective title to something like Make UAST usable without extensive knowledge of Babelfish and we can keep Launch of higher level UAST abstractions for Babelfish as a key result for lower-level engineering tasks.

As of the fridays 29th june, this is not complete (the first point is close).

[P0] Launch higher level UAST abstractions for Babelfish #20 -> High level abstractions for constructs done, for nodes almost done, structural pointers dropped (?)
[P0] Update bblfsh playground #56 -> Done
[P0] Have over 2/3 of key users to report feature as satisfactory -> Depends on the first KR, but preliminary talks w/ internal users seems satisfactory


Tito tag 9999 - Added %dist back to tag string

The tag string for openshift-ansible is derived from the release number and some arch information contained in %{dist}.  Restored the %{dist} substring to the tag.

@stevekuznetsov forgive me.


Allow stroom to use folders in expressions, e.g. feed in folder X

Stroom should be able to use folders in expressions so that we could find all feeds, pipelines etc within a folder for filtering streams etc. This change ought to alter the migration of processing filters that currently use feed in group constructs rather than the current approach of migrating to dictionaries.

Duplicate of #1167


Migrate away from react-bootstrap

react-bootstrap does not support theming due to the limitation of Bootstrap.
Please migrate to either material-ui or chakra-ui.

Closed in #2


feat: support retry settings and retryable codes in call context

Adds support for retry settings and retryable codes for individual RPCs through ApiCallContext.
Example usage:
ApiCallContext context = GrpcCallContext.createDefault()
  .withRetrySettings(RetrySettings.newBuilder()
    .setInitialRetryDelay(Duration.ofMillis(10L))
    .setInitialRpcTimeout(Duration.ofMillis(100L))
    .setMaxAttempts(10)
    .setMaxRetryDelay(Duration.ofSeconds(10L))
    .setMaxRpcTimeout(Duration.ofSeconds(30L))
    .setRetryDelayMultiplier(1.4)
    .setRpcTimeoutMultiplier(1.5)
    .setTotalTimeout(Duration.ofMinutes(10L))
    .build())
  .withRetryableCodes(Sets.newSet(
    StatusCode.Code.UNAVAILABLE,
    StatusCode.Code.DEADLINE_EXCEEDED));

Points for consideration:

This feature can only be used for RPC's that are already retryable in the default settings, as the current code does the following optimization: https://github.com/googleapis/gax-java/blob/aabd3b089b35fa79056e37fff492288878bc51ea/gax/src/main/java/com/google/api/gax/rpc/Callables.java#L86 Calling withRetrySettings(...) or withRetryableCodes(...) will not change the retry behavior of those RPC's.
This PR introduces a number of ContextAware... classes that accept a RetryingContext as an argument for the methods that determine whether to retry an RPC, and if so, with what settings. This ensures that this PR is not a breaking change. It would also be possible to add this behavior to existing classes, but that would mean:
2.1. It would be a breaking change
2.2. OR it would include multiple if (someAlgorithm instanceof ContextAwareAlgorithm) return ((ContextAwareAlgorithm) algorithm).shouldRetry(context, ...); type statements in the existing classes to check whether it has been passed an algorithm that is able to determine retry settings using a RetryingContext or not.

Fixes #1197

@igorbernstein2 Friendly ping on this PR. Would you mind taking a look? If you're not the best person to weigh in on this, then please let me know.
cc @skuruppu

@igorbernstein2 Friendly ping on this PR. Would you mind taking a look? If you're not the best person to weigh in on this, then please let me know.
cc @skuruppu

This looks great (to my untrained Java eye). I'd like @igorbernstein2 and/or @vam-google / @miraleung to review it though, they are the more Java savvy and experienced in this codebase.
Of course, @chingor13 should be approve of the added functionality (I already polled these folks prior to starting this work, but just for posterity...).

@elharo Thanks for the review. I (think I) have addressed all your comments. PTAL.

@elharo Thanks for the review. I (think I) have addressed all your comments. PTAL.

@elharo Friendly ping on this PR. I addressed your comments, would you mind taking a second look?

@elharo Friendly ping on this PR. I addressed your comments, would you mind taking a second look?

@miraleung Friendly ping, would you mind taking another look at this?

This PR essentially creates a new copy of the whole retrying machinery to make the context aware retries happen. It should have been isolated on the level of the algorithms themselves instead. It must be doable, @noahdietz and I did talk about it in detail several months ago. Creation of most of the classes in this PR could have been avoided.
@olavloite can we please schedule a GVC to discuss this PR in detail and why these decisions were made?

@vam-google Certainly, please feel free to propose a moment (I'm in CET, so somewhere between 9AM and 10AM PST would work for me)
Regarding the considerations: See point 2 in the inital comment of this PR: https://github.com/googleapis/gax-java/pull/1238#issue-517935880

@vam-google I've implemented the changes that we talked about last week. Would you mind taking a look?

@vam-google I think this solution is closer to what you are suggesting than you might think at first:

The RetryAlgorithm#getResultAlgorithmWithContext() is only added to prevent this from being a binary breaking change. Another option would be to change the return type of the existing public method RetryAlgorithm#getResultAlgorithm(), as the algorithm that is used is guaranteed to be one that can use the context: https://github.com/googleapis/gax-java/pull/1238/files#r584677855
This change does add  a new shouldRetry() method to RetryAlgorithm that takes an additional RetryingContext: https://github.com/googleapis/gax-java/blob/f3225490740230272f073c83a83a95c690e3bb12/gax/src/main/java/com/google/api/gax/retrying/RetryAlgorithm.java#L200
We cannot add an additional shouldRetry method to ResultRetryAlgorithm as that is an interface. Instead, this change adds the interface ResultRetryAlgorithmWithContext that adds an additional method shouldRetry that accepts a context.

@olavloite heads up #1328 we are wrapping all RPC callables in the retry machinery which should enable the use of this feature on non-retryable RPCs once merged.
Note: #1328 has the same numbers as this PR 1238, how about that! :)

@miraleung can you review/approve this PR again? You requested changes at one point.

@olavloite heads up #1328 we are wrapping all RPC callables in the retry machinery which should enable the use of this feature on non-retryable RPCs once merged.
Note: #1328 has the same numbers as this PR 1238, how about that! :)

Cool (both the feature and the numbers) :-)

@olavloite heads up #1328 we are wrapping all RPC callables in the retry machinery which should enable the use of this feature on non-retryable RPCs once merged.
Note: #1328 has the same numbers as this PR 1238, how about that! :)

Cool (both the feature and the numbers) :-)

BTW if this is good to go, feel free to merge this - no need to wait on the callable wrapping change I mentioned.

Removed @igorbernstein2 because we had thorough reviews from others.


Remove order by filename.

 Issue by scarballo
Tuesday Jun 19, 2018 at 10:32 GMT
Originally opened as https://github.com/samaxes/minify-maven-plugin/pull/159

Remove order by filename in class method "ProcessFilesTask.getFilesToInclude". The plugin should keep the original order to make it usable. In case of javascript files, user should put the files in the correct order before using the plugin to avoid javascript errors. The same case for css files, normally, the files are put on websites in order.

scarballo included the following code: https://github.com/samaxes/minify-maven-plugin/pull/159/commits

See https://github.com/blutorange/closure-compiler-maven-plugin/issues/6


Unsupported screen size [1668, 2224] - iPad Pro10.5 inch

New Issue Checklist

[x ] Updated fastlane to the latest version
[x ] I have read the Contribution Guidelines

Issue Description
when I ran fastlane frameit I get an error for some screenshot I got from snapshot just certain size, size [1668, 2224]. Everything else works just fine
I'm running it individually not with fastlane fastfile.
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

command used: fastlane frameit silver
Error Example:
[19:10:54]: Framing screenshot './en-US/iPadPro(10.5-inch)-0-seoul_en-d41d8cd98f00b204e9800998ecf8427e.png'
[19:10:54]: Unsupported screen size [1668, 2224] for path './en-US/iPadPro(10.5-inch)-0-seoul_en-d41d8cd98f00b204e9800998ecf8427e.png'
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.5

Ruby
2.4.0

Bundler?
false

Git
git version 2.10.2

Installation Source
~/.rvm/rubies/ruby-2.4.0/bin/fastlane

Host
Mac OS X 10.12.5 (16F73)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.4.0/lib

OpenSSL Version
OpenSSL 1.1.0e  16 Feb 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.3

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.44.1
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.0

executable-hooks
1.3.2

bundler-unload
1.0.2

rubygems-bundler
1.4.4

bundler
1.15.1

io-console
0.4.6

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.1

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.4.4

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.3.0

terminal-table
1.8.0

plist
3.3.0

public_suffix
2.0.5

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

excon
0.57.0

faraday
0.12.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.1.0

declarative
0.0.9

declarative-option
0.1.0

representable
3.0.4

retriable
3.0.2

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.2

jwt
1.5.6

memoist
0.16.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.12.0

json
2.0.2

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.1

faraday_middleware
<IP_ADDRESS>

openssl
2.0.2

generated on: 2017-07-01

Hey @ardee19, thanks for submitting this issue and letting us know. Just so I can look into this faster, would you mind sharing one of the screenshots that's failing for you? You can send it to my email on my GitHub profile if you prefer it to stay private 👍

hey. I get the same problem, when uploading screenshots with deliver. Here is one of the failing screenshots

Hey @KrauseFx ! Sorry, wasn't able to respond immediately. Do you still need the screenshot? @lightsprint09 screenshot has the same size and fails the same way.

Alright, thanks everyone for providing the screenshot, I'll look into this tonight :+1:

Essentially the same error but with "fastlane deliver".  Assuming the issue is related to the 10.5" iPad Pro screen res.
message:
[!] Unsupported screen size [1668, 2224] for path './fastlane/screenshots/en-US/iPadPro(10.5-inch)-01LoginScreen-d41d8cd98f00b204e9800998ecf8427e.png'

For Me it helps to just remove the 10.5 images from the folder to deliver all my screenshots

Same problem here, with latest fastlane 2.58.0:
[15:42:05]: Unsupported screen size [2224, 1668] for path '/Users/jannik/viison/apps/POSApp/fastlane/screenshots/de-DE/iPad Pro (10.5-inch)-0-shopping-basket.png'

I also have the same issue.
[!] Unsupported screen size [1668, 2224] for path './fastlane/screenshots/el/iPad Pro (10.5-inch)-0List.png'
@fixpunkt I see that we have another common issue (https://github.com/fastlane/fastlane/issues/10259) and I am wondering these are related somehow.

Looks like new sizes are not added to the fastlane deliver script yet: https://github.com/fastlane/fastlane/blob/master/deliver/lib/deliver/app_screenshot.rb
There is no iPhone X size (1125x2436) or iPad 10.5 inch size (1668x2224)

I found this comment while searching for information:
The resolution should be 2731 x 2048, not 2732. 2048 x 2048 = 4,194,304 / 1536 = 2730.66667, it makes no sense for Apple to bump it to 2732. 1 extra line of pixels doesn't do anything for UI. It would make the aspect ratio 683 : 512 instead of a perfect 4 : 3.
https://www.imore.com/ipad-pro-once-again-shown-testing-new-app-analytics
So, it might be more nuanced.
For the time being, I have manually resized the images from 2731 to 2732 and submitted my app. Thanks.

Well, in https://github.com/fastlane/fastlane/issues/10582 @SeanRobinson159 says that

iTunes connect doesn't currently support iPhone X screenshots.

Maybe the same is with iPad 10.5 inch size?

As of October 27, iTunes Connect now supports iPhone X screenshots. https://itunespartner.apple.com/en/apps/news/5993372
Refer to http://help.apple.com/itunes-connect/developer/#/devd274dd925 for supported screenshot sizes.

Thank you!

Maybe the same is with iPad 10.5 inch size?
So it is, iPad 10.5 inch isn't on the list. So I think this isn't acutally an issue and should be closed, right?

Apple's documentation is weird because it says in the iPad 9.7" section that the 10.5" will work, but it doesn't have screen resolutions for it. Maybe the 10.5" screenshot will work IF there aren't any 9.7" screenshots already uploaded. That's really just a guess though.

Although as mentioned above this isn't required by itc, I think frameit should still provide it.

@krausefx I can’t help feeling that I’ve seen that you’ve fixed this already?

IMHO this issue is still valid. As far as I can see, Apple (now) offers uploads for 10.5'' screens as well. frameit still doesn't support 10.5'' screenshots and skips them.

+1

Still an issue

+1 This is still an issue for me as well. Sorry, but it's the only "red" I see in my beautiful fastlane CI build. ;-)

I have to agree, I haven’t looked to see if I / we could fix this ourselves, would it require much work @krausefx

Any solution available yet @Jules2010 @KrauseFx

It's an issue for me as well. Hope there is a solution soon.

Happening to me as well.

'Couldn't find template for screenshot type 'Apple true Space Gray'


[GLUTEN-3839][CH] Extend nested column pruning in vanilla spark

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #3839)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Performance comparison:
CREATE TEMPORARY VIEW test_table
USING org.apache.spark.sql.parquet
OPTIONS (
  path  "/data1/liyang/cppproject/spark/spark-3.3.2-bin-hadoop3/bigo_live_user_event"
) ;

select
case when event.log_extra['tab_type'] in (5) then '1' else '0' end as entrance
from test_table
lateral view explode(events)  as event
where  event.log_extra['action'] in (13)

set spark.gluten.sql.extendedGeneratorNestedColumnAliasing = true;
No rows selected (0.546 seconds)

set spark.gluten.sql.extendedGeneratorNestedColumnAliasing = false;
No rows selected (9.326 seconds)

Another performance comparison on production.


Feature Request: Filter on Available/Not Assigned Subnets

Issue type: Feature Request
Netbox will show available subnets that can be allocated when I create an aggregate or container. I would like a way to search all those available subnets without having to enter into each aggregate or container. If that could be a filter type under the prefixes page even though its not an active prefix that would be great.

Available prefixes don't actually exist as objects in the database, so we can't search for them.

Displaying available prefixes in the top level prefix list when expanded would be a start - then the filter just needs to not display all of the other child prefixes !


Feature/dependencies upgrade

Coverage remained the same at 100.0% when pulling 0854be029beea1770c5cc5461ed34a8bfe0254eb on feature/dependencies_upgrade into 6faff51cb036d6126b3133e59e0067eb7b546f15 on master.


Improvements and cleanup of generated Simulink code

Use mdlStart function for initialization
Fix indentation
Avoid confusing temporary variables
Remove unused code parts
Make sure system parameters works correctly
Add more comments
Use sample time properly

A side effect of these improvements is that Hopsan S-functions now also support the "fast restart" option in Simulink. This can save a lot of simulation time when running batch simulations.


Fixing fast connections bug AASTMIP-4199

Fixing fast connections bug AASTMIP-4199

It would be perfect, if you could add some more explanation, what exactly was the issue and how it was fixed :)


Feature/client tools

What's the problem?
The library is a little complicated to work with if you're just starting out. It has a fairly high barrier to entry when getting started, especially for complex setups. It would be helpful if client tools existed to make working with the cache and config files a lot easier.

[ ] Bugfix
[X] New Feature

What's the solution?
Build out a set of tools that work against the cache and config files. In this PR there are a handful of useful commands wrapped in a REPL shell called "Bruce". The Bruce shell executable has a unique feature where you can rename it into one of the named commands and the command will be executable externally without going through the Bruce shell.
bruce> help

Commands

   help           Provides help information about commands.
   kconfig        Set or review configuration settings at the default path.
   kdestroy       Delete the ticket cache.
   kinit          Obtain a cache a Kerberos Ticket-Granting-Ticket.
   klist          Displays the current list of tickets in the cache.

bruce>kinit help
Usage: kinit principal
--principal=value [--realm=value] [-V] [-l value] [--lifetime=value] [-s value] [--start-time=value] [-f] [--forwardable] [-F] [--no-forwardable] [-p] [--proxiable] [-P] [--no-proxy] [-a] [-C] [-E] [--enterprise] [-v] [--validate] [-R] [--renew]
[--renewable] [-r value] [--renewable-life=value] [-t value] [--keytab-name=value] [-k] [--use-keytab] [-n] [--anonymous] [-T value] [-c value] [--cache=value] [-S value] [--server=value] [-X value] [--ext=value] [-e value] [--enctypes=value]
[--extra-addresses=value] [-C value] [--cert=value] [--pk-user=value] [--kdc=value] [--kdc-hostname=value] [--request-pac] [--rst] [--reset] [-h] [--help] [-?]

   --principal=value                        The principal name to use otherwise uses the current system user.
   --realm=value                            Provide the realm name to authenticate against.
   -V                                       Display verbose output.
   -l value, --lifetime=value               Request a ticket with the provided lifetime.
   -s value, --start-time=value             Request a ticket starting from the provided time.
   -f, --forwardable                        Request a forwardable ticket.
   -F, --no-forwardable                     Do not request a forwardable ticket.
   -p, --proxiable                          Request a proxiable ticket.
   -P, --no-proxy                           Do not request a proxiable ticket.
   -a                                       Request a ticket with addresses.
   -C                                       Requests canonicalization of the ticket principal name.
   -E, --enterprise                         Treat the principal name as an enterprise name.
   -v, --validate                           Request the TGT be sent to the KDC for validation.
   -R, --renew                              Renew the requested TGT.
   --renewable                              Request a ticket that is renewable up to renewable-lifetime or infinite lifetime.
   -r value, --renewable-life=value         Request a ticket that is renewable up to the requested lifetime.
   -t value, --keytab-name=value            Obtain a ticket using the provided keytab.
   -k, --use-keytab                         Obtain a ticket using the keytab located in the default location.
   -n, --anonymous                          Request an anonymous ticket.
   -T value                                 Provide the name of a cache used to armor the current request.
   -c value, --cache=value                  Provide the name of a cache to store and retrieve tickets.
   -S value, --server=value                 Specify a service name to to use when getting tickets.
   -X value, --ext=value                    Pass values to Kerberos extensions.
   -e value, --enctypes=value               Specify the encryption types that should be used in preferred order.
   --extra-addresses=value                  Include additional addresses in the ticket request.
   -C value, --cert=value, --pk-user=value  Locate a certificate and use PKINIT to authenticate the user.
   --kdc=value, --kdc-hostname=value        Specify the KDC that should process this request.
   --request-pac                            Indicate whether a PAC should be requested during authentication.
   --rst, --reset                           Reset the connection cache.
   -h, --help, -?                           Help

bruce.exe -> kconfig.exe
bruce.exe -> kdestroy.exe
bruce.exe -> kinit.exe
bruce.exe -> klist.exe

[X] Includes unit tests
[ ] Requires manual test

What issue is this related to, if any?
Rolls up to https://github.com/dotnet/Kerberos.NET/issues/169

Do you plan to make Bruce as .NET Core global tool?
Benefit would be easy to "install" and update via NuGet.

@gfoidl I hadn't even considered that. It's a great idea. I will add then in a follow up PR!

Heh, this is pretty cool. Once I get it signed I'll publish it to nuget.org. 😁 Good call!
❯ dotnet tool install --global --add-source .\nupkg Bruce --version 4.5.8-g67a93246a1
You can invoke the tool using the following command: bruce
Tool 'bruce' (version '4.5.8-g67a93246a1') was successfully installed.

❯ bruce
  ____
 | __ ) _ __ _   _  ___ ___
 | |_) | |  | |_| | (_|  __/
 |____/|_|   \__,_|\___\___|

Command Line tooling for the Kerberos.NET library. (v4.5.8+67a93246a1)

(C) Copyright 2020 .NET Foundation

bruce>help

   User Default Values

         Version: 4.5.8+67a93246a1
   Configuration: C:\Users\stsyfuhs\AppData\Roaming\Kerberos.NET\krb5.conf

   Commands

   help           Provides help information about commands.
   kdestroy       Delete the ticket cache.
   kinit          Obtain a cache a Kerberos Ticket-Granting-Ticket.
   klist          Displays the current list of tickets in the cache.

Nice -- .NET Core Tools are really nice and easy to make. They made a brilliant job making this.


Migrate ballerinax/jdbc to Gradle

Tracked with https://github.com/ballerinax/jdbc/issues/52, hence closing.


quantomatic: init at 0.7

Motivation for this change
Introduce an expression for the Quantomatic tool.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Tested locally and runs fine otherwise

All suggestions committed

@GrahamcOfBorg build quantomatic

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: quantomatic
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: quantomatic
Partial log (click to expand)
copying path '/nix/store/9jbxvfn0pk3nxf3z27gk47jxc23iz5ss-polkit-0.115' from 'https://cache.nixos.org'...
copying path '/nix/store/j6xdasl9qnj8wx0z2z70mq7fipc943f2-pango-1.42.4' from 'https://cache.nixos.org'...
copying path '/nix/store/2ci56msllw5yrl26sk8q1c46pfkw7k5d-gconf-3.2.6' from 'https://cache.nixos.org'...
copying path '/nix/store/c9xmcf9y0wd7gmzfk2cagny73ryj6pqk-gtk+-2.24.32' from 'https://cache.nixos.org'...
copying path '/nix/store/0rk5qk91lz1gk0xmaaqf948lba46l602-gnome-vfs-2.24.4' from 'https://cache.nixos.org'...
100 56.5M  100 56.5M    0     0  43.9M      0  0:00:01  0:00:01 --:--:-- 57.6M
copying path '/nix/store/1vyp8cj5n7rdq6wsppvd8nry8rw785ll-openjdk-8u192b26-jre' from 'https://cache.nixos.org'...
building '/nix/store/dq4dydw14dasf0nsr36yihdhfx068yh3-quantomatic-0.7.drv'...
installing
/nix/store/6c01wyg8a569gx9dprsxgcqsaszf72lr-quantomatic-0.7

Success on x86_64-darwin (full log)
Attempted: quantomatic
Partial log (click to expand)
  inflating: ZuluJCEPolicies/US_export_policy.jar
post-installation fixup
moving /nix/store/8a5qqrdbc01bacraaka3nzk8dia3zp1n-zulu1.8.0_121-<IP_ADDRESS>/man to /nix/store/8a5qqrdbc01bacraaka3nzk8dia3zp1n-zulu1.8.0_121-<IP_ADDRESS>/share/man
gzipping man pages under /nix/store/8a5qqrdbc01bacraaka3nzk8dia3zp1n-zulu1.8.0_121-<IP_ADDRESS>/share/man/
strip is /nix/store/mvpvjar6m4jpjcz48715w2pax53djv6g-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/8a5qqrdbc01bacraaka3nzk8dia3zp1n-zulu1.8.0_121-<IP_ADDRESS>/lib  /nix/store/8a5qqrdbc01bacraaka3nzk8dia3zp1n-zulu1.8.0_121-<IP_ADDRESS>/bin
patching script interpreter paths in /nix/store/8a5qqrdbc01bacraaka3nzk8dia3zp1n-zulu1.8.0_121-<IP_ADDRESS>
building '/nix/store/dxqfn1ygcnw1b762y1y7x9j7jsq54mdj-quantomatic-0.7.drv'...
installing
/nix/store/vfa156b335hqc0g8bpwlp5pi62mlfj29-quantomatic-0.7


add Cruzeiro do Sul University

official website URL:
https://www.fsg.edu.br/

school street address, including city and country:
Street Os Dezoito do Forte, 2366 - Caxias do Sul, Brazil

URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
https://www.fsg.edu.br/graduacao/?area=Engenharia+e+Tecnologia

A proof of the domain with a government website
https://emec.mec.gov.br/emec/consulta-cadastro/detalhamento/d96957f455f6405d14c6542552b0f6eb/MTQyNw==

Another proof
https://noticias.cruzeirodosuleducacional.edu.br/seu-acesso-a-area-do-aluno-mudou-fsg/

@Lucasntb Thank you for your patience while waiting for a review and processing your request. Pull request merged.


URL Shortener(Python)

Describe the project you want to add with tech stack
A program that takes long URLs and converts them into shortened versions, redirecting users to the original URL when the short link is accessed.
Expected behavior

Screenshots (optional)

Additional context (optional )

@MohitGupta121 @TusharKesarwani Can you please assign me this issue. Thank You

@MohitGupta121 @TusharKesarwani Can you please assign me this issue. Thank You


Split up bitcoinrpc

Split bitcoinrpc up into

rpcserver: bitcoind RPC server
rpcclient: bitcoin-cli RPC client
rpcprotocol: shared common HTTP/JSON-RPC protocol code

Original work by laanwj. This is some headway into moving from the outdated json_spirit to univalue.

Excellent. The univalue is on my list to do as well as separating the gridcoin rpc commands to its own files. Cheers. Also todo will be removing safemode as its not used

Good job. Can we move them into an rpc subfolder?

I am just worried that this work may me lost, when, or if, we decide to rebase.

This work is just done to make the Rebase easier. The more code we can just copy paste, the easier.

Much of these have already been done in the more modern bases. Yes, the work will be somewhat redundant but it will make the differences smaller.

Rebased.

Need another rebase and I'll merge it.

Rebased.


Custom function

Is there a way to define custom validation function?
Thanks for this amazing lib

There is not.
What are you trying to achieve? If you can explain what you want to do, we may be able to suggest an alternative method.

@ravipxm
I've looked also for this feature and actually this feature is not available in this validator. The opis/json-schema validator supports this.
If you want to try to archive this you need to do the following:

Extend JsonSchema\Constraints\Factory to add a method like addConstraint(string $name, BaseConstraint $constraint) which addes a implementation of JsonSchema\Constraints\BaseConstraint to the constraintMap attribute.
Extend JsonSchema\Validator to overload the constructor and inject by using parent::__construct(new MyNewFeatureRichFactory()) the new factory which supports your user defined constraints.

But actually I do not recommend this to you. First of all you should take a look to a different schema validator, because this Validator is nice but not very extendable, due the consequent violation of SOLID principles. This leads to this "inheritance incest" I've described above.
@erayd
Common use case for me: In my projects I build mostly REST-APIs, also to register or login users. For example, if I receive a json for my register user operation I want to validate this json. So a given e-mail address is valid from the format but after using this validator I also need to check this in a second step if this e-mail address is already registred.
If I could combine the "e-mail address format constraint" and a "e-mail address is not registred constraint" in a composite design pattern, so that I'm able to handle the validation in one step. So there would be no need to do a second instance for "verifing" the data plausibility. The same could be needed for "is email address registred constraint" for login and a forgot password feature or to check relations.
But as I said before, this package is not very extensible for this.

@ravipxm in an attempt to cleanup this repo we are trying to filter the issues and see which ones might be closed. Is it safe to assume this is a rather old issue, which sadly was left unanswered, and can be closed? Feel free to close it yourself with some comments if helpful.
@codejunkie84 from your comments I can see you want to do some contextual validation where you would have some specific validations you would like to apply as callback. From the perspective of the library this would seem out of scope as it's goal is to validate the JSON schema. And as it is just keeping up with only doing that is already a decent challenge.
What I believe @erayd is hinting at is see how you can use a validated JSON document for validation down the line. As an example in some projects I've been part of we use Symfony and have a class which resembles the JSON structure and do contextual validation using the #[Assert/...] annotations.


fix run name when kind is trec

Hi,
Run names were not properly saved when loading trec runs from file. It was not covered in the tests.
Best,
Maxime.

Hi Maxime,
Thanks for both your contributions and sorry for the delay, I have been very busy lately.
I will merge them soon.
Thank you again,
Elias


[CI] Set default value for CI_NUM_EXECUTORS

task_cpp_unittest.sh relies on CI_NUM_EXECUTORS being set as an environment variable, which causes the script to fail if the value is not set. To prevent this, setting the default as 1.

The counterpart change is now merged. I guess we can close this one?


--npm-options throws an error

claudia pack --npm-options --global-style
TypeError: options.npm-options.split is not a function
    at collectFiles (/Users/peebles/smart-monitor/smart-monitor-cwlogs/node_modules/claudia/src/tasks/collect-files.js:31:77)
    at fsPromise.mkdtempAsync.then.then.then.then (/Users/peebles/smart-monitor/smart-monitor-cwlogs/node_modules/claudia/src/commands/pack.js:48:14)
    at <anonymous>

Expected behaviour:

I would expect the options provided be passed to npm.

What actually happens:

I get an error

Link to a minimal, executable project that demonstrates the problem:

Steps to install the project:

Steps to reproduce the problem:

use claudia pack --npm-options=--global-style (or if you need multiple args, include in quotes). leaving a space between the argument and value is OK for values without dashes, but if you want to supply a value that starts with a dash, put = between the name and the value, otherwise the command thinks you are providing two arguments

Could you please add this as an example to the docs (including the = part) as the format for implementing this cli option is quite different from the others.
I could make a PR if you wish
Thank you

Could you please add this as an example to the docs (including the = part) as the format for implementing this cli option is quite different from the others.
I could make a PR if you wish
Thank you


Always getting unavailbe in ios camera permission

Bug report
I am always getting unavailabe when trying to get camera permission status on ios device
Below is my code
const res = await check(PERMISSIONS.IOS.CAMERA);
console.log('res', res)
if (res === RESULTS.GRANTED) {
setCameraGranted(true);
} else if (res === RESULTS.DENIED) {
const res2 = await request(PERMISSIONS.IOS.CAMERA);
res2 === RESULTS.GRANTED ? setCameraGranted(true) : setCameraGranted(false);
}
Environment info
react-native info output:
System:
    OS: macOS 10.15.5
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 1.37 GB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 10.16.3 - /usr/local/bin/node
    npm: 6.9.0 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 13.5, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
    Android SDK:
      API Levels: 23, 25, 26, 27, 28, 29
      Build Tools: 23.0.1, 28.0.3, 29.0.0, 29.0.2, 29.0.3
      System Images: android-28 | Intel x86 Atom, android-28 | Intel x86 Atom_64, android-28 | Google APIs Intel x86 Atom_64, android-28 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom
  IDEs:
    Android Studio: 3.6 AI-192.7<IP_ADDRESS>92135
    Xcode: 11.5/11E608c - /usr/bin/xcodebuild
  npmPackages:
    react: 16.9.0 => 16.9.0
    react-native: 0.61.5 => 0.61.5
  npmGlobalPackages:
    react-native-cli: 2.0.1

Library version:2.2.0
I have added
permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec"
in pod file & pod install
added
NSCameraUsageDescription
YOUR TEXT
in plist file.

https://github.com/react-native-community/react-native-permissions/issues?q=is%3Aissue+unavailable+is%3Aclosed
try npx react-native-clean-project after altering pods like that if it is still unavailable

@mikehardy  I have gone through all the past issues to unavailable but nothing worked.

Aactually the pods were not installed properly.

@TaraSinghDanu with no offense intended at all - as this is a common error I have made myself! - that's why it's the first thing we always emphasize, fully clean project and check pod install etc. It's such a common error. Glad you're moving forward and good luck with your project


raspberrypi2 support?

sadly the build failed on the rpi2, is this platform supported?
i can provide more infos on request

I didn't test the build on the rpi2.
Do you have a log of where it failed?

Can you share your local.conf and bblayers.conf files?
Also provide info about what versions (branches) of each layer you were using?
Do you have any log of where it failed?

Hi all,
I have also had some issues trying to build an image with this layer for RaspberryPi, more exactly for a RaspberryPi 3, although I finally managed to build one. This is going to be a long comment, so my apologies on advance.
First, I tried to compile an image with the WebKitGTK+ engine using the following configuration:
Build Configuration:
BB_VERSION        = "1.30.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "raspberrypi3"
DISTRO            = "poky"
DISTRO_VERSION    = "2.1.1"
TUNE_FEATURES     = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
TARGET_FPU        = "hard"
meta
meta-poky
meta-yocto-bsp    = "krogoth:12eb72ee3b02f826a156ff4e396c770f2b93571e"
meta-raspberrypi  = "master:2745399f75d7564fcc586d0365ff73be47849d0e"
meta-webkit       = "master:63bf58b406d91dccbf58747bbb5d6e3c9a66b86a"

I also added to the end of my local.conf:
MACHINE ?= "raspberrypi3"
DISTRO_FEATURES_append = " opengl x11"
IMAGE_INSTALL_append = " webkitgtk-bin"

However, when I executed bitbake core-image-sato, I got the following error:
/path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/webkitgtk-2.10.7/Source/WebCore/platform/graphics/GLContext.cpp:135:83: error: invalid conversion from 'GLNativeWindowType {aka long long unsigned int}' to 'EGLNativeWindowType {aka void*}' [-fpermissive]
     if (auto eglContext = GLContextEGL::createContext(windowHandle, sharingContext))
                                                                                ^
In file included from /path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/webkitgtk-2.10.7/Source/WebCore/platform/graphics/GLContext.cpp:29:0:
/path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/webkitgtk-2.10.7/Source/WebCore/platform/graphics/egl/GLContextEGL.h:38:42: note:   initializing argument 1 of 'static std::unique_ptr<WebCore::GLContextEGL> WebCore::GLContextEGL::createContext(EGLNativeWindowType, WebCore::GLContext*)'
     static std::unique_ptr<GLContextEGL> createContext(EGLNativeWindowType, GLContext* sharingContext = 0);
                                          ^
[ 62%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/GraphicsContext3DPrivate.cpp.o
Source/WebCore/CMakeFiles/WebCore.dir/build.make:58510: recipe for target 'Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/GLContext.cpp.o' failed
make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/GLContext.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cd /path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/build/Source/WebCore &&/path/to/yocto/build/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++   -DBUILDING_GTK__=1 -DBUILDING_WEBKIT -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore -DDATA_DIR=\"/usr/share\" -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DHAVE_CONFIG_H=1 -DMESA_EGL_NO_X11_HEADERS -DUSER_AGENT_GTK_MAJOR_VERSION=602 -DUSER_AGENT_GTK_MINOR_VERSION=1 -DUSE_VCHIQ_ARM -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -DWEBKIT_DOM_USE_UNSTABLE_API -I/path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/webkitgtk-2.10.7/Source/WebCore -I/path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/webkitgtk-2.10.7/Source/WebCore/Modules/airplay ... -fPIC  -o CMakeFiles/WebCore.dir/platform/graphics/GraphicsContext3DPrivate.cpp.o -c /path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/webkitgtk-2.10.7/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp
make[2]: Leaving directory '/path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/build'
CMakeFiles/Makefile2:607: recipe for target 'Source/WebCore/CMakeFiles/WebCore.dir/all' failed
make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
make[1]: Leaving directory '/path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/build'
Makefile:152: recipe for target 'all' failed
make: *** [all] Error 2
ERROR: oe_runmake failed
ERROR: Function failed: do_compile (log file is located at/path/to/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.10.7-r0/temp/log.do_compile.9545)

As far as I can see, I think the problem is located in GLContext.h:
#if USE(EGL) && !PLATFORM(GTK)
#include "eglplatform.h"
typedef EGLNativeWindowType GLNativeWindowType;
#elif PLATFORM(GTK) && PLATFORM(WAYLAND) && !defined(GTK_API_VERSION_2)
#include <wayland-egl.h>
#include <EGL/eglplatform.h>
typedef EGLNativeWindowType GLNativeWindowType;
#else
typedef uint64_t GLNativeWindowType;
#endif

GLNativeWindowType is set to uint64_t, instead of EGLNativeWindowType.
Now, on the bright side it is possible to build an image for WebKitForWayland engine with this same build configuration, however you have to add to the end of local.conf:
MACHINE ?= "raspberrypi3"
DISTRO_FEATURES_append = " opengl x11"
IMAGE_INSTALL_append = " webkitgtk-bin"
PREFERRED_PROVIDER_virtual/libgl = "mesa"
PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
PREFERRED_PROVIDER_virtual/egl = "mesa"
PREFERRED_PROVIDER_virtual/mesa = "mesa"

Then, if you run bitbake core-image-weston, it should work.
To end, it is still possible to build an image with the WebKitGTK+ engine, however it has to be based on jethro. The build configuration I used to accomplish this was:
Build Configuration:
BB_VERSION        = "1.28.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-16.04"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "raspberrypi3"
DISTRO            = "poky"
DISTRO_VERSION    = "2.0.2"
TUNE_FEATURES     = "arm armv7a vfp thumb neon callconvention-hard vfpv4 cortexa7"
TARGET_FPU        = "vfp-vfpv4-neon"
meta
meta-yocto
meta-yocto-bsp    = "jethro:40376446904ae3529be41737fed9a0b650ed167d"
meta-raspberrypi  = "master:cc64d6324d1543f009f0c010d720e74b7cb9f5d5"
meta-webkit       = "jethro:a107c901f93d453f886a3014224ca2430d15fcf3"

I also had to  override some preferred providers in local.conf:
MACHINE ?= "raspberrypi3"
DISTRO_FEATURES_append = " opengl x11"
IMAGE_INSTALL_append = " webkitgtk-bin"
PREFERRED_PROVIDER_virtual/libgl = "mesa"
PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
PREFERRED_PROVIDER_virtual/egl = "mesa"
PREFERRED_PROVIDER_virtual/mesa = "mesa"

Hope this is of any help.

Regarding webkitforwayland on the raspberrypi I think you will have better luck using the dispmanx backend rather than the wayland one.
At least until the new free mesa-based vc4 drivers for the raspberry are in better shape.
With this dispmanx backend ,w4w renders directly to the framebuffer (no display server needed) using the raspberry-specific dispmanx APIs.
The support for this is not on the main w4w repository, but on the metrological one. I have a working recipe for Yocto, just let me know if you are interested and I can upload it.

About opengl, the answer is no, it does not work. I loaded the page you commented before and MiniBrowser is not able to show it.
Also, thank you for offering to upload another recipe, I do appreciate it. But, I built an image for wayland just out of curiosity; at least for the moment, I have to keep using X11.
Let me ask you one more question, should I build my image using webgl instead of opengl? Would I be able to render the page you mentioned before with webgl?
Thanks a lot.

I think opengl (or webgl) with webkit is not going to work on the rpi with the standard drivers (the propietary ones).
Maybe with the new ones (vc4) it could work, but i don't know. I tried it once without luck.
To get a browser that works ok on that machine the best thing is just to disable opengl at all. Most websites work perfectly without it.
I have just uploaded a patch (68ad3d23526d5d57176222139464616c37770000) that adds an option to disable opengl on webkitgtk.
After pulling this new patch, add this on your local.conf:
PACKAGECONFIG_pn-webkitgtk = "x11"

And rebuild. It should build without any opengl support.

Btw.. if you want wayland instead of x11, use:
PACKAGECONFIG_pn-webkitgtk = "wayland"

You can build support for both at the same time also
PACKAGECONFIG_pn-webkitgtk = "x11 wayland"

Thanks! I'll try :smiley:

I'm closing this issue.
There have been many changes on master and this issue is not longer relevant.
WPE (former WebKitForWayland) is now building fine on the RPi and i.MX6 boards (at least with rocko)
I added also documentation on the wiki about it, including a detailed step-by-step-guide for the RPi (RPi2 or RPi3)
Please open a new issue if you still have any trouble with the recipes in this layer.


OCPCLOUD-2513: Remove cloud-provider and cloud-config flags

Remove cloud-provider and cloud-config arguments from the Kube API server invocation. These flags are depecrated and will be an error to call later.
Note: to be grouped with https://github.com/openshift/library-go/pull/1692

A cluster was successfully created with this PR, combined with https://github.com/openshift/library-go/pull/1692 and https://github.com/openshift/cluster-kube-controller-manager-operator/pull/799.
Logs at: https://prow.ci.openshift.org/view/gs/test-platform-results/logs/release-openshift-origin-installer-launch-hypershift-hosted/1767640032966873088
Leaving in draft til https://github.com/openshift/library-go/pull/1692 merges and I can remove the replace.

/retest
quay was returning 500s, which is unrelated to the changes.

https://github.com/openshift/cluster-kube-apiserver-operator/pull/1666 included the necessary changes.


Voice public change optout screens

issue #38 should maybe be done first...

@gsvr plz review

:+1:


Create alternative screenshots implementation with awt.Robot

Sometimes it's better to take screenshots with awt.Robot instead of built-in Selenium screenshots.

awt.Robot's screenshot includes system aspects, browser's native menus etc.
Sometimes Selenium fails to take screenshots, for example if there is unexpected alert.

@asolntsev few days ago I found stable/repeatable issue with OOM exception in Robot framework during screenshot making. But I have no time to investigate of this =(

Closing the feature request. It seems that nobody is interested.


CVE-2016-7954

Came across the vulnerability ticket while browsing through ruby docs..
I found a similar issue addressed by Bundler-v1.7 among your documentation. Not sure if the two are one and the same / related / un-related.
Thought I'd open a ticket regarding this here anyways..
You may close if its known and under consideration or already patched.

Please see https://github.com/bundler/bundler/issues/5051


[BUG] - %counter overwriting

Description
ComfyUI: When using %counter in the filename, it will overwrite existing images. Basically %counter will reset to 0 everytime you queue up a render.
Result : When you queue X iterations with Batch_Size = Y, you will have Y images at the end, with %counter values from 0 to Y
Suggestion : have it work like the basic SaveImage node, where you supply the path&filename, and the counter is automatically added and incremented based on existing images with that filename at target path.
Reproduction steps
No response
Image file
No response
Version
1.3.4
OS
Windows
Tool
A1111's webUI

Please submit issues related to the ComfyUI node version in the node version repo next time, thx.
About this issue, you’re right, there were some bugs with the counter in the previous version, but they have been fixed in the current version. Please update your node version to the newest and try again. When starting ComfyUI, the version number of the Prompt Reader Node will be displayed in the terminal (cmd or powershell). This problem should occur in 1.0.0beta3, and is fixed in 1.0.0 (no suffix). If the issue persists, please let me know.

ah yes, sorry I went on the wrong page.
I think I have the right version though:

I just retested and found that %counter still has some bugs, but this bug is quite complex, so please consider using alternatives like %time for now. I will fix this bug later.


Comparison of precisions and index times is lacking

For vector databases and vector index algorithms, precisions and index times are also very important.

It is unfair to compare the QPS (Queries Per Second) of two vector databases if they cannot achieve similar levels of precision. To provide a clearer comparison, you could consider including a figure that shows precision versus QPS, such as those found in qdrant's benchmark or ann-benchmarks.

The exact time of indexing for each experiment is not provided. However, it is crucial for users to know when their vectors are ready for searching. It should be noted that certain graph algorithms (such as HNSW/DiskANN) have a high query per second (QPS) rate but may be slow in the indexing process. Such figure will be helpful:

Hi @lqhl,
Thank you for your suggestions.

It's possible you may not have had the opportunity to thoroughly examine our benchmark. We have included the build time and recall for each system under test cases in our results. Could you give it a try, and please let us know if you encounter any bugs or UI issues that make these aspects challenging to notice.

With respect to recall vs QPS, your idea is indeed correct. However, several reasons have guided us to our current approach:

We are not solely benchmarking open-source systems; we are also focusing on cloud services. Some of these services, such as Zilliz and Pinecone, don't allow users to customize their parameters to tune the recall, aiming to simplify their usage. Consequently, creating a recall vs QPS graph is not feasible. Also this benchmark allow users to customize their parameters for systems allowing tuning to get their own result to do comparison.

There already exists a number of benchmarks doing what you've suggested, which target individuals with ANN search backgrounds. Our goal is to make this benchmark as straightforward as possible and to assist people who lack understanding about the inner workings of each system.

Concerning reproducibility, generating a recall vs QPS graph that you mentioned, would require conducting a multitude of tests to obtain enough data points, which considerably reduces reproducibility.

As for the benchmark graph you cited, we attempted but were unable to reproduce it locally. And might be due to the reproducibility issues I previously mentioned, we've noticed that there hasn't been any update on this graph for quite a while, even though all systems continue to update daily.

Hi @liliu-z . Thank you for your quick reply.

It's possible you may not have had the opportunity to thoroughly examine our benchmark. We have included the build time and recall for each system under test cases in our results. Could you give it a try, and please let us know if you encounter any bugs or UI issues that make these aspects challenging to notice.

I can only find QPS/QP$/Latency in https://zilliz.com/benchmark. Did I overlook anything?

With respect to recall vs QPS, your idea is indeed correct. However, several reasons have guided us to our current approach:

I understand your decision not to include a recall vs QPS graph. However, it would be helpful if you could annotate the recall and parameters used for each cloud database on each QPS point to enhance clarity.

Hi @liliu-z . Thank you for your quick reply.

It's possible you may not have had the opportunity to thoroughly examine our benchmark. We have included the build time and recall for each system under test cases in our results. Could you give it a try, and please let us know if you encounter any bugs or UI issues that make these aspects challenging to notice.

I can only find QPS/QP$/Latency in https://zilliz.com/benchmark. Did I overlook anything?

> 2. With respect to recall vs QPS, your idea is indeed correct. However, several reasons have guided us to our current approach:
I understand your decision not to include a recall vs QPS graph. However, it would be helpful if you could annotate the recall and parameters used for each cloud database on each QPS point to enhance clarity.

Oh, I see. My apologies for the misunderstanding and we definitely need to make this clearer.
The page you referred to is a Leaderboard, not the benchmark result itself. When using our benchmark, whether you're checking the standard pre-tested results or conducting your own tests, we display everything, as shown here:

The Leaderboard merely scores systems based on QPS derived from test cases. Our goal is to provide users with a quick evaluation without having to delve into detailed benchmark results on a case-by-case basis. However, I couldn't agree more that recall is an essential aspect of performance. And the scoring rule right now doesn't consider recall. We will aim to adjust our scoring strategies in the next version to take recall into account. Thank you so much for your suggestions and explanation.

@liliu-z I understand. Thank you.

If you don't mind I will keep this issue open until we upgrade the scoring strategy

If you don't mind I will keep this issue open until we upgrade the scoring strategy

Great! I'm looking forward to the new version.


Xcode 11.5 archive build failed flutter

I try to take these steps: "Product" -> "Archive" to unload the application to testers, but when these steps are performed, this error is constantly displayed:
Multiple commands produce '/Users/user/Library/Developer/Xcode/DerivedData/Runner-dpjgfafimzpddicamlmtfyiidicx/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework':
1) Target 'GoogleUtilities-00567490' has create directory command with output '/Users/user/Library/Developer/Xcode/DerivedData/Runner-dpjgfafimzpddicamlmtfyiidicx/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
2) Target 'GoogleUtilities-Environment-Logger-UserDefaults' has create directory command with output '/Users/user/Library/Developer/Xcode/DerivedData/Runner-dpjgfafimzpddicamlmtfyiidicx/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'

Flutter doctor:

    [✓] Flutter (Channel stable, v1.17.4, on Mac OS X 10.15.4 19E287, locale ru-RU)
        • Flutter version 1.17.4 at /Users/user/dev/flutter
        • Framework revision 1ad9baa8b9 (13 days ago), 2020-06-17 14:41:16 -0700
        • Engine revision ee76268252
        • Dart version 2.8.4

    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
        • Android SDK at /Users/user/Library/Android/sdk
        • Platform android-29, build-tools 29.0.3
        • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

    [✓] Xcode - develop for iOS and macOS (Xcode 11.5)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 11.5, Build version 11E608c
        • CocoaPods version 1.9.1

    [✓] Android Studio (version 4.0)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin version 46.0.1
        • Dart plugin version 192.8052
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

    [✓] VS Code (version 1.46.1)
        • VS Code at /Users/user/Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.12.0

    [✓] Connected device (1 available)
        • iPhone (Илья) • 6cd3a4fb82220c402eee2444a3db70abb14b53ab • ios • iOS 13.5.1

I also tried to do the actions that were described in other Issue, but nothing helped, the error was still there
I tried to set in the settings of the build Use legacy system, it did not help :(

Hi @IliaKhuzhakhmetovRoonyx
does it happen with a new project as well?
could you provide screenshot of your Runner configs?

@VladyslavBondarenko
No, with new projects its all okay
Did you mean Release.xconfig? Or something else? (About configs)

@IliaKhuzhakhmetovRoonyx
from xcode

@IliaKhuzhakhmetovRoonyx  Can we get your pubspec.yaml?  Looks like plugins are trying to copy GoogleUtilities.framework twice.

@jmagman
pubspec.yaml:
name: pj
description: Flutter project.

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 0.0.3+11

environment:
  sdk: ">=2.2.2 <3.0.0"

dependencies:

  cloud_firestore: ^0.13.4+1
  flutter:
    sdk: flutter
  http: ^0.12.0+2
  firebase_auth: ^0.15.5+3
  firebase_core: ^0.4.0
  google_sign_in: ^4.4.1
  flutter_facebook_login: ^3.0.0
  #purchases_flutter:
    #git: https://github.com/LaraDP/purchases-flutter.git
  in_app_purchase: ^0.3.4+1
  url_launcher: ^5.4.2
  firebase_ml_vision: ^0.9.3+8
  permission_handler: ^3.2.2
  image_picker: ^0.6.1+4
  firebase_storage: ^3.1.5
  cached_network_image: ^2.0.0
  shared_preferences: ^0.5.2
  share: ^0.6.3+6
  package_info: ^0.4.0+17
  # A comprehensive, cross-platform path manipulation library for Dart.
  path: ^1.6.2
  nima: ^1.0.5
  # A Flutter plugin for finding commonly used locations on the filesystem.
  path_provider: ^1.3.0
  # downloads_path_provider: ^0.1.0
  # RxDart is a reactive functional programming library for Google Dart, based on ReactiveX.
  rxdart: ^0.21.0
  video_player: ^0.10.2+1
  camera: ^0.5.6+1
  flutter_downloader: ^1.2.2
  firebase_crashlytics: ^0.1.3+2
  # A Flutter plugin to store data in secure storage.
  flutter_secure_storage: ^3.2.1+1
  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2
  # tfLite - https://pub.dev/packages/tflite
  tflite: ^1.0.5
  # for advanced work with images - https://pub.dev/packages/image
  image: ^2.1.12

dev_dependencies:
  flutter_test:
    sdk: flutter

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:
  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
   - .config
   - assets/images/
   - assets/icons/
   - assets/flare/New File 9.nma.bytes
   - assets/tflite/

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  fonts:
    - family: Montserrat
      fonts:
        - asset: assets/fonts/Montserrat-Light.ttf
          weight: 300
        - asset: assets/fonts/Montserrat-Regular.ttf
          weight: 700
        - asset: assets/fonts/Montserrat-SemiBold.ttf
          weight: 700
    - family: Segoe
      fonts:
        - asset: assets/fonts/Segoe-UI.ttf
    - family: Futura
      fonts:
        - asset: assets/fonts/Futura-Medium-Italic-font.ttf
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages

@VladyslavBondarenko


add question command

this is to replace #49 since that pr was based on the wrong branch. quoting from there:

this patch adds the .question command, which can be triggered by any user to randomly generate/select a thought-provoking question
this adds a direct dependency on my thoughtful question generator repository at a specific commit, and an indirect dependency on my jen.js library. the bot module itself is just a thin wrapper for the generator

i'm going ahead and merging my pr because my head is hurting significantly less than when i made it and thus i can think clearer :P


scan improvements from pr-286

Originally submitted by @EverydayBitcoiner in pr-286:
resolves #185

hint while scanning changed from "Scan a QR code" to "<back  |  Scan a QR code".

an exception is raised when an invalid QR code is scanned, instead of being redirected to Main menu.

For this last one, there are 2 similar failure conditions when scanning a QR code.

when the qrcode is understood (decoder.is_complete) but we dont need/support using it, then the user is redirected to NotYetImplemented.
when the qrcode is not understood (decoder.is_invalid), they will see a DireWarning screen with an error message "QRCode not recognized or not yet supported." instead of being redirected back to the main menu (where they might think a bug occurred instead of realizing they scanned the wrong qrcode.

To test the first type of error qrcode, scan a single-sig wallet descriptor from specter or sparrow.  To test the second, which is the only thing added, scan any random qrcode, or the xpub-qrcode from sparrow (instead of the wallet descriptor).

ACK and tested


Fix basic server example

Fix port in basic server example. Add .gitconfig to gitignore.

Coverage decreased (-2.2%) to 95.915% when pulling 65e9e33008643ad5ca7a50d04a2afdfca7c0d4fc on amelius0712:master into f2c12f79ff92ef337a1b2f776fd2f118bbf19d02 on KeepSafe:master.

Thanks


Feat: Add admission controller

Description
Add support for installing SCC-WP Admission Controller:

Webhook
KSPM admission controller

It's disabled by default
It requires adding Sysdig API Token when used.
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

@ctolon22 Test failed with this:
│ Error: Missing required argument
│
│   with module.scc_wp_agent.helm_release.scc_wp_agent,
│   on ../../main.tf line 36, in resource "helm_release" "scc_wp_agent":
│   36: resource "helm_release" "scc_wp_agent" {
│
│ The argument "set.40.value" is required, but no definition was found.
╵}

@ctolon22 we probably also want to update the example that the test runs to actually deploy the admission controller so that we test it in PRs


moving to nuget cpvm not building

moving the package version management to NuGet CPVM to allow better control over package version management.

fixed by https://github.com/kaby76/Antlr4BuildTasks/issues/20


Create Security and Response policy

This PR goes along with https://github.com/chipsalliance/Caliptra/pull/83


What is the proper way to return custom headers?

Hello,
Right now I am using
return HttpResponse.ok(.data(myData, contentType: "application/vnd.apple.mpegurl;charset=UTF-8"))
But I need to add more custom headers apart from the content tyoe.
Should I use something like this?
let headers = [
            "X-Signature": "SOTT client=\"IA-IOS-v1\",signature=\"PpnogGw0D+GdObwuqEUhQU8yk5Y=\",timestamp=\"1628678968\",version=\"1.0\"",
            "X-RequestId":"c6b908ef-be98-47ca-bed1-8179b1dade04"]
            return HttpResponse.raw(200, "OK", headers) { httpResponseBodyWriter in
                return try httpResponseBodyWriter.write([UInt8](utf8String))
            }

Thanks a lot for suggestions.

one idea is to use middleware to add a handler to modify handler:
https://github.com/httpswift/swifter/blob/67d7c16ce596e3409ba1443b8626e543c6f7c1b4/Xcode/Sources/DemoServer.swift#L199-L202

Thanks a lot @paulz


Pin xxhash==0.8.2 on rc

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Closing as changes have been integrated as part of #150.


After Update package Active MFA SecretCodeQR url give 404

After the Update package, when active MFA for user and access it SecretCodeQR URL it's give 404

Hi @GopalTopsInfosolutions, The issue is due to the deprecated service of Google. We have fixed the issue with a user-configurable parameter. This is being resolved in the new release.

Resolved in pull request #96


Slope colour scale.

Default output units should be °. Colour scale for slope 8-bit should be inverted 0° - white, 90° - black. Maybe this is why the results for blending VAT are different?

Bug fixed, it was normlization function bug. For the blending I have to check which function it uses for normalization (will fix it as soon as possible).


WIP rewrite suspenders

@klauer @danielballan This is ready for a preliminary review.
Still need to add a registry of suspenders to the RE to ask for permission to start a __call__

[Current coverage][cc-pull] is 75.05%

Merging [#396][cc-pull] into [master][cc-base-branch] will increase coverage by +0.80%

@@             master       #396   diff @@
==========================================
  Files            17         17
  Lines          3278       3299    +21
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2434       2476    +42
+ Misses          844        823    -21
  Partials          0          0

File ...luesky/suspenders.py was modified. more

Misses -12
Partials 0
Hits +12

Powered by Codecov. Last updated by [c51b945...d1458c3][cc-compare]
[cc-base-branch]: https://codecov.io/gh/NSLS-II/bluesky/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/NSLS-II/bluesky/compare/c51b945b8a9fd518a8f66cfe62f8e60716320c2c...d1458c3b23cd0a6b53ad1f1ff1a56f88eb797bb2
[cc-pull]: https://codecov.io/gh/NSLS-II/bluesky/pull/396?src=pr

attn @imrealkaren @gjwillms

Regarding the choice of install and remove.  I would not expect these two functions to be a pair as install/uninstall or add/remove are the terms that are typically paired.  Could you elaborate on why install/remove was chosen?

:+1:

And I got back 2% coverage woo!

@tacaswell I think you deserve the honors of hitting the button with this big rewrite. But you won't self-merge, so @danielballan?

It was an honor and a pleasure, sir.


fix: only perform "free" retry upon receiving DOWN signals

Addresses https://github.com/emqx/ehttpc/pull/45#discussion_r1173340971

Unfortunately, this leads to the return of the previous errors when there are lots of concurrent requests.  Which means some cases are indeed from gun_down messages:
iex(emqx@<IP_ADDRESS>)8> 2023-04-27T13:58:24.867919-03:00 [error] msg: http_connector_do_request_failed, mfa: emqx_connector_http:on_query/3, line: 321, connector: <<"bridge:webhook:web">>, reason: normal, request: {"/api/batch_subscribe",[{<<"content-type">>,<<"application/json">>}],<<"{\n  \"clientid\": \"caribdis_bench_sub_1581851150_10829\"\n}">>}
2023-04-27T13:58:24.868215-03:00 [error] msg: unrecoverable_error, mfa: emqx_resource_buffer_worker:handle_query_result_pure/3, line: 823, id: <<"bridge:webhook:web">>, reason: normal


[App Service] Linux web apps don't appear to be configured correctly when using local git

Using the CLI, I created a new Linux App Service plan, and a web app that is configured to use local git for deployments. After doing a Git push and setting the start file (which hopefully won't be necessary soon), I launched the site and got the following error:

After not being able to figure out what the issue was, I opened up the portal and noticed that there wasn't a runtime stack selected on the Docker Container tab (see image below). I explicitly set it to Node.js 6.6.0, at which point, everything worked great.

That makes me wonder whether the az appservice web create command configures the app correctly when relying on a default runtime stack. I've not had any issues when deploying a custom Docker container, so maybe the az appservice web config container update command doesn't the necessary work to configure the app correctly? Oddly enough, when I ran the az appservice web config appsettings show command, I noticed that following output, so it seemed like it detected the use of Node after the Git push, but it didn't setup the runtime stack container right?
WEBSITE_NODE_DEFAULT_VERSION
------------------------------
6.9.1

As an update, I noticed that I can mitigate this issue from the CLI by running the following command: az appservice web config update --node-version 6.6.0. I suppose this is somewhat analogous to needing to run az appservice web config container update to set a custom container. However, the problem is that you can setup an app and push a Git deployment without realizing the app wasn't configured correctly. Whereas with the custom Docker container, you wouldn't expect it to know which image you want it to use.
Ideally, the web app would be able to auto-detect your runtime stack by inspecting the code upon deployment (doesn't Kudu do this already?).

Clarify, the node related appsettings doesn't impact container based linux web, they are 2 different flows, you either go with container, which you have coupe of appsetings to tweak for the image source; or we go with non-container model where you need to specify the the entry file and node/python/php versions
So check out the sample flow
Either way, we need to update the commands to get flow more clearer and less error-prone for users.

@yugangw-msft I fully understand the difference here, although the portal makes it clear that you're always using a container, it's just a matter if its a custom container or not. That said, my primary point here was that the experience of creating a web app and deploying via local git doesn't feel very optimized, since you can easily get into a position where you're deployed app doesn't work.
The portal doesn't allow you to create a Linux web app without specifying your runtime stack/custom container, whereas the CLI does.

The portal doesn't allow you to create a Linux web app without specifying your runtime stack/custom container, whereas the CLI does.

Agreed.

delay a bit for the the same reason of #1337

The stack runtime version for a linux web is controlled by the site configuration linux_fx_version. CLI has done 2 improvement to help set up:
1. On webapp create, you can set through --runtime
2. On webapp config container set, when the arg of --docker-custom-image-name is used, CLI will also patch it.
With those, the original confusion will be greatly mitigated.
Note, the --node-version is irrelevant. It was added at service side but abandoned shortly, hence I am going to rewire it to WEBSITE_NODE_DEFAULT_VERSION

Submitted https://github.com/Azure/azure-cli/pull/3375 to remove the --node-version.
Closing this issue as we don't have other things to handle.


Oculus touch controllers appear overhead

I have tried to pare this down to the simplest case.  I think I may be missing a tag on my handLeft and handRight.  I am having two issues that I can't seem to solve.

When viewed on an Oculus through Firefox, the models of my touch controllers appear overhead.
When I use the Oculus joystick to navigate, the camera moves properly, but the touch controllers remain in place and do not move with the camera.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<meta name="description" content="Hello, World! • A-Frame">
	<script src="https://aframe.io/releases/0.7.1/aframe.min.js"></script>
	<script src="//cdn.rawgit.com/donmccurdy/aframe-extras/v3.13.1/dist/aframe-extras.min.js"></script>

 </head>
<body>
<a-scene cursor="rayOrigin: mouse">

<a-entity id="player" position="2 2 2">
	<a-entity  id="Camera" camera="userHeight:1.6" universal-controls></a-entity>
	<a-entity id="leftHand" laser-controls="hand: left" raycaster="objects: .clickable" hand-controller>
		<a-entity mixin="marker" rotation="-45 0 0" position="0 -0.1 -0.1"></a-entity>
		<a-entity id="labelText" rotation="-45 0 0" position="0 -0.1 -0.09" geometry="primitive: plane; width: auto; height: auto" visible="false" material="color: #eee" text="color: blue; align: center; value: [This is a door]; width: 0.5; "></a-entity>
	</a-entity>
	<a-entity id="rightHand" laser-controls="hand: right" raycaster="objects: .clickable" line="color: #118A7E"></a-entity>
</a-entity>

<a-entity position="0 2.5 0" geometry="" material="color:#ff4e48" id="House Main Wing"></a-entity>
</a-scene>
</body>
</html>

A lot has changed with A-Frame 0.8.0 and extras v4, are you still able to reproduce this? Note updated controls docs:
https://github.com/donmccurdy/aframe-extras/tree/master/src/controls#usage
and that userHeight: 1.6 no longer exists.

It is working properly now.  Thanks!

On Apr 22, 2018, at 7:04 PM, Don McCurdy<EMAIL_ADDRESS>wrote:
A lot has changed with A-Frame 0.8.0 and extras v4, are you still able to reproduce this? Note updated controls docs:
https://github.com/donmccurdy/aframe-extras/tree/master/src/controls#usage https://github.com/donmccurdy/aframe-extras/tree/master/src/controls#usage
and that userHeight: 1.6 no longer exists.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/donmccurdy/aframe-extras/issues/215#issuecomment-383434194, or mute the thread https://github.com/notifications/unsubscribe-auth/AMdwazg8c8kn8TQdUltQLHb_1mgl1ozFks5trTbIgaJpZM4Saqho.


Fix #6043 Added support for array type styles and classes

Fix #6043 Added support for array type styles and classes.
BC kept.
Pay attention for unit test HtmlTest::testMergeCssClass(): it demonstrates the solution for issues like:
#8229
#4916
https://github.com/yiisoft/yii2-bootstrap/pull/15

Nice!

Nice to see this :)
Should I close #8229 @cebe @klimov-paul ?

First of all, the whole team should accept the approach.
Then we need to decide, which key should be used for classes added by Yii.
I whould like to use 'widget' for the classes added by widgets.

Attention ping @yii-devs :)
This is something quite important, imho, so the sooner it gets discussed and merged, the better.

Well, I like the approach. @qiangxue, @cebe thoughts?

looks great to me :)

Relates: https://github.com/yiisoft/yii2-bootstrap/pull/52


Fix for TIKA-1881

Updated Mime-Magic for 6 mime types:

application/postscript :  files begin with pattern "%!PS-Adobe-3.0 EPSF-3.0".
application/wordperfect: files begin with pattern "ÿWPC" .
image/tiff : updated pattern for "MM.+" for Big endian format.(occur at the beginning of files of tiff mime type)
application/rdf+xml : updated pattern "rdf" ( from byte offset 5 to 400)
application/atom+xml : updated pattern "feed" ( from byte offset 5 to 50)
application/rss+xml : updated pattern "rss" ( from byte offset 5 to 50)

For the Atom, RSS and RDF ones - is the magic required? Doesn't the XML detector get them already via the namespace? And without risk of mis-detecting text files which happen to mention feed or rss or rdf near the start?
For the Postscript one - could you re-do this as text rather than hex, so it's easier to read?
(Others look fine!)

For the Atom, RSS and RDF :
This was from the FHT analysis in these files. We found some of these files classified into Octet-Stream, and all these 3 types had the occurrence of the pattern may times in the first 50 bytes or so. I based this purely on the analysis and cannot hence find any information about this on the web. As you mention, your advice is to remove these patterns to be on the safer side, updating the same in this pull request.
For the Postscript one : Changed into readable format.


Oxlint has a panic in DefinitelyTyped

thread <unnamed> panicked at crates/oxc_parser/src/lexer/mod.rs:324:40:
The issue was caused by PR #2010.

Note to self: add to ecosystem CI

Found it:
interface Helpers {
  inspect(): `~~~~\n${string}\n~~~~`;
}

Fixed in v0.2.2.
Ecosystem CI was never ever triggered  ... fixing it now.


Carry keypoints from frame to frame

The keypoints should be able to be carried from frame to frame -- either by copying or by using optical flow. Dense optical flow has been precomputed and can be looked up as an image.

Copying --- both ways done. I think we do not need interpolation as it was being done in MATLAB ui. If we don't need please close this issue this is done.


[feat] Add owner field to assistant model.

Summary

add owner field to assistant model.

Thank you for review @platfowner! now merging...


Can't publish the lang

Would like to request an enhancement to support the ability to publish language files for customization.
Currently, the language files provided by the your plugin are not directly publishable to the resources/lang directory, which limits the ability to easily customize translations for different languages.

Hi thank you for reaching out. So if I understand correctly you want to be able to publish the languages files of the translation-manager package ?