Supporting async when filtering.

    recv(
        filter fil,
        std::set<control_packet_type> types,
        CompletionToken&& token
    ) {

I am trying to filter received packages by their type and was wondering why this function doesn't support async as the normal recv function without filtering does support async.
    recv(
        CompletionToken&& token
    ) {

both recv() is async. I'm not sure what are you asking. Could you elaborate your question?

Here is a little usage document https://github.com/redboltz/async_mqtt#control-packet-type-filter

@magni-mar is meaning the usage of recv with awaitables. When the asio::use_awaitable is passed in as completion token to the filtered recv call he gets a compile error. It seems to be that the filtered recv call is calling the token explicitly instead of using async_compose.

@jbbjarnason , thank you for the comment. Now, I understand the issue is compiling error, and the error seems to be caused by direct token() call.
Now, I just wrote the test code that reproduces the compile error.
I will fix it soon.

I belive that I fixed the issue. Coud you try #44 ?

Unfortunately this doesn't work. I am calling the function like this:
co_await  mqtt_client_->recv(async_mqtt::filter::match, {async_mqtt::control_packet_type::connack}, asio::use_awaitable);

and these are the compiler errors:
====================[ Build | mqtt-broadcaster | ci-clang-release ]=============
/usr/bin/cmake --build /home/magni-the-developer/Documents/framework/build/ci-clang-release --target mqtt-broadcaster -j 30
[1/2] Building CXX object exes/mqtt-broadcaster/CMakeFiles/mqtt-broadcaster.dir/src/main.cpp.o
FAILED: exes/mqtt-broadcaster/CMakeFiles/mqtt-broadcaster.dir/src/main.cpp.o
/usr/bin/clang++-16 -DASYNC_MQTT_USE_LOG -DONLY_C_LOCALE=0 -DUNITS_DOWNCAST_MODE=1 -I/home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/inc -I/home/magni-the-developer/Documents/framework/libs/progbase/inc/public -I/home/magni-the-developer/Documents/framework/libs/logger/inc/public -I/home/magni-the-developer/Documents/framework/libs/stx/inc/public -I/home/magni-the-developer/Documents/framework/libs/ipc/inc/public -I/home/magni-the-developer/Documents/framework/libs/dbus_util/inc/public -I/home/magni-the-developer/Documents/framework/libs/configure_options/inc/public -I/home/magni-the-developer/Documents/framework/libs/operation_mode/inc/public -I/home/magni-the-developer/Documents/framework/libs/confman/inc/public -isystem /home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/include -isystem /home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/lib/pkgconfig/../../include -isystem /home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/lib/pkgconfig/../../include/libmount -isystem /home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/lib/pkgconfig/../../include/blkid -stdlib=libc++ -O3 -DNDEBUG -std=gnu++2b -fcolor-diagnostics -fuse-ld=lld -flto=thin -fvisibility=hidden -fvisibility-inlines-hidden -Weverything -Werror -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-pre-c++14-compat -Wno-pre-c++17-compat -Wno-pre-c++20-compat-pedantic -Wno-c++20-compat -Wno-unused-parameter -Wno-padded -Wno-unused-command-line-argument -Wno-missing-braces -MD -MT exes/mqtt-broadcaster/CMakeFiles/mqtt-broadcaster.dir/src/main.cpp.o -MF exes/mqtt-broadcaster/CMakeFiles/mqtt-broadcaster.dir/src/main.cpp.o.d -o exes/mqtt-broadcaster/CMakeFiles/mqtt-broadcaster.dir/src/main.cpp.o -c /home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/src/main.cpp
In file included from /home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/src/main.cpp:1:
In file included from /home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/include/async_mqtt/all.hpp:13:
/home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/include/async_mqtt/endpoint.hpp:442:25: error: type 'boost::asio::use_awaitable_t<>' does not provide a call operator
                        token(force_move(pv));
                        ^~~~~
/home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/inc/mqtt_broadcaster.hpp:123:33: note: in instantiation of function template specialization 'async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>::recv<const boost::asio::use_awaitable_t<> &>' requested here
        co_await  mqtt_client_->recv(async_mqtt::filter::match, {async_mqtt::control_packet_type::connack}, asio::use_awaitable);
                                ^
/home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/inc/mqtt_broadcaster.hpp:49:44: note: in instantiation of member function 'mqtt_broadcaster<tfc::ipc_ruler::ipc_manager_client &, sdbusplus::bus::match::match, async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>>::connect_to_broker' requested here
    asio::co_spawn(mqtt_client_->strand(), connect_to_broker(), asio::detached);
                                           ^
/home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/src/main.cpp:32:7: note: in instantiation of member function 'mqtt_broadcaster<tfc::ipc_ruler::ipc_manager_client &, sdbusplus::bus::match::match, async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>>::mqtt_broadcaster' requested here
      application(ctx, mqtt_host, mqtt_port, mqtt_username, mqtt_password, ipc_client, mqtt_client);
      ^
In file included from /home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/src/main.cpp:1:
In file included from /home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/include/async_mqtt/all.hpp:13:
/home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/include/async_mqtt/endpoint.hpp:442:25: error: type 'boost::asio::use_awaitable_t<>' does not provide a call operator
                        token(force_move(pv));
                        ^~~~~
/home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/include/async_mqtt/endpoint.hpp:403:16: note: in instantiation of function template specialization 'async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>::recv<boost::asio::use_awaitable_t<>>' requested here
        return recv(filter::match, force_move(types), std::forward<CompletionToken>(token));
               ^
/home/magni-the-developer/Documents/framework/vcpkg-sysroot-clang/x64-linux-clang/include/async_mqtt/endpoint.hpp:439:25: note: in instantiation of function template specialization 'async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>::recv<boost::asio::use_awaitable_t<>>' requested here
                        recv(force_move(types), force_move(token));
                        ^
/home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/inc/mqtt_broadcaster.hpp:123:33: note: in instantiation of function template specialization 'async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>::recv<const boost::asio::use_awaitable_t<> &>' requested here
        co_await  mqtt_client_->recv(async_mqtt::filter::match, {async_mqtt::control_packet_type::connack}, asio::use_awaitable);
                                ^
/home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/inc/mqtt_broadcaster.hpp:49:44: note: in instantiation of member function 'mqtt_broadcaster<tfc::ipc_ruler::ipc_manager_client &, sdbusplus::bus::match::match, async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>>::connect_to_broker' requested here
    asio::co_spawn(mqtt_client_->strand(), connect_to_broker(), asio::detached);
                                           ^
/home/magni-the-developer/Documents/framework/exes/mqtt-broadcaster/src/main.cpp:32:7: note: in instantiation of member function 'mqtt_broadcaster<tfc::ipc_ruler::ipc_manager_client &, sdbusplus::bus::match::match, async_mqtt::basic_endpoint<async_mqtt::role::client, 2, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>>>>::mqtt_broadcaster' requested here
      application(ctx, mqtt_host, mqtt_port, mqtt_username, mqtt_password, ipc_client, mqtt_client);
      ^
2 errors generated.
ninja: build stopped: subcommand failed.

Could you check your commit hash? It should be https://github.com/redboltz/async_mqtt/pull/44/commits/c2614a00031ced69b4f1c8832a35841417d95d90

My mistake, I copy/pasted the code to the wrong file location just for testing. This fix works.
Thank you for your quick response.

Ok, I will merge it.


Supporting paths when deployed behind a reverse proxy

Description
I'd like to deploy the structurizr on-premises application behind a reverse proxy but on a path, for example on https://example.com/diagrams/*. It won't work as when I send the X-Forwarded-Prefix prefix with a value of /diagrams/ it will be ignored.
I had a look at the code of both the on-premises repo as the UI repo, and I think this can be implemented by including the ForwardedHeaderFilter bean and then prefixing any links that do not use the CDN URL with the pageContext.request.contextPath property.
I'm very eager to get this working and have already done a little PoC to see if this could work. If you agree I'm happy to move forward with this work.
Priority
I'm willing to add this feature myself and raise a PR (please confirm approach first)
More information
No response

The on-premises installation wasn't designed with this in mind, and it's not something that I want to support I'm afraid as it will require similar changes to Lite and the cloud service, since all share the same UI code. You're welcome to fork the repo(s) though.

Hi @simonbrowndotje thanks for your reply. I don't think the changes in the UI project will be conflicting there. I mostly prefixed existing URLs with the pageContext.request.contextPath, if thats null or empty (which is probably the case with lite and cloud without making any changes) it won't prefix the URLs and shouldn't get in the way.
I'll test my changes with the lite repo to verify. If it works I'll make a draft PR for you to review if you want. If you're happy with it then by all means please merge, but no offense taken if you don't want to :)


Make security-profiles-operator daemonset configurable

What would you like to be added:
A mechanism to make the creation of the security-profiles-operator daemonset configurable. At this point in time, the entire Daemonset is hardcoded.
Why is this needed:
As an infrastructure SRE there are a couple of scenarios, where I'd like to change the configuration of the daemonset:

change container image source
change nodeselectors and tolerations
change resource requests and limits
securitycontexts
... you name it

User story covered
As an infrastructure SRE, Kirsti wants to make sure that common profiles are available to all users, so folks can deploy applications securely. ↗

Are there any opinion how DS configuration should look like?
Here are some thoughts to get the discussion started:
If I get it correctly, there are different daemonsets per use case, which are created at runtime:

seccomp-spod
selinux-spod
recorder-spod
and in future something like apparmor-spod

I think it should be possible to configure them independently from each other. This increases flexibility for clusters with inhomogeneous nodes (e.g. some of them have AppArmor activated, some do not).
As the whole story is only about configuration on cluster resource level, I don't think a detailed configuration via flags makes sense here. Therefore I'd suggest a flag for the operator like --config, -C or --resource-config, -R which optionally references a yaml file.
The yaml file then could follow (more or less) the resource spec:
seccomp-spod:
  spec:
    template:
      spec:
        tolerations:
        - effect: NoSchedule
          key: role
          operator: Equal
          value: infra
---
selinux-spod:
  spec:
    template:
      containers:
        - args:
            - [...]
          image: [...]
          imagePullPolicy: Always
---
recorder-spod:
...
---
apparmor-spod:
...

I assume this would be straight forward to parse and apply and would give a lot of freedom about the DS.
Though, with this approach comes a drawback: it would be relatively easy to break the things or make them insecure (e.g. spec.template.spec.containers.securityContext)...
Just some thoughts. Happy to read about your opinion!

@voigt that's an interesting point; do you have a inhomogeneous nodes in your environment?
One thing to note is that Seccomp tends to be a constant, so the combinations would normally be Seccomp + SELinux or Seccomp + Apparmor; perhaps the way it could be arranged is that we could move the configuration of the SPO to be a CRD (SecurityProfilesDaemon?), and each instance of the daemon would deploy an instance of the spod daemonset (with the name matching the name given to the Custom Resource); This way, one could configure each instance as needed.

One aspect that I think would be nice to have configurable is the resource requests and limits. Especially for selinuxd which is a resource hog, I'm afraid that if someone runs into the limits, they'd just be out of luck..

Yeah I think the general configuration approach seems reasonable to me. I assume that the configuration would live in a config map? Or the same config map we're using right now? https://github.com/kubernetes-sigs/security-profiles-operator/blob/master/deploy/base/config.yaml

@saschagrunert I was more thinking along the lines of moving the ConfigMap to be a CRD, so the configuration would live there, and the same CRD would report the status.

@saschagrunert I was more thinking along the lines of moving the ConfigMap to be a CRD, so the configuration would live there, and the same CRD would report the status.

Sounds good to me!

/assign


Scene load timing fix

closes #258, I was forced to implement this to manage yielding on managed AsyncOperation instances and extra edge cases to be handled, which leads me to implementing this in c9a533ed2026d15712e755af52863082a26867bf


Generated SVG works poorly outside web browsers

The generated SVG contains text encapsulated inside foreignObject elements. Inside the foreignObjects, there are divs to handle text with linebreaks. However, divs doesn't display in other SVG viewers than web browsers.
A related issue is the
 tags for linebreaks. Those are invalid in XML. They could be replaced by
 to allow the SVG to be opened outside web browsers, but the text will still not be rendered.

As another hopefully helpful reference, here is how d3plus handles the text wrapping http://d3plus.org/examples/utilities/a39f0c3fc52804ee859a/.
Thanks so much @knsv for such fine work.  We are making it into an htmlwidget to make it easily available to R users.

Thanks @timelyportfolio, that looks cool!
With the current model for text in mermaid, the user does not need to care about the width of individual nodes - instead they specify the linebreaks manually. It is a tempting alternative to be able to set a specific node width instead, and use something like d3plus to reformat the text to fit inside the node.
However, mermaid builds on dagre-d3 to generate the SVG content, including the text labels. It would be more natural to incorporate this kind of text wrapping support into dagre-d3 instead.
The work I have in progress on the labels is to support both label variants of dagre-d3 - HTML version and SVG version. If dagre-d3 is improved, we can then make use of that directly in mermaid.

This has been included in release 0.3.3

@knsv cool!
Wanted to check how it works now and integrate in to tool I am building on top of mermaid.
But is full browser 0.3.3 version available somewhere for download already?

It is avaiable using npm/bower or from download (cdn) rihght now. If you are making a tool with user input you might want to take a look at the errorHandling/syntax check api in 0.3.3:
Error handling
When the parser encounters invalid syntax the mermaid.parseError function is called. It is possible to override this function in order to handle the error in an application specific way.
Parsing text without rendering
It is also possible to validate the syntax before rendering in order to streamline the user experience. The function mermaid.parse(txt) takes a text string as an argument and returns true if the text is syntactically correct and false if it is not. The parseError function will be called when the parse function returns false.
The code-example below in meta code illustrates how this could work:
mermaid.parseError = function(err,hash){
    displayErrorInGui(err);
};

var textFieldUpdated = function(){
    var textStr = getTextFromFormField('code');

    if(mermaid.parse(textStr)){
        reRender(textStr)
    }
};

bindEventHandler('change', 'code', textFieldUpdated);

Played with 0.3.3
Firstly it seems syntax changed.
';' is not needed anymore and its more strict with spaces and may be other symbols.
Secondly lines reported in parseError are weird. Like in
graph LR
    A[Square Rect] -- Link text --> B((Circle))
    A --> C(Round Rect)
    B --> D{Rhombus}
    C --> D

It reports:
Parse error on line 9:
...ombus}
    C --> D
----------------------^
Expecting 'SEMI', 'EOF', 'NEWLINE', '--', '-.', '==', 'ARROW_POINT', 'ARROW_CIRCLE', 'ARROW_CROSS', 'ARROW_OPEN', 'DOTTED_ARROW_POINT', 'DOTTED_ARROW_CIRCLE', 'DOTTED_ARROW_CROSS', 'DOTTED_ARROW_OPEN', 'THICK_ARROW_POINT', 'THICK_ARROW_CIRCLE', 'THICK_ARROW_CROSS', 'THICK_ARROW_OPEN', got 'SPACE'

So error on line 9 in file of 5 lines.

Hello!
Are you sure that the actual character are not in fact >  that is an escaped code for > and renders to > in the browser? When I copy the text from your email to my test page which is using 0.3.3 it renders fine so the syntax is ok.
I hope this gives you some help.
--
Knut Sveidqvist
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
On Wednesday 28 January 2015 at 21:40, wonderwhy-er wrote:

Played with 0.3.3
Firstly it seems syntax changed.
';' is not needed anymore and its more strict with spaces and may be other symbols.
Secondly lines reported in parseError are weird. Like in
graph LR A[Square Rect] -- Link text --> B((Circle)) A --> C(Round Rect) B --> D{Rhombus} C --> D
It reports:
Parse error on line 9: ...ombus} C --> D ----------------------^ Expecting 'SEMI', 'EOF', 'NEWLINE', '--', '-.', '==', 'ARROW_POINT', 'ARROW_CIRCLE', 'ARROW_CROSS', 'ARROW_OPEN', 'DOTTED_ARROW_POINT', 'DOTTED_ARROW_CIRCLE', 'DOTTED_ARROW_CROSS', 'DOTTED_ARROW_OPEN', 'THICK_ARROW_POINT', 'THICK_ARROW_CIRCLE', 'THICK_ARROW_CROSS', 'THICK_ARROW_OPEN', got 'SPACE'
So error on line 9 in file of 5 lines.
—
Reply to this email directly or view it on GitHub (https://github.com/knsv/mermaid/issues/58#issuecomment-71911546).

Is this issue resolved? With v0.3.3 I observe foreignObject(s) in generated graphs, but not sequence diagrams. Graph layouts seems to be sensitive to css fonts a line heights settings. Some replacements of foreign objects is still going on here.

For the flowChart graph type, a configuration setting is required to generate SVGs without foreignObject. Set htmlLabels to false in the mermaid config to enable that. Granted this need to get into the wiki.
The reason that htmlLabels are still enabled by default, is that the pure SVG labels provided by dagre-d3 are limited in styling. The plan was to improve the labels in dagre-d3 to mimic the style of the current html Labels, and then make text labels default. But as long as you can accept the slightly different style, you can use them already.

I will try out the configuration setting. Thanks a lot for clarification.


feat(gov): add ust values to the reward table

Hi,
I created this PR because as a user, it is difficult for me to evaluate how much UST I invested in the protocol.
My suggestion is to:

Have a UST price wherever possible in the UI.
Have a page (dashboard?) where I can see all the different balances and their values (collaterals, borrowings, staking, LP...).

This PR only addresses a small portion of suggestion 1 and adds UST values to the reward tables on the gov page.

related to #80

Thanks @sharvit 👍


Error when I want to make a sequence of frames

Hello guys.
I want to make a sequence of frames:
		options = {
			frame_rate: fps,
			seek_time: start_time,
			duration: duration,
			custom: " -f image2"
		}
		@movie.transcode("frame_%d.png", options)

It actually creates a sequence, but fails in validate_output_file with
Failed encoding.Errors: no output file created. Full output: ffmpeg version 2.8.3 Copyright (c) 2000-2015 the FFmpeg developers
        built with Apple LLVM version 7.0.0 (clang-700.1.76)
        configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
        libavutil      54. 31.100 / 54. 31.100
        libavcodec     56. 60.100 / 56. 60.100
        libavformat    56. 40.101 / 56. 40.101
        libavdevice    56.  4.100 / 56.  4.100
        libavfilter     5. 40.101 /  5. 40.101
 and so on

It seemed it fails at encoding_succeeded? at File.exist?(@output_file).
To fix it I reimplement two methods separately
module FFMPEG
  class Transcoder
  	# patched default methods
  	# to make able to generate multiply screenshots
    def encoding_succeeded?
      	@errors << "no output file created" and return false unless File.exist?(@output_file % 1)
      	@errors << "encoded file is invalid" and return false unless encoded.valid?
      	true
    end

    def encoded
      @encoded ||= Movie.new(@output_file % 1)
    end
  end
end

Are there any normal solution? Could you also add converters if somebody wants to create screenshots like I am?

@SButterfly sorry for the late response. See #132 for how to address this.


[BUG] locale only applies to time format

Issue description
Passing locale to the formatDateRange function only localizes time part of the range, date part remains in english. As a note. I'm also using date-fns with its localization, works good.
Version:
"little-date": "^1.0.0"
Recreate the bug:
import { formatDateRange } from "little-date";

formatDateRange(from, to, {
  locale: "az-AZ",
});

// Result Aug 1 - 2, 16:30
// if i parse the result  'Aug 1-2 ' -> en (not localized), 16:30 -> az-AZ (localized)

Insights
After checking source code of the little-date, i've found out that locale that passed into formatDateRange is only used for time formatting (createFormatTime) and default format function is used from date-fns. Locale needs to be passed to format function too. At least, that's how I solved by modifying code locally.

Closing as already there is a PR #7


To make our community a better one, we would like to change the project name from Fescar into Seata

We’d like to express our sincere gratitude to the community members for your continuous attention and contribution. We are happy to announce that till now we have nearly 7,000 Stars and 51 contributors. And the numbers are still growing.
The TCC model was added to Fescar version 0.4.0 which is contributed by Ant Financial. In order to make our community a neutral, open, and ecologically diverse one, we would like to change the project name from Fescar into Seata (Simple Extensible Autonomous Transaction Architecture) after the discussion among our core members.
Among the candidate name list, we’ve chosen Seata, hoping to achieve the goal of applying our solutions to all distributed transaction business scenarios and making distributed transactions as simple as local ones. The project will transfer to github.com/seata.
We warmly welcome developers who are enthusiastic about distributed transactions to join the community and bring your imagination and inspiration to Seata.

👍

Hello, Seata!

Hello, Seata!

👍  Hello, Seata!

Hello, Seata!
Thank you for your efforts ！@you

Hello, Seata!

Seata! 👍

Hello, Seata!

Hello, Seata!

Hello, Seata! 👍

Hello, Seata!

Hello Seata!

To make it a neutral, open, and ecologically diverse community

Cool~

Great！ 👍👍👍

Hello, Seata!

Hello, Seata!

Hello, Seata!

Hello, Seata!

안녕하세요 seata

Hello, Seata!

Hello, Seata!

Strong alliance, alibaba and Ant Financial

Hello, Seata!

Hello, Seata!

hello，Seata

Hello,Seata！

Hello, Seata!

Hello, Seata!

Hello,Seata!

Hello, Seata!

Hello, Seata!

great evolution!

cool

Hello, Seata!

hello,seata!

Hello, Seata!

Hello，Seata

Hello, Seata!

it's a good job

Hello, Seata!

Hello, Seata!

Hello, Seata!

Hello, Seata!

Hello, Seata!

Hello, Seata!

Bye Bye Fescar!

good job!

Thanks Fescar ,Hello, Seata!

Thanks, Fescar ❤
Hello, Seata 🚀

Hello,Seata

Fescar-robot translator will translate 'seata' into 'seta' when reporting a new issue in Chinese. Does that happen due to the robot's resistance about changing name?  :)

试试翻译一下seata?

Hello, Seata

Hello, Seata

Hello, Seata

great Seata


No logs written from .net core console app

Demo project here: NLogTest
Very intresting detail: As soon as the internalLogLevel is set to other than None e.g. internalLogLevel="Trace", it's all workging without any noticeable error/warning/debug message.
NLog version: 4.5.10
NLog.Extensions.Logging: 1.3.0
Platform: .NET Core 2
Current NLog config
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true"
      throwExceptions="true"
      internalLogFile="C:\NLog.internal.log"
      internalLogLevel="None">
  <targets>
    <target name="logfile"
            xsi:type="File"
            fileName="${basedir}\NLogTest.log"
            layout="${date}|${level}|${message}|">
    </target>
  </targets>
  <rules>
    <logger name="*" minlevel="Trace" writeTo="logfile" />
  </rules>
</nlog>

Current code
private static void Main(string[] args)
{
    using (var services = CreateDiServiceProvider())
    {
        var logger = services.GetRequiredService<ILogger<Program>>();
        logger.LogCritical("Test");
    }

    LogManager.Shutdown();
}

private static ServiceProvider CreateDiServiceProvider()
{
    IServiceCollection services = new ServiceCollection();
    services.AddLogging(ConfigureLogging);
    return services.BuildServiceProvider();
}

private static void ConfigureLogging(ILoggingBuilder loggingBuilder)
{
    LogManager.LoadConfiguration("NLogTest.nlog");
    loggingBuilder.SetMinimumLevel(LogLevel.Trace);
    loggingBuilder.AddNLog(new NLogProviderOptions { CaptureMessageTemplates = true, CaptureMessageProperties = true });
}

What is the current result: No logs are written to log file
What is the expected result? Logs should be written log file
Did you checked the Internal log: yes
Please post full exception details: no messages, no exceptions
Are there any workarounds? yes, set internalLogLevel to other than None
Is there a version in which it did work? no
Can you help us by writing an unit test? unsure, test project provided

As mentioned above, with the given configuration no logs are written. Demo project here: NLogTest

set internalLogLevel to other than None

"none" isn't a valid value for "internalLogLevel". I think you are looking for "off"
Using "none" will make your config invalid. But I have to agree that it should be more robust.

checked this, in my case i get an exception (which is correct, because of throwExceptions="true") - aren't you?

#2931 should fix this if there is an invalid value :)

Shame on me :-(. It works smoothly when set to off. Slightly difference between net core and nlog levels. BTW, I dont't get an exception, event with throwExceptions="true".

None is the equilant to Off from net core, see https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.loglevel?view=aspnetcore-2.1. When working from net core, I'm personally using Microsoft.Extensions.Logging framework and take NLog as the final 'materializer'.


Some push notifications not received when app is in background

We are trying to push notifications to a single device. Since the payload is relatively small we will most of the time send multiple push notifications that the app can merge.
This works fine when the app is in the foreground but when the app is in the background it seems that some messages don't arrive. For these types of notifications we always send priority high and content available=true.
Is it maybe not possible to rapidly sent multiple notifications to a single device that's either in sleep mode or app in background?
We've tested sending with a small delay in between and that seems to work fine in most cases.
We've noticed that they either arrive within 5 seconds or they don't arrive at all.
Is it possible to track from firebase console which notifications have been sent successfully to a device?

In the foreground the app is using a direct socket connection to the Firebase server (reliable). In the background you are receiving your data via the murky world of the Apple Push Notification Service, which has a best-effort delivery policy.


feat(conform-react): custom revalidation

Resolves #125
This introduces two new config on the useForm hooks:
function Example() {
  const [form, { email, password }] = useForm({
    // This is now deprecated in favor of the new config
    initialReport: 'onBlur',

    // Define when Conform should start validation. Default `onSubmit`.
    shouldValidate: 'onBlur',

    // Define when Conform should revalidate again. Default `onInput`.
    shouldRevalidate: 'onBlur',
  });
}

This is definitely something that we need 👀

This is definitely something that we need eyes

This is ready to be merged and released. The only thing that stop me is deciding a proper default for shouldRevalidate. From a progressive enhancement perspective, the default should be onSubmit which is the default behaviour of a HTML form. But most of the users will prefer onInput for a modern validation experience and the config becomes a boilerplate that the developer has to repeat everywhere. 😓
const [form, { email, password }] = useForm({
    // setting these everywhere (?)
    shouldValidate: 'onBlur',
    shouldRevalidate: 'onInput',
});

What do you think? @danestves

From a progressive enhancement view I prefer to default always to on submit, why? I really think most of the user will use just the default and only a few will change it to onInput, at enterprise level most of the devs will use the onSubmit @edmundhung

@danestves For first submission, yes. I am fine having onSubmit as the default of shouldValidate.
Maybe it was a misconception I had. But I used to have all my forms revalidating fields with error as I type and as it gives user an instant feedback on whether the error they had is resolved or not.
This is the same as react-hook-form. They used onChange (onInput) as the default for its reValidateMode config.
Another approach could be having a different default based on whether client validation is defined or not. If defined, default to onInput. If not (i.e. server validation only), default to onSubmit.

It depends on the type of application that you want to build, for example, in two of our apps that behavior doesn't like to product and designers, and from a A/B test, users want the validation only on submit 😅
cc @edmundhung

Another approach could be having a different default based on whether client validation is defined or not. If defined, default to onInput. If not (i.e. server validation only), default to onSubmit.

I think this is the way 👀 we just delete the client validation to avoid having client validation and depend entirely on the server (project requirement 😅)
cc @edmundhung

@danestves I am actually convinced to have both config default to onSubmit regardless of validation mode for now. But then noticed this would becomes a breaking change. :roll_eyes:
I don't have much changed yet so I feel a bit bad if I bump the major version to 0.7 now. I might keep it default to onInput so I can released it as 0.6.1 first and fix the default later.

@danestves I am actually convinced to have both config default to onSubmit regardless of validation mode for now. But then noticed this would becomes a breaking change. 🙄
I don't have much changed yet so I feel a bit bad if I bump the major version to 0.7 now. I might keep it default to onInput so I can released it as 0.6.1 first and fix the default later.

Sounds really good! Like that approach, actually. Like the 10x engineers say, LGTM

LGTM!


Non-Maximum Supression on the GPU

Is there any interest in an NMS layer that runs on the GPU for torchvision? I have one implemented; it gives a 1-2 order of magnitude speedup over a naive version composed from pytorch ops. Would be happy to contribute it if anyone's interested.

This is all ready now. Where in the Python API would you like it go? I actually have two implementations ready; one is quicker in principle but it requires allocating global memory to store intermediate results, and freeing the memory at the end of each call completely kills performance. Is there anything one can do about this? If not, the other implementation (which doesn't allocate any intermediate global memory) is still fine and gives the kind of speedup I mentioned anyway, so it's no big deal.

Yes, I think we should add efficient NMS in here, following the Cpp extensions that were recently added.
Because Cpp extensions are only present in master, I'd wait until 0.4.0 is released before merging any C++ code into torchvision.
How does that sound?

@fmassa That's fine anyway.
Btw, is 0.4 coming soon? :-)

Yes, once https://github.com/pytorch/pytorch/issues/5673 is addressed

Thanks!

Whats the current status of this issue?

@ruotianluo I'm drafting the layers part of torchvision in https://github.com/pytorch/vision/tree/layers
I've added a CPU version of NMS, and I'll look into porting one of the following versions: from py-faster-rcnn, from this PR and a few others.
Have you tried any of those?

When I build my faster-rcnn project, I port the nms from py-faster-rcnn; the main reason is I'm not familiar with cuda code and it's simpler to just copy.
With regard to https://github.com/pytorch/pytorch/pull/5404/files, it's using a full byte to save a boolean value(mask), while py-faster-rcnn uses each bit. (I can't comment on anything else.)

Thanks, I'll take that into account when porting NMS to GPU.

On the other hand, the py-faster-rcnn version throws data back and fourth
between gpu and cpu, which may not be ideal.
On Fri, Apr 27, 2018 at 10:43 AM, Francisco Massa<EMAIL_ADDRESS>wrote:

Thanks, I'll take that into account when porting NMS to GPU.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pytorch/vision/issues/392#issuecomment-384921300, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATpFGsMAi_a3QehXmjPoA-alpTzaEZ1Mks5tsuhOgaJpZM4RiF8x
.

We can use the PyTorch caching allocator to handle memory allocation (which will save us from the sync points from freeing the memory).
I'll have a closer look at both implementations this weekend, but thanks for the feedbacks!

Cool, in that case you might also be interested in the implementation here, https://github.com/dssa56/projects/tree/master/nms under cuda_nms_workspace.cu. That uses the same technique as py-faster-rcnn, but keeps all data on the GPU. I didn't use it in the PR because of the workspace, but if that's a non-issue then it's potentially worth a look.

Has the current version of Torchvision the GPU-based NMS?

No, it doesn't.
I have it implemented locally (based on the implementations that were shared previously), but I haven't pushed it yet.

@fmassa,
Ok. Thank you for your reply. I hope the PyTorch team push it as soon as possible.

I have a version of it that I adapted from  https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/nms/nms_kernel.cu
But because pytorch is so rapidly evolving, it has already been broken by pytorch refactoring at least 3 times.
I'll hold on before pushing it to torchvision  because I expect those breakage to still happen.
I can push the current version I have in a gist though, if you want to try it out

@fmassa Thank you. Actually, I prefer to try it out, then consider how to fix the breakage in my production env. Hope the gist version.

@Sucran here is the implementation https://gist.github.com/fmassa/cf9ab87e4bd71e849655d5abb8cfd6c6
It was working, but I'm not sure anymore.

FYI, we have released our implementation of {Faster, Mask} R-CNN in https://github.com/facebookresearch/maskrcnn-benchmark , which contains a CPU and CUDA implementation for Non Maximum suppression.
I suggest we move this discussion there for now.

Why close this issue though?
Many people use torchvision, but do not care about or need the maskrcnn repository.
I still think having a pure cuda implementation of NMS in torch/torchvision would be highly appreciated by lots of people!

I'm curious in which cases do people use NMS outside of object detection?
But at some point we might indeed add layers to torchvision, it's just that packaging torchvision with those is a bit more involved so I'll let it for when the Cpp extensions API is more stabilized.
But I'm opening it anyway as a reminder

Similar use case, but I've been using it for detecting events in audio.

@0phoff there are still several corner cases for users when compiling extension libraries, see for example https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/TROUBLESHOOTING.md for a gist.
So we will be adding C++ extensions to torchvision once we start shipping pre-compiled binaries for it, or else it will introduce a lot of friction to the users.

@fmassa  Sorry for reopen this issue, if adding fast nms code into torchvision is not suitable for now. Then how to build a cpp extension though?
I just got some nms C and Cuda codes (I thought most people are sharing the same), question is how to adding it into python and integrate with torch? Here is what I got now:
import os
import torch
from torch.utils.cpp_extension import BuildExtension, CppExtension, CUDAExtension
from setuptools import setup
from torch.utils.cpp_extension import CUDA_HOME

#
# ffi = cpp_extension(
#     '_ext.nms',
#     headers=headers,
#     sources=sources,
#     define_macros=defines,
#     relative_to=__file__,
#     with_cuda=with_cuda,
#     extra_objects=extra_objects,
#     extra_compile_args=['-std=c99']
# )

def get_extensions():
    sources = ['src/nms.c']
    headers = ['src/nms.h']
    defines = []
    with_cuda = False

    if torch.cuda.is_available():
        print('Including CUDA code.')
        sources += ['src/nms_cuda.c']
        headers += ['src/nms_cuda.h']
        defines += [('WITH_CUDA', None)]
        with_cuda = True

    this_file = os.path.dirname(os.path.realpath(__file__))
    print(this_file)
    extra_objects = ['src/cuda/nms_kernel.cu.o']
    extra_objects = [os.path.join(this_file, fname) for fname in extra_objects]

    extra_compile_args = {"cxx": []}
    define_macros = []
    extension = CppExtension

    if torch.cuda.is_available() and CUDA_HOME is not None:
        extension = CUDAExtension
        define_macros += [("WITH_CUDA", None)]
        extra_compile_args["nvcc"] = [
            "-DCUDA_HAS_FP16=1",
            "-D__CUDA_NO_HALF_OPERATORS__",
            "-D__CUDA_NO_HALF_CONVERSIONS__",
            "-D__CUDA_NO_HALF2_OPERATORS__",
        ]

    ext_modules = [
        extension(
            "_ext.nms",
            sources,
            include_dirs=headers,
            define_macros=define_macros,
            extra_compile_args=extra_compile_args,
            extra_objects=extra_objects
        )
    ]

    return ext_modules

setup(
    # install_requires=requirements,
    ext_modules=get_extensions(),
    cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension},
)

Seems the ways is not correct beacuse it says:
lib/nms/_ext/nms.cpython-36m-x86_64-linux-gnu.so: undefined symbol: state

@jinfagang the easiest to do for now is to ask the users to install maskrcnn-benchmark, and then you can just do
from maskrcnn_benchmark.layers import nms

@fmassa I added the GPU based NMS as a PR a while ago. :)
Apparently, NMS is also used in Keypoint detection such as in the OpenPose paper.

Hey @varunagrawal
Now that we've released torchvision 0.2.2, I'll be (slowly) integrating all the changes that I've been discussing for a while, including merging NMS (and other layers) in torchvision.

@fmassa thats great thank you, I was just extracting NMS out of maksrcnn_benchmark for my use (https://github.com/xvdp/nms_pytorch)  As soon as you put it in Ill use torchvision instead.

@fmassa sounds good. Let me know if you need me to do anything else. I can do all the rebases etc., whenever you're ready.

https://github.com/pytorch/vision/pull/826 has been merged and adds support for NMS on both CPU and GPU

FYI, this is located at torchvision.ops.nms.

It would be nice to mention the format for the boxes in the docstring, though. Is it [y1, x1, y2, x2] for some diagonal corners, as in TensorFlow? Or perhaps just top-left and bottom-right corners?

It should be [x1, y1, x2, y2] but adding this to the docstring makes a lot of sense.

@fmassa @neighthan I've made the changes in #1110. It should be quick to review since it is mostly doc changes.

@neighthan torchvision.ops.nms seems to also support CUDA? the only issue is that it does not support batch numbers, that would be another dimension to benefit from CUDA parallelisation.
I have this nms implementation that does.

@varunagrawal @fmassa Can anyone help me what should be used now to run NMS (cuda) in batch mode while training? The NMS implementation provided by torchvision.ops is not in Batch mode and will be slow to use at training time.

@dishank-b what do you mean by batch mode?
Also note that we have a batched_nms implementation in torch.ops.batched_nms.

@fmassa By batch mode, I mean taking input in the form of [batch_size, N, 4]. The current torchvision.ops.nms takes the boxes in form [N,4] where N is the number of boxes in single Image. Whereas let's say during training Faster RCNN if your batch_size is 16, then we would like the NMS to run for those 16 images in a batch. Although there is a problem that N may not be the same for all 16 images.
Also, the torch.ops.batched_nms is different, it for the case when there is more than 1 classes to in the image.

ONNX implementation of NMS is generic enough, I wish torchvision had something similar.
There is the batched-nms as described by @dishank-b and there is per-class NMS that is what torch.ops.batched_nms seems to do. ONNX implementation supports both cases using one API.

@dishank-b @dashesy torchvision.ops.batched_nms can be used to perform NMS in a batch, but it doesn't matter if it is per class or per image actually. It just performs NMS independently "per category", which can mean image, class, etc.
The limitation with having NMS taking [batch_size, N, 4] inputs is that you need to set a max number of boxes, and pad the images that do not have enough boxes with something (like zeros). This is actually a subset of what torchvision.ops.batched_nms can do. Let me show you an example of how to implement this NMS with torchvision.ops.batched_nms:
def batched_nms(boxes, scores, iou_threshold):
    # boxes is a [batch_size, N, 4] tensor, and scores a
    # [batch_size, N] tensor.
    batch_size, N, _ = boxes.shape
    indices = torch.arange(batch_size, device=boxes.device)
    indices = indices[:, None].expand(batch_size, N).flatten()
    boxes_flat = boxes.flatten(0, 1)
    scores_flat = scores.flatten()
    indices_flat = torchvision.ops.boxes.batched_nms(
        boxes_flat, scores_flat, indices, iou_threshold)
    # now reshape the indices as you want, maybe
    # projecting back to the [batch_size, N] space
    # I'm omitting this here
    indices = indices_flat
    return indices

Let me know if you have questions

@fmassa Thanks, this seems to work with batch either in images or class. However what if we have both the cases i.e do the image batching as well as classes?
I can think of a possible solution that we create indices = torch.arange(batch_size*classes) where each element of the indices will represent each class in each image of the batch.
But this seems quite naive to me, do you have any other way of doing the same?

@dishank-b in that case you can squash the 2 dimensions together with view
boxes = boxes.view(-1, N, 4)

Since they are independent, it would not matter if they are from different batch, or different class then.
Still would be nice if nms had a max_boxes_per_batch parameter to avoid the zero padding.

@dashesy  I am not sure that would work because let's say there are two boxes in two different images but of the same category, now if they are overlapping then they would be merged using above method, which should not be the case as they are from different images.
Let me know if I am wrong somewhere.

I think they will not be merged.
N is the maximum number of boxes per-image-per-batch. Now lets say you have 2 classes and 3 images then you have boxes with shape 3x2xNx4 after doing the view you will have 6xNx4 and first dimension will be done independently.

@dashesy Yeah, you are right, I get it. I was kind of doing the same but using the indices. Thanks your's way is easier.

@dashesy

Still would be nice if nms had a max_boxes_per_batch parameter to avoid the zero padding.

This makes a few assumptions though, which might not always be desired. We need to either remove some boxes via a criterion (low scores? small boxes? something else?) or pad with zeros to the maximum size, which is not very convenient.
I considered those cases when implementing batched_nms and Faster R-CNN, and I came up with what we currently have, which seems like a good compromise on flexibility and ease-of-use.

@fmassa Is or will there be any implementation of Soft-NMS in pytorch too?

@fortunex3000

Is or will there be any implementation of Soft-NMS in pytorch too?

it's not in the plans for torchvision in the near future

Soft-NMS is pretty straightforward. I might add it once academic winter break starts.

Is the documentation/code for torchvision.ops.boxes.batched_nms correct? The documentation suggests that the nms iou threshold discards boxes with iou < iou threshold (i.e. it only discards boxes that don't overlap which would normally be considered unique). My own testing of the function showed that the function does give fewer boxes with a smaller threshold (0.0 gave 1 box per image) and gives all boxes back with a threshold of 1.0. Is there something I am not understanding about the implementation or the documentation? This seems to be a non-standard choice as you should want to keep boxes with a small iou (i.e. less overlap and more likely to be non unique) and not discard them. See the soft-nms paper Figure 2 comparing NMS and soft-NMS  for how it seems to me like it should behave. http://www.cs.umd.edu/~bharat/snms.pdf

@rmcavoy there is an error in the documentation.
https://github.com/pytorch/vision/blob/c05da2a84c1239a9d57431cec7e9ed83931d478b/torchvision/ops/boxes.py#L27
should read
        boxes with IoU > iou_threshold

can you send a PR fixing the documentation?

@fmassa how can I flatten back the indices_flat to [batch_size, N] if each image has different number of valid boxes after nms.

@Edwardmark can you open a new issue describing what you are trying to do?

@dishank-b @dashesy torchvision.ops.batched_nms can be used to perform NMS in a batch, but it doesn't matter if it is per class or per image actually. It just performs NMS independently "per category", which can mean image, class, etc.
The limitation with having NMS taking [batch_size, N, 4] inputs is that you need to set a max number of boxes, and pad the images that do not have enough boxes with something (like zeros). This is actually a subset of what torchvision.ops.batched_nms can do. Let me show you an example of how to implement this NMS with torchvision.ops.batched_nms:
def batched_nms(boxes, scores, iou_threshold):
    # boxes is a [batch_size, N, 4] tensor, and scores a
    # [batch_size, N] tensor.
    batch_size, N, _ = boxes.shape
    indices = torch.arange(batch_size, device=boxes.device)
    indices = indices[:, None].expand(batch_size, N).flatten()
    boxes_flat = boxes.flatten(0, 1)
    scores_flat = scores.flatten()
    indices_flat = torchvision.ops.boxes.batched_nms(
        boxes_flat, scores_flat, indices, iou_threshold)
    # now reshape the indices as you want, maybe
    # projecting back to the [batch_size, N] space
    # I'm omitting this here
    indices = indices_flat
    return indices

Let me know if you have questions

@fmassa, I think @Edwardmark wants to ask how to unflatten the indices in above reply, so that you get the detections for each image, given you don't know the number of final detections in each image.

@fmassa @dishank-b Yes, and I figure it out. We can unflatten the indices based on the returned indices range. For example, indices within range(0, N) belongs to img1, and indices within range(N, 2N) belongs to img2. Thank you all very much.

@Edwardmark. How did you unflatten the indices efficiently, without looping over each returned indices value and check if in range ... ?


Add missing closing brace

Can you also do the same change in es docs?

Pushed manually with added fix in es. Thanks.


Swagger api exec/algorithm does not accept any input that isn't an empty list

HKube micro-service
swagger interface exec/algorithm
Describe the bug
Swagger api exec/algorithm does not accept any input that isn't an empty list.
I has tried multiple  permutations. dictionaries, list with dictionaries, lists with strings. the only acceptable values seems to be a list that can only contain nulls or empty dictionaries.
Expected behavior
Swagger api exec/algorithm should be able to accept inputs such as
{"name" : "algorithm-name", "input" : [{"mydata": "myvalues"}]

This was never a bug in hkube. Bug resulted from the way I called hkube


bug: modal causes issues in production (e..g carousel and scrolling on touch gestures)

What version of daisyUI are you using?
3.9.4
Which browsers are you seeing the problem on?
No response
Reproduction URL
https://daisyui.com/components/modal/
Describe your issue
i have a nextjs app that uses your carousel and modal (using dialog method). when deployed, touch gestures to move the carousel items do not work. when i comment out the component that implement modal, everything works.
i've also noticed that use of modal on pages affect scrolling with touch gestures, so i think the problem is with you modal implementation.
i don't have the time to implement a minimal reproduction, but that should be easy enough to do. perhaps its a postcss compile issue?
PS: error only occurs in production, all good in dev, thus the postcss theory

daisyUI only applies visuals to the HTML <dialog> element and has nothing to do with touch gestures.
Does this issue still happen if you remove daisyUI classes from <dialog>?

I'm facing the problem with modal too. I found this error only occurred on iPad. When I click on the button to show modal, nothing is open up.


TestHealth test hangs sometimes.

There is bunch of lines like:
19:13:29 time="2016-09-12T19:12:23.897547700Z" level=debug msg="Running health check..."
19:13:29 time="2016-09-12T19:12:23.897737700Z" level=debug msg="starting exec command 56c254074d48e5056c45747ca3f8454946d96288ac0fba60cef88a448546626b in container 9003f6182173b76f15a14dcdfce18934483990377dfd316dfdef2aad5c32ff15"
19:13:29 time="2016-09-12T19:12:23.899218000Z" level=debug msg="Health check taking too long"
19:13:29 time="2016-09-12T19:12:23.899277700Z" level=debug msg="attach: stdout: begin"
19:13:29 time="2016-09-12T19:12:23.899333700Z" level=debug msg="attach: stderr: begin"
19:13:29 time="2016-09-12T19:12:23.899363900Z" level=debug msg="attach: stderr: end"
19:13:29 time="2016-09-12T19:12:23.899379700Z" level=debug msg="attach: stdout: end"
19:13:29 time="2016-09-12T19:12:23.900219800Z" level=warning msg="Health check error: rpc error: code = 4 desc = context deadline exceeded"

It seems like it is related to latest containerd update in 6bc9a2d563ace9fa604de15731e263b353e83120

https://gist.github.com/tonistiigi/a1d165e0c37bbc69116263da4e1727f6#file-docker-log-L204 The issue seems to be that after sigkill, containerd doesn't send back exit event for the init process.
cc @mlaventure

Seeing this on Win2Lin CI. https://jenkins.dockerproject.org/job/Docker-PRs-Win2Lin/31285/consoleText
FAIL: docker_cli_health_test.go:53: DockerSuite.TestHealth
docker_cli_health_test.go:151:
dockerCmd(c, "rm", "-f", "test")
docker_utils.go:469:
c.Assert(result, icmd.Matches, icmd.Success)
... result *cmd.Result = &cmd.Result{Cmd:(*exec.Cmd)(0xc0426062c0), ExitCode:1, Error:(*exec.ExitError)(0xc0447d4000), Timeout:false, outBuffer:(*cmd.lockedBuffer)(0xc04253e240), errBuffer:(*cmd.lockedBuffer)(0xc04253e2d0)} ("\nCommand: C:\CI\CI-28678c5\docker.exe rm -f test\nExitCode: 1, Error: exit status 1\nStdout: \nStderr: error during connect: EOF\n\n")
... expected cmd.Expected = cmd.Expected{ExitCode:0, Timeout:false, Error:"", Out:"", Err:""}
...
Command: C:\CI\CI-28678c5\docker.exe rm -f test
ExitCode: 1, Error: exit status 1
Stdout:
Stderr: error during connect: EOF


fix webpack error with version beta.23

Can we not update to the latest version of Webpack? What's broken in the latest version?

With 2.3.3 version

@nacardin is this fixed now? (Can this be closed?)

Closing in favor of https://github.com/bitpay/cordova-plugin-qrscanner/pull/90


Issues sending images

Hello,
Sending text message is working great. The code below is ok:
npx mudslide send<PHONE_NUMBER>000 "test"
However, I am having issues sending images. I tried the following command:
 npx mudslide send-image<PHONE_NUMBER>000 car.png
But at the receiver's WhatsApp the image was not received properly and user cannot open it (ckeck attached image).

Could you assist me on that?
Regards.

Hi @danielpmd
Sorry to hear Mudslide is not working as expected.
I've just tried this command:
npx mudslide@latest send-image me Screenshot\ 2024-05-07\ at\ 15.48.54.png

and the image shows fine for me.
Can you perhaps try it with a different image? Or different format, such as JPEG?

Hello,
I tried with a different image file and it worked properly! I tried with both .jpg and .png (both worked). Maybe the previous file was corrupted. Sorry for that, my bad.
Just a question, whats the difference running mudslide with:

mudslide
mudslide@latest
npx mudslide
npx mudslide@latest

??
Regards.

npx installs and runs a NodeJS package from https://npmjs.com. If you use the suffix @latest then npx will always check if there's a more recent version available, if you don't use that suffix a version from your cache is used.
There are also binaries released for every mudslide version that you can use, these are called mudslide.exe, mudslide-linuxstatic-x64 etc.
Hope this answers your questions.

Thanks a lot for your support.


infra  aliyun/huawei cloud module optimization suggestion

Issue Description
Type: feature request
Describe what feature you want

disk category: some zone not spport essd mode(in aliyun all category is cloud_efficiency,cloud_essd,cloud_ssd)
seize mode for runInstance
imageID ,diff platform not same image
for different roleType the instance type not same（ex. master used 8c48g but node used 4c32g the instanceType not same ）
support arm ecs

Additional context
Add any other context or screenshots about the feature request here.

Base on https://github.com/alibaba/sealer/blob/main/docs/design/clusterfile-v2.md#how-to-using-cloud-infra


Creates EmploymentDetail model

Notion card
https://www.notion.so/saeloun/Add-tables-for-personal-employment-Allocated-devices-compensation-71ef49d0c38e4242bd2998120141372d
Summary

Creates employment_details table with appropriate columns.
Creates 1-1 association between User and EmploymentDetail model.
Adds validation for the EmploymentDetail model.
Add RSpec for both EmploymentDetail and User models.

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Added validations & RSpecs for User and EmploymentDetail models.
Checklist:

[x] I have manually tested all workflows
[x] I have performed a self-review of my own code
[x] I have added automated tests for my code

@mohinid I have got a couple of doubts related to this flow because, As per the Miru workflow the User can be part of multiple companies and the employee details vary with the position handled in each company. This EmploymentDetails model hasn't given an idea about the company which the employee is associated with. So we should add a scope for the company model.

Hi @akhilgkrishnan , let's discuss today.

@akhilgkrishnan Good catch: we could associate the employment_details table with the company_users table instead of the user model, which should address this concern @mohinid

Removed User reference and added reference of company_detail with employment_detail. @akhilgkrishnan  @rohitjoshixyz
All tests passed. Please review.


Add directory item pictures

https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/entity-and-complex-type-reference#UserEntity contains thumbnailPhoto as an Edm.Stream. We may need to explicitly ask for this data, given the type.

Initially implemented using Gravatar.


Add support for dynamic dependencies

The dynamic dependencies are part of pep621.
For now only the setuptools supports dynamic dependencies. Because of that the implementation is somehow dependent on setuptools. When other tool adds support for dynamic dependencies only the part for gathering of the dependencies has to be changed.

In the new version I fixed all the flake8 errors


Include disclosure of age_equal_or_over/18 in the PID example

Related to https://github.com/oauth-wg/oauth-selective-disclosure-jwt/pull/411 disclosure of age_equal_or_over/18 in the example wasn't working quite right and so was pulled out right before publication of -02 in #214. This PR puts disclosure of age_equal_or_over/18 back in the example.
See it starting here:
https://drafts.oauth.net/oauth-sd-jwt-vc/pid_example_disclose_age_over_18/draft-ietf-oauth-sd-jwt-vc.html#appendix-B.1-52

@bc-pi Two approvals, I believe we can merge this.


Is http://www.php-cpp.com/ down?

Yes, it was. but it is back up.

No it's still down :'(

I'm in Sacramento, California (near San Francisco sort of)
I wanted to learn how to use this <:\

We're aware of the issue, it will probably be back up tomorrow! In the meantime, you can check out our Documentation repository, it contains all the documentation present on the website.

@ideaguy3d It has been fixed! It is now back up. Good luck!


nginx service failing to run on boot

I was am having an issue accessing BTCPayServer via Tor &/or http on boot. I am running v1.6.0.
After running  - sudo systemctl status nginx
I get the error:
Starting A high performance web server and a reverse proxy server...
nginx: [emerg] a duplicate listen [::1]:23002 in /etc/nginx/sites-enabled/btcpay_tor.conf:5
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx.service: Control process exited, code=exited, status=1/FAILURE
nginx.service: Failed with result 'exit-code'.
Failed to start A high performance web server and a reverse proxy server.
After running -sudo service nginx restart my issue is resolved and I can connect to my BTCPayServer instance. I am unsure why the service is not running at the start.

Will retest BTCPayServer install for v1.6.1 release.

Also because of this merge: https://github.com/rootzoll/raspiblitz/pull/1539

@TrueFlow I tested again for the v1.6.1 release and on my machine the BTCPay is running after a reboot from the beginning. Is this happening on your machine after every reboot or just after the first boot after the update?

The merge #1539 looks fine .... marked for final testing.

@TrueFlow can you run this command and paste the output:
grep 2300 /etc/nginx/sites-available/*

I am running into this error too. my raspiblitz needed to reboot and after the reboot I can no longer log into BTCPay server, Thunderhub, or LNbits from my lan connection.

OK tested BTCPay server for v1.6.1 release ... all testings look good. Closingt this issue.


Fixing bug

Fixing bug where set doesn't call the callback function

Thanks Brian!
I've added a 1 minute test for the set callback also.
Cheers
Matt

Published v1.0.6


Frequently seeing an inability to refresh sessions

When warning logging is enabled, we're frequently seeing warnings like this:

Warn: Failed to refresh session. Session will be deleted., Exception: Grpc.Core.RpcException: Status(StatusCode=Aborted, Detail="Aborted due to transient fault")

It's not clear why - whether this is a client issue or not.

I haven't been able to reproduce this in testing, either dedicated testing or via running integration tests. Will close for now, and we can revisit if we see it again.


Avoid using externalHelpers in prod

Fixes https://github.com/tannerlinsley/react-query/issues/567
For some reason, babel doesn't transpile what's output by babel-plugin-transform-async-to-promises plugin.
I tried to change babel's config but the only thing I tried that worked was changing this option.
I also looked at the output and it seems to be the same, the only difference I spotted is that instead of having one _async, _await and _catch and _invoke, there are 3 in total (_async$1 etc.), and _Pact is defined at the end of the file.
The fact that those functions are defined 3 times only increases the bundle size by 50B (the image shows a difference from my code with prod, thus the -51B instead of +):

The issue Error: Cannot find module '@babel/compat-data/corejs3-shipped-proposals' in the CI isn't related to my changes, I had the same on my machine and all I had to do it to regenerate the yarn.lock file

:tada: This PR is included in version 1.5.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Overriding Laravel's App\Exceptions\Handler::renderForConsole() is no longer possible

I wanted to try creating a nicer output for ValidationException so I could see which validation fields and messages were detected. It looked like overriding renderForConsole would do what I wanted. However, the code I put in there never got called.
The code I was writing looked something like this:

I eventually found someone had already brought this up as an issue on laravel/framework#23515. I thought @thomasfw had a reasonable point and I am hoping to find a way around this. :)

We should be able to handle specific Exceptions when required, with all others being passed on to Collision's ExceptionHandler to be rendered nicely.

That is more or less what I expected to happen. It took me quite some time to figure out why it wasn't working like this. I tracked it down to this part of the code:
https://github.com/nunomaduro/collision/blob/stable/src/Adapters/Laravel/ExceptionHandler.php#L74-L88
Honestly, I think it will be technically difficult to solve. But I'm happy to help however I can as I'm sure it can be solved. :)
The only easy way I found to do this without hacking framework or collision itself was the following, which I'm not super happy with, but better than nothing?
namespace App\Console;

class Kernel extends ConsoleKernel
{
    protected function renderException($output, Exception $e)
    {
        if ($this->renderValidationException($output, $e)) {
            return;
        }

        parent::renderException($output, $e);
    }

    protected function renderValidationException($output, Exception $e): bool
    {
        if (! $e instanceof ValidationException) {
            return false;
        }

        // send validation messages to $output

        return true;
    }
}

What I think is more likely possible is to not break after a handler does its work. For example, the following would always execute collision even if a validation exception is thrown:
namespace App\Console;

class Kernel extends ConsoleKernel
{
    protected function renderException($output, Exception $e)
    {
        $this->renderValidationException($output, $e);

        parent::renderException($output, $e);
    }

    protected function renderValidationException($output, Exception $e): bool
    {
        if (! $e instanceof ValidationException) {
            return;
        }

        // send validation messages to $output
    }
}

... to implement that, I think it would look something like this:
    /**
     * {@inheritdoc}
     */
    public function renderForConsole($output, Exception $e)
    {
        if ($e instanceof SymfonyConsoleExceptionInterface) {
            $this->appExceptionHandler->renderForConsole($output, $e);
        } else {
            // always give the app exception handler a crack at it...
            $this->appExceptionHandler->renderForConsole($output, $e);

            $handler = $this->container->make(ProviderContract::class)
                ->register()
                ->getHandler()
                ->setOutput($output);
            $handler->setInspector((new Inspector($e)));
            $handler->handle();
        }
    }

Unfortunately, I'm not certain this wouldn't end up in some sort of infinite recursion.
Anyway, this is as far as I've come so far. :) If this is something I can help with, let me know! Would love to have an officially supported solution instead of what I have hacked together.

Any Update ??

@zavre-c I am afraid we don't have plans of offering a workaround on this.


[Phlow] Views do not update when they are not visible on the screen

Deferred updates would be fine, but that’s not what I’m seeing. The updates never happen if the view wasn’t visible when the announcement was sent

TG says we need to work on the BrElementUpdater class ...


License

This looks awesome! Would you mind adding a license, to clarify how others may use this? Thanks.

I added the license


Logging grad norm

A quick question:
In PyTorch, I found it useful to be able to log the original norm when applying gradient clipping to get an idea of the scale of the updates being attempted (e.g., original_norm = nn.utils.clip_grad_norm_(agent.parameters(), args.max_grad_norm)
Is there an equivalent in Optax? Currently, I have norm clipping as part of the chain, but it's not clear how I would extract the original gradient norm value

Hi David, would it be possible to split your chain of transformations into 2 parts and use the output of the 1st part for logging?

Closing this issue for now, but feel free to re-open if any questions remain.


[Future-9396]Support output parameters transfer from parent workflow to child work flow

Purpose of the pull request
this pr close #9396
Brief change log
Verify this pull request

Manually verified the change by testing locally.

Codecov Report

Merging #9410 (ec5c920) into dev (4a29c6a) will decrease coverage by 0.30%.
The diff coverage is 34.55%.

:exclamation: Current head ec5c920 differs from pull request most recent head 1e4bed2. Consider uploading reports for the commit 1e4bed2 to get more accurate results

@@             Coverage Diff              @@
##                dev    #9410      +/-   ##
============================================
- Coverage     39.98%   39.68%   -0.31%
- Complexity     4375     4386      +11
============================================
  Files           822      825       +3
  Lines         32924    33194     +270
  Branches       3656     3681      +25
============================================
+ Hits          13165    13173       +8
- Misses        18532    18795     +263
+ Partials       1227     1226       -1

Impacted Files
Coverage Δ

...lugin/alert/wechat/WeChatAlertParamsConstants.java
0.00% <ø> (ø)

...uler/plugin/alert/wechat/WechatAppChatMessage.java
0.00% <0.00%> (ø)

...cheduler/plugin/alert/wechat/WechatAppMessage.java
0.00% <0.00%> (ø)

...inscheduler/api/controller/ExecutorController.java
40.00% <ø> (ø)

...cheduler/api/service/impl/ExecutorServiceImpl.java
41.96% <ø> (ø)

...r/api/service/impl/ProcessInstanceServiceImpl.java
60.22% <ø> (-0.12%)
:arrow_down:

...er/api/service/impl/TaskDefinitionServiceImpl.java
24.01% <ø> (+0.05%)
:arrow_up:

.../org/apache/dolphinscheduler/common/Constants.java
80.95% <ø> (ø)

...che/dolphinscheduler/common/enums/AlertStatus.java
0.00% <0.00%> (ø)

...r/server/master/registry/MasterRegistryClient.java
39.44% <ø> (+0.35%)
:arrow_up:

... and 25 more

Continue to review full report at Codecov.

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


node_labels documentation and kube-ingress label definition as role_node_label

Should fix a subsequent part of issue #2560

ci check this


element-desktop: electron_22 -> electron_23

Description of changes
Apparently this got changed in 1.11.24[1], but wasn't mentioned in the release notes.
Thank you @yu-re-ka for pointing that out!
[1] https://github.com/vector-im/element-desktop/commit/1462e879450c8bd386b8a4cfc910b58f9ff23c85

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

:(
Will push the change to the other backport PR directly then.

Electron 23 might not be packaged on 22.11 yet. And maybe we didn't backport the bump to Electron 22 either?


How to override a generated kubernetes definition value type?

Let's say we have "io.k8s.api.core.v1.ResourceRequirements" submodule from https://github.com/xtruder/kubenix/blob/master/modules/generated/v1.18.nix
And we want to override a type for limits & requests from (types.nullOr (types.attrsOf types.str)) to (types.nullOr (types.attrsOf types.oneOf [types.int types.str]));
How could we write this override?

Can you give me concrete example please, I haven't used it for some time, so I don't know from top of my head. I think you could use mkMerge.

Sure. Thank you for a fast reply.
But instead of limits & requests let's try adding a kubernetes.api.resources.apps.v1.Deployment.system-kubernetes-dashboard.spec.template.spec.securityContext.seccompProfile (because this is what could be easily reproduced on master branch of kubenix).
Will try to use kubernetes dashboard from helm.
Code:

cat kube/dashboard.nix

{ pkgs        ? import <nixpkgs> {}
, kubenix     ? import (builtins.fetchTarball
                         {
                           url    = "https://github.com/xtruder/kubenix/archive/473a18371d2c0bb22bf060f750589695fb7d3100.tar.gz";
                           sha256 = "0j3mzg81s8pd8gsa3lx7bmhawjpb3f5li2irh55kr7b9kyxr2nsy";
                         }) {}
, evalModules ? kubenix.evalModules
, ... }:
let
  modules = evalModules {
    modules = [
      ({ config, kubenix, ... }: {
        imports = with kubenix.modules; [helm];

        kubernetes.helm.instances.system = {
          namespace = "kube-dashboard";
          chart = kubenix.lib.helm.fetch {
            repo = "https://kubernetes.github.io/dashboard";
            chart = "kubernetes-dashboard";
            sha256 = "1nlafbjvagcakb5iylsypbcx728ykkxbfn0ln99z35klxzpgc96h";
          };
        };
      })
    ];
  };
in (rec {
  inherit (modules) config;

  # kubernetes manifest
  result = config.kubernetes.result;
})

Then build it:

nix-build --verbose --show-trace kube/dashboard.nix

...
error: while evaluating the attribute 'text' of the derivation 'kubenix-generated.json' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/pkgs/stdenv/generic/make-derivation.nix:203:11:
while evaluating anonymous function at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:417:24, called from /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:366:15:
while evaluating anonymous function at /nix/store/yazix5khh53y6yc2c7rq4pkfg5n562mn-source/modules/k8s.nix:22:23, called from undefined position:
while evaluating 'moduleToAttrs' at /nix/store/yazix5khh53y6yc2c7rq4pkfg5n562mn-source/modules/k8s.nix:20:19, called from /nix/store/yazix5khh53y6yc2c7rq4pkfg5n562mn-source/modules/k8s.nix:22:26:
while evaluating 'filterAttrs' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:124:23, called from /nix/store/yazix5khh53y6yc2c7rq4pkfg5n562mn-source/modules/k8s.nix:22:44:
while evaluating anonymous function at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:125:29, called from /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:125:18:
while evaluating anonymous function at /nix/store/yazix5khh53y6yc2c7rq4pkfg5n562mn-source/modules/k8s.nix:22:60, called from /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:125:62:
while evaluating the attribute 'securityContext' at undefined position:
while evaluating 'g' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:298:19, called from undefined position:
while evaluating anonymous function at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/modules.nix:140:72, called from /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/attrsets.nix:301:20:
while evaluating the attribute 'value' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/modules.nix:525:9:
while evaluating the option `kubernetes.api.resources.apps.v1.Deployment.system-kubernetes-dashboard.spec.template.spec.securityContext':
while evaluating the attribute 'mergedValue' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/modules.nix:557:5:
while evaluating 'merge' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/types.nix:459:20, called from /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/modules.nix:559:59:
while evaluating 'merge' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/types.nix:519:22, called from /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/types.nix:464:14:
while evaluating 'evalModules' at /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/modules.nix:63:17, called from /nix/store/k7rx58a2dm4jzi3kmblnlxj6sznw85sl-source/lib/types.nix:520:12:
The option `kubernetes.api.resources.apps.v1.Deployment.system-kubernetes-dashboard.spec.template.spec.securityContext.seccompProfile' does not exist. Definition values:
- In `/nix/store/yazix5khh53y6yc2c7rq4pkfg5n562mn-source/modules/helm.nix':
    {
      type = "RuntimeDefault";
    }

We have got The option kubernetes.api.resources.apps.v1.Deployment.system-kubernetes-dashboard.spec.template.spec.securityContext.seccompProfile' does not exist`.
The definition of this option is short:
{
      # ...
              "io.k8s.api.core.v1.SeccompProfile" = {
                options = {
                  "localhostProfile" = mkOption { type = types.nullOr types.str; };
                  "type" = mkOption { type = types.str; };
                };
                config = { "localhostProfile" = mkOverride 1002 null; };
              };
      # ...
}

Could I add the definition of this option without modifying kubenix?

This repo has been deprecated, since I stopped maintaining it some time ago. There is a fork maintained by @hall available at https://github.com/hall/kubenix, that has better documentation and looks like a way further.


build failed on macos-arm64

What version of gRPC?
https://github.com/grpc/grpc/archive/refs/tags/v1.63.0.tar.gz
What operating system (Linux, Windows,...) and version?
macos-14.4.1-arm64

What runtime / compiler are you using (e.g. python version or version of gcc)
Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)
Target: arm64-apple-darwin23.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

What did you do?
cmake \
    -Wno-dev \
    -S .
What did you see instead?
 /bin/sh: --grpc_out=generate_mock_code=true:/Users/fpliu/.xcpkg/run/98833/MacOSX-14.4.1-arm64/grpc-plugins/src/_/gens: No such file or directory

a detailed logs:
https://github.com/fpliu1214/uppm-package-repository-macos-14.0-arm64/actions/runs/9193116690/job/25283498511

resolved by passing -DPROTOBUF_PROTOC_EXECUTABLE="$(command -v protoc)"
our build script doesn't check _gRPC_PROTOBUF_PROTOC_EXECUTABLE variable whether is set.
https://github.com/grpc/grpc/blob/master/cmake/protobuf.cmake#L83-L87
if(PROTOBUF_PROTOC_EXECUTABLE)
    set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
else()
    find_program(_gRPC_PROTOBUF_PROTOC_EXECUTABLE protoc)
endif()

I split protobuf package into two sub package: libprotobuf + protoc, that's why our build script does not work.

Closing this as you've found why it failed. Please feel free to create a PR making this robust.


AttributeError: 'BlipDiffusion' object has no attribute 'edit'

there is no real image editing code ?
Traceback (most recent call last):
File "zero_shot_editing.py", line 38, in
output = model.edit(
File "/home/jovyan/wuliebucha-bucha-home1/miniconda3/envs/lavis/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1614, in getattr
raise AttributeError("'{}' object has no attribute '{}'".format(
AttributeError: 'BlipDiffusion' object has no attribute 'edit'

my code is old one, i have seen the update.


Link failure due to unused argument -pthread when using Clang and Makefiles

The error is as follows:
[ 73%] Building CXX object httpservice/CMakeFiles/usHttpService.dir/src/usServletConfig.cpp.o
cd /sandbox/fnannizz/CppMicroServices/build/httpservice && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++   -DUS_BUNDLE_NAME=usHttpService -DusHttpService_EXPORTS -I/sandbox/fnannizz/CppMicroServices/CppMicroServices/third_party -I/sandbox/fnannizz/CppMicroServices/build/include -I/sandbox/fnannizz/CppMicroServices/CppMicroServices/core/include -I/sandbox/fnannizz/CppMicroServices/build/core/include -I/sandbox/fnannizz/CppMicroServices/CppMicroServices/core/src/util -I/sandbox/fnannizz/CppMicroServices/CppMicroServices/core/src/service -I/sandbox/fnannizz/CppMicroServices/CppMicroServices/core/src/bundle -I/sandbox/fnannizz/CppMicroServices/CppMicroServices/httpservice/include -I/sandbox/fnannizz/CppMicroServices/build/httpservice/include -I/sandbox/fnannizz/CppMicroServices/CppMicroServices/httpservice/src  -std=c++11 -Werror -Wall -Wextra -Wpointer-arith -Winvalid-pch -Wcast-align -Wwrite-strings -Woverloaded-virtual -Wnon-virtual-dtor -Wold-style-cast -Wsign-promo -fdiagnostics-show-option -fstack-protector-all -Wno-mismatched-tags  -fvisibility-ms-compat -pthread -g -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -fPIC   -o CMakeFiles/usHttpService.dir/src/usServletConfig.cpp.o -c /sandbox/fnannizz/CppMicroServices/CppMicroServices/httpservice/src/usServletConfig.cpp
[ 74%] Linking CXX shared library ../lib/libusHttpService.dylib
cd /sandbox/fnannizz/CppMicroServices/build/httpservice && /usr/local/Cellar/cmake/3.6.0_1/bin/cmake -E cmake_link_script CMakeFiles/usHttpService.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -std=c++11 -Werror -Wall -Wextra -Wpointer-arith -Winvalid-pch -Wcast-align -Wwrite-strings -Woverloaded-virtual -Wnon-virtual-dtor -Wold-style-cast -Wsign-promo -fdiagnostics-show-option -fstack-protector-all -Wno-mismatched-tags  -fvisibility-ms-compat -pthread -g -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -dynamiclib -Wl,-headerpad_max_install_names    -compatibility_version 0.99.0 -o ../lib/libusHttpService.0.99.0.dylib -install_name /sandbox/fnannizz/CppMicroServices/build/lib/libusHttpService.0.99.0.dylib CMakeFiles/usHttpService.dir/us_init.cpp.o CMakeFiles/usHttpService.dir//third_party/civetweb/civetweb.c.o CMakeFiles/usHttpService.dir//third_party/civetweb/CivetServer.cpp.o CMakeFiles/usHttpService.dir/src/usHttpConstants.cpp.o CMakeFiles/usHttpService.dir/src/usHttpServlet.cpp.o CMakeFiles/usHttpService.dir/src/usServletContainer.cpp.o CMakeFiles/usHttpService.dir/src/usServletContext.cpp.o CMakeFiles/usHttpService.dir/src/usHttpOutputStreamBuffer.cpp.o CMakeFiles/usHttpService.dir/src/usHttpServletRequest.cpp.o CMakeFiles/usHttpService.dir/src/usHttpServletResponse.cpp.o CMakeFiles/usHttpService.dir/src/usServletConfig.cpp.o us_usHttpService/us_resources.o ../lib/libCppMicroServices.2.99.0.dylib -ldl
clang: error: argument unused during compilation: '-pthread' [-Werror,-Wunused-command-line-argument]
make[2]: *** [lib/libusHttpService.0.99.0.dylib] Error 1
make[1]: *** [httpservice/CMakeFiles/usHttpService.dir/all] Error 2
make: *** [all] Error 2
Clang bug report documenting that -pthread is not a supported linking option:
https://llvm.org/bugs/show_bug.cgi?id=7798
The fix will involve specifying -pthread as a build-only option when building with Clang.

Relevant thread on the CMake mailing list:
https://cmake.org/pipermail/cmake/2015-March/059986.html
Unfortunately it doesn't help much with a solution, just verifies the behavior I'm seeing - the link flags are created differently when using Makefiles vs. an Xcode project.

It doesn't help to identifiy the reason why the argument is present, but there is a way to suppress the error itself using clang argument: -Wno-error=unused-command-line-argument
I've used this as a last-resort to at least allow the build to proceed on some upstream source.

Could you please check if the branch 107-httpservice-pthread-linking resolves the issue you are having? I assume you were using the latest development branch on the Darwin platform, right?

Yes, that's correct. I tested this fix using both build types, make and Xcode, and was able to build. Thanks!

Thanks for testing this, fixed with 29014d8.


Publish on pypi.org

Hi,
I can't seem to find this package on Pypi.
Is published at all?

No. Due to organization policy we decided it will be published at our github account only.
See our README to learn how to install our SDK.
You can use: pip install git+https://github.com/CheckPointSW/cp_mgmt_api_python_sdk
If you don't have git, you can:

Download the SDK by using the ‘Download ZIP’ button
unzip it.
Navigate to .../cp_mgmt_api_python_sdk/ directory and run: pip install .

Thanks for the quick response!
Checkpoint should consider hosting its own simple repository so that repository management tools like Artifactory may manage the package in a local cache. This would also make sure that the latest up to date version of the package is used.


output should be monospace

This should just require some CSS on the <textarea> where the results are displayed.

This is now deployed as well.


Path `src/lib/ not compiled properly

When running yarn build and then yarn start, my environment (Node 10.19.0) is bumping into an issue, where all of the source is compiled successfully. However, in the PM2 logs there is an error SyntaxError: Unexpected identifier line 1 of src/db.js with a simple import: import Redis from 'redis'. Interestingly, this error does not occur at all with yarn dev, but only occurs when compiling the source and then running it using PM2.
In the end, the fix I used was the following. In the file src/db.js, I replaced the following lines:
import config from 'config'
import * as redis from 'src/lib/redis'
import * as elastic from 'src/lib/elastic'

with:
import config from 'config'
import * as redis from './lib/redis'
import * as elastic from './lib/elastic'

Any ideas?

This might very well be related to https://github.com/DivanteLtd/vue-storefront-api/issues/437

yes, thats the same problem https://github.com/DivanteLtd/vue-storefront-api/pull/439


dracula-theme: 2.0 -> 3.0

Motivation for this change
Bump dracula-theme to latest adding support for cursors
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 153076 run on x86_64-linux 1

1 package built:

dracula-theme

Result of nixpkgs-review pr 153076 run on x86_64-linux 1

1 package built:

dracula-theme

thanks!

thanks!


golang版本的dashboard有吗？还是说可以直接用java的dashboard jar包呢?

Issue Description
Type: feature request
Describe what feature you want
Additional context
Add any other context or screenshots about the feature request here.

The Java version of dashboard will be reused and the interface will be consistent.
The golang version will plug in dashboard in future versions.
There is a existed issue to describe this question: https://github.com/sentinel-group/sentinel-golang/issues/20 . I will close this.
Thanks.


cmd/go: get doesn't work with repositories from git.apache.org

Apache maintains read-only Git mirrors at http://git.apache.org/ (See http://www.apache.org/dev/git.html for more details). Only HTTP and Git protocols are supported (i.e. no HTTPS at the moment)
go get fails to clone such repositories. E.g.:
> go get git.apache.org/thrift.git/lib/go/thrift
fatal: repository 'http://git.apache.org/thrift/' not found

This happens because go get extracts incorrect remote repository URL from import path.
E.g. for git.apache.org/thrift.git/lib/go/thrift import path the remote URL used by go is http://git.apache.org/thrift/ while the correct remote URL should be http://git.apache.org/thrift.git (compare git ls-remote http://git.apache.org/thrift.git vs git ls-remote http://git.apache.org/thrift/)
To fix this a special case needs to be added for git.apache.org in cmd/go/vcs.go similar to (github, launchpad, etc).
I am happy to contribute and test a patch if adding support for another special Git repo to go get seems to be reasonable to Go Team.

Another special case is fine. Send it in. See https://golang.org/doc/contribute.html if you haven't already.

https://go-review.googlesource.com/#/c/10092/

Hmm  go get git.apache.org/thrift.git/lib/go/thrift works right now without any changes, because go get prefers the schema git:// over everything else. Is your goal to prefer the http schema instead?

In Go 1.5, neither of those will work without --insecure.

Sorry for the confusion.
But when I tested this a few days ago git:// scheme was not available (I was getting connection refused errors. And no, I am not behind firewall ;). In fact other users reported similar problems 1 year ago: https://issues.apache.org/jira/browse/THRIFT-2537. So I assumed that apache only provides http:// scheme.
Still I believe to make git.apache.org repos work with Go 1.5 without the need to specify --insecure there are two things required:

git.apache.org provides HTTPS
my patch applied

If/when apache adds HTTPS support I will test my change request again. But if there will be no plans to add HTTPS support, then I guess this ticket can be closed. Lets wait some time and see what happens.

Ok , I think I found the culprit: All git urls passed to git are actually intended to end in .git. For the git:// schema, git seems to be clever and adds it, when it is missing, so it works by accident.
The fix might be as simple as
diff --git a/src/cmd/go/vcs.go b/src/cmd/go/vcs.go
index 2179000..876fd36 100644
--- a/src/cmd/go/vcs.go
+++ b/src/cmd/go/vcs.go
@@ -104,7 +104,7 @@ var vcsGit = &vcsCmd{
        name: "Git",
        cmd:  "git",

-       createCmd:   "clone {repo} {dir}",
+       createCmd:   "clone {repo}.git {dir}",
        downloadCmd: "pull --ff-only",

        tagCmd: []tagCmd{
@@ -123,7 +123,7 @@ var vcsGit = &vcsCmd{
        tagSyncDefault: "",

        scheme:     []string{"git", "https", "http", "git+ssh"},
-       pingCmd:    "ls-remote {scheme}://{repo}",
+       pingCmd:    "ls-remote {scheme}://{repo}.git",
        remoteRepo: gitRemoteRepo,
 }

But I'm adding tests for repoRootForImportPathStatic now, to avoid regressions. I will add also maximum coverage to it, to avoid further breakage there.
Stay tuned...

Ok, to actually test this, I would need to write some mocking around the execs and fake their results.
The returned repoRoot structure in the current test setup stays the same :-/
So the current tests work the same before and afterwards.
Actually the difference between the createCmd and pingCmd is pretty obvious and lead to same or better results.
The amount of code added would be a few lines and will check command construction (unit testing), not command execution (integration testing).
It might look like this: https://github.com/Jimdo/periodicnoise/blob/master/cmd/pn/monitor.go#L102-L146
But I am not really comfortable adding so much (test) code that late in the release cycle and I am also unsure with what repositories the generic repository stuff handling has been tested. It would be the most affected.
Added https://golang.org/cl/10171 for it.
@bradfitz Please advise how to move forward here.

@nightlyone
As far as I am aware ".git" suffix is just a convention and not a requirement for Git URLs.
When using git:// scheme in case if git://repo exists (and git://repo.git doesn't):

Git won't attempt to read from git://repo.git
Git will fail to read from git://repo.git URL.

So basically if someone sets up a repository without ".git" suffix "go get" with the proposed change won't work.

Ok, @kostya-sh ist right. I asked for feedback on this issue at https://plus.google.com/+IngoOeser/posts/NgF42yKTQyg and while many think it is ok, one answer indicates a different story. So I will to abandon the CL.

https://issues.apache.org/jira/browse/INFRA-9658 has been fixed and git.apache.org now supports both git:// and https:// access schemes.
When #9637 is fixed (is it going to happen in Go 1.5 btw?) then I will update my CL accordingly.

@adg, can you look at this now? You touched cmd/go last. (in particular, the https stuff)

@bradfitz, is there any chance this still can go in Go 1.5?
Without this change packages from git.apache.org repositories that used to work with Go 1.4 will only work with Go 1.5 if -insecure option is specified. The change is quite small and it would be nice to have it in the upcoming Go release especially that git.apache.org support HTTPS now.


Access to fetch at xxx from origin 'app://obsidian.md' has been blocked by CORS policy

Hello,
This is strange...
On Laptop2, from my office (then going through a corporate proxy), synchronization will not happen and my log is full of:
Access to fetch at 'https://obsidian-livesync.mydomain.be/xxx/h%3A%2B-795epx?revs=true&latest=true&open_revs=%5B%221-cd3c1cc4fcd6f9f7ade8630cd813ed1f%22%5D' from origin 'app://obsidian.md' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
plugin:obsidian-livesync:17192          GET https://obsidian-livesync.mydomain.be/xxx/h%3A%2B-795epx?revs=true&latest=true&open_revs=%5B%221-cd3c1cc4fcd6f9f7ade8630cd813ed1f%22%5D net::ERR_FAILED 307

If I take a Chrome browser and open https://obsidian-livesync.mydomain.be/, it connects fine and shows:
{"couchdb":"Welcome","version":"3.3.1","git_sha":"1fd50b82a","uuid":"c09e56976e2a7d6f088426473e93ea7b","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
I don't know when this happened (or if it ever worked from my office) as I was concentrated on my Laptop1 and my iPhone (with Obsidian crashing during sync).
I tried the "Use new adapter" but the problem remain.
Your comment https://github.com/vrtmrz/obsidian-livesync/issues/161#issuecomment-1406260795 let me think that this may be due to small packets (due to the fact that I had to change the Custom Chunk Size to 10 to avoid the iPhone crash.
I'm a bit lost on this CORS issue and I don't want to upset the proxy/firewall people. They could easily ban my domain and I would be stuck for many other self-hosted services 😥
So before I continue fidling with my settings on my (corporate) Laptop2, I kindly ask you if you have any clue/idea of things to try first.

Thank you for your information!
While looking at that, I found it says net::ERR_FAILED 307.  It probably means 307 Temporary redirect.
The address mentioned in the log is accessing the document (probably, a chunk), but this API would not respond in 307 (For your information: API Reference).
However, you had been able to be reached by the database in the browser. Following the circumstance, it is possibly a response of the gateway; like detecting the high-frequent accessing or hitting the rate limit.
CouchDB usually responds along with the CORS header, even if the request has an error and answers so. I have seen several errors like this, sent by such interceptors. Some gateway does not process the headers.
I supposed that balancing the request rate would be a bit harder than we thought, We should prepare the cap or delay...

They could easily ban my domain and I would be stuck for many other self-hosted services 😥

Absolutely! It is also my circumstance. I can excuse myself, but not anytime be accepted.
In other options, we can disable Read chunks online to reduce request frequency, but the transfer amount is a bit larger.
When this option is disabled, chunks will be distributed to the client while synchronisation. Otherwise, fetch from the remote database on demand. This fetching caused the 307 error.

I will have to second this issue as I am also facing it. I thought it was because of cloudflare, my VPN or custom DNS service but disabling them had the exact same effect on the error and it remained.
It works perfectly fine in iPhone and Windows, I use the exact same configuration on all platforms.
The error occurs on Arch Linux, everything up-to-date.
If needed:
Electron v25.1.1
Chromium v114.0.5735.90
Node v18.15.0v8
v<IP_ADDRESS>-electron.0

Thank you so much for the latest information!
I have understood things, and I hope to close the issue once. However, feel free to open this issue again if there are any new topics.  (Of course, we can make a new issue!)

I will have to second this issue as I am also facing it. I thought it was because of cloudflare, my VPN or custom DNS service but disabling them had the exact same effect on the error and it remained. It works perfectly fine in iPhone and Windows, I use the exact same configuration on all platforms.
The error occurs on Arch Linux, everything up-to-date. I currently use Cloudflare for the certificate, CORS is well enabled for everything (*) on my CouchDB and it works on iOS, Windows but not Arch.
If needed: Electron v25.1.1 Chromium v114.0.5735.90 Node v18.15.0v8 v<IP_ADDRESS>-electron.0
Edit: As I previously thought, it was cloudflare. My Linux User Agent was blacklisted and somehow adding rules to bypass checks didn't work. Issue is solved and was from my side.

@Gurgarath  - You mentioned it was cloudflare. I am using a tunnel to access my couchDB instance. what did you change to fix this error?

@Gurgarath - You mentioned it was cloudflare. I am using a tunnel to access my couchDB instance. what did you change to fix this error?

I do not have neither the set-up nor the fix currently, but what I did was simply to check cloudflare logs to see that there was an attempted connection that was blocked. I then managed to make the User Agent bypass the safety rules into the WAF settings, I basically allowed this exact user agent to proceed without challenge (this is bad practice depending on your set-up and so on).
In your case, I would check the logs to see if there is a botched attempt to connect, also check your iptables / pf rules or any firewall if you have them on your set-up.